CAD 中绘制点

时间:2023-03-08 17:01:10

首先开启点样式,否则点是看不到的

系统变量 PDMODE 和 PDSIZE 控制点对象的显示外观。
PDMODE 取值为 0、2、3 、4 时指定表示点的图形,取值为 1 表示不显示任何图形,如下图所示:

CAD 中绘制点

上述 PDMODE 值分别加上 32、64、96 表示分别在上述点的外形周围加画上不同的形状,如下图所示:
CAD 中绘制点

PDSIZE 控制点形状的大小(PDMODE 取值为 0 和 1 时除外)。PDSIZE 为 0 时生成的点是图形区域高度的 5% 。

PDSIZE 为正值表示点形状的绝对大小,PDSIZE 为负值解释为相对视口大小的百分比。

public void AddPoint()
{
  Document doc = Application.DocumentManager.MdiActiveDocument;
  Database db = doc.Database;

  using (Transaction tr = db.TransactionManager.StartTransaction())
  {

    BlockTable blockTbl = tr.GetObject(db.BlockTableId, OpenMode.ForRead) as BlockTable;

    BlockTableRecord modelSpace = tr.GetObject(blockTbl[BlockTableRecord.ModelSpace], OpenMode.ForWrite) as BlockTableRecord;

    DBPoint point = new DBPoint(new Point3d(100, 100, 50));

    db.Pdmode = 35;

    db.Pdsize = 5;

    modelSpace.AppendEntity(point);

    tr.AddNewlyCreatedDBObject(point, true);

    tr.Commit();

  }

}