autocad中非图形特征的存取方法及应用

autocad中非图形特征的存取方法及应用

ID:13748722

大小:19.96 KB

页数:7页

时间:2018-07-24

autocad中非图形特征的存取方法及应用_第1页
autocad中非图形特征的存取方法及应用_第2页
autocad中非图形特征的存取方法及应用_第3页
autocad中非图形特征的存取方法及应用_第4页
autocad中非图形特征的存取方法及应用_第5页
资源描述:

《autocad中非图形特征的存取方法及应用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、AutoCAD中非图形特征的存取方法及应用AutoCAD中非图形特征的存取方法及应用一、引言  在进行产品设计时,很多时候只是设计出了产品的几何特征和属性,在图纸中很少涉及到其它非图形特征属性,如零件的材料、生产数量、拓扑关系等。这些非图形特征往往通过标注来实现,但在图纸本身的数据库中并没有保存这些有用的非图形特征信息。随着计算机技术的发展,尤其是网络和数据库的发展和成熟,图纸数据库中若不包含必要的非图形特征信息,就很难实现零件之间的关联及信息的相互利用,很难充分实现信息的共享。  AutoCAD2000以其

2、强大的功能及对二次开发的支持和开放性,成为众多设计人员采用的工作平台和二次开发平台。它不仅能存储所生成图形的几何信息和其它相关信息,而且还允许用户建立自己的“非图形特征信息”,以便在图形文件中提供必要的较完整的产品数据,实现零件信息的自动统计,不同零部件的关联设计,自动提取所需零件及图纸的相关特征参数等,为后续开发和生产提供保障。  二、非图形特征的存储和提取方法  在AutoCAD中,图形是指存储在数据库中的对象的集合。基本的数据库对象包括实体、符号表和字典。实体是一种指定类型的数据库对象,它在AutoCA

3、D中有图形表示,如直线、圆、曲线和文字等;符号表和字典是用来存储数据库对象的容器对象。ObjectARX使用户的应用程序能够访问这些数据库对象,另外,用户也可以为指定的应用程序创建新的数据库对象。  在通常的设计中,图纸中只包含了各种图形实体及实体的基本属性,如线型、图层和可见性等,一般都不包括基本属性以外的非图形特征属性,如实体的材料、加工方法等。我们可以利用扩展数据(Xdata)和扩展记录对象(Xrecord)来存储其非图形特征参数,为关联设计和CAPP等提供必要的信息。  1.扩展实体数据(Xdata)

4、  ObjectARX、VisualLisp等应用程序都可以创建扩展实体数据(Xdata),扩展实体数据可以附在任何对象上,AutoCAD只负责维护这些信息,但并不使用这些信息。一个实体的扩展数据由应用程序所建立,跟随在该实体的正常定义数据之后,包含一个或多个1001组。每一组均以一个互不相同的应用程序名开头,扩展数据的组码在1000至1071之间,不同组码对应不同类型的信息。可用以下方法为指定对象附加扩展实体数据,获取指定对象的扩展实体数据。  (1)为指定对象附加扩展实体数据  Acad::ErrorSt

5、atusAcDbObject::setXData(constresbuf*xdata);  其中,xdata为结果缓冲区链表,包含要添加的信息。  (2)获取指定对象的扩展实体数据  Acad::ErrorStatusAcDbObject::XData(constchar*regappName);  其中,regappName欲获取信息所属的应用程序名。  2.扩展实体词典和扩展实体记录  词典用以存储用户自己定义的各类符号表及其他大量数据。扩展实体记录就是一个Resbuf链表。该链表是一个数据组的列表,链表

6、中每一节点都包含一个DXF组码及相关数据。扩展实体记录的DXF组码的范围是1~369,其中的数据没有任何限制,可以被任何其它对象所拥有。我们可以通过以下方法来实现对非图形特征信息的存储和提取。  (1)创建词典对象  Acad::ErrorStatuscreateExtensionDictionary();  (2)添加对象到扩展数据词典  Acad::ErrorStatus;  setAt(char*Key,AcDbObject*obj,AcDbObjectId&retobjId);  其中,Key为加入到

7、词典的新对象的索引关键字;  obj为加入到词典的新对象指针;  retobjId为加入到词典的新对象Id。  (3)检索指定关键字的扩展数据词典记录  Acad::ErrorStatusgetAt(constchar*entryName,AcDbObject*&entryObj,AcDb::OpenModemode)const;  其中,entryName为指定检索的关键字;  entryObj为返回的检索到的对象指针;  mode为对象打开的方式。  (4)添加数据到扩展数据记录  Acad::Error

8、StatusAcDbXrecord::setFromRb  Chain(resbuf&pRb,AcDbDatabase*pDb=NULL);  其中,pRb为包含特征信息的结果缓冲区链表。  (5)获取扩展实体记录的内容  Acad::ErrorStatusAcDbXrecord::rbChain(resbuf**ppRb,AcDbDatabase*pAuxDb=NULL);  其中,ppRb为结果

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

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

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