Autocad二次开发三维实体阵列的实现

上传人:daj****de 文档编号:132567917 上传时间:2022-08-08 格式:DOCX 页数:29 大小:318.62KB
收藏 版权申诉 举报 下载
Autocad二次开发三维实体阵列的实现_第1页
第1页 / 共29页
Autocad二次开发三维实体阵列的实现_第2页
第2页 / 共29页
Autocad二次开发三维实体阵列的实现_第3页
第3页 / 共29页
资源描述:

《Autocad二次开发三维实体阵列的实现》由会员分享,可在线阅读,更多相关《Autocad二次开发三维实体阵列的实现(29页珍藏版)》请在装配图网上搜索。

1、Autocad二次开发三维实体阵列的实现专业名称:机械设计与制造作者姓名:曾悦学号:2200820302431指导教师:李春花讲师摘要本说明书主要是关于AutoCAD中创建三维实体及表面模型,AutoCAD VB语言二次开发的 说明和利用VB程序在AutoCAD上实现三维实体阵列。说明书中主要涉及到了,AutoCAD软 件的使用;VB语言简介;三维实体的具体特性和属性参数;三维实体模型设计;利用VB 程序实现在AutoCAD上画出三维实体。AutoCAD中创建三维实体及表面模型是本次设计的 基础,熟练掌握并用 AutoCAD VBA (Visual Basic for Application)

2、语言对 AutoCAD 进 行三维实体阵列的二次开发,以达到下述目的:调用程序时出现对话框,输入要求的零件主要参数后能够自动生成零件图形。并图形要符 合国家标准件的技术要求,也提高生产效率。AutoCAD VBA(Visual Basic for Application)语言的任务是对 AutoCAD 进行二次开发促 使AutoCAD更高效的工作。刖曰计算机辅助制图是现代企业生产和设计的重要工具,AutoCAD是计算机辅助设计工具的一种,VB是AutoCAD软件的重要组成部分。它是AutoCAD软件二次开发的重要工具。它 可使一些常用的机械零件能很快的调用,简捷方便,很大的提高了工作效率缩短了

3、新产品的开发周期,提高制图的质量。利用VB语言对AutoCAD进行二次开发是现代计算机技术不 可缺少的内容,而且直接影响到制图的速度和质量。本次设计是AutoCAD软件二次开发的其中一部分,也就是基于AutoCAD的三维实体阵 列开发,它在AutoCAD软件开发中占有一定的地位和作用。此次设计是由李春花老师分配 和指导的,此论文参考了很多的书籍和刊物。由于编者的水平有限,书中缺陷和不挡之处在所难免,敬请老师批评指正。目录、心、上刖曰I摘要IIAbstractB第一章 综述AutoCAD及AutoCAD二次开发第一节 AutoCAD 发展概况1第二节 AutoCAD技术发展趋势第三节AutoCA

4、D二次开发原理及关键技术第四节 AutoCAD 一次开的实现及应用第二章AutoCAD中创建三维实体及表面模型第一节三维模型的类型第二节三维模型造型方法第三节三维实体模型第三章 AutoCAD VBA编程系统第一节 AutoCAD VBA简介第二节vb程序实现在cad三维实体阵列结束语与致谢参考文献第一章综述第一节AutoCAD的发展概况随着现代工业文明的发展,越来越多的企业对工业产品的外形和内部结构的要求越来 越高,产品更新的速度越来越快,传统的手工制图已经不能满足现代企业的要求.计算机辅助设计技术的引进是近代工业史上的一次革命,它显著的提高了制图的速度 和制图的质量,缩短了新产品设计开发的

5、时间。AutoCAD是计算机辅助设计工具的一种, 它是美国Autodesk公司在1982年12月开发出来的,AutoCAD软件是计算机辅助设计与绘 图相结合的综合软件,从第一版AutoCADR1.0起,经历了若十次升级,现已达到AutoCAD2006。在 AutoCAD 14 版中,Autodesk 首次包括了 Microsoft 的 Visual Basic forApplications(VBA).将AutoCAD和Visual Basic的功能结合在一起,可以创建非常好的定 制应用程序,从而在使用AutoCAD执仃当刖任务时,可以在很短的时间内创建出正常情况 下需要好几个小时才能完成的图

6、形。经过三十多年的发展,CAD技术得到了迅速普及,已成为电子信息技术的重要组成部 分.CAD技术使产品的内容和方式发生了根本性变革,这一技术已成为工业发达国家保持 竞争优势,开拓市场的主要技术手段.1989年,美国国家工程科学院将CAD技术评为人类 25年间(1965-1989)当代十项最杰出工程技术成就之一.CAD技术之所以在短短的三十年发展如此迅速,是因为它几乎推动了一切领域的设计 革命,彻底的改变了传统的手工绘图的方式,极大的提高了产品开发的速度,提高了设计 精度.这一新技术的应用将使人类的聪明才智和创造能力与计算机高速而精确的计算能力、 大容量的储存和数据处理功能结合起来,是两者相得益

7、彰.CAD技术的发展与应用水平成 为衡量的科学技术现代化和工业现代化的重要标志之一.近几年来,随着计算机技术的飞速发展,CAD技术已由发达国家向发展中国家扩展, 而且发展的势头非常迅猛.我国政府部门十分重视这一技术,已经和科技界、工业界一起 把CAD技术的应用推广当作一件大事来抓,如果国家科委实施了 CIMS工程和CAD应用工程, 组建了全国性的CAD培训网络;机械工业部把1997年定位” CAD推广年”.将CAD推广工 作作为重中之重项目,目前正在组织实施CAD应用1550工程”.很多大中型甚至小型企 业都在努力引进这一新技术,以提高企业自身的技术素质,增强产品在国内外市场上的竞 争能力.另

8、外,CAD教学也得到了个高校的普遍重视.要想全面推广普及CAD技术,提高 我国的整体技术水平.为了拓宽AutoCAD的运用领域,从1993年夏季起,Autodesk公司已设计自动化为主 题,相继推出了极具应用价值的软件群体,包括3D MAX AutoCAD、Designer Auto surf AutoCAD、 Data Extension Auto、 Vision Animator Studio AutoCAD 、 MAP Mechanical Desktop(MDT).这些将在AutoCAD中得到很好的发挥,AutoCAD也将会也来越强大。第二节现代AutoCAD技术发展趋势CAD技术的发

