AutoCAD .Net 创建点Point

以下代码展示:
往模型空间中添加一个点。点的坐标为(100, 100, 50)。
设置点的图层、颜色、线型、线宽请参考文章AutoCAD .Net 创建直线Line

using Autodesk.AutoCAD.Runtime;
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.Geometry;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.Colors;

[CommandMethod("NewPoint")]
public static void NewPoint()
{
    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();
    }
}

系统变量 PDMODE 和 PDSIZE 控制点对象的显示外观。
PDMODE 取值为 0、2、3 、4 时指定表示点的图形,取值为 1 表示不显示任何图形,如下图所示:
这里写图片描述
上述 PDMODE 值分别加上 32、64、96 表示分别在上述点的外形周围加画上不同的形状,如下图所示:
AutoCAD .Net 创建点Point_第1张图片
PDSIZE 控制点形状的大小(PDMODE 取值为 0 和 1 时除外)。PDSIZE 为 0 时生成的点是图形区域高度的 5% 。PDSIZE 为正值表示点形状的绝对大小,PDSIZE 为负值解释为相对视口大小的百分比。

你可能感兴趣的:(AutoCAD二次开发,AutoCAD,.Net)