热门关键词:

基于ObjectArx的机械设计辅助绘图工具系统的开发

  • 该文件为pdf格式
  • 文件大小:589.41KB
  • 浏览次数
  • 发布时间:2014-09-26
文件介绍:

本资料包含pdf文件1个,下载需要1积分

AutoCAD作为-款通用绘图软件,具有开放的体系结构,允许用户利用高级程序语言进行二次开发,其运行可靠,使用方便,广泛应用于机械、建筑、航海、化工等领域,己成为设计人员相互交流的重要工具 ]。由于 AutoCAD没有直接提供绘制标准中心线的命令,所以用户需要对绘制完的直线进行编辑修改后才能得到所需要的中心线,过程非常繁琐,且容易出错 ],而用 AutoCAD绘制的机械零件图或装配图又很难实现与手工绘制局部放大视图完全相同。因此,针对 AutoCAD在绘 图方面存在的不足 ,本文利用 AutoCAD提供的二次开发工具 ObjectARX,开发了-套机械设计辅助工具,该系统实现了图形的快速绘制 ,提高了绘图效率,改善了设计质量 ,增强了产品的竞争力。

1 ObjectArx概述ObjectARX作为面向对象的应用程序接口,其实质是动态链接库程序,它在与 AutoCAD共享地址的同时,可以利用 AutoCAD核心函数访 问 AutoCAD数据库 ,实现了开发 AutoCAD应用程序、扩充 AutoCAD类的协议、建立 AutoCAD命令的功能 ],它还提供了 ASI数据库接 V1,使 AutoCAD与外部数据库方便地进行数据交换Ⅲ5]。ObjectARX充分利用 C类的继承性、封装性和多态性等特点,使应用程序的保密性和代码的重复使用性得到提高,并且它还支持 MFC类库,可以简洁高效的实现许多复杂功能 ]。

2 机械设计辅助工具系统选用的开发平台是 AutoCAD 2010,以 ObjectARX 2010作为开发工具,配以 Visual C.NET2008开发语言,对 AutoCAD软件进行二次开发。

Visual C.NET 2008是-款基于 C语言开发环境 ,它 的语言简洁,具有智能感知功能 ,开发效率快 ,已成为世界主流的 C语言开发工具口]。用 ObjectARX 2010对 AutoCAD进行二次开发时 ,能够充分利用 Visual C.NET 2008开发环境功能强大、界面友好 、操作灵活 、效率高、扩展性强等特点实现程序的快速编写8 J。

收稿 日期 :2012-12-l2作者简介:李建朋(1988-),男,硕士研究生,主要研究方向为机械CAD/CAM。

通讯作者:沈精虎(1963-),男,教授,主要研究方向为机械 CAD/CAM。

第 2期 李建朋,等:基于 ObjectArx的机械设计辅助绘图工具系统的开发 95AutoCAD数据库是 AutoCAD图形相关数据的集合,用来管理图元实体和非几何信息对象。数据库存储的数据是图形的基本组成 ,如 图层、线型、文本样式等。每当用户新建-个图样时,AutoCAD会在后台创建-个与之对应的数据库 ,同时给予每个数据库对象唯-的 ObjectlD标识符。AutoCAD数据库对象的层次关系如图 1所示。

对于直线、圆等单-的图形对象,AutoCAD给出了完整的属性信息与之相对应[9],因此,在 AutoCAD中应遵循以下步骤创建-个 图形对象 :1) 确定要创建对象的图形数据库。

4) 创建实体对象 ,并将其将添加到特定的块表记录中。 图1 AutoCAD中数据库对象的层次关系图形数据库结构如图2所示。系统总体可分为 4部分:绘图工具、图形构造工具、视图工具和 AutoCAD系统。利用 ObjectARX开发出辅助工具,然后将 ARX动态链接库加载到 AutoCAD系统中,用户拾取命令即可完成绘图操作 。系统结构图如图 3所示 。

图 2 图形 数 据 库 结 构2.1 图形绘制2.1.1 绘图工具包括公切线 、垂分线、角平分线 、中心线 。各种类型中心线如图 4所示。中心线实现方法包括中心线位置确定及中心线属性(颜色及线型)的更改 。

