CAD关于实体ID和句柄 操作(com接口网页版) - 梦想CAD控件

时间:2024-02-20 15:56:13

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);