9、展趋势主要围绕在标准化、开放式、集成化、智能化四方面。,件(零部件库)、标准化方法也已成为CAD系统中的必备内容,且向着合理化工程设计的 应用方向发展。传统形式的手画工程图已经有了成熟的国际标准,相互都能理解。而存储在磁盘、光 盘上的形形色色的CAD二进制数字记录,要想实现标准化就复杂、困难得多。从80年代 中期起,ISO国际标准化组织着手酝酿制订这类标准,称作ISO10303产品数据表达与 交换标准,简称STEP。它要涵盖所有人工设计的产品,采用统一的数字化定义方法。 由于STEP标准涉及的面非常宽,众口难调,标准的制定过程十分缓慢,存在问题很多。 而在我国,CAD应用工程的实施具有更加严密

10、的组织领导体系,而且实际从事CAD应用 软件开发的单位相对比较集中,起步比国外晚,不存在要与过去开发的老系统保持兼容问 题。如果我国采取主动贯彻STEP积极思想的方针,不纠缠于过分繁琐的技术细节,针对 我国的现实需要和技术发展前景,及早统一协调自主开发软件的数据模型,这将有助于推 动国内CAD界的学术研究风气,促进CAD软件开发水平的大幅度提高。这种主动出击的 策略要比单纯等待STEP标准草案一版一版更新有利得多。回顾历史,CAD和计算机图形 学的国际标准制定总是滞后于市场上的工业标准。CAD产品更新频繁。谁家产品的技术思 想领先,性能最好,用户最多,主导了市场,谁就是事实上的工业标准CAD技

11、术的发展 不是一种纯学术行为,它是在高技术产品所固有的激烈市场竞争中不断向前推进,永无止 境。CAD软件一般应集成在一个异构的工作平台之上,为了支持异构跨平台的环境,就要 求它应是一个开放的系统,这里主要是靠标准化技术来解决这个问题。目前标准有两大类:一是公用标准,主要来自国家或国际标准制定单位;另一是市场 标准,或行业标准,属私有性质。前者注重标准的开放性和所采用技术的先进性,而后者 以市场为导向,注重考虑有效性和经济利益。后者容易导致垄断和无谓的标准战。通过总 结这个领域几十年标准化工作的经验,不少标准化专家已认识到存在的问题,这已经成为 进一步制定标准的障碍。因此提出应对传统的标准化工作

12、进行革新。有专家建议标准革新 的目标是公用标准应变成工业标准,也就是说革新后仍应以公用标准为基础,不过要从工 业标准中吸收其注重经济利益和效率的优点。另外,也有人提出现在制定标准的单位很多, 但是标准制定过程却没有标准,这也是标准革新过程中值得考虑的问题。这些观点对我国 制定CAD标准也许有所启迪。2. 开放性CAD系统目前广泛建立在开放式操作系统窗口 95 / 98 / NT和UNIX平台 上,在Java LINUX平台上也有CAD产品,此外CAD系统都为最终用户提供二次开发环 境,甚至这类环境可开发其内核源码,使用户可定制自已的CAD系统。3. 集成化CAD技术的集成化体现在三个层次上:其

13、一是广义CAD功能 CAD/CAE/CAPP/CAM/CAQ/PDM/ERP经过多种集成形式成为企业一体化解决方案,推动 企业信息化进程。目前创新设计能力(CAD)与现代企业管理能力(ERP、PDM)的集成, 已成为企业信息化的重点;其二,是将CAD技术能采用的算法,甚至功能模块或系统,做 成专用芯片,以提高CAD系统的效率;其三是CAD基于网络计算环境实现异地、异构系 统在企业间的集成。应运而生的虚拟设计、虚拟制造、虚拟企业就是该集成层次上的应用。国际CAD商品系统开发的另一个趋势是在全球范围内优选最成功的功能构件,进行集 成。至今最成熟的几何造型平台有两家:Parasolid和ACIS;几

14、何约束求解构件有一家, 它的主要产品是2D和3D DCM。我国开发的机械CAD应用系统已经部分采用ACIS和 Parasolid平台,这是合理的。但是国际上近来又有一种思潮,要求软件开发自由化,以免 受制于一、二家公司垄断性产品的束缚。这就是选用Linux操作系统以及在它基础上开发 各种共享软件,开放源程序。我国也在酝酿自主开发因特网、操作系统、以及各种办公的 国产化系统。这时,自研制几何造型通用平台和各种功能构件也将提上议事日程,我们要 及早做好准备。的必然方向。从人类认识和思维的模型来看,现有的人工智能技术对模拟人类的思维活动 (包括形象思维、抽象思维和创造性思维等多种形式)往往是束手无策

15、的。因此,智能CAD 不仅仅是简单地将现有的智能技术与CAD技术相结合,更要深入研究人类设计的思维模型, 并用信息技术来表达和模拟它。这样不仅会产生高效的CAD系统,而且必将为人工智能领 域提供新的理论和方法。CAD的这个发展趋势,将对信息科学的发展产生深刻的影响。二、CAD技术研究开发热点1. 计算机辅助概念设计一方面,根据有关的统计资料表明,产品工本费的70%是在 产品设计阶段决定的。同时,一旦概念设计被确定下来,产品设计的60%70%也就被确 定下来。尤其需要提及的是,即使详细设计再好,也难以弥补概念设计阶段所出现的缺陷。 还有产品的创新及其所具有的竞争能力基本上也是在概念设计阶段就被确

16、定下的。故概念 设计是设计过程中一个非常重要的阶段,它已成为企业竞争的一个制高点。因此计算机辅 助概念设计愈来愈受到重视。但另一方面,在概念设计期间,所涉及的设计需求和约束的 种种知识,往往是不精确的、近似的或未知的,也就是说复杂性很高,这给CAD技术带来 很大的难度。概念设计的过程主要是评价和决策的过程,它涉及到产品功能、动作和结构等因素, 它对产品的价格性能、可靠性、安全性等等起决定性的影响作用。正因为应考虑的因素和 目标是多方面的。因此评价和决策过程是一个很复杂的,难度很大的过程。目前计算机辅 助概念设计的方法可分为两大类:即自动生成方案和交互生成方案。当然,应用时这两种 方法可以混合使

