0
私は.NETとAutoCADで2017の開発を始めていると私は次のコードを使用して基本的な四角形を作成しました:.NETから簡単なAutoCad 2017ディメンションを作成する方法は?
[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がスローされます。 –