DWG数据库中,所有图块存放在块表中,块表类名:MxDrawBlockTable,它的详细接口说明参考:http://www.mxdraw.com/help/IMxDrawBlockTable.htm
块表中每一条记录称为块表记录,类名:MxDrawBlockTableRecord,它的详细接口说明参考:http://www.mxdraw.com/help/IMxDrawBlockTableRecord.htm
块表记录中存放所有实体数据。每个DWG数据库中,到少有一个名为"*Model_Space"的块表记录(模型空间),CAD图纸打开后,默认看到的对象都存放在模型空间,有一种对象是块引用MxDrawBlockReference,它的详细接口说明参考:http://www.mxdraw.com/help/IMxDrawBlockReference.htm,块引用又可以指向另一个块表记录。
调用MxDrawDatabase::GetBlockTable 得到DWG数据库中块表:
// 得到当前数据库。 var database = mxOcx.GetDatabase(); // 得到块表. var blkTable = database.GetBlockTable();
调用MxDrawDatabase::CurrentSpace 得到当前空间(当前显示的块表记录),有了当前空间,就能在CAD图上添加,删除,遍历显示的对象。
得到当前空间:如下代码,
// 得到当前数据库。 var database = mxOcx.GetDatabase(); // 得到当前块表记录. var blkRec = database.CurrentSpace();