17、用。(1)自动生成方案目前主要采用人工智能技术。为了使计算机有效地支持概念设计活 动,需要解决两大难题。即建模问题和推理问题:A.前者是对产品的功能、动作和结构 诸因素之间相互影响的复杂关系进行建模或表达。例如汽锅的蒸汽阀门,基功能是防止汽 锅爆炸,它的动作是当检测到一定的压力差时,它会自动打开,而其结构是所用的实际构 件的布局及其连接关系,建模的结果提供推理用;B.而推理问题实际上就是生成和选择 合适的方案。建模问题主要是建模的表示法,目前已提出各种各样的表示法。如语言、几何模型、 图形、对象、知识模型和图象法等等,语言表示法属于一种形式描述方法,它能保证计算 机有效地进行推理,称为面向机器

18、的表示法。而图象表示法是一种高可视化的表示法(即 可视化思维模型),它侧重于提供一种有助于辅助设计人员创新工作的建模环境,称它为 面向人的表示法,而上列其它表示法依次界于这两者之间。尽管已有很多不同的建模表示法,但它们往往只支持描述概念设计的某一方面,缺少 一种能描述概念设计各种因素的统一表示法,这正是下一步的目标。推理问题的重点是在转换过程,即把用户需求映射到实现所给需求集合的一些实际的 结构上。难点在于产生和选择合适的映射方法。同样也有很多推理方法支持概念设计活动,如神经网络、基于实例的推理法、基于知 识的推理技术、优化、价值工程和定性推理等等。但目前也只能设计一些特定领域的例子, 离全面

19、应用还有差距。但从长远来看,这方面的许多工作还应继续进行。例如知识获取是 人工智能领域中一个大难题,为了解决这一问题,可以采用数据挖掘技术从已有的设计库 中自动获取感兴趣的领域知识。(2)交互技术生成方案由于概念设计的复杂性,自动地生成合适的方案是很困难的。 在自动生成和选比方案尚未成熟之前,交互技术是重要手段。在概念设计阶段可充分利用 多媒体技术,如包括有效的信息搜索技术,以便在网上可查到大量对概念设计有用的设计 例子。又如研究协同概念设计技术,使群体成员易于参与概念设计,并作出积极的贡献。2、计算机支持的协同设计设计工作是一个典型的群体工作。群体成员既有分工,又 有合作。因此群体的工作由两

20、个部分组成:一是个体工作,群体成员应完成的各自分工的存在相互关联的问题。一般称为接口问题,接口难免会出现矛盾和冲突,如不及时发现和 协调解决,就会造成返工和损失。传统的CAD系统只支持分工后各自应完成的具体任务, 至于成员间接口问题,计算机不能支持,主要靠面谈或某种通讯工具进行讨论并加以解决。 但这些方式很难做到及时并充分地协商和讲讨论。因而一项大的设计任务接口问题难免要 出差错,这正是为什么设计工作会出现不断反复、不断修改这一过程的主要原因。计算机支持的协同设计是计算机支持的协同工作(CSCW)技术在设计领域的一种应 用。用于支持设计群体成员交流设计思想、讲讨论设计结果、发现成员间接口的矛盾

21、和冲 突,及时地加以协调和解决,减少以全避免设计的反复,从而进一步提高设计工作的效率 和质量。协同设计倍受人们的关注,已有不少原型系统,也有一些产品已在市场上出售了。已 有工作中,有些属基础性工作,如建模、系统结构、适用于CSCW的支撑环境等等。但从 建立实用协同设计系统的角度来说,主要面临如下三大问题:(1)群体成员间多媒体信息传输目前在局域网上通讯方法已较成熟,但在远程网上, 交换数据时,异步传输,现有网络平台问题不大,但实时交换数据问题较多。首要的是传 输媒体的选择问题,即基于公用网(如WWW )还是基于专用网(如语音传输可借用电话 专线,又如租用ISDN总线)。目前多数研究是集中在公用

22、网Internet和Intranet上。但 商品开发上更多考虑专用线。从实用效果来说,公用网效果较差,而专用线虽然效果好些, 但价格太高。(2)异构平台参与协同设计的成员是分散在各地,且设备条件多种多样。因此,实用 的协同设计系统必须能在异构环境中运行,包括数据传输、工具集成,还有跨平台的交互 界面,这主要依靠标准化工作来解决异构环境问题,目前普通采用的是CORBA,JAVA技 术和通信领域的标准等。不过这类技术目前对CSCW的支持还有不足之处,有待增强功能。 至于跨平台的交互界面的研制,虽有不少进展,但是至今尚未见到支持它的工业标准。(3)人一一人交互 应该说支持设计群体人员间的人一一人交互

23、是协同设计的核心问题 之一,特别是目前自动发现矛盾和冲突,并进行自动协同和解决的技术还不成熟,因此人 人交互的手段尢为重要。当前,最为普遍的是利用电子会议(包括白板、语音、视频 等等工具)支持成员间进行讨论,它比较适用于交流设计思想,不过用它来讨论设计结果 就很费劲,共同修改设计结果就更不可能了。目前讨论设计结果主要是依靠应用共享这一 工具,这一工具能够达到一人对一个CAD工具进行操作,其它成员均能在自已的终端上看 到操作过程和结果。这个工具也可以和电子会议系统集成,用语音等工具进行讨论,但应 用共享最大的问题在于对于没有源程序的CAD工具,一个时刻只允许一个人操作,其它人 希望操作必须事先申

