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

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

时间: 2024-12-11 05:37:47

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

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

调用控件的AddCurrentSelect函数,把实体设置成选中状,函数详见: http://www.mxdraw.com/help/[email protected]@[email protected]_BOOL.htm 调用控件的ClearCurrentSelect函数清除当前选择 调用IMxDrawSelectionSet::CurrentSelect 得到当前选择的实体,详见: http://www.mxdraw.com/help/[email protected][in,default

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

下面代码会遍历图上所有CAD文字对象,然后取它使用的字体信息 var database = mxOcx.GetDatabase(); //返回数据库中的文字样式表表对象 var textStyleTable = database.GetTextStyleTable(); // 定义选择集对象 var ss = mxOcx.NewSelectionSet(); //构造一个过滤链表 var spFilte = mxOcx.NewResbuf(); //得到当前空间的所有实体 ss.AllSelec

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

文字对象都一个TextStyle属性,用这个属性可以设置,或取到文字对象的文字样式. 下面代码演示设置一个文字对象的字体为黑体,如果没有文字样式,就添加文字样式. var ent = mxOcx.GetEntity("选择实体对象:"); if(ent == null) { return; } // 得到数据库对象. var database = mxOcx.GetDatabase(); // 得到文本式表. var textStyleTable = database.GetTextS

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

E   添加块表记录 下面代码,判断块表中是否有指定名称的块表记录,如果没有就增一个块表记录. function AddBlockRrecord(sName,blkOriginPoint) { // 取当前数据库. var curDatabase = mxOcx.GetDatabase(); // 得到块表 var blkTable = curDatabase.GetBlockTable(); // 判断块表是否已经有该名称的块名. if (blkTable.Has(sName)) { var

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

在删除文字样式前,最好判断图上有没有文字对象正在使用该文字样式,如果有的话就不要删除文字样式 JS代码如下: function DelText() { var winWidth = 440; var winHeight = 140; var winLeft = (screen.width - winWidth) / 2; var winTop = (screen.height - winHeight) / 2 - 20; var str = 'dialogHeight:' + winHeight

EF实体框架数据操作接口(转)

//----------------------------------------------------------------// Copyright (C) 2013 河南禄恒软件科技有限公司// // 功能描述:实体框架数据仓储的操作接口,包含增删改查接口////----------------------------------------------------------------using System;using System.Linq;using System.Linq.

EF实体框架数据操作接口

//----------------------------------------------------------------// Copyright (C) 2013 河南禄恒软件科技有限公司// // 功能描述:实体框架数据仓储的操作接口,包含增删改查接口////----------------------------------------------------------------using System;using System.Linq;using System.Linq.

JavaWeb学习记录(十二)——商城购物之数据库操作的接口定义

一.基本接口,该项目中所有接口都继承它 package blank.dao; import java.util.List; public interface BaseDao<T,PK> {    boolean insertObject(T entity);    boolean updateObject(T entity);    boolean deleteObject(T entity);    boolean deleteObjectById(PK id);    T findbyId

Spring boot学习(六)Spring boot实现AOP记录操作日志

前言 在实际的项目中,特别是管理系统中,对于那些重要的操作我们通常都会记录操作日志.比如对数据库的CRUD操作,我们都会对每一次重要的操作进行记录,通常的做法是向数据库指定的日志表中插入一条记录.这里就产生了一个问题,难道要我们每次在 CRUD的时候都手动的插入日志记录吗?这肯定是不合适的,这样的操作无疑是加大了开发量,而且不易维护,所以实际项目中总是利用AOP(Aspect Oriented Programming)即面向切面编程这一技术来记录系统中的操作日志. 日志分类 这里我把日志按照面向