返回介绍

简介

发布于 2023-08-09 23:10:34 字数 4424 浏览 0 评论 0 收藏 0

用户可给图纸上的对象设置扩展数据,这些扩展数据可以是用户实际需求的专业数据,扩展数据支持字符串,double,int,等类型。每个扩展数据都一个扩展数据名称,每个名称下也可能有多个扩展数据,一个实体可以有多个扩展数据名称,这些扩展数据在内存中是一个链表来存放的,每个链结代表一个数据,每个链结中字符串数据长度不超过200(DWG图纸格式确定了),链表类MxDrawResbuf 详细说明参考:

http://www.mxdraw.com/help/IMxDrawResbuf.htm点击此处下载演示实例

在DWG文件格式中,所有对象的数据都一个DXF组码,不同的DXF组码代表不同的数据类型,这样可能在百度搜索关键词DXF组码 ,找到相关教程。

扩展数据中的每个数据类型也同样有一个DXF组码,比如设置一个字符串数据,并指定dxf组码,使用MxDrawResbuf的AddStringEx函数。

            MxDrawResbuf xData = new MxDrawResbuf();
            // 设置扩展数据名称 TestApp
            xData.AddStringEx("TestApp",1001);
            // 设置字符串数据,DXF组码是1000
            xData.AddStringEx("string data", 1000);
            // 设置一个 Long数据,DXF组码是1071
            xData.AddLongEx(77677, 1071);
            
           // 把准备好的数据,写到实体上。
            ent.SetXData(xData);

DXF组码说明:

图元名组码说明
字符串1000扩展数据中的字符串最长为 255 个字节(第 256 个字符将被保存为空字符)
应用程序名称1001字符串名称最长为 31 个字节(第 32 个字符将被保存为空字符)。 注意:请不要向您的扩展数据中添加组码 1001
控制字符串1002一个扩展数据控制字符串即可以是 "{" 也可以是 "}"。这些大括号可以使应用程序通过把数据细分为表来组织它们的数据。左大括号开始表,右大括号结束最近的表。表可以被嵌套
3 个实数1010,1020,1030三个实数值的次序为 X、Y 和 Z。它们可被用于表示点或矢量记录
世界空间位置1011,1021,1031与简单的三维点不同,世界空间坐标可被移动、缩放、旋转和连同属于扩展数据的上级图元一起产生镜像。当命令 STRETCH 被用于上级图元且此点位于所选窗口中时,世界空间位置也可被拉伸
世界空间位移1012,1022,1032同样三维点也可被缩放,旋转和连同上级图元一起产生镜像(但不能被移动或拉伸)
世界方向1013,1023,1033同样三维点也可被旋转和连同上级图元一起产生镜像(但不能被移动、缩放或拉伸)
实数1040一个实数
距离1041一个可连同上级图元一起被缩放的实数值
缩放比例1042同样是一个可连同上级图元一起被缩放的实数值。与距离的区别在于此图元为应用程序定义的
整数1070一个 16 位整数(有符号的或无符号的)
长整数1071一个 32 位符号(长型)整数

视频如下:

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文