Premièrement faire un test si ce n'est pas déjà fait avec une entité simple. Si ça ne marche pas, je pense qu'il faut cloner les entités contenus dans le bloc. Pour cela, tu peux utiliser Entity.GetTransformedCopy en lui passent la matrice 3D BlockReference.BlockTransform. Sachant que GetTransformedCopy ne fonctionne pas pour les polylignes (je ne sait pas si c'est pour tous les types ou uniquement pour les Polyline2d. Les clones doivent être résidents dans la base de données si ta version d'AutoCAD est < 2012. Pas simple comme affaire... Dernier conseil, respecte bien l'ordre d'appel des différentes méthodes car il est important : Hatch hatch = new Hatch();
// L'échelle, l'angle doivent être définis avant l'appel à SetHatchPattern
hatch.SetHatchPattern(HatchPatternType.PreDefined, "ANSI31");
space.AppendEntity(hatch);
tr.AddNewlyCreatedDBObject(hatch,true);
// Si associative, doit être placé après l'ajout des hachures à la base de données sinon exception
// eNotInDatabase
hatch.Associative = false;
hatch.AppendLoop((int)HatchLoopTypes.Default, objIds);
// Doit être appelé après SetHatchPattern d'après la doc. du SDK ObjectARX
// et après AppendLoop puisque cette méthode calcule les intersections
hatch.EvaluateHatch(true); Mise à jour Oups, je n'avais pas vu que tu utilisais COM, le code ci-dessus est en C#/.NET. Alors là, je ne peut pas t'aider...