24、请,获准并在当前操作者退出后方可操作,故很不方便,成员间不能 直接互操作,这是需要进一步解决的问题。总而言之,协同设计系统的现状是局域网已达到实用阶段,在异步工作方式下,远程 协同设计问题也较小,但远程实时工作方式下,特别是基于公用网,尚处实验阶段,当然 整个协同设计系统离成熟阶段尚有一定距离,很多问题有待解决。3、海量信息存储、管理和检索CAD系统处理的信息愈来愈多,而且是多媒体信息。 尽管磁盘容量增长速度很快,但仍远不能满足信息量快速增长的需求。海量信息的存储、 管理和快速检索已成为世人瞩目的问题。这除了依靠硬件来解决问题外,DBMS是一重要 技术,实践证明,传统的关系数据库管理系统EDB

25、MS已难已适应要求而采用面向对象和 关系相结合的模型可能是个过渡的解决方案。4、设计法研究及其相关问题设计工作是项复杂的且知识密集的群体活动,为了提高 效率必须遵循某种正确的设计方法,虽然设计方法学的研究已有半个多世纪了,但针对 CAD的设计法却是最近才有的,称为正规设计流程法,它不仅让我们知道设计是一种流程,y I ,入 V/dI/、J I 八”口,H AU J 川/| I贝,I工口 J. I皿、S|7. I,|LJ |_| J 决,I 1|-|/ ,是开发新一代CAD系统的关键。现在已出现许多设计流程法。过去常用的是自顶向下、自底向上的自然可行方法,但 这种方法只适用于详细设计阶段。现在为

26、了支持整个设计工作,设计法的研究重点应在支 持概念设计方法和协同设计方法之上。例如,新的CAD系统可消除许多由于距离和时间所 造成对工作方法和组织的限制,协同设计面临的不但有人一一机交互、还有人一一人交互, 因而CAD的过程更复杂了,尽管人们都在期望提供一种灵活的,可移动的、安全可靠的远 程协同设计环境,但如果没有正确的方法来指导,将很难达到预期的效果。目前企业的组织基本上是一种很严谨的层次结构组织,在这种组织内民主有限,虽然 它可防止出现人多嘴杂和无休止争论的现象,但它又束缚着人们聪明才智的充分发挥。按 目前情况,采用这种组织结构是必要的。但随着工作方法和方式的改变,组织结构也可改 成动态组

27、成,只要群体成员间能相互了解,易于合作,也许这种非严谨的组织结构是可行 的,可更好地发挥每个人的才干。应该说到目前为止,设计工作还是由设计人员主宰一切,但事实上设计所牵涉的面很 广,包括市场的需求,生产是否可行,价格能否接受等问题,因此在协同设计时,设计群 体应包括各类人员,除有关设计人员外,还应有顾客、社会和人文科学人员、工艺人员、 生产人员、管理人员等。5、支持设计创新创新是产品设计的灵魂,如何利用计算机来支持创新,这是个新的 课题。目前只能提供一种启迪方法,如存入大量多媒体设计数据,并通过网络方便地供设 计人员查询,从而可能引导出意想不到的富有创新的设计。又如利用CSCW工具,通过直 接

28、讨论方式来相互启发,产生新的设计思想,促进创新设计。可以预见CAD技术将有新的飞跃,同时还会引起一场设计变革。6、新技术在CAD中的应用如上所述,CAD是吸收新技术最快的领域之一。下面仅 以例子加以说明:(1) 虚拟现实与CAD集成 虚拟现实技术用于CAD,使CAD技术主要在两个方面得 到提高:一是更逼真地看到正在设计的产品及其开发过程;另一方面是提高交互能力,使 设计人员或群体可以直接和所设计产品交互操作。VR技术在CAD中的应用面也很广,首 先可以进行各类具有沉浸感的可视化模拟,用以验证设计的正确性和可行性。譬如说可以 用这种模拟技术进行设计分析,可以清楚地看到物体的变形过程和应力分布情况

29、,效果比 实物实验还要好。其次它还可以在设计阶段模拟零部件的装配过程,检查所用零部件是否 合适和正确。做为副产品,它可生成加工详细时间表,装配材料详细清单等,并直接存入 数据库。在概念设计阶段,它可用于方案选比。特别是利用VR的交互能力,支持概念设 计中的人机工程学,检验操作时是否舒适、方便,这对摩托车、汽车、飞机等的设计特别 有用,在协同设计中,利用VR技术,设计群体可直接对所设计的产品进行交互,应包括 共享设计数据、讨论和互操作等。另外VR技术还可用于开发人一一人交互界面,更加逼 真地感知到正在和自己交互的群体成员的存在和相互间的活动。尽管VR技术在CAD中的应用前景很大,它的发展也很快,

30、不过目前仍处实验阶段, 离广泛推广应用还有一定距离。究其原因,首先是这类设备价格昂贵,其次性能也有待进 一步改进。头盔和数据手套不但用起来很不方便,而且使用时间长了,就会感觉到难受。 另外,VR技术应用于CAD本身也很有很多工作要做,包括VR数据的进一步处理,以便 更好地把CAD技术与VR技术集成起来。(2) 计算机安全现在社会的工作、学习和生活已都离不开计算机,某一行业的计算 机系统遭破坏,就有可能使这个行业乃至整个社会受影响,甚至于瘫痪。工程或产品设计 一样也离不开计算机,而且由于异地设计愈来愈多,对计算机的依赖性也愈来愈大。同时, 它所处理的设计数据不但数量大,而且往往有一定保密性,这是

31、市场激烈竟争所致。因此 如果解决不了安全可靠问题,就难以进一步推广应用新的CAD系统。第三节 AUtOCAD 一次开发的原理及关键技术1 CAD系统开发的原理机械设计涉及大量专业性的计算或表现方式,以及专业性的图形数据,这些数据的计 算、查询和图形绘制功能,难以用AutoCAD的通用功能实现,有些即便能实现也比较繁琐, 效率低。如果基于AutoCAD平台进行二次开发,把图表转化为数据库,将公式计算和专业性 图形绘制编成程序,开发出某些专业化的设计模块,能减少设计者繁重的查手册和枯燥的 计算与绘图工作,加快工艺设计效率。目前,对AutoCAD所使用的二次开发工具主要有三种 6: Visual L

32、ISP, ObjectARX, 以及VB/VBA 的ActiveX开发。其中,ObjectARX在C/C+ 的支持下,能够访问很多的AutoCAD底层工具,功能非常强大支持与Microsoft的基础类库 (MFC)的混合编程,能创建基于MFC的用户界面,可以方便地设计出具有典型Window s风 格的AutoCAD应用程序。2 CAD系统开发的关键技术2.1面向对象设计技术面向对象常指在程序设计中采用封装、继承、抽象等设计方法,以提高软件的重用性、灵活性和扩展性。ObjectARX2006二次开发工具包,引入了面向对象的编程机制,提供了大量的类库,在C+的支持下,可以很好地运用各种面向对象技术

33、,使开发者能够更加深入的使用、用户化和扩展AutoCAD o2.2模块组件设计思想模块组件设计在功能分析的基础上,划分并设计出一系列功能模块,通过模块的选择和组合构成为用户定制不同的产品,以满足不同厂家的需求。工艺设计内容繁多,受厂家各自的设计标准和习惯影响大,使得工艺CAD通用性差,难以推广使用。本研究开发的、工艺CAD以实用化、通用化为目标,采用了模块组件设计思想进行程序设计。首先,在开发上的功能细化,专业化,复杂化。通过和多家企业合作开发,将每个企业内部的标准、习惯都保留、归类,即细化、专业化,开发过程中尽量 寻求最简化、最具代表性的标准。然后采用组件设计实现复杂化向通用化的转变。各企业

34、实行各自的标准,但其中有些模块是通用的,基本上都相差不大,开发时建立通用组件模块。对厂家独特的标准,可能要重新开发,形成新的模块单元。随着模块单元的增加,功能覆盖面会越来越大。通过用户定制、合理组合,能较快地开发出实用化、通用化的工艺CAD系统。2.3参数化设计技术参数化设计方法就是指在保持图形结构的拓扑关系不变的情况下,通过设置相应的参数来控制图形的几何尺寸大小。部分参数值的改变可以导致设计图形的自动修改。这种设计方式显著地改善了图形设计的重构能力和设计柔性。AutoCAD日前的参数化设计功能还远达不到UG,Pro/E、CATIA等三维软件的参数化设计功能。本研究的CAD系统开发中,辅助系统

35、都采用参数化设计方法进行设计。绘图人 员只要输入要求的参数,就可以自动生成对应的图形,简单、方便、实用。2.4 ODBC数据库访问技术在工艺设计过程中,会用到大量的数据,CAD系统的二次开发中采用Microsoft Access作为DBMS (数据库管理系统)存储数据,依据手册标准建立关工艺参数等数据库,当需要使用的 时候可以从Access中读出来或者写进去,实现数据交 互。二次开发中常利用开放数据库互联ODBC的 CRecordSet类和CDatabase类对数据库进行操作。MFC 的ODBC提供了应用程序接口,使得任何一个数据库 都可以通过ODBC驱动器与指定的DBMS相联,实现对 数据库

36、进行添加、修改、删除等操作。2.5 “橡皮筋”技术图形归根结底还是由特殊点构成的,绘图时就是要利用这些特殊点来完成定位。特别是图块的输入操 作大都是由拾取定位点开始的。采用“橡皮筋”技术, 能实现插入点的光标动态定位。“橡皮筋”是一种形 象称呼,指的是绘制直线时缓冲区内不断重绘的线条, 就像被拉扯的橡皮筋一样。“橡皮筋”是绘制直线及 绘图操作的基础之一,它可以给绘图人员直观的提示, 提高绘图的精度及易操作性。2.6选择集技术选择集也是缓冲区绘图的基础之一,利用它可以实现绘图中光标移动时实体的不断重绘。不同于“橡 皮筋”的是,该技术重绘的不再是单一的线条,而是 复杂的实体,当然选择集中也可以实现

37、某些线条“橡 皮筋”似的拉扯。运用选择集的基本过程为:创建一 个选择集、将实体加入选择集、拖动选择集内图形不 断缓冲重绘以及删除选择集。选择集的应用在整个软 件编与中起到J极为重要的作用。第四节CAD系统功能的实现及应用基于上述技术和方法,利用ObjectARX2006二次开发包,成功开发了基于AutoCAD2006平台的二维铸 造工艺CAD系统“华铸二维CAD”,该系统包含铸钢、灰铁、球铁、有色合金等模块功能。图2是该系统 的铸钢件CAD模块功能菜单界面,该图也是采用所开 发的CAD系统绘制的一个铸钢件的铸造工艺实例,其 中深颜色的部位为添加的加工余量,最下面标注的是分型面,并添加了冒口,绘

38、制了砂芯标记及浇注系统。 铸造廖敦明等:铸造工艺CAD二次开发技术与应用1309. .图3是热节圆和冒口模数计算界面。将铸件结构简化成 10种典型结构,分别采用不同的经验公式,计算热节 圆直径,根据经验选择放大系数,进而确定对应的冒 口模数。图4是查询标准冒口数据库,以确定标准冒口 参数的界面,可以选择是否绘制标准视图和标注尺寸。图5为水平芯头绘制界面图,图6为铸钢件的滚圆法补 贴设计界面图,图7为浇注系统的绘制界面。通过多家企业的实际应用,所开发的铸造工艺CAD系统基本能实现大部分工艺设计与工艺图绘制功 能,提高了工艺设计的效率。第二章autocad中创建三维实体及表面模型第一节三维模型的类

39、型目前CAD软件普及面最广的是美国Autodesk公司推出的AutoCAD,利用AutoCAD我们可以创建多种三维模型(3D Models ),归纳起来,主要有以下 三种类型:(1)线框模型:线框模型是三维对象的轮廓描述,没有面和体的 特征,能简单表达物体,应用较少。(2)表面模型:表面模型不仅定义了三 维模型的轮廓边界,而且定义了目标对象的表面,所以表面模型具有面的特征 但该面没有厚度,可进行消隐等处理。(3)实体模型:三维实体造型从体的 概念出发,以充分的几何信息和拓扑信息描述物体,不仅描述零件的轮廓和表 面,而且描述实体信息;既可以对他们进行各种编辑操作,如挖孔、倒角以及 布尔运算,还可

40、以分析实体模型的质量特征,如体积、重心、转动惯量等;此 外还能将构成实体模型的数据生成NC代码,产生加工指令。实体模型看起来 与表面模型很相似,但其内部是实体,只有它最能表达真实的物体。第二节三维模型造型方法利用AutoCAD构造复杂的三维实体的方法主要有以下两种:(1)首先利用主菜单“绘制”的下拉菜单“实体”下的各子菜单,生成各 种基本的三维实体,如圆柱体、球体等,再对他们进行布尔运算来构造三维实 体模型。(2)先画出构造模型所需要的二维图形,再利用拉伸、旋转的方法来生成 三维实体模型。对已生成的三维模型仍需进行进一步的编辑操作,才能得到所需的相对复 杂的模型。这些编辑操作包括倒直角、旋转、

41、实体切割及三种布尔运算等。用AutoCAD完成三维造型后,表现出来的只是一些线条,缺乏真实感,可 根据需要进行渲染,给它设定材料光源、设置背景,最后通过着色会得到真实 感很强的三维模型图像第三节创建三维实体模型1三维实体模型概述中国国际模具网其中实体模型包括线、面、体的全部信息。它不仅具有质量、体积等物理属性,更接近于真实物体, 而且实体之间能进行并、交、差等布尔运算,建立更加复杂的实体模型,并能进行消隐、着色和渲染。 此外,实体模型还可以生成二维平面视图、剖视图和断面图,通过autocad输出的实体模型数据还可以 提供给后续的数控加工和有限元分析。中国国际模具网.中国国际模具网2 autoc

42、ad的三维实体建模中国国际模具网中国国际模具网m2.1建模思路及方法中国国际模具网中国国际模具网创建三维实体模型时,首先对模型的结构进行分析,无论模型的结构多么复杂,它总是由若干个简 单实体构成。因此,复杂模型的建立过程实际上是不断创建简单实体并将其组合的过程。当然,建立复 杂模型的方案可能有好几种,应选择一种较方便、合理的方案进行建模。然后使用基本体或将二维图形 经拉伸或旋转生成各个简单实体。最后将各个简单实体之间进行并、差、交等布尔运算和各种编辑操作 获得更加复杂的实体。中国国际模具网.中国国际模具网2.2建模技巧中国国际模具网中国国际模具网2.2.1学会建立和管理用户坐标系中国国际模具网

43、在autocad中,坐标系分为世界坐标系(wcs)和用户坐标系(ucs)两种。二维绘图中使用的坐标系大 都是世界坐标系,它是唯一且不变的。但在三维绘图过程中,为了便于绘制和观察图形,除wcs外,用 户可以根据需要建立自己的坐标系-用户坐标系(ucs),这样的坐标系其原点位置和x、y、z轴方向可以 任意移动和旋转,甚至可以依赖于图形中某个特定的对象而变化。学会建立用户坐标系将简化三维建模 过程,是三维建模的关键。中国国际模具网.中国国际模具网2.2.3多视口的应用中国国际模具网中国国际模具网1!1111111111111111绘制复杂的三维图形时,可以在一个三维视图中直接进行,但往往会出现表达不

44、方便和效率低等问 题。这些问题,通过建立多视口即可解决o autocad允许将绘图区域划分为多个窗口(视口),并允许在 不同的视口中使用不同的ucs。因此,在绘制和观察复杂的三维图形时,将绘图区域划分为多个视口, 每个视口中根据需要建立或使用不同的ucs,设置不同的观测点2.2.4熟练运用实体的面、边、体编辑 命令中国国际模具网.中国国际模具网三维图形除了可以使用二维图形中的移动、复制、删除、倒角、倒圆角等编辑操作外,还可以对实 体的面、边、体进行编辑,例如可以拉伸、移动、偏移、复制、旋转、倾斜实体表面,也可复制实体棱 边,还能够对实体进行布尔运算,进行剖切、切割、抽壳等操作,这些功能使用户可

45、以很方便地修改现 有实体以形成新特征。灵活地运用实体编辑功能将大大提高建模效率。或选择显示不同的视图等第二章AutoCAD VBA编程系统第一节 AutoCAD VBA 简介2.1.1 AutoCAD VBA 简介AutoCAD软件包是美国Autodesk公司推出的CAD (计算机辅助设计)软件,从AutoCAD 第一版诞生到现在已有三十年的时间。AutoCAD R14是目前最流行的工程图形处理软件。由于它具有完善的绘图功能、艮好的用户界面、易学易用等特点,因而被广泛地应用于测 绘、规划、设计、土地管理等行业,AutoCAD为用户提供了多种二次开发工具,其中较常用的有AutoLISP、VBA、

46、ObjectARX 三种方式。AutoLISP是一种解释性的表结构处理语言,具有语言结构简单、开发周期短、不依赖 于操作平台的特点,但是作为解释语言,其运行速度和保密性方面有一定的缺陷,并且不 适合开发有复杂运算的软件。ObjectARX For R14 是基于 MicroSoft Visual C+4.2 的开发工具,一个 ARX 应用程 序分享AutoCAD的地址空间并且函数可以直接为AutoCAD所调用,因而是运行速度最快的 开发工具,但是MicroSoft Visual C+语言较复杂,开发ARX应用程序需要较多的软件开 发经验,也不适合作为非软件开发专业人员的测绘工作者的开发工具。V

47、isual Basic (VB)是美国微软公司推出的程序开发工具,它简单易学,适用面广, 在Windows平台上被广泛使用。为此,可以作为测绘工作者进行程序设计的首选工具。VBA 是 Visual Basic for Applications的缩写,由 Visual Basic 派生而来,现在已 经成为Mictosoft产品的标准语言。与VB 一样,VBA是面向对象的设计语言,它继承了 VB语法简单、功能强大的特点,同时,由于VBA可与主程序在同一内存空间内运行,大大 提高了运行的速度,并具有某些“智能”功能。每一套AutoCAD 2000都包含功能强大、易学易用的VBA 5.0程序开发环境,

48、这个继 承开发环境提供了高质量的用户化编程能力。(1) VBA能够使AutoCAD与其它应用程序直接共享数据,如MicrosoftOffice 97软件,因为所有的VBA应用程序都可以方便的相互沟通,在设计过程中可以很 容易的将AutoCAD的数据与基于Windows的应用程序联系起来。例如,可以使用AutoCAD 2000生成材料表并直接输出电子数据表为财务部门使用。绘制图纸,然后用VBA。(2) 在VBA综合开发环境中,可以通过拖动图表的方法,简单而可视化的建立用户界面。用户可以使用AutoCAD工具栏,可以使用标准VBA界面工具创建新的工具栏。(3)VBA的语言代码完全继承了 VB的特征

49、,可以说是世界上最简单的编程语言,但其 功能不弱。从数据计算、数据库管理到Internet软件开发,都可以见到VB的身影,并可 通过各种在线帮助,随时得到名师的真传。(4)具有开放式的对象模型。AutoCAD 2000软件中的ActiveX对象模型十分重要,它 显示了每一个对象的方法和属性,用户可以按照自己的愿望编程或定制AutoCAD 2000软件。(5)良好的运行速度。VBA是一个内嵌式的控制器,共享AutoCAD的内存空间,可以更好的与AutoCAD沟通。其余信速度与ObjectARX应用程序非常接近,比其他开 发方式(如ADSRX,ADS和LIAP)要高许多。无论编程技术水平如何,使用

50、VBA编程都不会感到很多困难。自从带有VBA开发接口 的AutoCAD R14发行以来,已经有超过百万的开发者使用了这一软件,开发的主要程序将 有更多机会为不断增长的用户群体服务。具体如下:一. VBA的概念与作用VBA(Visual Basic for Application)是一种完全面向对象体系结构的编程语言, 由于其在开发方面的易用性和具有强大的功能,因此许多应用程序均嵌入该语言作为开发 工具。AutoDesk公司也在AutoCAD R14.01版本开始内置了 VBA开发工具,同时提供了适 用于VBA开发的ActiveX Automation对象模型。二. 功能介绍1. 简要介绍Doc

51、ument(文档)对象文档对象,实际上就是AutoCAD图形,它可在Documents(文档)集合中找到,它提供 访问所有图形还有大部分非图形的AutoCAD对象。通过提供的Model Space(模型空间)和 Paper Space(图纸空间)访问图形对象(线、圆、弧等),通过提供的如Layers(图层)、Line types(线型)和Text Styles(字型)这样名称的集合访问非图形对象(图层、线型、字型等)。 Document(文档)对象也提供访问Plot(打印出图)和Utility(实用工具)对象。介绍AutoCAD VBA工程及VBA父互开反环境(VBA IDE),尽管大部分VB

52、A环境在仃为上都是 相似的,但AutoCAD VBA IDE还是有些独有的特性。在AutoCAD中还有些相关的命令可以 用于装载工程、运行工程,或打开VBA IDE环境。本章将概要介绍VBA工程、VBA命令和 VBA IDE的使用。AutoCAD VBA工程是代码模块、类模块和窗体的集合,它们组合起来以执行给予的功能。 工程可保存在AutoCAD图形中,或作为独立的文件保存。嵌入工程是保存在AutoCAD图形中。当包含有这些工程的图形中AutoCAD打开时,他 们可以自动地装载,这种方法可以很方便地分发工程给用户。嵌入工程也有它的极限,它 不能打开或关闭AutoCAD图形,那是由于他们的函数只

53、存在于工程所在的文档中。使用嵌 入工程不需要在运行程序之前查找并装载工程文件。举个含有嵌入工程的图形的例子,当 图形打开时,一个时间日志被触发。通过这样一个宏的应用可以登记并记录用户在该图形 上所花费的时间。这时用户不必去记住在打开图形之前装载工程,这就是自动操作的一个 很好的例子。全局工程保存在独立的文件中,它更加通用,因为他们能在AutoCAD图形中运行,也能 打开、关闭AutoCAD图形,但它在图形打开时不能自动装载。用户必须知道他们所需要的 宏包含在哪个工程文件中。然而,全局工程非常容易与其它使用者共享,它可以将通用的 宏做为很好的库而存在。举个例子,你保存在一个工程文件中的宏是有关多

54、个图形的材料 清单。这个宏可以在工作周期的末期由管理员运行,这样就可以收集到所有图形的信息。AutoCAD VBA工程与Visual Basic工程在二进制结构上是不兼容的。然而,其中的 窗体、模块和类可以通过在VBA IDE环境中使用输入和输出VBA命令来在工程之间进行转 换用VBA管理器组织工程 你可以使用VBA管理器查看装载在当前AutoCAD进程的所有 VBA工程。VBA管理器一个AutoCAD工具,它允许你装载、卸载、保存、-11-创建、嵌入和分离VBA工程。2. 装载现存的工程当你装载工程到AutoCAD中,所有的公用的子程序(也称为宏)都可以使用。嵌人于图 形中的工程在图形打开时

55、就被装载。保存在DVB文件中的工程必须单独装载3. 卸载工程卸载工程以释放内存并保持装载的工程列表的长度以方便管理。你不能卸载嵌入工程 或由其它已装载工程所引用的工程。4. 嵌入工程到图形中当你嵌入一个工程时,你是将工程的一个副本置于图形数据库中。无论何时,当所包 含工程的图形打开或关闭时,工程会同时被装载和被卸载。一个图形只有在同一时间包含 一个嵌入工程。如果图形已经包含有一个嵌入工程,你必须在同样地入其它工程之前将该 嵌入工程分离出。5. 从图形中分离工程当你分离工程时,其实是将工程从图形数据库中删除,同时会提示你将工程保存为外 部的工程文件。如果你没有将其保存为外部工程文件,该工程的数据

