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接口网页版)的主要内容,如果未能解决你的问题,请参考以下文章

CAD关于实体的选择操作(com接口网页版)

CAD关于得到实体的坐标操作(com接口网页版)

CAD关于块表操作2(com接口网页版)

CAD关于文字样式修改文字对象的文字样式操作(com接口网页版)

CAD关于文字样式删除文字样式操作(com接口网页版)

CAD关于文字样式得到图所有文字对象使用的字体文件操作(com接口网页版)