CAD关于实体ID和句柄 操作(com接口网页版)
ID和句柄都用来标识一个对象,ID是一个64位长整型变量,是一个内存地址,访问速度最快,但它每次打开都不一样,如果需要把一个对象的标识存起来,下次又能找到对象,就需要使用句柄,句柄是一个字符串变量,它保证不管什么时候总是不会变化,句柄在DWG图纸中是唯一存在,ID是内存中唯一存在。
如下代码,得到id,句柄,如下:
// 让用户在图上选择一个对象。 var ent = mxOcx.GetEntity("选择实体"); if (ent == null) return; // 得到对象id; var id = ent.ObjectID; // 得到对象句柄 var sHandle = ent.handle; alert(id); alert(sHandle);
通过 id得到对象,js代码如下:
var obj = mxOcx.ObjectIdToObject(id); // 或 // 创建一个当前应用实体对象。 //得到当前数据库对象 var database = mxOcx.GetDatabase(); var obj = database.ObjectIdToObject(id);
通过 Handle得到对象,js代码如下:
var obj = mxOcx.HandleToObject(sHandle); // 或 // 创建一个当前应用实体对象。 var database = mxOcx.GetDatabase(); var obj = database.HandleToObject(sHandle);