cad二次开发技术在扩展实体数据中的应用

cad二次开发技术在扩展实体数据中的应用

ID:10545781

大小:61.50 KB

页数:7页

时间:2018-07-07

cad二次开发技术在扩展实体数据中的应用_第1页
cad二次开发技术在扩展实体数据中的应用_第2页
cad二次开发技术在扩展实体数据中的应用_第3页
cad二次开发技术在扩展实体数据中的应用_第4页
cad二次开发技术在扩展实体数据中的应用_第5页
资源描述:

《cad二次开发技术在扩展实体数据中的应用》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、CAD二次开发技术在扩展实体数据中的应用

2、第1...0引言AutoCAD作为国际上最流行的CAD绘图软件在国内的应用日益广泛。自R13.0版本以后,Autodesk公司推出了新的面向对象的软件接口,采用面向对象的编程方法为广大用户提供了更强的二次开发功能。借助ARX扩展实体数据,用户可以很方便地在图形实体中按不同的需求分门别类地存取不同的非图形数据,如设计人员关心产品的材料属性、重量、荷载初始值;而财务人员则关心产品的成本、价格等。众所周知,利用“块”属性可以存取非图形数据,而且这也是在AutoCADR13.0版本以前用户能够在图形中存取非图形

3、数据的唯一方法,但现在通过ARX扩展实体数据,非图形数据的存取将变得更加灵活、方便。事实上,AutoCAD2000正是利用图形中位于“ACADASE”图层的POLYLINE扩展数据来保存图形实体与外部数据库之间的连接关系。运用扩展数据技术很好地解决了程序开发时公用区的数据传递时需要更新的问题,很好和安全地保存了数据而无需再行初始化。1扩展实体数据在板片空间结构程序开发中的应用在板片空间结构方面用AutoCADARX进行二次开发时,要涉及到三类问题:前处理、计算过程和后处理。在这三类问题的解决中,数据的读取、存储、更新至为重要。如在用AutoCA

4、DARX进行板片空间结构的程序开发时,总体上计算程序中需要建立专门的材料数据库,而一般的计算过程中用到材料的类型往往只有几种或十几种,因此,如果计算时调用完全的材料库则会浪费计算资源而且没有必要。但是因为考虑到各种情况,必须建立材料数据库,那么这个材料数据库需要满足两个条件:一是既与计算调用程序保持联系,使计算程序在调用时能够从材料数据库中得到数值,同时又要使计算程序所能用到的数据只是材料数据库中的一部分,具有相对的独立性。那么,在选择了材料类型的同时,就从总材料库中获得了有关数据。但是如何保留这些数据,等待后续计算的开展呢?由于整个程序都是模

5、块化设计,各个模块之间的数据是独立的,在本模块运行结束后,内存中的数据就消失了,不可能修改一个材料数据后,就保存一个数据文件。如何实现材料数据的保存就成了一个至关重要的问题。在传统的编程里,不同模块之间的数据传递是用公用区来实现的,但是公用区也是在内存中的,一个程序一旦运行,就必须完成运行后才能结束。有时一次不能完成全部过程,下一次开机时又必须重新开始。而且由于材料内容和数目具有不确定性,这个问题显然不能用这个方法来解决。ARX为解决这一问题提供了有力的工具,它可以将获得的外部数据直接添加到图块上,放人图形数据库中。这样,即使在重新开机后仍可获

6、得先前数据。利用扩展实体数据的最大好处首先在于它能够按不同的应用类型分组,其次在于它直接与图形实体关联,存取非常灵活方便。实现添加对象指定位数据的机制有4种,分别是:(1)扩展数据(Xdata);(2)Xrecord;(3)任何对象的扩展字典;(4)可以包含数据的任何定制对象。因为扩展数据较为简洁,应用起来较方便,选择它可以解决上述的问题。在做前处理时,先以一定的格式通过扩展数据来初始化模型在运算时需要材料属性。到运算时再从预先编好的材料文件库中读写材料的值,然后将运算后的结果用扩展数据存储在后处理中所需要的参数中。如通过后处理绘出模型的应力图

7、,就是通过ARX绘图命令调用在计算过程中存储在扩展数据的应力值再乘以适当的放大或缩小比例的数据而得到。2扩展实体数据的结构扩展数据(Xdata)由ARX,ADS或AutoLSP编写的应用程序创建,并且可以被添加到所有对象。Xdata由一个应用程序使用的resbuf链表组成。数据使用DXF组码的1000到1007之间的范围。扩展数据由一个应用程序创建,并且可以被添加到所有对象,不仅包括实体对象,也包括符号表对象等。它由一个应用程序使用的resbuf组成。AutoCAD维护此信息但是不使用它,这是AutoCAD中所预留,专用于二次开发的数据信息。这

8、部分信息在DXF组码中对应为1000到1071之间。要求数据总量小于16K,数据类型被限制为现有的DXF组码和类型。这些类型包括:实数、整数、三维点等。添加扩展数据可以把各种属性数据以实体扩展数据的形式添加到图块上。在建立扩展数据之前。应在ARX应用程序中登记扩展数据所需的应用名称,应用名称存储在实体的扩展数据中,同时也存储在ARX的符号表中。用户调用acdbRegApp()函数,即可完成登记操作。然后调用AcDdObject类成员函数setXData()为指定实体对象附加扩展数据,该函数可将各种数据写人结果缓冲区,以结果缓冲区链表的方式添加到

9、实体的常规数据之后,保存图块实体,其扩展数据就可以保存在AutoCAD的图块文件中。链表数据结构如1图所示。图1链表结构...0引言AutoCAD作为

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。