下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、0 引言由于通用 CA 咏件注重功能的全面性,几乎涵盖了制造业的方方面面,但是专业针对性差,并不能很好地满足特定企业的设计要求,所以在通用 CA%C 件的基础上,结合企业实际需要进行二次开发、已经成为 CAC得实效的关键环节,甚至可以说,没有进行二次开发,实现用户化、本地化的 CAM 不能在真正意义上发挥效能。通用 CAD 勺二次开发性能优劣,已经成为评价该 CA%C 件的重要指标,二次开发已经被视为第 4 代 CA 晾统的一个特色。CAD 二次开发的目的,在于提高通用 CAD 的针对性,以便更好地满足企业设计要求,更好地发挥 CAD 勺效能。通过对 CAM 件的二次开发,可使 CACa 件实
2、现专业化、本地化。1 SolidWorks 简介SolidWorks 是美国 SolidWorks 公司开发的出色的三维参数化特征造型 CA)软件,其技术内核基于先进的 Parasolid 图形语言平台。SolidWorks 自从 1995 年 11 月问世以来,已成为微机平台上的三维机械设计 CACa 件的主流产品,在企业中得到了广泛的应用。本文选用 SoildWorks 作为系统开发平台,主要是基于 SolidWorks 在以下几方面的突出优点:强大的参数化特征造型功能。SolidWorks 的参数化和特征造型技术,能方便、快捷地创建几乎任何复杂形状的实体,可以满足绝大部分的工程设计的需要
3、;SolidWorks 采用统一的内部数据库,全数据相关,任何一个功能模块中对零件的修改都会自动反映到其他模块中;界面友好,操作简便。SolidWorks 采用典型的 Windows 软件风格,在所有的国外三维 CAI)软件中提供了最优秀的中文支持;拥有开放的体系结构。SolidWorks 拥有丰富的第三方支持软件,提供了开放的数据结构和方便的二次开发环境,为企业今后广泛的工程应用提供了良好的基础平台;优异的性能价格比。 SolidWorks是一款中端CAD系统, 企业使用SolidWorks可以花较小的投人满足设计的要求, 因此SolidWorks特别适合于中小企业的产品设计。2 VB 开发
4、 SolidWorks 的参数化程序编制根据特定的设计要求,用 VB 对 SolidWorks 进行二次开发,创建 SolidWorks插件的一般方法是:在 VB 中创建 ActiveXDLL 工程,根据开发的具体功能要求编制相应的程序代码和设计用户界面,并在工程中添加对 SolidWorks 类库的引用,将应用程序编译连接为 DLL 文件。 该文件在注册过以后, 就可以作为 SolidWorks 的插件使用了。用户可以根据具体的设计要求开发出若干插件,每一个插件的功能又由至少一个菜单条嵌人到 SolidWorks 系统中,每一个菜单条包括若干菜单项,每个菜单项对应一个功能模块。这样的层次体系
5、反映了二次开发程序编制的过程,也是一个自顶向下和自底而上结合的过程,先根据功能要求分析确定总体结构,再从底层各功能模块的程序编制开始实施。参数化程序的编制,就是要实现特定零部件的参数化设计,并在 SolidWorks中建立专用设计环境。编程实现零部件参数化的方式有尺寸驱动法和程序驱动法两种,在基于 SolidWorks 的二次开发中其程序编制方法是不同的。尺寸驱动法程序编制:由于尺寸驱动法通过修改 CAD 系统建模时自动生成的设计变量来驱动零件,所以程序的代码非常简捷。SolidWorks 在零件建模时,将根据建模的过程自动创建设计变量,并给每个变量赋以相应的名称,尺寸驱动程序只需修改这些变量
6、的值。这种程序的算法流程如图 1 所示。以下是一段尺寸驱动法参数化程序的代码:Subcmdl_Click。DimswAppAsDimPartAsObjectDimloiigstatusAsLongDimDimerwionAsObjectSetswApp=CreateObject(*SldWorks.Application)创建对象SetPan:swApp.ActiveDocifPartIsNothingThen如果当前 SdidWorks 中没有激活文件,则打开并激活指定文件SetPart=swApp.OpenI)oc4(ME:从动轴与件图.SLD-PRT*,1.0,longstatus)Se
7、tPart-swApp.ActivateDoc(从动轴零件图.SLD-PRT”)如果当前 SolidWorks 中激活文件不是所需婴文件则存盘关闭,然后打开并激活指定文件EhelfPart.getritlePart.SaveLetdocName=Part.GetTitle获取当前打开零件文件的名称SetPart=NothingSwApp.CoseDocdocName关闭当前零件文件SetPart=swApp.OpenBMCE:从动轴零件图.加工)-PRT”,1,0J”,iongsuitus)SetPart=swApp.AciivateDoc(从动轴零件图.SLTRT)EndIf用参数给设计变量
8、赋值,参数值 dl.d2,d3等由用户指定Dl草图 1J)2草图 2 等都是系统在建模过程中自动创建的设计变量的名称SetDimension=Part.ParametcHDl草困 1)Dimension.Value=dlSexDimensxxi=Part.Paranieter(“02草图 2)Dimension.Value=d2SetDimet 或 on=Part.Parameter(DI倒角 1)Dimension.Value=d3Part.EditRebulid用新的设计变域值装建模型Part.SaveEiESub(开始)尺寸驱动参数化通常处理形状结构相同但尺寸不同的零件,运行速度快,效率
9、高,但一般缺乏变型设计能力,零件如有局部结构差异,则需另建模型进行驱动,对于系统无法生成设计变量的参数也不能处理, 而且这种方法对建模过程有严格的要求,必须生成与零件实际参数相应的设计变量, 并且建模方法需与零件的设计要求相吻合。程序驱动法程序编制:程序驱动法直接通过程序调用 API 对象绘制图形,图形完全由程序生成,所以代码量大,程序编制难度较大,而且每次生成零件时都需运行一次程序,速度不如尺寸驱动法快。但由于它可以处理非设计变量的参数,具备变型设计的能力,所以往往用作尺寸驱动法的辅助手段。一个采用程序驱动法的程序,实际上就是一个绘图程序。其参数化的途径是根据用户指定的值或程序计算出的值作为
10、 API 对象的函数变量的值,并按该值绘制出图形。理论上这种方法可以进行所有零件的参数化驱动,对于尺寸驱动法无法处理的问题可以用该方法解决。以下是一段程序驱动法的程序代码:Part.SelectBylD前视”PLANE”,0,0,0选押前视基港面Part.InsertSketch插入草图Part.SkewhRecungle0,0,0,1/1000,h/1000,0,1绘制矩形,其中 l、h由程序给定Part.GcarSelection,以下几句代码表住尺寸Part.SelectBylDLinelSKETCHSEGMENT,0.0261231316726,0,0Part.AddDimension
11、0.0291964,-0.0272756,0Part.ParameterDI草图 1).SystemValue=1/1000Part.FeatureExtrusion3110,0,60,w/1000t0.01.0.O.O,。01745329251994,0.01745329251994,0,0,0,01草图拉伸其中 w 由程序给定支持变型设计,此处 i 为一种型号标识,根据其取值决定是否调用 cutl 例程堆续绘制Ifi=0ThenCallcutl(dlj.h)EndifPrivateSubcut1(ByVaidAsInteger,ByVailengthAsinteger.ByVaiheigh
12、tAsInteger)Part.SeiectBylir 前视”,“PLANE*.0,0,0Part.InsenSketchPart-CreateGrcieO.5*length/1000,0.5*hcight/1000,0,0.5d/1000+0.5*length/1000,0.5*hcight/1000,0PartFeatureCut500.0,1,1,0,07,0.07,0,0,0,0,0.01745329251994,0.01745329251994,0,0,0,0,-1,0EndSubBB2程序驱动法程序运行结果示量由上可见,这种方法程序的代码相当长,虽然 SolidWorksSolidWorks 有宏录制功能,减轻了编程的负担,但仍不如尺寸驱动法简捷。但这种程序具备一定的变型设计
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论