码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2019-12-10 15:25:42      阅读:124      评论:0      收藏:0      [点我收藏+]

标签: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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!