CAD关于实体扩展记录操作(com接口网页版)

2021-05-11 18:28

阅读:552

标签:style   选择   obj   自己   网页   实体   关于   oba   turn   

在CAD中,对象上面不但可以存放扩展数据,还可以存放扩展记录,在对象上可创建一个字典(这个字典和前面说到的全局字典类似),字典中存放扩展记录,这样可以存放更多的数据,调用GetExtensionDictionary函数得到字典。

下面js代码演示如何读取对象扩展记录:

// 让用户在图上选择一个对象。           
var ent = mxOcx.GetEntity("选择实体");
if (ent == null)
    return;
// 得到实体扩展字典
var dict = ent.GetExtensionDictionary();
if (dict == null)
    return;
// 得到字典下自己写数据的字典
var myDict = dict.GetAt("MyDict");
if (myDict == null)
{
    return;
}
// 得到字典内扩展记录.
var rec = myDict.GetAt("MyGlobalData");
if (rec == null)
{
    return;
}
// 输出扩展记录中的数据.
var data = rec.GetXRecordData();
data.PrintData();

下面js代码演示如何写入扩展记录:

// 让用户在图上选择一个对象。       
var ent = mxOcx.GetEntity("选择实体");
if (ent == null)
    return;
// 写扩展字典
var param = mxOcx.NewResbuf();
//创建扩展字典,如果对象已经有扩展字典,该函数什么都不做。
ent.SetProp("createExtensionDictionary", param);
// 得到扩展字典
var dict = ent.GetExtensionDictionary();
if (dict == null)
    return;
// 向扩展字典中增加一个自己的字典,用于写自己的数据.
var myDict = dict.AddObject("MyDict", "McDbDictionary");
// 向字典中增加一个扩展记录。
var xRecord = myDict.AddXRecord("MyGlobalData");
if (xRecord == null)
    return;
// 做准备写入的扩展记录数据.
var xData2 = mxOcx.NewResbuf();
xData2.AddLong(99999);
xData2.AddDouble(666);
var ptTest = mxOcx.NewPoint();
ptTest.x = 77;
ptTest.y = -100;
xData2.AddPoint(ptTest);
xData2.AddString("TestApp2");
// 写入数据.
xRecord.SetXRecordData(xData2);

 

CAD关于实体扩展记录操作(com接口网页版)

标签:style   选择   obj   自己   网页   实体   关于   oba   turn   

原文地址:https://www.cnblogs.com/yzy0224/p/12016481.html


评论


亲,登录后才可以留言!