我使用AlignedDimension
Autodesk.AutoCAD.DatabaseServices
对象在autocad中创建对象。
我想使用XData
对象将一些数据存储在Dimension对象的TypedValue
中。
但是,当我们将resultBuffer
分配给XData
时,它不会将值分配给XData
。
如果对象是实体但是xData
没有为AlignedDimension
对象分配,则此方法可以正常工作。
是否可以帮助我将typedValue
分配给Xdata
的{{1}}?
以下是代码段:
AlignedDimension
答案 0 :(得分:1)
要分配xData,您需要定义一个应用程序(在RegAppTable下)并将其用作列表中的第一个TypedValue。
查看http://through-the-interface.typepad.com/through_the_interface/2007/04/adding_xdata_to.html
上的示例
static void AddRegAppTableRecord(string regAppName)
{
Document doc =
Application.DocumentManager.MdiActiveDocument;
Editor ed = doc.Editor;
Database db = doc.Database;
Transaction tr =
doc.TransactionManager.StartTransaction();
using (tr)
{
RegAppTable rat =
(RegAppTable)tr.GetObject(
db.RegAppTableId,
OpenMode.ForRead,
false
);
if (!rat.Has(regAppName))
{
rat.UpgradeOpen();
RegAppTableRecord ratr =
new RegAppTableRecord();
ratr.Name = regAppName;
rat.Add(ratr);
tr.AddNewlyCreatedDBObject(ratr, true);
}
tr.Commit();
}
}