Добрый вечер,
Пробую создать штриховку по списку точек:
[CommandMethod("TestH")]
public void TestH ()
{
Document doc = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument;
Database db = doc.Database;
Editor ed = doc.Editor;
using (var t = db.TransactionManager.StartTransaction())
{
var pt1 = Convert2d(ed.GetPoint("pt1").Value);
var pt2 = Convert2d(ed.GetPoint("pt2").Value);
var pt3 = Convert2d(ed.GetPoint("pt3").Value);
var ptCol = new Point2dCollection();
ptCol.Add(pt1);
ptCol.Add(pt2);
ptCol.Add(pt3);
var dCol =new DoubleCollection();
dCol.Add(0);
dCol.Add(0);
dCol.Add(0);
var h = new Hatch();
h.SetHatchPattern(HatchPatternType.PreDefined, "SOLID");
h.AppendLoop(HatchLoopTypes.Default, ptCol, dCol);
var cs = db.CurrentSpaceId.GetObject(OpenMode.ForWrite) as BlockTableRecord;
cs.AppendEntity(h);
t.AddNewlyCreatedDBObject(h, true);
h.EvaluateHatch(true);
t.Commit();
}
}
public static Point2d Convert2d (Point3d pt)
{
return new Point2d(pt.X, pt.Y);
}
Штриховка создается, но она невидимая (выбираю ее через ctrl+a), пока не дернуть за любую из ручек.
После дергания за ручку штриховка появляется: