AutoCAD .Net 在dwg文件中存储自定义数据
来源:互联网 发布:jav网络机顶盒如何刷机 编辑:程序博客网 时间:2024/05/23 02:02
问题
我需要在 dwg 文件中存储一些信息,以额外描述图形文件并使它能够和其它软件程序集成。
请问怎样才能在 dwg 文件中写入自定义数据并读取?
回答
你可以使用 Named Object Dictionary (NOD, 中文名: 命名对象字典) 来存储自定义数据。
以下示例程序展示了如何在当前 dwg 文件中写入自定义数据并读取。
[CommandMethod("CAXDEV_WNOD")]public void WriteToNOD(){ Document doc = Application.DocumentManager.MdiActiveDocument; Database db = doc.Database; using (Transaction tr = db.TransactionManager.StartTransaction()) { // 命名对象字典 DBDictionary nod = tr.GetObject(db.NamedObjectsDictionaryId, OpenMode.ForWrite) as DBDictionary; // 自定义数据 Xrecord myXrecord = new Xrecord(); myXrecord.Data = new ResultBuffer( new TypedValue((int)DxfCode.Int32, 520), new TypedValue((int)DxfCode.Text, "Hello www.caxdev.com")); // 往命名对象字典中存储自定义数据 nod.SetAt("MyData", myXrecord); tr.AddNewlyCreatedDBObject(myXrecord, true); tr.Commit(); }}[CommandMethod("CAXDEV_RNOD")]public void ReadNOD(){ Document doc = Application.DocumentManager.MdiActiveDocument; Database db = doc.Database; using (Transaction tr = db.TransactionManager.StartTransaction()) { // 命名对象字典 DBDictionary nod = tr.GetObject(db.NamedObjectsDictionaryId, OpenMode.ForWrite) as DBDictionary; // 查找自定义数据 if (nod.Contains("MyData")) { ObjectId myDataId = nod.GetAt("MyData"); Xrecord myXrecord = tr.GetObject(myDataId, OpenMode.ForRead) as Xrecord; foreach (TypedValue tv in myXrecord.Data) { doc.Editor.WriteMessage("type: {0}, value: {1}\n", tv.TypeCode, tv.Value); } } }}
你可以把 NOD 看成是存储文档级别自定义数据的地方。
如果你需要为一些特定的图元存储一些关联数据,可以考虑使用扩展字典。
本篇文章翻译+加工自:
How can I store my custom information in a dwg file?
阅读全文
0 0
- AutoCAD .Net 在dwg文件中存储自定义数据
- 在Winform窗体中显示AutoCAD文件(dwg文件)
- ObjectDBX技术: 脱离AutoCAD处理dwg文件(NET 实现)
- AutoCAD .Net 使用扩展字典存储自定义数据
- C#开发AutoCad,利用ObjectDbx技术在当前dwg文件中插入其它未打开的dwg文件中的图块
- CAD Import .NET支持AutoCAD DWG 2013
- 用flex 查看autocad的dwg文件
- AltiumDesigner导入AutoCAD文件DXF,DWG格式
- 关于AutoCAD的dwg文件操作学习
- AutoCAD .Net 使用 Database.ReadDwgFile 读取dwg文件而不显示文档窗口
- 在ARX中自动新建DWG文件
- AUTOCAD的dwg文件如何转换为pdf文件?
- 在VBA中调用AUTOCAD打印文件
- C# 实现预览dwg文件完整源代码(无需autocad环境)
- AUTOCAD的DWG图纸怎么转换成PDF文件
- c#读DWG文件中Model_Space的数据
- 在IE中打开浏览DWG文件的方法
- 在.NET中独立存储应用数据
- Postgresql新建数据库
- 项目随笔(二)
- Java设计模式之观察者模式
- 蓝桥杯练习题之查找整数
- 740. Delete and Earn
- AutoCAD .Net 在dwg文件中存储自定义数据
- 虚拟机的串口打印
- 《算法导论》矩阵链乘法问题
- 饿了么-vur2.0实现总结一(项目创建及文档结构) _补充图片
- 在虚拟机中使用桥接方式连接实例
- 李飞飞来信:为什么我决定重返中国
- 如何查出表中重复字段
- 刚刚,吴恩达讲了干货满满的一节全新AI课,全程手写板书
- 库存扣多了,到底怎么整