以下代碼展示:
往模型空間中添加一個點。點的坐标為(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(, , ));
//-------------------------------
// 控制點的顯示外觀
//-------------------------------
db.Pdmode = ;
db.Pdsize = ;
//----------------------------
// 添加到模型空間并送出到資料庫
//-------------------------------
modelSpace.AppendEntity(point);
tr.AddNewlyCreatedDBObject(point, true);
tr.Commit();
}
}
系統變量 PDMODE 和 PDSIZE 控制點對象的顯示外觀。
PDMODE 取值為 0、2、3 、4 時指定表示點的圖形,取值為 1 表示不顯示任何圖形,如下圖所示:
上述 PDMODE 值分别加上 32、64、96 表示分别在上述點的外形周圍加畫上不同的形狀,如下圖所示:
PDSIZE 控制點形狀的大小(PDMODE 取值為 0 和 1 時除外)。PDSIZE 為 0 時生成的點是圖形區域高度的 5% 。PDSIZE 為正值表示點形狀的絕對大小,PDSIZE 為負值解釋為相對視口大小的百分比。