下面代码,判断块表中是否有指定名称的块表记录,如果没有就增一个块表记录。
// sName 是新增加的块名。 // blkOriginPoint 是图块的插入基点。 public bool AddBlockRrecord(String sName, MxDrawPoint blkOriginPoint) { // 取当前数据库. MxDrawDatabase curDatabase = (MxDrawDatabase)(axMxDrawX1.GetDatabase()); // 得到块表 MxDrawBlockTable blkTable = curDatabase.GetBlockTable(); // 判断块表是否已经有该名称的块名。 if (blkTable.Has(sName)) { MxDrawBlockTableRecord blkRec = blkTable.GetAt(sName, true); // 如果块被删除,就反删除。 blkRec.SetProp("unErase", null); return true; } // 新增一个块表记录. MxDrawBlockTableRecord blkNewRec = blkTable.Add(sName); if (blkNewRec == null) return false; // 设置块表记录的插入基点 blkNewRec.Origin = blkOriginPoint; return true; }
调用代码:
MxDrawPoint pt = new MxDrawPoint(); pt.x = 100; pt.y = 100; AddBlockRrecord("MyBlkName", pt);
运行后块表中多了一个我们添加的块表记录