Я начал в AutoCAD 2017 года развития с .NET и я создал базовый прямоугольник со следующим кодом:Как создать простой размер AutoCad 2017 от .NET?
[CommandMethod("AddSimpleRectangle")]
public static void AddSimpleRectangle()
{
var acDoc = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument;
acDoc.LockDocument();
var acCurDb = acDoc.Database;
var pr = acDoc.Editor.GetPoint("\nEnter insertion point: ");
if (pr.Status != PromptStatus.OK)
return;
using (Transaction acTrans = acCurDb.TransactionManager.StartTransaction())
{
var acBlkTbl = acTrans.GetObject(acCurDb.BlockTableId,
OpenMode.ForRead) as BlockTable;
var acBlkTblRec = acTrans.GetObject(acBlkTbl[BlockTableRecord.ModelSpace],
OpenMode.ForWrite) as BlockTableRecord;
using (var acPoly = new Polyline())
{
acPoly.AddVertexAt(0, new Point2d(pr.Value.X, pr.Value.Y), 0, 10, 10);
acPoly.AddVertexAt(1, new Point2d(pr.Value.X + 2000, pr.Value.Y), 0, 10, 10);
acPoly.AddVertexAt(2, new Point2d(pr.Value.X + 2000, pr.Value.Y + 500), 0, 10, 10);
acPoly.AddVertexAt(3, new Point2d(pr.Value.X, pr.Value.Y + 500), 0, 10, 10);
acPoly.Closed = true;
acPoly.Color = Autodesk.AutoCAD.Colors.Color.FromRgb(0, 125, 255);
acBlkTblRec.AppendEntity(acPoly);
acTrans.AddNewlyCreatedDBObject(acPoly, true);
}
acTrans.Commit();
}
}
Теперь мне нужно добавить измерение в (скажем) с одной стороны, чтобы показать высоту , Как это сделать с .NET? Спасибо!
Спасибо большое! Однако, если блокировка удалена, генерируется eLockViolation, несмотря на то, что команда не зарегистрирована как флаг команды Session. –