用户自定义的全局数据,通过扩展记录方式写到DWG图中
下面代码,取到图纸全局字典,然后在字典中放一个用户自己的字典,在字典写一个扩展记录数据
如下c#代码
public void wirteGlobalVer(String sName, String sVal) { // 得到CAD数据库 MxDrawDatabase database = (MxDrawDatabase)axMxDrawX1.GetDatabase(); // 得到全局字典 MxDrawDictionary dict = database.GetNamedObjectsDictionary(); // 得到用户自定义字典,MyExDataDictName是字典名称 MxDrawDictionary myDict = (MxDrawDictionary)dict.GetAt("MyExDataDictName"); if (myDict == null) { // 如果没有,就添加一个字典。 myDict = (MxDrawDictionary)dict.AddObject("MyExDataDictName", "McDbDictionary"); } // 得到字典中的扩展记录数据。 MxDrawXRecord rec = (MxDrawXRecord)myDict.GetAt(sName); if (rec == null) { // 如果没有就,添加一个扩展记录. rec = myDict.AddXRecord(sName); } // 创建数据链表. MxDrawResbuf res = new MxDrawResbuf(); // 设置值。 res.AddString(sVal); // 设置扩展记录数据。 rec.SetXRecordData(res); }
执行
wirteGlobalVer("MyData", "aaaa");
DWG中的数据内容如下: