首页产品介绍企业动态软件下载人才招聘在线订购联系方式论坛
线切割常见问题39例    老机床插上数控翅膀    俄罗斯准备开发世界第三大铜矿    北仑1500家中小企业组成模具行业"巨无霸"    数控线切割机床的特点    机械加工普通的收费方法和标准    滚珠丝杠副特性参数表    新穎线切割导轮轴承总成    步进电机细分驱动方式的研究    齐二机床为韩国组装数控立车    济南二机床将合资生产高档精密数控立车    第七届制博会在沈阳圆满落幕    沈阳机床:澄清JANA入股未获批报道    德国博世集团首次采购中国机床    罗奇:全球经济降温刚刚开始     诊脉浙江民间借贷    市场震荡加速 小五金厂生存成难题    中国制造遭遇寒流,五金行业首当其冲    交流伺服电机工作原理    中国8月CPI同比上涨4.9%,创14个月以来新低    山西襄汾县泥石流死亡人数增至56人    CPI“破5”PPI“过10”制造业利润缩水    制造业的未来正在这里展示    2008年上半年意大利土方机械市场销量下降9.5%    英国7月份制造业产值和工业产值再度下滑    什么是精密滚珠丝杠副    机械行业今年下半年投资策略与投资要点    昆明机床:公司收入与毛利率同步高增长    伺服系统的功能说明和应用    线切割锥度算法    abba直线导轨选型说明    电火花成型机操作规程    央行放松对外资银行的信贷控制    上半年制造业利用外资增48.5%    大连装备制造业出口逆势上扬    增值税转型为机械行业带来发展机遇    英国7月制造业产出和工业生产继续下降    欧盟商会对欧洲企业在中国面临经济民族主义壁垒表担忧    法因数控从行业新宠到行业领跑的完美蜕变    欧洲议员出新书揭秘9-11事件 称美国参与袭击    
  新闻中心>>技术文章
AutoCAD中非图形特征的存取方法及应用 
来源: 作者: 江苏泰州市德基数控机床技术部  发表于:2008-9-17  阅读次数
  

一、引言

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

  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*pDb=NULL);

  其中,pRb为包含特征信息的结果缓冲区链表。

  (5)获取扩展实体记录的内容

  Acad::ErrorStatusAcDbXrecord::rbChain(resbuf**ppRb,AcDbDatabase*pAuxDb=NULL);

  其中,ppRb为结果缓冲区结构指针。

三、非图形特征存储提取方法的应用

  以上介绍了通过扩展实体数据和扩展实体记录对象来存储和提取非图形特征的方法。下面通过3个实例来介绍其应用。

  1.利用扩展实体数据保存和提取实体非图形特征

  在工厂电气布线中,需要对电缆设定代号、名称、产地等非几何特征,以便于对电缆等材料进行自动统计等后续工作。

  (1)为电缆实体设定非图形特征

  char appName[40];//应用程序名

  char daihao[40];//电缆代号

  char mingcheng[40];//电缆名称

  ads_real length;//电缆长度

  struct resbuf *pRb,*pTemp;

  ……//通过对话框等方式对daihao,mingcheng,length赋初值

  strcpy(appName,“diqibuxian”);

  acdbRegApp(appName);//以appName登记图形中一个应用程序名

  pRb = acutNewRb(AcDb::kDxfRegAppName);//分配结果缓冲器

  pTemp = pRb;

  pTemp->resval.rstring= (char*)malloc(strlen(appName)+1);

  strcpy(pTemp->resval.rstring, appName);//将数据存入结果缓冲器链表

  pTemp->rbnext=acutNewRb(AcDb::kDxfXdAsciiString);

  pTemp=pTemp->rbnext;

  pTemp->resval.rstring= (char*)malloc(strlen(daihao)+1);

  strcpy(pTemp->resval.rstring, daihao); file://将代号存入结果缓冲器链表

  ……

  pTemp->rbnext=acutNewRb(AcDb::kDxfxdLong);

  pTemp=pTemp->rbnext;

  pTemp->resval.rreal=length;

  AcdbObject *pObj;//通过一定的方式获取需要添加数据的对象

  pObj->SetXData(pRb);//为对象添加扩展实体数据

  pObj->close();

  acutRelRb(pRb);

  (2)获取指定对象的扩展实体数据

  AcDbObject* pObj;

  char appName[40];//应用程序名

  char daihao[40];//电缆代号

  char mingcheng[40];//电缆名称

  ads_real length;//电缆长度

  struct resbuf *pRb;

 

 数控专业毕业论文毕业设计加
 数控专业毕业论文毕业设计资
 机电一体化毕业论文
 YH线切割编程软件DOS版
 毕业论文格式范例
 Ug教程下载网址大全
 数控专业毕业论文基本数控编
 数控车床加工工艺分析 实例
 机修钳工技师培训教材
 线切割软件编程系统学习教程
 机电一体化专业毕业论文范文
 机械制造专业毕业设计(论文
 2007届广告专业毕业论文
 平面设计毕业论文
 室内设计毕业论文
 中国数控机床的未来 --毕
 2007年计算机专业毕业论
 机电工程毕业论文选题参考
 CA6140普通车床数控改
 毕业论文封面格式
 线切割常见问题39例
 老机床插上数控翅膀
 俄罗斯准备开发世界第三大铜
 北仑1500家中小企业组成
 数控线切割机床的特点
 机械加工普通的收费方法和标
 滚珠丝杠副特性参数表
 新穎线切割导轮轴承总成
 步进电机细分驱动方式的研究
 齐二机床为韩国组装数控立车
 济南二机床将合资生产高档精
 第七届制博会在沈阳圆满落幕
 沈阳机床:澄清JANA入股
 德国博世集团首次采购中国机
 罗奇:全球经济降温刚刚开始
 诊脉浙江民间借贷
 市场震荡加速 小五金厂生存
 中国制造遭遇寒流,五金行业
 交流伺服电机工作原理
 中国8月CPI同比上涨4.

 YCUT线切割自动编程软件(与AUTO AutoCAD2004 迷你版中文版 Autocad 2006简体中文版注册
 经典AUTOP软件(最新免费版 可运行 AutoCAD冲裁模线切割加工时刃口尺 基于AutoCAD R14和VB5开发
 用ActiveX Automation UG到AutoCAD数据的批量转换 AutoCAD冲裁模线切割加工时尺寸计
 AutoCAD的定制与开发 利用AutoCAD临时文件找回丢失的C AutoCAD技巧精华集
 
中国数控线切割机床网 版权所有   All Rights Reserved 2007