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();
02-01 18:40