56、将 会删除。6. 创建新的工程新的工程将作为未保存的全局工程被创建。当工程创建时,你可以将工程嵌入图形中, 或将其保存为工程文件。7. 保存嵌入工程嵌入工程是在图形保存时同时保存的。全局工程必须使用VBA管理器或VBA IDE进行保 存。8. 处理宏与设置VBA工程选项一样,宏对话框允许你运行、编辑、删除和创建宏。宏是公用(可 执行)的子程序。每一工程通常至少一个宏。9. 运行宏运仃宏就是在当刖AutoCAD进程中风仃宏代码。当刖沽动图形指的是当宏执仃开始时 处于打开并处理激活状态。所有在全局工程的宏中所涉及的This Drawing对象将指向当前 活动图形。在嵌入工程中,This Drawi

57、ng对象通常指向嵌入该宏的图形。10. 编辑宏编辑宏将打开VBA IDE并打开所选定宏的代码窗口。详细的介绍请参考“用VBA IDE 编辑工程”。从功能上来说,VBA与VB几乎完全一样,或者说VBA是VB的一个子集。但它们之间 更本质的区别在于VBA没有自己独立的工作环境,而必须依附于主应用程序;而VB则不依 附于任何其它的应用程序,具有完全独立的工作环境和编译、连接系统。由于VBA依附于主应用程序,因此它与主应用程序之间的通信简单而富有效率,其代 码完全是在进程内执行的。VBA的代码在AutoCAD中仍以解释的方式执行,但由于它与 AutoCAD共享内存空间,因此执行速度比ADS程序还要快。

58、第一节 利用 vb 程序在 AutoCAD 上实现二维实体阵列2.1VB开发AutoCAD应用程序的原理及方法1、ActiveX Automation 技术ActiveX Automation是微软公司的一个技术标准,其宗旨是在Windows系统的统一管理 下协调不同的应用程序,允许这此应用程序之间相互沟通、相互控制,但两个应用程序间 的沟通不是对等的,其中,一个程序称为客户程序(Client),另一个程序称为服务程序(Server), 一般情况下,由客户程序提出需要进行什么操作,服务程序针对操作申请, 完成相应的命令。2.2、AutoCAD 下实现 ActiveX AutomationAut

59、oCAD R14对AutoCAD本身增加了 ActiveX自动化服务功能,即AutoCAD可以作为ActiveX的服务程序,我们可以从其它客户程序中操作AutoCAD。VB是最为常用的支持ActiveX Automation技术的开发工具,它可以编制出ActiveX的客户 程序,用来操作AutoCAD。即利用VB编制能与AutoCAD相沟通的应用程序,以此来实现AutoCAD的一次开发。2.3、利用VB进行AutoCAD一次开发的关键步骤首先,要在VB中引用AutoCAD的类型库Acad.tlb,该库位于AutoCAD R14的安装目录 下。其次,要建立用VB开发的应用程序与AutoCAD间的

60、联系,这一过程,称为初始化。相应的程序代码如下:Private Sub InitGraph()On Error Resume NextSet AcadApp = GetObject(, AutoCAD.Application)If Err ThenMsgBox Err.DescriptionUnload MeEnd IfAcadApp.Visible = TrueSet AcadDoc = AcadApp.ActiveDocumentSet MoSpace = AcadDoc.ModelSpaceEnd Sub之后,即可以用AutoCAD类型库提供的属性、方法对AutoCAD进行操作,如画线,

61、可用AddLightWeightPolyline语句来完成,写文字,可用AddText语句来实现。2.4利用vb程序在AutoCAD上实现滚动轴承三维建模系统介绍了滚动轴承三维建模的具体方法。AutoCAD作为一款流行的图形处理软件,在三维建模方面也有着强大的功 能,并支持多种语言进行二次开发,利用ActiveX接口能够从Auto2CAD的外部 以编程方式来操作AutoCADo由于这些优点使得利用Visual Basic对AutoCAD 进行三维建模方面的二次开发变得更加容易1系统的工作原理启动程序后,通过主参数输入窗体,首先选择轴承类型,输入轴承外形尺寸,然 后程序将根据输入的数据,自动将轴

62、承主参数进行优化设计,并完成其他参数 的计算和查询:2 。得到这些数据之后,利用ActiveX接口将数据传递至 AutoCAD,并使用AutoCAD内置的多种三维建模函数,按照传递的具体数据实现 轴承的三维建模。2三维建模的主要思路三维实体模型的生成主要分为三个步骤,第一步按照零件的各部分尺寸,计算 出零件截面各个点的坐标,利用这些点的坐标生成二维多段线;第二步将二维 多段线所包围的区域生成相应的面域;第三步将得到的面域生成旋转实体或拉 伸实体。再对得到的实体对象进行交集、差集、并集等布尔运算,最终获得所 需的三维实体模型。该方法的重点和难点在于确定轴承零件截面各个点坐标的 计算公式。对于结构

63、相对间单的轴承,如深沟球轴承,较为间单;而对于如四列 圆锥滚子轴承内圈等结构复杂的轴承零件,其截面各个点坐标计算公式的确定 就显得较为复杂。完成了截面各个点坐标计算公式的确定,其余步骤如 生成二维多段线,面域,三维实体以及对实体对象布尔运算都相对容易。3建立轴承三维模型的具体方法3. 1 与AutoCAD建立连接首先在工程中引用AutoCAD类型库,然后使用 CreateObject 以及 GetObject 函数实现对 Auto2CAD. App lication对象的引用。最后将文档变量设置为AutoCAD应用程序中的Document对象,Doc2ument 对象由 App licatio

64、n 对象的 ActiveDocument特性返回。至此就完成了对当前的AutoCAD图形的引用。代码如下3 :Dim acadapp AsAcadApp licationOn Error Resume NextSet acadapp =GetObject(, autocad. Application)If Err ThenErr. ClearSet acadapp 二CreateObject(autocad. Application)If Err ThenMsgBox(不能运行AutoCAD,请检查是否安装)Exit SubEnd IfEnd If 3. 2三维实体的生成以某型号深沟球轴承的外圈为例,如图1所示,取某点为坐标原点,分别计算出图示18点的横、纵坐标共16个值,赋给1个双精度数组变量,然后使用AddL ightWeightPolyline函数,生成二 维多段线,再使用SetBulge函数设置多段线的凸 度,实现倒角和滚道处的圆弧,最终得到图2a所 示的二

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!