AutoCAD中非图形特征的存取方法及应用.docVIP

AutoCAD中非图形特征的存取方法及应用.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
AutoCAD中非图形特征的存取方法及应用

AutoCAD中非图形特征的存取方法及应用 AutoCAD中非图形特征的存取方法及应用 Http:// 2003-3-18 0:28:38 狂沙工作室 一、引言   在进行产品设计时,很多时候只是设计出了产品的几何特征和属性,在图纸中很少涉及 到其它非图形特征属性,如零件的材料、生产数量、拓扑关系等。这些非图形特征往往通过标注来实 现,但在图纸本身的数据库中并没有保存这些有用的非图形特征信息。随着计算机技术的发展,尤其是 网络和数据库的发展和成熟,图纸数据库中若不包含必要的非图形特征信息,就很难实现零件之间的关 联及信息的相互利用,很难充分实现信息的共享。   AutoCAD 2000 以其强大的功能及对二次开发的支持和开放性,成为众多设计人员采用的工作平台 和二次开发平台。它不仅能存储所生成图形的几何信息和其它相关信息,而且还允许用户建立自己的“ 非图形特征信息”,以便在图形文件中提供必要的较完整的产品数据,实现零件信息的自动统计,不同 零部件的关联设计,自动提取所需零件及图纸的相关特征参数等,为后续开发和生产提供保障。   二、 非图形特征的存储和提取方法   在AutoCAD中,图形是指存储在数据库中的对象的集合。基本的数据库对象包括实体、符号表和字典 。实体是一种指定类型的数据库对象,它在AutoCAD中有图形表示,如直线、圆、曲线和文字等;符号表 和字典是用来存储数据库对象的容器对象。ObjectARX 使用户的应用程序能够访问这些数据库对象,另 外,用户也可以为指定的应用程序创建新的数据库对象。   在通常的设计中,图纸中只包含了各种图形实体及实体的基本属性,如线型、图层和可见性等,一般 都不包括基本属性以外的非图形特征属性,如实体的材料、加工方法等。我们可以利用扩展数据(Xdata)和 扩展记录对象(Xrecord)来存储其非图形特征参数,为关联设计和CAPP等提供必要的信息。   1.扩展实体数据(Xdata)   ObjectARX、Visual Lisp等应用程序都可以创建扩展实体数据(Xdata),扩展实体数据可以附在任 何对象上,AutoCAD 只负责维护这些信息,但并不使用这些信息。一个实体的扩展数据由应用程序所建 立,跟随在该实体的正常定义数据之后,包含一个或多个1001组。每一组均以一个互不相同的应用程序 名开头,扩展数据的组码在1000至1071之间,不同组码对应不同类型的信息。可用以下方法为指定对象 附加扩展实体数据,获取指定对象的扩展实体数据。   (1)为指定对象附加扩展实体数据   Acad::ErrorStatus AcDbObject::setXData(const resbuf* xdata);   其中,xdata 为结果缓冲区链表,包含要添加的信息。   (2)获取指定对象的扩展实体数据   Acad::ErrorStatus AcDbObject::XData(const char* regappName);   其中,regappName 欲获取信息所属的应用程序名。   2.扩展实体词典和扩展实体记录   词典用以存储用户自己定义的各类符号表及其他大量数据。扩展实体记录就是一个Resbuf链表。该链 表是一个数据组的列表,链表中每一节点都包含一个DXF组码及相关数据。扩展实体记录的DXF组码的范围 是1~369,其中的数据没有任何限制,可以被任何其它对象所拥有。我们可以通过以下方法来实现对非图 形特征信息的存储和提取。   (1)创建词典对象   Acad::ErrorStatus createExtensionDictionary();   (2)添加对象到扩展数据词典   Acad::ErrorStatus;   setAt(char* Key,AcDbObject* obj,AcDbObjectId retobjId);   其中,Key为加入到词典的新对象的索引关键字;   obj为加入到词典的新对象指针;   retobjId为加入到词典的新对象Id。   (3)检索指定关键字的扩展数据词典记录   Acad::ErrorStatus getAt(const char* entryName,AcDbObject*entryObj,AcDb::OpenMode mode) const;   其中,entryName为指定检索的关键字;   entryObj为返回的检索到的对象指针;   mode为对象打开的方式。   (4)添加数据到扩展数据记录   Acad::ErrorStatusAcDbXrecord::setFromRb   Chain(resbuf pRb,AcDbDatabase*pD

文档评论(0)

f8r9t5c + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档