2.1.2 准备工作图 3 系统 结构 图中心线- f7 哥图 4 各 种类型中心线1) 添Jn,J建直线 的 CreateLine函数 ,输入参数包 括直线的起点、直线 的终点 ;添加 ChangeColor函数,用于修改指定实体的颜色,输入参数包括要修改颜色的实体的ID(AcDbObjectld entld)以及要使用的颜色索引值(Adesk::Ulntl6 colorIndex);添加 changeLinetype函数,用于修改指定实体的线型,输入参数包括实体的 ID(AcDbObjectId entId)以及线型名称(CString strLinetype)。

2) 用 acedEntSel函数选择实体;用 isKindOf函数判断实体类型;用几何算法算出中心线各个端点;绘制直线并更改直线属性 (颜色跟线型)。

公切线 、垂分线以及角平分线跟中心线 的方法类似 ,用 acedEntSel函数选择完实体后通过几何算法得到直线的 2个端点绘制直线即可 。

2.2 图形构造工具2.2.1 工艺槽机械结构设计中,都要考虑结构的工艺性,该系统提供的工艺槽构造功能包含单、双面止裂孑L,轴、孔退刀槽,平行线倒圆角等功能。

第 2期 李建朋 ,等 :基于 ObjectArx的机械设计辅助绘图工具系统 的开发 97Adesk::Int32 loopType,const AcDbObjectldArray dbObjlds);第-个参数指定了边界类型;第二个参数输入-组实体的ID,用来定义填充边界。创建填充之后需要调用 evaluateHatch函数显示填充 。对于关联性填充 ,必须使用反应器来绑定填充和边界 ,这样边界发生变化的时候填充对象才能随之变化 。样条线与填充做好之后 ,用 acedEntSel选择轴的上 、下两端面直线 ,并利用 acedGetPoint获得打断位置点 ,即可获得轴 断线 ,轴断线绘制过程如图 8所示。

2.3 视图工具图 8 轴断线绘制过程在绘制机械零件图或者装配 图时,会遇到-些很重要的细嗅构 ,这些结构 由于图形过小而表达不清 ,或标注尺寸有 困难 ,需要在图纸上附上这些微嗅构的局部放大图,具体如图 9所示。但在用 AutoCAD绘制机械零件时,若想达到手工制 图那样在图纸上绘制细嗅构的局部放大图,过程 比较复杂l1 。因此 ,利用 AutoCAD的强大二次开发功能,将 0bjectARX应用程序编译成 ARX动态链接库 ,将 arx文件装 载到 AutoCAD中,使之成 为 Auto-CAD-个扩充的 内部命令 ,开发 出-个简 单可靠 的应用程序 ,实现局部放大图的 自动生成 。局部视图实现的方法如下 :1) 使用 acedentsel、acedgetreal和acedgetpoint函数确定放大的区域 C,放大系数 x及指定放置位置点P。

图 9 局部放大图I2 :12) 用函数 acedssget选择当前文档中的所有对象到选择集 s 中,然后用函数 intersectWith过滤选择集 S ,将与放大区域 C相交的对象拷贝到选择集 S。中。

3) 采用函数 acedcommand引用 AutoCAD中的 Trim 命令去掉选择集 s 中位于 圆 C外面的部分。

4) 使用 transformBy函数 ,移动选择集 S 到用户指定的位置,并 同时放大对象 。

3 结束语本文利用 Object ARX技术对 AutoCAD进行二次开发 ,并开发出-套机械设计辅助工具 。其提供的中心线绘制功能可以根据用户需要快速绘制图形中心线,并符合中心线超出轮廓线 2~5 mm要求,方法简便准确。用户在绘制倒圆或者工艺槽时,输入参数按照提示即可完成图形绘制,避免不必要的重复操作,缩短了设计人员的绘图时间,提高了工作效率。对放大区域所需的实体都能可靠地实现复制、剪切和放大,准确无误地按用户的要求生成局部放大视图。另外,本文开发的程序可以在 AutoCAD启动时自动加载,不会受到其他外界因素的影响 。因此 ,利用 ObjectARX对 AutoCAD进行二次开发具有广阔的应用前景。

正在加载...请等待或刷新页面...
发表评论
验证码 验证码加载失败