




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
- 1 -1 前言1.1 选题的目的和意义SolidWorks 虽然拥有强大的功能,但是也并非是十全十美。不何能满足特定企业的特殊需求。例如,该软件是外国人写的,不适合中国的国标,如:标题栏、明细表、剖视图的标注、装配图的序号等。也没有适合我国国标的标准零件库。据资料显示,我国有很多企业引进国外的 CAD 系统,但大部分未得到充分利用、未能全面用于产品设计,企业对 CAD 系统的巨额投资,并没有真正达到提高产品的设计质量,缩短产品设计周期的目的,也没有带来本来应有的效益。究其原因,是未对CAD 系统应用设计方面和管理方面进行二次开发。据抽样调查,国内己引进的CAD 系统能达到利用率高而且效益比较好的企业和事业单位在 20-30左右,所以没有进行用户化、专业化的二次开发这在一定程度上是没有对真正意义上的 CAD有效运用。所以,为了适应特定企业的特定需求,形成企业自己的特色产品,使SolidWorks 在我国的企业中有效的发挥最大作用,并且使常用的或是重复的任务自动化,提高效率,就必须对其进行用户化和专业化的二次开发工作。伴随着CAD技术的不断推广以及科技的发展,同时市场对CAD技术也提出越来越高的要求。所以从CAD本身技术的发展看,其将向参数化、智能化、集成化和标准化趋势发展。(1) 参数化由于大多数的产品设计工作大多都是在原有设计基础上进行改进,传统的CAD绘图软件要对已有的图面的修改只能是删除原有的线条后重新画上,而参数化设计将能彻底解决这类问题并且极大地提高产品的设计效率。通过尺寸驱动的方法,既能为设计人员提供准确、直观的图形反馈,又能随时对设计对象加以修改。目前,先进的三维CAD软件都增加了零件的参数化和变量化设计模块,设计过程中所涉及到的参数都可以被当作变量,并可建立相互间的关系和约束,增加逻辑程序,使产品的设计图形可以随着某个结构尺寸的修改而自动修改图形。这些变量间的关系可以逾越CAD软件的不同模块,以实现设计数据的相关联,参数化是实现机械设计零件自动化的前提和基础。(2)智能化CAD软件作为一种辅助设计工具,其核心目标是帮助设计人员更容易的设计出更好、更具市场竞争力的产品,这无疑要求CAD系统在实现控制设计过程、优化和智能设计等,同时还应具备丰富的图形处理功能,实现产品的“结构描述”与“图形描述之间的转换。所以 ,在以几何模型为主的现代CAD技术的基础上,发展面向设计过程的智能化得CAD技术是一种必然趋势。- 2 -(3)集成化集成化是当今CAD技术发展的另一大趋势,在集成了计算机软件、硬件、数据库、外围设备、网络及各个应用领域的技术的同时,还不断和CAM、CAFP、MIS、MRP 等系统集成。(4)标准化随着CAD技术的不断发展和与日趋成熟,制定不同产品的设计、评测和数据交换标准显得尤为重要。目前,在主机和工作站上用于数据交换的图形文件标准有:AutoCAD系统的DXF 文件、美国标准 IGES及国际数据标准STEP等。同时国家还将逐步建立图文并茂、参数化的标准零件件库,替代现行的的标准手册。同时一些对于我们来说,经常用到的液压元件如:法兰盘、螺塞用垫片等,我们在用 SolidWorks 画图,显然每次用到每次现画,显得总是那么麻烦,即便是特别熟悉 SolidWorks 的作图者,也会产生反感。再者,即使你每次都能使用 SolidWorks画出其形状,但对于该液压元件的标注尺寸,往往会使人感到头疼,每次还得翻阅资料也会浪费不少的时间。因此,鉴于 SolidWorks 能进行二次开发的功能,从而将一些常用的液压元件,首先用 SolidWorks 会出其图形,然后提取出控制该图形的尺寸属性,并将其赋值成变量。再利用 Microsoft Access 建立数据库,当然数据库中的数据均来自类似于机械设计手册之类的权威资料。最后利用 SolidWorks 的 API 对象的调用方法,将Access 中的数据读入到上面的尺寸变量中,然后利用尺寸驱动的措施,来完成液压元件校准件的绘制。用 SolidWorks 建立一些常用液压元件的标准库,不仅使得绘图者可以轻松地调入零件,而且还促进了零件的标准化进程,因此说本论文的意义颇大。1.2 相关领域的发展现状1.2.1 国外研究的现状 (1)1982 年,美国阿亨工业大学在 Baek 的领导下,研制出了适合用于设计液压控制阀块的程序包。该软件包的硬件环境 ATM_ClassicModel 7870 其功能具有自动设计阀块上的孔道,并校核孔道,能够输出符合 DIN 标准阀块视图和任何剖面图等。 (2)1983 年,德国巴斯大学在 PDP 计算机上,研制出了 VOLE 程序,可以绘制液压阁块元件的立体模型图,孔道的实体图等,设计人员可以用来校验所设计出的阀块油路的连接状况。 (3)1985 年,坦佩雷工业大学在 HPl000A700 型机械上开发出适用于插装阀块设计的 CAD 软件,孔道的自动设计与校核同时进行,可以修改孔径、线框模型消隐、孔表信息数据输出、刀具选择及 NC 代码生成功能。 - 3 -(4)1989 年,美国 Hamburg-Harbcrg 技术大学基于 PROREN 支撑的软件以及基于AICS 造型器进行了三维阀块的设计。 (5)1991 年,英国 Grenoble 大学把思想引入到阀块的设计中,指出了液压阀块的设计问题既是一个空间部署问题,以满足液压的元件安装需要,也是一个线路设计的问题,以此设计最佳的孔道。由此,把人工智能中的空间部署理论应用到阀块设计,在 AppleMacintosh 上开发了一套用于产生式规则的智能设计系统。 (6)1997 年,香港理工的 WXiang 等人进一步完善了液压阀块在CAD、CAPP、CNC 等方面的研究,使得液压阀块在 CAD、APP、CNC 等方面的研究逾加成熟。 (7)美国 Vest 公开发了的液压设计从原理上提出一装配体的一整套解决方案:SDTools 和 HyDraw 软件使用“快捷目录”技术方便准确地绘制出液压原理图;ADTools 是一个能绘制 2D 装配的软件:在 AutoCAD 上开发的 MDTools 软件是嵌入式规则进行孔道联通和校验;AATools(Automated Assembly Tools)软件是根据原理图和阀块设计动态生成 3D 装配图以及 2D 正视图。 (8)19972001 年,澳门大学的 Wong,PK与香港理工大学的Chuen,CW等运用面向对象化的方法构造了阀块模型并采用了特征技术来组织和管理阀块的 CADCAM 产品信息,可以方便地定义以及修改元件和回路:在 AutoCAD上开发的原有软件可以根据一些设计规则进行元件布局的调整,并且在李氏迷宫算法的基础上研究出了三维路径连通算法。 (9)法国 Eaton 公司开发的 Vickers Library of SICV 软件是一个包含了一千多种元件的符号库,帮助专业工化的程师在 AutoCAD 上进行泵、马达、阀和阀块等的方案设计及零部件工程图形设计,并把设计数据和加工指令 Nc 代码相连接,具有CADCAM 一体化的特性1 。1.2.2 国内发展水平(1)上海交通大学在钟廷修教授的带领下,从 80 年代初期就开始了液压阀块CAD 技术的研究,相继开发了诸如 HMCAD370c、CVC40 等实用性强的软件,这些软件已在上海液压总公司等十几家单位使用,最近交通大学又同上海 704 研究所进行合作,进行新一代液压阀块的智能 CAD 系统的开发研究。(2)浙江大学流体传动与控制研究所在教授路雨祥的带领下,于 1989 年成功研制出了插装阀液压系统设计的 FPTC-CAD 系统。该系统通过液压系统原理图生成模块、液压系统总装图模块、插装阀设计模块等部分组成。在三维插装阀液压系统的阀块CAD 系统中,以 AutoCAD 作为基础软件,利用 Lisp 语言对该绘图软件进行二次开发,采用变参型技术建立了三维阀块立体的构筑工具库,用以实现阀块的三维显示,利用“知识嵌入”方法从而解决了从立体图转化成工程零件图过程中不好判断判断推- 4 -理难点。(3)大连理工大学对液压阀块的 CAD、CAPP 成功开发了集成化的软件包,设计了七个子系统,分别是:计算机辅助阀块设计的子系统、阀块三维图形显示以及十字剖面显示的子系统、计算机动画模拟阀块数控加工的子系统、数控加工机床与计算机接口通讯程序设计的子系统以及编辑的子系统。在计算机辅助阀块设计的子系统中,将插装阀孔道设计问题归结为插装阀阀块内部任意两孔道在同面、对面、邻面等三种情况进行分析和处理。在孔道的设计中,采用了优化设计的思想,使用了分层序列法、搜索法等优化方法。在孔道的校核中,采用将插装阀块内任意的两孔位置及其相互间的关系以两孔同面、两孔对面、两孔邻面为基础而分解成平行、垂直和相交等情况分别进行不同处理。设计的结果可以通过三维实体图形显示在屏幕上,该软件系统不能处理斜孔的问题, (4)首钢液压机械厂和大连理工大学联合开发了二通插装阀块三维 CAD 软件系统 091。(4 )北京自动化研究所在 386 微机上开发出了液压阀块 CAD 软件,该软件由五个模块组成:交互式阀块的设计、孔道信息的输入、孔道的校核、阀块的工程图纸生成和设计及校验结果的输出。(5)东南大学在液压阀块的设计中,用数据结构中的树形来描述液压系统图,使连通关系包含到树的结构中,大大提高了程序的效率。 (6)安徽工业学院从计算几何理论上提出了三维空间孔道的精确校核。通过先建立两孔的空间曲面方程,然后联立求解曲面的方程,得到交点,最后判断交点是否在两孔上,若在孔上,则相交,否则不相交。孔模型由圆柱体和 120 度顶角的圆锥体组成,在这个数学模型中,没有考虑到二通插装阀、螺纹插装阀等异形孔,适用的范围很是有限1。- 5 -2 设计相关知识2.1 SolidWorks 的概述 SolidWorks 的全球用户已超过 20 万,国外制造公司招聘时都大多数要求应聘人具备 SolidWorks 的操作能力。国际上很多顶尖的名校都把 SolidWorks 定为大学本科学生的必修课,如麻省理工学院、英国剑桥大学等。96的西方企业会要求员工会使用 SolidWorks 软件,SolidWorks 连续几年被美国一些优秀杂志评为不错的 CAD软件。 SolidWorks 是一种基于 Windows 的 CADCAECAMPDM 桌面集成系统,是美国 SolidWorks 公司在总结了大型机械 CAD 软件的基础上,在 Windows 平台下实现的第一个机械三维 CAD 软件。它采用非全约束的特征建模技术,其设计过程的全相关性,可以在设计过程的任何阶段对产品进行修改设计。2.2 SolidWorks 的功能SolidWorks 是一种基于特征的参数化实体造型系统,并且二维和三维是互相关联的, 。用户可以很方便地完成复杂三维实体的造型和编辑、修改。在设计过程中,可以随意修改三维实体或任一视图的尺寸,更改后可以使三维实体和相关联的二维视图自动更新。SolidWork 的全参数化的设计,在装配环境里对零件进行设计的修改,会引起整个装配体的自动改变。在装配设计中,也可在装配环境里进行零件设计:可以对已有零件添加新的特征或相对于装配体部件进行新的零件设计。SolidWorks 的带有约束的装配以及封装特征,使大型装配既迅速又方便。另外,装配管理员的配合也显示出了各个装配关系,便于查询和修改。绘图工程绘图系统 Drawing 大多用于三维模型的工程图纸的绘制与输出,也可同时编辑多张图纸。当设计人员设在计图纸文件时,可以对 PART 文件上的特征历史树的总结点,用鼠标点取移动到图纸文件上,图纸文件会自动生成三视图。绘制的图纸上也可以自动标注尺寸信息。图纸与模型之间是相互关联的,当模型上的尺寸或造型发生变化时,图纸也会相应改变。视图包括标准视图、投影视图、局部视图以及剖面视图,是零件或装配体在图纸上的一个投影。在视图上可以增加或删除,符合国标的工程标注。CAD 系统随时维护三维模型与二维绘图的一致性。注释及辅助线- 6 -段、圆注释和辅助的线形、圆用于给图纸增加一些视图中未给定的信息,如加工注意点、材料的选择等。数据转换接口由于 CAD 技术的不断普以及应用,许多企业都使用了多种 CADCAECAM软件,而各种 CAD 软件之间的数据转换以及传送始终是个令技术人员头疼的问题,尽管许多软件都提供各种各样的数据接口,但传送的结果往往难尽人意;而SolidWorks 在这方面可以说稍具有大家风范。它的数据接口有以下几个特点: (1)是它支持的标准形式比较多:支持的标准有 IGES,DXF,DWG,SAT(ACSI),STEP,STL,ASC 或二进制格式 VDAFS(VDA),VI 洲 L,Parasolid。 (2)是转换成功率提高很多,SolidWorks 和 I-DEAS,ADAMS,ANSYS,ProEngineer,AutoCAD 软件之间迸行转换传递,都非常成功。 (3)SolidWorks 创新的特征识别技术。标准格式数据的数据转换器让人们可以使用不同 CAD 系统设计的几何信息,但经过这样转换的几何模型不带一些特征,也没有设计历史,如果要对它们进行编辑修改是很麻烦的,SolidWorks 创新的特征识别技术把智能用于数据的转换,将静态的几何模型特征化和参数化。可直接对标准数据格式文件(STEP,IGES,SAT,VDAFS,Parasolid)进行特征识别。用户化SolidWorks 的 API 为用户提供了自由的、功能完整的开发工具。开发工具包括 Microsoft Visual Basic for Application(VBA)、Visual C+,以及其他支持的OLE 的开发程序。帮助文件SolidWorks 2010 配有一套强大的、基于 HTML 的帮助文件系统。包括超级文本链接、动画示教、以及设计向导和术语。2.3 二次开发理论要对SolidWorks软件进行二次开发,二次开发人员大多会想通过修改系统源程序来满足二次开发的要求,但这几乎是不可能的。原因是商品化软件开发商出于保护软件的知识产权和技术机密的缘由,不会将软件系统源代码全部提供给软件销售商,销售商在销售软件产品时仅提供了打包封装后的执行代码,所以期望全面分析、了解该软件的设计原理程序编制流程,通过修改SolidWorks 软件的代码来满足软件的个性化功能是根本不现实的。一种行之有效的方式便是利用软件提供的可扩性的接口来对SolidWorks软件进行二次开发。SolidWorks系统具有非常开放的体系结构,支持OLE Automation 技术,为用户提供了强大的二次开发数据接口。所以凡是支持OLE编程的开发工具,如VB都可用于SolidWorks的二次开发,这样可以利用系统提供的函数集和对象库来创建出用- 7 -户定制的、专用的SolidWorks功能模块。本课题将采用操作简便、易于学习的 VB作为开发工具,借助关系型数据库Access 进行基于SolidWorks的二次开发。SolidWorks API由大量的对象、方法、事件等组成,本节将先介绍使用SolidWorks API进行二次开发的术语,然后将对SolidWorks API的对象进行概述。 2.4 SolidWorks API二次开发中的术语 对象(Object)对象就是我们在客观世界中所要研究的事、物、概念等,VB中的对象大多是私有数据以及可以对这些数据和施加的操作结合在一起构成的独立实体,即对象不仅可以表示结构化为的数据,还可以表示为抽象的事件、规则以及复杂工程实体。总的来说就是对象本身是有用数据来描述的属性和行为。 类 (Class)类是对一组对象的抽象概括和归纳,更明确地说,类是对一组具有相同数据成员和相同操作成员对象的定义和说明,并且每个对象都是某个类的一个具体实例。 面向对象的程序设计面向对象的程序设计可以说是一种新的程序设计范例。面向对象的结构特点是:第一,程序一般是由类的定义和类的使用两部分组成,在主程序中定义中各对象并规定它们之间传递信息的规律;第二,程序中的一切操作都是通过对象来发送信息来实现的,当对象接收到消息后将会启动有关方法来完成的操作。面向对象的思想比较符合人们对客观事物的认识过程,同时还可以使计算机程序的处理过程更接近人们对客观事物的处理过程。 属性和方法方法是一个类的对象所具有相同的行为,当某个行为作用于对象时,我们就称对象执行了一个方法。方法有两种:一种是提供了对象与外界的接口;另一种便是实现自身的数据操作。 数据的抽象抽象是通过特定的实例获取共同性质以后形成概念的过程,抽象是对系统的简化描述和规范描述,它强调了系统中的一部分细节与特性。 COM COM是一个说明如何建立动态交替更新组件的规范,它提供了客户和组件之间能够保证相互操作应该实现的标准。COM规范就是为了组件架构设置标准的文档,COM组件由以win32动态链接库或可执行文件形式发布的可执行代码所组成。正是由于有了COM,软件的发人员可以在应用程序发行之后仍可对它进行修改或给它加上一些新的特性,这将大大方便了其使用者。因此应用程序能够在更高的程度上被定制,使用起来将更加灵活、更具动态性。- 8 - ActiveX 控件ActiveX是Microsoft新推出的一项技术,它是以COM为基础,其中包括了OLE 技术以及应用于Internet的多种技术。ActiveX 是一种面向对象化的组件系统,其中包括组件软件的各个方面。ActiveX 控件最常用的三种:控件、自动化服务器和文档,ActiveX控件作为一种可重复使用的组件,相当于一个封装好的代码模块,通过其属性、事件和应用程序进行通信。2.5VB 对 SolidWorks 开发的作用2.5.1 SolidWorks API 应用程序接口,是基于 ActiveAutomation 的编程接口,凡支持 COM 编程的开发工具均可对其二次开发。COM 不仅定义了组件程序之间进行交流的标准,而且也提供了组件程序运行所需要的环境。对象链接与嵌入的 OLE 技术是 COM 技术的应用,它使程序之间能够通过数据嵌入或连接的方式共享数据和资源,SolidWorks 支持 COM 技术标准,同时也支持 OLE 技术标准。作为一个人 COM/OLE 服务器,SolidWorks 提供了大量的API/COM OLE 对象以及这些对象所拥有的方法和属性的操作,可以实现SOlidWorks 的功能能定制与扩展,满足用户的专业需求。2.5.2 SolidWorks 的对象模型属于多层次的对象网络SolidWorks 的对象模型属于多层次的对象网络(其结构如图 1) 。其中SolidWorks 对象位于最顶端,他为 VB 对 SolidWorks 工作环境进行访问处理提供了接口。通过此对象可以对 SolidWorks 工作环境进行添加菜单、添加工具条、打开文件、新建文件、退出 SOlidWorks 系统等操作。用 VB 调用 SolidWorks 的 API 函数,还可以完成零件的建造和修改;实现零件各特征的建立、修改、删除和压缩等各项控制;提取零件特征信息,如特征尺寸的设置与提取,特征所在面的信息提取及各种几何和拓扑信息。- 9 -3 设计程序及结构3.1 设计流程- 10 -零件分析零件造型 辅助功能录制宏程序变量分析替换,编程程序调试否结束是其中与数据库连接部分程序如下图:- 11 -3.2 设计结构本设计的结构周要有以下几部分组成:读取数据库,零件的选择,零件的打开。读取数据部分是运用 VBA 进行编程的。里面的数据,运用 SQL 语句进行查询等操作。零件的预览是先读取数据库里的有关零件的位置。然后将零件的在预览框中显示。以便于选择的直观性,且不容易出错。零件的打开是为了实现对所选零件的一些修改,零件的尺寸都是相关联的,修改简便。- 12 -4 建立数据库Microsoft Office Access 是 Microsoft Office 系列办公软件中用来专门管理数据库的应用软件,它使用标准的 SQL(结构化查询语言)作为它的数据库语言,从而提供了强大的数据处理能力和通用性,使其成为一个功能强大而且易于使用的桌面关系型数据库管理系统和应用程序生成器。一个 Access 数据库中可以包含表、查询、窗体、报表、宏、模块以及数据访问页,且 Access 数据库使用单一的 mdb 格式文件管理所有的信息,这种针对数据库集成的最优文件结构不仅包含数据,也包含了它的支持对象。此外,Access 2007 还利用 office 套件共享的编程语言 VBA(Visual Basic for Application)进行高级操作控制和复杂的数据操作。Access 适用于相对较小、结构较为简单、事物简单、开销要求较小的单机式数据库。建立表格采用了微软的 Acess 2000 为开发工具。对本次设计共建立了四个表,表中的数据均参考于机械设计手册 ,设计的表如下:(1)法兰盘(2)螺塞用垫片(3)内六角螺塞- 13 -(4)外六角螺塞- 14 -5 设计的具体实现5.1 设计思路和方法在 SolidWorks 中参数化,参数化建模主要通过三种方法实现: 利用已有的零件模型,保持其结构不变的情况下,将零件的尺寸标注视为变量,赋予不同的尺寸值,从而获得一系列结构相同而尺寸不同的相似零件,称为尺寸驱动法;用编程实现参数化设计,即用户根据需要直接用程序生成需要的模型,称为程序驱动建模法; 混合驱动法,即用尺寸驱动和程序驱动两种方法建立模型,如用尺寸驱动法建立模型草图,用程序驱动法建立模型特征。本课题使用了三种参数化建模方法即:尺寸驱动法。由于尺寸驱动法是通过修改 CAD 系统建模时自动生成的设计变量来驱动零件,所以程序的代码非常简捷。SolidWorks 在零件建模时,将根据建模的过程自动创建设计变量,并给每个变量赋以相应的名称,同时设计人员还可以根据自己的设计思想对名称进行重新定义,在参数化建模时尺寸驱动程序只需修改这些变量的值。参数化设计模型针对要建立的实体,先分析其结构,使所建立的特征结构尽可能的简单,参数尺寸尽可能少。用 SlidWorks 建立模型,并利用宏录制其建模过程,建立宏文件(即内部编程) 。然后复制并粘贴代码到 VB 中,对代码做一定的修改,用变量代替代码中的关键数据。这些变量数据来自于 Microsoft Access 数据库中内相应零件的数据表,通过程序驱动变量,实现模型的建立与修改。5.2 获取零件的宏代码参数化设计一般是指设计图形拓扑关系不变,尺寸形状由一组参数进行约束,设计的结果受到尺寸驱动,不同的尺寸参数值驱动产生不同大小的图形。参数化设计一般用于零件或部件的形状比较定型,用一组参数约束该几何图形的一组结构尺寸序列,参数与设计对象的控制尺寸有显式对应,当斌予不同的参数序列值时,就可驱动达到新的目标几何图形,其设计结果是包含有设计信息的模型。全尺寸的约束是将尺寸与形状联合起来考虑,通过尺寸约束来实现对几何形状的控制,造型必须以完整的尺寸参数为出发点(全约束),既不能漏注尺寸(欠约束)以螺塞用垫片为例,选择【工具】/【宏】/【录制】 ,完成一个垫片的绘制,停止录制宏,并保存为螺塞用垫片 。然后点击按钮编辑宏中打开螺塞用垫片,依据在绘制螺塞用垫片时的步骤,提取出控制其形状的尺寸属性,并将其分别定义为:R1,R2,H。- 15 -代码如下:Sub Main ()Set wap = Application.SldWorksSet Part = wap.ActiveDocboolstatus = Part.Extension.SelectByID2(“上视基准面”, “PLANE”, 0, 0, 0, False, 0, Nothing, 0)Part.SketchManager.InsertSketch TruePart.ClearSelection2 TrueDim skSegment As ObjectSet skSegment = Part.SketchManager.CreateCircle(0#, 0#, 0#, R1, 0, 0#)Part.ShowNamedView2 “*上下二等角轴测”, 8Part.ClearSelection2 Trueboolstatus = Part.Extension.SelectByID2(“Arc1”, “SKETCHSEGMENT”, 0, 0, 0, False, 0, Nothing, 0)Dim myFeature As ObjectSet myFeature = Part.FeatureManager.FeatureExtrusion2(True, False, False, 0, 0, H, 0.01, False, False, False, False, 0.01745329251994, 0.01745329251994, False, False, False, False, True, True, True, 0, 0, False)Part.SelectionManager.EnableContourSelection = Falseboolstatus = Part.Extension.SelectByID2(“”, “FACE”, 0.05122156551732, 0.001737837078281, 0.03124661943235, False, 0, Nothing, 0)Set myModelView = Part.ActiveViewboolstatus = Part.Extension.SelectByID2(“”, “FACE”, 0.02918524129024, 0, -0.01944913828652, False, 0, Nothing, 0)Part.ShowNamedView2 “*正视于”, 0Part.SketchManager.InsertSketch TruePart.ClearSelection2 True- 16 -Set skSegment = Part.SketchManager.CreateCircle(0#, 0#, 0#, R2, 0, 0#)Part.ClearSelection2 Trueboolstatus = Part.Extension.SelectByID2(“Arc1”, “SKETCHSEGMENT”, 0, 0, 0, False, 0, Nothing, 0)Set myFeature = Part.FeatureManager.FeatureCut(True, False, False, 1, 0, H, H, False, False, False, False, 0.01745329251994, 0.01745329251994, False, False, False, False, False, True, True)Part.SelectionManager.EnableContourSelection = FalseEnd Sub5.3 从 Microsoft Access 文件中导入相应的数据利用 Listview 控件,建立报表,代码如下:Private Sub UserForm_Initialize()ListView1.ColumnHeaders.Add , , 垫片的型号 ListView1.ColumnHeaders.Add , , R1, ListView1.Width / 6, lvwColumnLeftListView1.ColumnHeaders.Add , , R2, ListView1.Width / 6, lvwColumnCenterListView1.ColumnHeaders.Add , , H, ListView1.Width / 6, lvwColumnRightListView1.View = lvwReportListView1.GridLines = TrueEnd Sub程序运行后会得到如下结果:- 17 -本课题采用 Access 数据库对各零件的基本参数和尺寸统一进行存储和管理,Access 是一个小巧的数据库管理系统,完全满足本课题对数据库的要求。因此选用Access 作为数据库管理的工具,使用 VB 对数据库进行操作从 Microsoft Access 文件中导入相应零件的数据,代码如下:Private Sub CommandButton1_Click()Dim conn As New ADODB.ConnectionDim rst As ADODB.Recordsetconn.ConnectionString = Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:data.mdb;Persist Security Info=Falseconn.OpenSet rst = conn.Execute(select * from 螺塞用垫片)Tcount = rst.Fields.CountTfcount = rst.RecordCountListView1.View = lvwReportListView1.ColumnHeaders.ClearListView1.ListItems.ClearFor i = 0 To Tcount - 1 Step 1Set itmX = ListView1.ColumnHeaders.Add()itmX.Text = rst.Fields.Item(i).NameNext ii = 0While Not rst.EOFSet itmX = ListView1.ListItems.Add(, , CStr(rst.Fields(0)For i = 1 To Tcount - 1If Not IsNull(rst.Fields(i) ThenitmX.SubItems(i) = CStr(rst.Fields(i)End IfNext irst.MoveNextWend- 18 -End Sub程序运行后,会得到如下的结果5.3 利用 Image 控件插入图片利用 Image 控件插入图片,用来解释表中各个字母所代表的含义。图片如下:5.4 将导入的数据赋值给相应的变量将导入的数据赋值给相应的变量,借此来控制图形的形状。代码如下:Dim intX As IntegerintX = ListView1.SelectedItem.Indexselstr = ListView1.ListItems(intX).TextDim R1, R2, H As DoubleR1 = Val(ListView1.ListItems(intX).SubItems(1) / 2R2 = Val(ListView1.ListItems(intX).SubItems(2) / 2- 19 -H = Val(ListView1.ListItems(intX).SubItems(3)5.5 建立多页面窗体设计过程中所涉及的零件有很多,造成各个零件相互独立,顺序混乱,不方便对各个零件进行查找和数据修改,为此,在设计中添加一个多页面的窗体,可以使各个零件都能显现在同一页面中,其各自的相关信息也在点击各零件名称时自动浮现在窗口中,便于查看和修改。多页面窗体的设计方法是:打开 SolidWorks,选择创建新的文件,进入SolidWorks 操作环境。点击工具,在下拉菜单中将光标放置宏处,出现宏的下拉菜单,选择新建,为所做的设计写好文件名,点击保存。进入 VB 编写的界面。点击菜单中的插入按钮,添加用户窗体,此时会生成一个控件和 UserForm1 的窗口,选择控件中的多页按钮,在 UserForm1 窗口的点阵中按住鼠标左键,拖动鼠标,就会生成多页面窗口。在次窗口中可以使用鼠标右键来增加、删除及重命名页。当然重命名也可以在左下角的属性中,修改 Caption 的属性名称来改变该页面的名称。为了本设计的需要,仅仅分成所需要的几页并不能完成任务,还需要添加 ListView控件。方法是在控件中点击鼠标右键,附加控件,选择 Microsoft ListView Control,Version 6.0 即可添加 ListView 控件。选择工具栏中多页按钮,在 Userform1窗体上左键点击拖动,即可生成 ListView 窗口,按零件排列的顺序点开不同的零件页面,使用 ListView 控件,就会按顺序生成不同的 ListView 窗口,当然,这些窗口也是按顺序排列的。- 20 - 21 -6 程序的执行方法程序的运行方法:先打开 SolidWorks 软件,然后点击【文件】/【新建】 ,创建一个零件图。然后再点击【工具】/【宏】/【执行】 ,找到相性文件的目录,选中文件并打开。会出现如下对话框:然后点击你所需要的零件:比如【螺塞用垫片】按钮,后的如下结果:- 22 -从众多型号中找到你需要的,并点击一下,结果如下图:- 23 -然
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年农业物联网精准种植技术市场调研与分析报告
- 基于大数据的2025年K2教育人工智能个性化学习系统应用效果研究
- 领导者在团队中的重要角色分析试题及答案
- 成都写字楼租赁标准合同范本
- 新能源商用车辆在食品运输行业的应用前景报告
- 拆迁重建项目安置住房产权交换合同
- 住宅小区停车位使用权转让合同模板
- 网络工程师实战技能提升计划试题及答案
- 数据库的日志管理策略试题及答案
- java数据结构面试题及答案
- 数字化电力系统转型-洞察阐释
- 2025中国甲烷大会:2024-2025全球甲烷控排进展报告
- 小学四年级下册语文期末考试试卷含答案共6套
- 2025各个班组安全培训考试试题含答案可下载
- 术后急性疼痛及个体化镇痛
- 药物动力学与临床相关考点试题及答案
- 动态设计宝典C4D三维图像设计与交互知到智慧树期末考试答案题库2025年青岛工学院
- 幼儿园毕业典礼流程安排
- 2024年公安机关理论考试题库500道附参考答案【基础题】
- GB/T 196-2025普通螺纹基本尺寸
- MOOC 中国电影经典影片鉴赏-北京师范大学 中国大学慕课答案
评论
0/150
提交评论