CAD关于实体扩展记录操作(com接口网页版)
Posted yzy0224
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CAD关于实体扩展记录操作(com接口网页版)相关的知识,希望对你有一定的参考价值。
在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接口网页版)的主要内容,如果未能解决你的问题,请参考以下文章