1[CommandMethod("mywipeout")] 2 public static void mywipeout() 3 { 4 5 // 获取当前文档和数据库 6 Document acDoc = Application.DocumentManager.MdiActiveDocument; 7 Database acCurDb = acDoc.Database; 8 // 启动事务 9 using (Transaction acTrans = acCurDb.TransactionManager.StartTransaction()) 10 { 11 // 以读模式打开Block表 12 BlockTable acBlkTbl; 13 acBlkTbl = acTrans.GetObject(acCurDb.BlockTableId, 14 OpenMode.ForRead) as BlockTable; 15 // 以写模式打开Block表记录Model空间 16 BlockTableRecord acBlkTblRec; 17 acBlkTblRec = acTrans.GetObject(acBlkTbl[BlockTableRecord.ModelSpace], 18 OpenMode.ForWrite) as BlockTableRecord; 19 Point2dCollection pt2dArray = new Point2dCollection(); 20 pt2dArray.Add(new Point2d(0, 0)); 21 pt2dArray.Add(new Point2d(100, 0)); 22 pt2dArray.Add(new Point2d(100, 100)); 23 pt2dArray.Add(new Point2d(0, 100)); 24 pt2dArray.Add(new Point2d(0, 0));//必须闭合 25 Wipeout wipeoutEnt = new Wipeout(); 26 wipeoutEnt.SetFrom(pt2dArray, new Vector3d(0, 0, 1)); 27 acBlkTblRec.AppendEntity(wipeoutEnt); 28 acTrans.AddNewlyCreatedDBObject(wipeoutEnt, true); 29 acTrans.Commit(); 30 } 31 }
AutoCAD.Net 实现创建wipeout遮罩实体
Stella981
2021-10-11
1015 0 0
点赞
收藏
评论区
加载中...