- AutoCAD允许应用程序在实体上添加扩展数据(XData),来为实体提供额外的信息。
- 打开注册应用程序表,新建注册应用程序表记录,添加到注册应用程序表中,把新建的扩展数据附加到实体中。
- 实现代码如下:
Autodesk.AutoCAD.DatabaseServices.Database db = id.Database;//获取实体所属的数据库
//获取数据库的注册应用程序表
RegAppTable regTable = (RegAppTable)db.RegAppTableId.GetObject(OpenMode.ForWrite);
//如里不存在名为regAppName的记录,则创建新的注册应用程序表记录
if (!regTable.Has(regAppName))
{
//创建一个注册应用程序表记录用来表示扩展数据
RegAppTableRecord regRecord = new RegAppTableRecord();
regRecord.Name = regAppName;//设置扩展数据的名字
//在注册应用程序表加入扩展数据,并通知事务处理
regTable.Add(regRecord);
db.TransactionManager.AddNewlyCreatedDBObject(regRecord, true);
}
//以写的方式打开要添加扩展数据的实体
DBObject obj = id.GetObject(OpenMode.ForWrite);
//将扩展数据的应用程序名添加到扩展数据项列表的第一项
values.Insert(0, new TypedValue((int)DxfCode.ExtendedDataRegAppName, regAppName));
obj.XData = values;//将新建的扩展数据附加到实体中
regTable.DowngradeOpen();//为了安全,将应用程序注册表切换为读的状态
CAD.NET添加扩展数据
最新推荐文章于 2024-07-30 20:24:21 发布