版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Autocad二次开发三维实体阵列的实现专业名称:机械设计与制造作者姓名:曾悦学号:2200820302431指导教师:李春花讲师摘要本说明书主要是关于AutoCAD中创建三维实体及表面模型,AutoCADVB语言二次开发的说明和利用VB程序在AutoCAD上实现三维实体阵列。说明书中主要涉及到了,AutoCAD软件的使用;VB语言简介;三维实体的具体特性和属性参数;三维实体模型设计;利用VB程序实现在AutoCAD上画出三维实体。AutoCAD中创建三维实体及表面模型是本次设计的基础,熟练掌握并用AutoCADVBA(VisualBasicforApplication)语言对AutoCAD进
2、行三维实体阵列的二次开发,以达到下述目的:调用程序时出现对话框,输入要求的零件主要参数后能够自动生成零件图形。并图形要符合国家标准件的技术要求,也提高生产效率。AutoCADVBA(VisualBasicforApplication)语言的任务是对AutoCAD进行二次开发促使AutoCAD更高效的工作。刖言计算机辅助制图是现代企业生产和设计的重要工具,AutoCAD是计算机辅助设计工具的一种,VB是AutoCAD软件的重要组成部分。它是AutoCAD软件二次开发的重要工具。它可使一些常用的机械零件能很快的调用,简捷方便,很大的提高了工作效率缩短了新产品的开发周期,提高制图的质量。利用VB语言
3、对AutoCAD进行二次开发是现代计算机技术不可缺少的内容,而且直接影响到制图的速度和质量。本次设计是AutoCAD软件二次开发的其中一部分,也就是基于AutoCAD的三维实体阵列开发,它在AutoCAD软件开发中占有一定的地位和作用。此次设计是由李春花老师分配和指导的,此论文参考了很多的书籍和刊物。由于编者的水平有限,书中缺陷和不挡之处在所难免,敬请老师批评指正。目录TOC o 1-5 h z前言I摘要IIAbstract皿第一章综述AutoCAD及AutoCAD二次开发第一节AutoCAD发展概况1第二节AutoCAD技术发展趋势第三节AutoCAD二次开发原理及关键技术第四节AutoCA
4、D一次开的实现及应用第二章AutoCAD中创建三维实体及表面模型第一节三维模型的类型第二节三维模型造型方法第三节三维实体模型第三章AutoCADVBA编程系统第一节AutoCADVBA简介第二节vb程序实现在cad三维实体阵列结束语与致谢参考文献第一章综述第一节AutoCAD的发展概况随着现代工业文明的发展,越来越多的企业对工业产品的外形和内部结构的要求越来越高,产品更新的速度越来越快,传统的手工制图已经不能满足现代企业的要求.计算机辅助设计技术的引进是近代工业史上的一次革命,它显著的提高了制图的速度和制图的质量,缩短了新产品设计开发的时间。AutoCAD是计算机辅助设计工具的一种,它是美国A
5、utodesk公司在1982年12月开发出来的,AutoCAD软件是计算机辅助设计与绘图相结合的综合软件,从第一版AutoCADR1.0起,经历了若干次升级,现已达到AutoCAD2006。在AutoCAD14版中,Autodesk首次包括了Microsoft的VisualBasicforApplications(VBA).将AutoCAD和VisualBasic的功能结合在一起,可以创建非常好的定制应用程丿予,从而在便用AutoCAD执仃当前任务时,可以在很短旳时间内创建出止常情况下需要好几个小时才能完成的图形。经过三十多年的发展,CAD技术得到了迅速普及,已成为电子信息技术的重要组成部分.
6、CAD技术使产品的内容和方式发生了根本性变革,这一技术已成为工业发达国家保持竞争优势,开拓市场的主要技术手段.1989年,美国国家工程科学院将CAD技术评为人类25年间(1965-1989)当代十项最杰出工程技术成就之一.CAD技术之所以在短短的三十年发展如此迅速,是因为它几乎推动了一切领域的设计革命,彻底的改变了传统的手工绘图的方式,极大的提高了产品开发的速度,提高了设计精度.这一新技术的应用将使人类的聪明才智和创造能力与计算机高速而精确的计算能力、大容量的储存和数据处理功能结合起来,是两者相得益彰.CAD技术的发展与应用水平成为衡量的科学技术现代化和工业现代化的重要标志之一.近几年来,随着
7、计算机技术的飞速发展,CAD技术已由发达国家向发展中国家扩展,而且发展的势头非常迅猛.我国政府部门十分重视这一技术,已经和科技界、工业界一起把CAD技术的应用推广当作一件大事来抓,如果国家科委实施了CIMS工程和CAD应用工程,组建了全国性的CAD培训网络;机械工业部把1997年定位CAD推广年.将CAD推广工作作为重中之重项目,目前正在组织实施CAD应用1550工程很多大中型甚至小型企业都在努力引进这一新技术,以提高企业自身的技术素质,增强产品在国内外市场上的竞争能力.另外,CAD教学也得到了个高校的普遍重视.要想全面推广普及CAD技术,提高我国的整体技术水平.为了拓宽AutoCAD的运用领
8、域,从1993年夏季起,Autodesk公司已设计自动化为主题,相继推出了极具应用价值的软件群体,包括3DMAXAutoCAD、DesignerAutosurfAutoCAD、DataExtensionAuto、VisionAnimatorStudioAutoCAD、MAPMechanicalDesktop(MDT).这些将在AutoCAD中得到很好的发挥,AutoCAD也将会也来越强大。第二节现代AutoCAD技术发展趋势CAD技术的发展趋势主要围绕在标准化、开放式、集成化、智能化四方面。1,标I准化|除了CAD支撑软、件逐步实现口ISO标、I准/和业标I准外,面向丿用的标、I准构件(零部件
9、库)、标准化方法也已成为CAD系统中的必备内容,且向着合理化工程设计的应用方向发展。传统形式的手画工程图已经有了成熟的国际标准,相互都能理解。而存储在磁盘、光盘上的形形色色的CAD二进制数字记录,要想实现标准化就复杂、困难得多。从80年代中期起,ISO国际标准化组织着手酝酿制订这类标准,称作IS010303产品数据表达与交换标准,简称STEP。它要涵盖所有人工设计的产品,采用统一的数字化定义方法。由于STEP标准涉及的面非常宽,众口难调,标准的制定过程十分缓慢,存在问题很多。而在我国,CAD应用工程的实施具有更加严密的组织领导体系,而且实际从事CAD应用软件开发的单位相对比较集中,起步比国外晚
10、,不存在要与过去开发的老系统保持兼容问题。如果我国采取主动贯彻STEP积极思想的方针,不纠缠于过分繁琐的技术细节,针对我国的现实需要和技术发展前景,及早统一协调自主开发软件的数据模型,这将有助于推动国内CAD界的学术研究风气,促进CAD软件开发水平的大幅度提高。这种主动出击的策略要比单纯等待STEP标准草案一版一版更新有利得多。回顾历史,CAD和计算机图形学的国际标准制定总是滞后于市场上的工业标准。CAD产品更新频繁。谁家产品的技术思想领先,性能最好,用户最多,主导了市场,谁就是事实上的工业标准CAD技术的发展不是一种纯学术行为,它是在高技术产品所固有的激烈市场竞争中不断向前推进,永无止境。C
11、AD软件一般应集成在一个异构的工作平台之上,为了支持异构跨平台的环境,就要求它应是一个开放的系统,这里主要是靠标准化技术来解决这个问题。目前标准有两大类:一是公用标准,主要来自国家或国际标准制定单位;另一是市场标准,或行业标准,属私有性质。前者注重标准的开放性和所采用技术的先进性,而后者以市场为导向,注重考虑有效性和经济利益。后者容易导致垄断和无谓的标准战。通过总结这个领域几十年标准化工作的经验,不少标准化专家已认识到存在的问题,这已经成为进一步制定标准的障碍。因此提出应对传统的标准化工作进行革新。有专家建议标准革新的目标是公用标准应变成工业标准,也就是说革新后仍应以公用标准为基础,不过要从工
12、业标准中吸收其注重经济利益和效率的优点。另外,也有人提出现在制定标准的单位很多,但是标准制定过程却没有标准,这也是标准革新过程中值得考虑的问题。这些观点对我国制定CAD标准也许有所启迪。开放性CAD系统目前广泛建立在开放式操作系统窗口95/98/NT和UNIX平台上,在JavaLINUX平台上也有CAD产品,此外CAD系统都为最终用户提供二次开发环境,甚至这类环境可开发其内核源码,使用户可定制自已的CAD系统。集成化CAD技术的集成化体现在三个层次上:其一是广义CAD功能CAD/CAE/CAPP/CAM/CAQ/PDM/ERP经过多种集成形式成为企业一体化解决方案,推动企业信息化进程。目前创新
13、设计能力(CAD)与现代企业管理能力(ERP、PDM)的集成,已成为企业信息化的重点;其二,是将CAD技术能采用的算法,甚至功能模块或系统,做成专用芯片,以提高CAD系统的效率;其三是CAD基于网络计算环境实现异地、异构系统在企业间的集成。应运而生的虚拟设计、虚拟制造、虚拟企业就是该集成层次上的应用。国际CAD商品系统开发的另一个趋势是在全球范围内优选最成功的功能构件,进行集成。至今最成熟的几何造型平台有两家:Parasolid和ACIS;几何约束求解构件有一家,它的主要产品是2D和3DDCM。我国开发的机械CAD应用系统已经部分采用ACIS和Parasolid平台,这是合理的。但是国际上近来
14、又有一种思潮,要求软件开发自由化,以免受制于一、二家公司垄断性产品的束缚。这就是选用Linux操作系统以及在它基础上开发各种共享软件,开放源程序。我国也在酝酿自主开发因特网、操作系统、以及各种办公的国产化系统。这时,自研制几何造型通用平台和各种功能构件也将提上议事日程,我们要及早做好准备。口能化设计含有高/度智口匕的丿人创性活今J领域,口匕CAD/是CAD发/展的必然方向。从人类认识和思维的模型来看,现有的人工智能技术对模拟人类的思维活动(包括形象思维、抽象思维和创造性思维等多种形式)往往是束手无策的。因此,智能CAD不仅仅是简单地将现有的智能技术与CAD技术相结合,更要深入研究人类设计的思维
15、模型,并用信息技术来表达和模拟它。这样不仅会产生高效的CAD系统,而且必将为人工智能领域提供新的理论和方法。CAD的这个发展趋势,将对信息科学的发展产生深刻的影响。二、CAD技术研究开发热点计算机辅助概念设计一方面,根据有关的统计资料表明,产品工本费的70%是在产品设计阶段决定的。同时,一旦概念设计被确定下来,产品设计的60%70%也就被确定下来。尤其需要提及的是,即使详细设计再好,也难以弥补概念设计阶段所出现的缺陷。还有产品的创新及其所具有的竞争能力基本上也是在概念设计阶段就被确定下的。故概念设计是设计过程中一个非常重要的阶段,它已成为企业竞争的一个制高点。因此计算机辅助概念设计愈来愈受到重
16、视。但另一方面,在概念设计期间,所涉及的设计需求和约束的种种知识,往往是不精确的、近似的或未知的,也就是说复杂性很高,这给CAD技术带来很大的难度。概念设计的过程主要是评价和决策的过程,它涉及到产品功能、动作和结构等因素,它对产品的价格性能、可靠性、安全性等等起决定性的影响作用。正因为应考虑的因素和目标是多方面的。因此评价和决策过程是一个很复杂的,难度很大的过程。目前计算机辅助概念设计的方法可分为两大类:即自动生成方案和交互生成方案。当然,应用时这两种方法可以混合使用。(1)自动生成方案目前主要采用人工智能技术。为了使计算机有效地支持概念设计活动,需要解决两大难题。即建模问题和推理问题:A.前
17、者是对产品的功能、动作和结构诸因素之间相互影响的复杂关系进行建模或表达。例如汽锅的蒸汽阀门,基功能是防止汽锅爆炸,它的动作是当检测到一定的压力差时,它会自动打开,而其结构是所用的实际构件的布局及其连接关系,建模的结果提供推理用;B.而推理问题实际上就是生成和选择合适的方案。建模问题主要是建模的表示法,目前已提出各种各样的表示法。如语言、几何模型、图形、对象、知识模型和图象法等等,语言表示法属于一种形式描述方法,它能保证计算机有效地进行推理,称为面向机器的表示法。而图象表示法是一种高可视化的表示法(即可视化思维模型),它侧重于提供一种有助于辅助设计人员创新工作的建模环境,称它为面向人的表示法,而
18、上列其它表示法依次界于这两者之间。尽管已有很多不同的建模表示法,但它们往往只支持描述概念设计的某一方面,缺少一种能描述概念设计各种因素的统一表示法,这正是下一步的目标。推理问题的重点是在转换过程,即把用户需求映射到实现所给需求集合的一些实际的结构上。难点在于产生和选择合适的映射方法。同样也有很多推理方法支持概念设计活动,如神经网络、基于实例的推理法、基于知识的推理技术、优化、价值工程和定性推理等等。但目前也只能设计一些特定领域的例子,离全面应用还有差距。但从长远来看,这方面的许多工作还应继续进行。例如知识获取是人工智能领域中一个大难题,为了解决这一问题,可以采用数据挖掘技术从已有的设计库中自动
19、获取感兴趣的领域知识。(2)交互技术生成方案由于概念设计的复杂性,自动地生成合适的方案是很困难的。在自动生成和选比方案尚未成熟之前,交互技术是重要手段。在概念设计阶段可充分利用多媒体技术,如包括有效的信息搜索技术,以便在网上可查到大量对概念设计有用的设计例子。又如研究协同概念设计技术,使群体成员易于参与概念设计,并作出积极的贡献。2、计算机支持的协同设计设计工作是一个典型的群体工作。群体成员既有分工,又有合作。因此群体的工作由两个部分组成:一是个体工作,群体成员应完成的各自分工的务;另是协同作,因为/群体作不可口匕分川T为互/相V独的个体作,/群体丿成员_I间存在相互关联的问题。一般称为接口问
20、题,接口难免会出现矛盾和冲突,如不及时发现和协调解决,就会造成返工和损失。传统的CAD系统只支持分工后各自应完成的具体任务,至于成员间接口问题,计算机不能支持,主要靠面谈或某种通讯工具进行讨论并加以解决。但这些方式很难做到及时并充分地协商和讲讨论。因而一项大的设计任务接口问题难免要出差错,这正是为什么设计工作会出现不断反复、不断修改这一过程的主要原因。计算机支持的协同设计是计算机支持的协同工作(CSCW)技术在设计领域的一种应用。用于支持设计群体成员交流设计思想、讲讨论设计结果、发现成员间接口的矛盾和冲突,及时地加以协调和解决,减少以至避免设计的反复,从而进一步提高设计工作的效率和质量。协同设
21、计倍受人们的关注,已有不少原型系统,也有一些产品已在市场上出售了。已有工作中,有些属基础性工作,如建模、系统结构、适用于CSCW的支撑环境等等。但从建立实用协同设计系统的角度来说,主要面临如下三大问题:(1)群体成员间多媒体信息传输目前在局域网上通讯方法已较成熟,但在远程网上,交换数据时,异步传输,现有网络平台问题不大,但实时交换数据问题较多。首要的是传输媒体的选择问题,即基于公用网(如WWW)还是基于专用网(如语音传输可借用电话专线,又如租用ISDN总线)。目前多数研究是集中在公用网Internet和Intranet上。但商品开发上更多考虑专用线。从实用效果来说,公用网效果较差,而专用线虽然
22、效果好些,但价格太高。(2)异构平台参与协同设计的成员是分散在各地,且设备条件多种多样。因此,实用的协同设计系统必须能在异构环境中运行,包括数据传输、工具集成,还有跨平台的交互界面,这主要依靠标准化工作来解决异构环境问题,目前普通采用的是CORBA,JAVA技术和通信领域的标准等。不过这类技术目前对CSCW的支持还有不足之处,有待增强功能。至于跨平台的交互界面的研制,虽有不少进展,但是至今尚未见到支持它的工业标准。(3)人一一人交互应该说支持设计群体人员间的人一一人交互是协同设计的核心问题之一,特别是目前自动发现矛盾和冲突,并进行自动协同和解决的技术还不成熟,因此人人交互的手段尢为重要。当前,
23、最为普遍的是利用电子会议(包括白板、语音、视频等等工具)支持成员间进行讨论,它比较适用于交流设计思想,不过用它来讨论设计结果就很费劲,共同修改设计结果就更不可能了。目前讨论设计结果主要是依靠应用共享这一工具,这一工具能够达到一人对一个CAD工具进行操作,其它成员均能在自已的终端上看到操作过程和结果。这个工具也可以和电子会议系统集成,用语音等工具进行讨论,但应用共享最大的问题在于对于没有源程序的CAD工具,一个时刻只允许一个人操作,其它人希望操作必须事先申请,获准并在当前操作者退出后方可操作,故很不方便,成员间不能直接互操作,这是需要进一步解决的问题。总而言之,协同设计系统的现状是局域网已达到实
24、用阶段,在异步工作方式下,远程协同设计问题也较小,但远程实时工作方式下,特别是基于公用网,尚处实验阶段,当然整个协同设计系统离成熟阶段尚有一定距离,很多问题有待解决。3、海量信息存储、管理和检索CAD系统处理的信息愈来愈多,而且是多媒体信息。尽管磁盘容量增长速度很快,但仍远不能满足信息量快速增长的需求。海量信息的存储、管理和快速检索已成为世人瞩目的问题。这除了依靠硬件来解决问题外,DBMS是一重要技术,实践证明,传统的关系数据库管理系统EDBMS已难已适应要求而采用面向对象和关系相结合的模型可能是个过渡的解决方案。4、设计法研究及其相关问题设计工作是项复杂的且知识密集的群体活动,为了提高效率必
25、须遵循某种正确的设计方法,虽然设计方法学的研究已有半个多世纪了,但针对CAD的设计法却是最近才有的,称为正规设计流程法,它不仅让我们知道设计是一种流程,还为开发CAD工具提供了依据据,因严口了川TV和识别J设计过程的/不同方面、即/不同的设计活今J丿)是开发新一代CAD系统的关键。现在已出现许多设计流程法。过去常用的是自顶向下、自底向上的自然可行方法,但这种方法只适用于详细设计阶段。现在为了支持整个设计工作,设计法的研究重点应在支持概念设计方法和协同设计方法之上。例如,新的CAD系统可消除许多由于距离和时间所造成对工作方法和组织的限制,协同设计面临的不但有人一一机交互、还有人一一人交互,因而C
26、AD的过程更复杂了,尽管人们都在期望提供一种灵活的,可移动的、安全可靠的远程协同设计环境,但如果没有正确的方法来指导,将很难达到预期的效果。目前企业的组织基本上是一种很严谨的层次结构组织,在这种组织内民主有限,虽然它可防止出现人多嘴杂和无休止争论的现象,但它又束缚着人们聪明才智的充分发挥。按目前情况,采用这种组织结构是必要的。但随着工作方法和方式的改变,组织结构也可改成动态组成,只要群体成员间能相互了解,易于合作,也许这种非严谨的组织结构是可行的,可更好地发挥每个人的才干。应该说到目前为止,设计工作还是由设计人员主宰一切,但事实上设计所牵涉的面很广,包括市场的需求,生产是否可行,价格能否接受等
27、问题,因此在协同设计时,设计群体应包括各类人员,除有关设计人员外,还应有顾客、社会和人文科学人员、工艺人员、生产人员、管理人员等。5、支持设计创新创新是产品设计的灵魂,如何利用计算机来支持创新,这是个新的课题。目前只能提供一种启迪方法,如存入大量多媒体设计数据,并通过网络方便地供设计人员查询,从而可能引导出意想不到的富有创新的设计。又如利用CSCW工具,通过直接讨论方式来相互启发,产生新的设计思想,促进创新设计。可以预见CAD技术将有新的飞跃,同时还会引起一场设计变革。6、新技术在CAD中的应用如上所述,CAD是吸收新技术最快的领域之一。下面仅以例子加以说明:虚拟现实与CAD集成虚拟现实技术用
28、于CAD,使CAD技术主要在两个方面得到提高:一是更逼真地看到正在设计的产品及其开发过程;另一方面是提高交互能力,使设计人员或群体可以直接和所设计产品交互操作。VR技术在CAD中的应用面也很广,首先可以进行各类具有沉浸感的可视化模拟,用以验证设计的正确性和可行性。譬如说可以用这种模拟技术进行设计分析,可以清楚地看到物体的变形过程和应力分布情况,效果比实物实验还要好。其次它还可以在设计阶段模拟零部件的装配过程,检查所用零部件是否合适和正确。做为副产品,它可生成加工详细时间表,装配材料详细清单等,并直接存入数据库。在概念设计阶段,它可用于方案选比。特别是利用VR的交互能力,支持概念设计中的人机工程
29、学,检验操作时是否舒适、方便,这对摩托车、汽车、飞机等的设计特别有用,在协同设计中,利用VR技术,设计群体可直接对所设计的产品进行交互,应包括共享设计数据、讨论和互操作等。另外VR技术还可用于开发人一一人交互界面,更加逼真地感知到正在和自己交互的群体成员的存在和相互间的活动。尽管VR技术在CAD中的应用前景很大,它的发展也很快,不过目前仍处实验阶段,离广泛推广应用还有一定距离。究其原因,首先是这类设备价格昂贵,其次性能也有待进一步改进。头盔和数据手套不但用起来很不方便,而且使用时间长了,就会感觉到难受。另外,VR技术应用于CAD本身也很有很多工作要做,包括VR数据的进一步处理,以便更好地把CA
30、D技术与VR技术集成起来。计算机安全现在社会的工作、学习和生活已都离不开计算机,某一行业的计算机系统遭破坏,就有可能使这个行业乃至整个社会受影响,甚至于瘫痪。工程或产品设计一样也离不开计算机,而且由于异地设计愈来愈多,对计算机的依赖性也愈来愈大。同时,它所处理的设计数据不但数量大,而且往往有一定保密性,这是市场激烈竟争所致。因此如果解决不了安全可靠问题,就难以进一步推广应用新的CAD系统。第二节AUtOCAD一次开发的原理及大键技术CAD系统开发的原理机械设计涉及大量专业性的计算或表现方式,以及专业性的图形数据,这些数据的计算、查询和图形绘制功能,难以用AutoCAD的通用功能实现,有些即便能
31、实现也比较繁琐,效率低。如果基于AutoCAD平台进行二次开发,把图表转化为数据库,将公式计算和专业性图形绘制编成程序,开发出某些专业化的设计模块,能减少设计者繁重的查手册和枯燥的计算与绘图工作,加快工艺设计效率。目前,秫utoCAD所使用的二次开发工具主要有三种6:VisualLISP,ObjectARX,以及VB/VBA的ActiveX开发。其中,ObjectARX在C/C+的支持下,能够访问很多的AutoCAD底层工具,功能非常强大支持与Microsoft的基础类库(MFC)的混合编程,能创建基于MFC的用户界面,可以方便地设计出具有典型Windows风格的AutoCAD应用程序。CAD
32、系统开发的关键技术面向对象设计技术面向对象常指在程序设计中采用封装、继承、抽象等设计方法,以提高软件的重用性、灵活性和扩展性。ObjectARX2006二次开发工具包,引入了面向对象的编程机制,提供了大量的类库,在C+的支持下,可以很好地运用各种面向对象技术,使开发者能够更加深入的使用、用户化和扩展AutoCAD。模块组件设计思想模块组件设计在功能分析的基础上,划分并设计出一系列功能模块,通过模块的选择和组合构成为用户定制不同的产品,以满足不同厂家的需求。工艺设计内容繁多,受厂家各自的设计标准和习惯影响大,使得工艺CAD通用性差,难以推广使用。本研究开发的、工艺CAD以实用化、通用化为目标,采
33、用了模块组件设计思想进行程序设计。首先,在开发上的功能细化,专业化,复杂化。通过和多家企业合作开发,将每个企业内部的标准、习惯都保留、归类,即细化、专业化,开发过程中尽量寻求最简化、最具代表性的标准。然后采用组件设计实现复杂化向通用化的转变。各企业实行各自的标准,但其中有些模块是通用的,基本上都相差不大,开发时建立通用组件模块。对厂家独特的标准,可能要重新开发,形成新的模块单元。随着模块单元的增加,功能覆盖面会越来越大。通过用户定制、合理组合,能较快地开发出实用化、通用化的工艺CAD系统。参数化设计技术参数化设计方法就是指在保持图形结构的拓扑关系不变的情况下,通过设置相应的参数来控制图形的几何
34、尺寸大小。部分参数值的改变可以导致设计图形的自动修改。这种设计方式显著地改善了图形设计的重构能力和设计柔性。AutoCAD目前的参数化设计功能还远达不到UG、Pro/E、CATIA等三维软件的参数化设计功能。本研究的CAD系统开发中,辅助系统都采用参数化设计方法进行设计。绘图人员只要输入要求的参数,就可以自动生成对应的图形,简单、方便、实用。ODBC数据库访问技术在工艺设计过程中,会用到大量的数据,CAD系统的二次开发中采用MicrosoftAccess作为DBMS(数据库管理系统)存储数据,依据手册标准建立关工艺参数等数据库,当需要使用的时候可以从Access中读出来或者写进去,实现数据交互
35、。二次开发中常利用开放数据库互联ODBC的CRecordSet类和CDatabase类对数据库进行操作。MFC的ODBC提供了应用程序接口,使得任何一个数据库都可以通过ODBC驱动器与指定的DBMS相联,实现对数据库进行添加、修改、删除等操作。“橡皮筋”技术图形归根结底还是由特殊点构成的,绘图时就是要利用这些特殊点来完成定位。特别是图块的输入操作大都是由拾取定位点开始的。采用“橡皮筋”技术能实现插入点的光标动态定位。“橡皮筋”是一种形象称呼,指的是绘制直线时缓冲区内不断重绘的线条就像被拉扯的橡皮筋一样。“橡皮筋”是绘制直线及绘图操作的基础之一,它可以给绘图人员直观的提示提高绘图的精度及易操作性
36、。选择集技术选择集也是缓冲区绘图的基础之一,利用它可以实现绘图中光标移动时实体的不断重绘。不同于“橡皮筋”的是,该技术重绘的不再是单一的线条,而是复杂的实体,当然选择集中也可以实现某些线条“橡皮筋”似的拉扯。运用选择集的基本过程为:创建一个选择集、将实体加入选择集、拖动选择集内图形不断缓冲重绘以及删除选择集。选择集的应用在整个软件编写中起到了极为重要的作用。第四节CAD系统功能的实现及应用基于上述技术和方法,利用ObjectARX2006二次开发包,成功开发了基于AutoCAD2006平台的二维铸造工艺CAD系统“华铸二维CAD”,该系统包含铸钢、灰铁、球铁、有色合金等模块功能。图2是该系统的
37、铸钢件CAD模块功能菜单界面,该图也是采用所开发的CAD系统绘制的一个铸钢件的铸造工艺实例,其中深颜色的部位为添加的加工余量,最下面标注的是分型面,并添加了冒口,绘制了砂芯标记及浇注系统。铸造廖敦明等:铸造工艺CAD二次开发技术与应用1309图3是热节圆和冒口模数计算界面。将铸件结构简化成10种典型结构,分别采用不同的经验公式,计算热节圆直径,根据经验选择放大系数,进而确定对应的冒口模数。图4是查询标准冒口数据库,以确定标准冒口参数的界面,可以选择是否绘制标准视图和标注尺寸。图5为水平芯头绘制界面图,图6为铸钢件的滚圆法补贴设计界面图,图7为浇注系统的绘制界面。通过多家企业的实际应用,所开发的
38、铸造工艺CAD系统基本能实现大部分工艺设计与工艺图绘制功能,提高了工艺设计的效率。第二章autocad中创建三维实体及表面模型第一节三维模型的类型日前CAD软件普及面最广的是美国Autodesk公司推出的AutoCAD,利用AutoCAD我们可以创建多种三维模型(3DModels),归纳起来,主要有以下三种类型:(1)线框模型:线框模型是三维对象的轮廓描述,没有面和体的特征,能简单表达物体,应用较少。(2)表面模型:表面模型不仅定义了三维模型的轮廓边界,而且定义了目标对象的表面,所以表面模型具有面的特征但该面没有厚度,可进行消隐等处理。(3)实体模型:三维实体造型从体的概念出发,以充分的几何信
39、息和拓扑信息描述物体,不仅描述零件的轮廓和表面,而且描述实体信息;既可以对他们进行各种编辑操作,如挖孔、倒角以及布尔运算,还可以分析实体模型的质量特征,如体积、重心、转动惯量等;此外还能将构成实体模型的数据生成NC代码,产生加工指令。实体模型看起来与表面模型很相似,但其内部是实体,只有它最能表达真实的物体。第二节三维模型造型方法利用AutoCAD构造复杂的三维实体的方法主要有以下两种:(1)首先利用主菜单“绘制”的下拉菜单“实体”下的各子菜单,生成各种基本的三维实体,如圆柱体、球体等,再对他们进行布尔运算来构造三维实体模型。(2)先画出构造模型所需要的二维图形,再利用拉伸、旋转的方法来生成三维
40、实体模型。对已生成的三维模型仍需进行进一步的编辑操作,才能得到所需的相对复杂的模型。这些编辑操作包括倒直角、旋转、实体切割及三种布尔运算等。用AutoCAD完成三维造型后,表现出来的只是一些线条,缺乏真实感,可根据需要进行渲染,给它设定材料光源、设置背景,最后通过着色会得到真实感很强的三维模型图像第三节创建三维实体模型1三维实体模型概述中国国际模具网其中实体模型包括线、面、体的全部信息。它不仅具有质量、体积等物理属性,更接近于真实物体,而且实体之间能进行并、交、差等布尔运算,建立更加复杂的实体模型,并能进行消隐、着色和渲染。此外,实体模型还可以生成二维平面视图、剖视图和断面图,通过autoca
41、d输出的实体模型数据还可以提供给后续的数控加工和有限元分析。中国国际模具网2autocad的三维实体建模中国国际模具网2.1建模思路及方法中国国际模具网创建三维实体模型时,首先对模型的结构进行分析,无论模型的结构多么复杂,它总是由若干个简单实体构成。因此,复杂模型的建立过程实际上是不断创建简单实体并将其组合的过程。当然,建立复杂模型的方案可能有好几种,应选择一种较方便、合理的方案进行建模。然后使用基本体或将二维图形经拉伸或旋转生成各个简单实体。最后将各个简单实体之间进行并、差、交等布尔运算和各种编辑操作获得更加复杂的实体。中国国际模具网2.2建模技巧中国国际模具网2.2.1学会建立和管理用户坐
42、标系中国国际模具网在autocad中,坐标系分为世界坐标系(wcs)和用户坐标系(ucs)两种。二维绘图中使用的坐标系大都是世界坐标系,它是唯一且不变的。但在三维绘图过程中,为了便于绘制和观察图形,除wcs外,用户可以根据需要建立自己的坐标系-用户坐标系(ucs),这样的坐标系其原点位置和x、y、z轴方向可以任意移动和旋转,甚至可以依赖于图形中某个特定的对象而变化。学会建立用户坐标系将简化三维建模过程,是三维建模的关键。中国国际模具网2.2.3多视口的应用中国国际模具网绘制复杂的三维图形时,可以在一个三维视图中直接进行,但往往会出现表达不方便和效率低等问题。这些问题,通过建立多视口即可解决oa
43、utocad允许将绘图区域划分为多个窗口(视口),并允许在不同的视口中使用不同的ucs。因此,在绘制和观察复杂的三维图形时,将绘图区域划分为多个视口,每个视口中根据需要建立或使用不同的ucs,设置不同的观测点2.2.4熟练运用实体的面、边、体编辑命令中国国际模具网三维图形除了可以使用二维图形中的移动、复制、删除、倒角、倒圆角等编辑操作外,还可以对实体的面、边、体进行编辑,例如可以拉伸、移动、偏移、复制、旋转、倾斜实体表面,也可复制实体棱边,还能够对实体进行布尔运算,进行剖切、切割、抽壳等操作,这些功能使用户可以很方便地修改现有实体以形成新特征。灵活地运用实体编辑功能将大大提高建模效率。或选择显
44、示不同的视图等第二章AutoCADVBA编程系统第一节AutoCADVBA简介2.1.1AutoCADVBA简介AutoCAD软件包是美国Autodesk公司推出的CAD(计算机辅助设计)软件,从AutoCAD第一版诞生到现在已有三十年的时间。AutoCADR14是目前最流行的工程图形处理软件。由于它具有完善旳绘闵功能、艮好旳用尸界面、易学易用等特点,因而被厂泛地应用于测绘、规划、设计、土地管理等行业,AutoCAD为用户提供了多种二次开发工具,其中较常用的有AutoLISP、VBA、ObjectARX三种方式。AutoLISP是一种解释性的表结构处理语言,具有语言结构简单、开发周期短、不依赖
45、于操作平台的特点,但是作为解释语言,其运行速度和保密性方面有一定的缺陷,并且不适合开发有复杂运算的软件。ObjectARXForR14是基于MicroSoftVisualC+4.2的开发工具,一个ARX应用程序分享AutoCAD的地址空间并且函数可以直接为AutoCAD所调用,因而是运行速度最快的开发工具,但是MicroSoftVisualC+语言较复杂,开发ARX应用程序需要较多的软件开发经验,也不适合作为非软件开发专业人员的测绘工作者的开发工具。VisualBasic(VB)是美国微软公司推出的程序开发工具,它简单易学,适用面广,在Windows平台上被广泛使用。为此,可以作为测绘工作者进
46、行程序设计的首选工具。VBA是VisualBasicforApplications的缩写,由VisualBasic派生而来,现在已经成为Mictosoft产品的标准语言。与VB样,VBA是面向对象的设计语言,它继承了VB语法简单、功能强大的特点,同时,由于VBA可与主程序在同一内存空间内运行,大大提高了运行的速度,并具有某些“智能”功能。每一套AutoCAD2000都包含功能强大、易学易用的VBA5.0程序开发环境,这个继承开发环境提供了高质量的用户化编程能力。VBA能够使AutoCAD与其它应用程序直接共享数据,如MicrosoftOffice97软件,因为所有的VBA应用程序都可以方便的相
47、互沟通,在设计过程中可以很容易的将AutoCAD的数据与基于Windows的应用程序联系起来。例如,可以使用AutoCAD2000生成材料表并直接输出电子数据表为财务部门使用。绘制图纸,然后用VBA。在VBA综合开发环境中,可以通过拖动图表的方法,简单而可视化的建立用户界面。用户可以使用AutoCAD工具栏,可以使用标准VBA界面工具创建新的工具栏。(3)VBA旳语言代码完全继承了VB旳特征,可以说是世界上最简单旳编程语言,但其功能不弱。从数据计算、数据库管理到Internet软件开发,都可以见到VB的身影,并可通过各种在线帮助,随时得到名师的真传。(4)具有开放式的对象模型。AutoCAD2
48、000软件中的ActiveX对象模型十分重要,它显示了每一个对象的方法和属性,用户可以按照自己的愿望编程或定制AutoCAD2000软件。(5)良好的运行速度。VBA是一个内嵌式的控制器,共享AutoCAD的内存空间,可以更好的与AutoCAD沟通。其余信速度与ObjectARX应用程序非常接近,比其他开发方式(如ADSRX,ADS和LIAP)要高许多。无论编程技术水平如何,使用VBA编程都不会感到很多困难。自从带有VBA开发接口的AutoCADR14发行以来,已经有超过百万的开发者使用了这一软件,开发的主要程序将有更多机会为不断增长的用户群体服务。具体如下:VBA的概念与作用VBA(Visu
49、alBasicforApplication)是一种完全面向对象体系结构的编程语言,由于其在开发方面的易用性和具有强大的功能,因此许多应用程序均嵌入该语言作为开发工具。AutoDesk公司也在AutoCADR14.01版本开始内置了VBA开发工具,同时提供了适用于VBA开发的ActiveXAutomation对象模型。功能介绍简要介绍Document(文档)对象文档对象,实际上就是AutoCAD图形,它可在Documents(文档)集合中找到,它提供访问所有图形还有大部分非图形的AutoCAD对象。通过提供的ModelSpace(模型空间)和PaperSpace(图纸空间)访问图形对象(线、圆、
50、弧等),通过提供的如Layers(图层)、Linetypes(线型)和TextStyles(字型)这样名称的集合访问非图形对象(图层、线型、字型等)。Document(文档)对象也提供访问Plot(打印出图)和Utility(实用工具)对象。-11-介绍AutoCADVBA工程及VBA父互开发环境(VBAIDE),尽管大部分VBA环境在仃为上都是相似的,但AutoCADVBAIDE还是有些独有的特性。在AutoCAD中还有些相关的命令可以用于装载工程、运行工程,或打开VBAIDE环境。本章将概要介绍VBA工程、VBA命令和VBAIDE的使用。AutoCADVBA工程是代码模块、类模块和窗体的集
51、合,它们组合起来以执行给予的功能。工程可保存在AutoCAD图形中,或作为独立的文件保存。嵌入工程是保存在AutoCAD图形中。当包含有这些工程的图形中AutoCAD打开时,他们可以自动地装载,这种方法可以很方便地分发工程给用户。嵌入工程也有它的极限,它不能打开或关闭AutoCAD图形,那是由于他们的函数只存在于工程所在的文档中。使用嵌入工程不需要在运行程序之前查找并装载工程文件。举个含有嵌入工程的图形的例子,当图形打开时,一个时间日志被触发。通过这样一个宏的应用可以登记并记录用户在该图形上所花费的时间。这时用户不必去记住在打开图形之前装载工程,这就是自动操作的一个很好的例子。全局工程保存在独
52、立的文件中,它更加通用,因为他们能在AutoCAD图形中运行,也能打开、关闭AutoCAD图形,但它在图形打开时不能自动装载。用户必须知道他们所需要的宏包含在哪个工程文件中。然而,全局工程非常容易与其它使用者共享,它可以将通用的宏做为很好的库而存在。举个例子,你保存在一个工程文件中的宏是有关多个图形的材料清单。这个宏可以在工作周期的末期由管理员运行,这样就可以收集到所有图形的信息。AutoCADVBA工程与VisualBasic工程在二进制结构上是不兼容的。然而,其中的窗体、模块和类可以通过在VBAIDE环境中使用输入和输出VBA命令来在工程之间进行转换用VBA管理器组织工程你可以使用VBA管
53、理器查看装载在当前AutoCAD进程的所有VBA工程。VBA管理器一个AutoCAD工具,它允许你装载、卸载、保存、创建、嵌入和分离VBA工程。装载现存的工程当你装载工程到AutoCAD中,所有旳公用旳子程丿予(也称为宏)都可以便用。嵌人于图形中的工程在图形打开时就被装载。保存在DVB文件中的工程必须单独装载卸载工程卸载工程以释放内存并保持装载的工程列表的长度以方便管理。你不能卸载嵌入工程或由其它已装载工程所引用的工程。嵌入工程到图形中当你嵌入一个工程时,你是将工程的一个副本置于图形数据库中。无论何时,当所包含工程的图形打开或关闭时,工程会同时被装载和被卸载。一个图形只有在同一时间包含一个嵌入
54、工程。如果图形已经包含有一个嵌入工程,你必须在同样地入其它工程之前将该嵌入工程分离出。从图形中分离工程当你分离工程时,其实是将工程从图形数据库中删除,同时会提示你将工程保存为外部的工程文件。如果你没有将其保存为外部工程文件,该工程的数据将会删除。创建新的工程新的工程将作为未保存的全局工程被创建。当工程创建时,你可以将工程嵌入图形中,或将其保存为工程文件。保存嵌入工程嵌入工程是在图形保存时同时保存的。全局工程必须使用VBA管理器或VBAIDE进行保存。处理宏与设置VBA工程选项一样,宏对话框允许你运行、编辑、删除和创建宏。宏是公用(可执行)的子程序。每一工程通常至少一个宏。运行宏运仃宏就是在当前
55、AutoCAD进程中执仃宏代码。当前沽动图形指旳是当宏执仃开始时处于打开并处理激活状态。所有在全局工程的宏中所涉及的ThisDrawing对象将指向当前活动图形。在嵌入工程中,ThisDrawing对象通常指向嵌入该宏的图形。编辑宏编辑宏将打开VBAIDE并打开所选定宏的代码窗口。详细的介绍请参考“用VBAIDE编辑工程”。从功能上来说,VBA与VB几乎完全一样,或者说VBA是VB的一个子集。但它们之间更本质的区别在于VBA没有自己独立的工作环境,而必须依附于主应用程序;而VB则不依附于任何其它的应用程序,具有完全独立的工作环境和编译、连接系统。由于VBA依附于主应用程序,因此它与主应用程序之
56、间的通信简单而富有效率,其代码完全是在进程内执行的。VBA的代码在AutoCAD中仍以解释的方式执行,但由于它与AutoCAD共享内存空间,因此执行速度比ADS程序还要快。第二节利用vb程序在AutoCAD上实现三维实体阵列2.1VB开发AutoCAD应用程序的原理及方法1、ActiveXAutomation技术ActiveXAutomation是微软公司的一个技术标准,其宗旨是在Windows系统的统一管理下协调不同的应用程序,允许这此应用程序之间相互沟通、相互控制,但两个应用程序间的沟通不是对等的,其中,一个程序称为客户程序(Client),另一个程序称为服务程序(Server),般情况下
57、,由客户程序提出需要进行什么操作,服务程序针对操作申请,完成相应的命令。2.2、AutoCAD下实现ActiveXAutomationAutoCADR14对AutoCAD本身增加了ActiveX自动化服务功能,即AutoCAD可以作为ActiveX的服务程序,我们可以从其它客户程序中操作AutoCAD。VB是最为常用的支持ActiveXAutomation技术的开发工具,它可以编制出ActiveX的客户程序,用来操作AutoCAD。即利用VB编制能与AutoCAD相沟通的应用程序,以此来实现AutoCAD的二次开发。2.3、利用VB进行AutoCAD二次开发的关键步骤首先,要在VB中引用Aut
58、oCAD的类型库Acad.tlb,该库位于AutoCADR14的安装目录下。其次,要建立用VB开发的应用程序与AutoCAD间的联系,这一过程,称为初始化。相应的程序代码如下:PrivateSubInitGraph()OnErrorResumeNextSetAcadApp=GetObject(,AutoCAD.Application)IfErrThenMsgBoxErr.DescriptionUnloadMeEndIfAcadApp.Visible=TrueSetAcadDoc=AcadApp.ActiveDocumentSetMoSpace=AcadDoc.ModelSpaceEndSub之
59、后,即可以用AutoCAD类型库提供的属性、方法对AutoCAD进行操作,如画线,可用AddLightWeightPolyline语句来完成,写文字,可用AddText语句来实现。2.4利用vb程序在AutoCAD上实现滚动轴承三维建模系统介绍了滚动轴承三维建模的具体方法。AutoCAD作为一款流行的图形处理软件,在三维建模方面也有着强大的功能,并支持多种语言进行二次开发,利用ActiveX接口能够从Auto2CAD的外部以编程方式来操作AutoCAD。由于这些优点使得利用VisualBasic对AutoCAD进行三维建模方面的二次开发变得更加容易系统的工作原理启动程序后,通过主参数输入窗体,
60、首先选择轴承类型,输入轴承外形尺寸,然后程序将根据输入的数据,自动将轴承主参数进行优化设计,并完成其他参数的计算和查询2。得到这些数据之后,利用ActiveX接口将数据传递至AutoCAD,并使用AutoCAD内置的多种三维建模函数,按照传递的具体数据实现轴承的三维建模。三维建模的主要思路三维实体模型的生成主要分为三个步骤,第一步按照零件的各部分尺寸,计算出零件截面各个点的坐标,利用这些点的坐标生成二维多段线;第二步将二维多段线所包围的区域生成相应的面域;第三步将得到的面域生成旋转实体或拉伸实体。再对得到的实体对象进行交集、差集、并集等布尔运算,最终获得所需的三维实体模型。该方法的重点和难点在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 浙江省金华市十校2024~2025学年高二上学期期末生物试卷(含答案)
- 语文-内蒙古鄂尔多斯市西四旗2024-2025学年2025届高三第一(上)学期期末联考试卷试题和答案
- 2024版标准合作合同签订稿版
- 福建省南平市金桥中学2021年高一英语模拟试卷含解析
- 福建省南平市建阳水吉中学高一物理上学期期末试题含解析
- 2024版个人房屋装修承包合同
- 苏北四市(徐州、宿迁、淮安、连云港)2025届高三第一次调研考试(一模)政治试卷(含答案)
- 2025年度二零二五年度科技产品全国巡展推广合同3篇
- 2024股权对外转让协议与股权托管协议
- 《会展经济与策划》课件
- 2024年计算机二级MS Office考试题库500题(含答案)
- 银行普惠金融事业部年度述职报告
- 幼儿园工作总结汇报课件
- 《民用爆炸物品安全管理条例》课件
- 移动通信室内覆盖工程施工技术
- 生产组织供应能力说明
- DL-T 1476-2023 电力安全工器具预防性试验规程
- 通信安全员ABC证报名考试题库及答案
- 开放系统10861《理工英语(4)》期末机考真题及答案(第103套)
- 思想道德与法治测试三考试附有答案
- 《中华民族大团结》(初中)-第7课-共同创造科学成就-教案
评论
0/150
提交评论