下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于SolidWorks二次开发的机械零件参数化建模研究(图文)论文导读:SolidWorks是基于Windows平台的CAD/CAM/CAE/PDM桌面集成系统,以参数化和特征建模的技术,为设计人员提供了良好的设计环境。SolidWorks为用户提供的API二次开发接口,由数以百计的功能函数构,这些API函数使得程序员可以通过程序直接访问SolidWorks。而由基于COM技术的VisualC+编程语言开发的DLL(DynamicLinkLibrary,动态链接库)文件,可以直接嵌入到SolidWorks内部,当成功加载后,应用程序的菜单就直接出现在SolidWorks主菜单上,与Solid
2、Works自带的插件一样,而且还可以单独测试,进行操作时极大地提高了设计效率,所以是首选的开发方法。以一个柱塞实体为例,介绍采用VisualC+6.0编程语言对SolidWorks2008进行二次开发、参数化建模的应用。 关键词:SolidWorks,VisualC+,参数化建模,二次开发0 前言 SolidWorks是基于Windows平台的CAD/CAM/CAE/PDM桌面集成系统,以参数化和特征建模的技术,为设计人员提供了良好的设计环境。在SolidWorks系统中,模型的尺寸、相互关系和几何轮廓可以随时修改,零部件之间和零部件与图纸之间的更新完全同步,能自动进行动态约束检查,具有强劲的
3、复杂曲面造型功能,现已成为微机平台上主流三维设计软件之一。 尽管SolidWorks的功能已非常强大,但由于仍然采用的是手工交互形式建模,不能完全满足专业机械CAD系统的需要。免费论文参考网。基于此因,如果能通过对SolidWorks进行二次开发,针对特定机械结构实现参数化建模,那么对于三维建模在我国企业中的推广将是非常有利的。为了方便用户进行二次开发,SolidWorks软件提供了开发工具API(Application Program Interface,应用程序接口),用户可以使用支持API的高级语言如Visual C+、VisualBasic、Delphi等对SolidWorks进行二次
4、开发1,创建出用户定制的、特有的SolidWorks功能模块。, 1.SolidWorks的二次开发技术和参数化建模 1.1 SolidWorks的二次开发 SolidWorks为用户提供的API二次开发接口,由数以百计的功能函数构,这些API函数使得程序员可以通过程序直接访问SolidWorks。所有的函数都是有关对象的方法或属性,通过对这些对象属性的设置和方法的调用,用户可以在自己开发的程序中对SolidWorks进行各种操作控制,从而完成零件草图的绘制和三维模型的建立。 SolidWorks的API接口分为两种:一种是基于OLE(Object Linking and Embedding,
5、对象的嵌入与链接)Automation的IDispath技术;另一种是基于Windows基础的COM(Compenent Object Model,组件对象模型)技术。基于OLE Automation的IDispath技术是一种快速开发手段,通常作为Visual Basic、Delphi编程语言的接口。而由基于COM技术的VisualC+编程语言开发的DLL(Dynamic LinkLibrary,动态链接库)文件,可以直接嵌入到SolidWorks内部,当成功加载后,应用程序的菜单就直接出现在SolidWorks主菜单上,与SolidWorks自带的插件一样,而且还可以单独测试,进行操作时极
6、大地提高了设计效率,所以是首选的开发方法。 1.2零部件的参数化建模 三维建模时应对零件进行分析,选择合理的建模方法。参数化设计是指通过改动图形的某一部分或某几部分的尺寸,自动完成对图形中相关部分的修改,即当赋予不同的参数值时,就可自动生成满足设计要求的零部件模型,从而实现同类机械产品快速修改与设计。对于参数化模型而言,主要有两个内容:几何关系和拓扑关系。几何关系是指具有几何意义的点、线、面,有确定的位置和大小;拓扑关系反映了形体的特性和关系,如几何元素之间的邻接关系2。免费论文参考网。对于企业中标准化、通用化和系列化的产品,设计时所采用的数学模型及产品结构都可以将数据作为参数变量,从而实现在
7、SolidWorks环境下零部件的三维参数化建模。这种参数化设计技术具有强大的变量驱动和模型再生功能,可以有效地提高设计人员的工作效率。 2.用Visual C+ 6.0对SolidWorks进行二次开发的方法 2.1 DLL的创建 基于COM技术的VisualC+编程语言所开发的DLL文件,可以通过三种方式创建:一种是使用SWizard.swx工程向导,第二种是使用ATL Object Wizard向导,第三种是使用用户自定义向导。第二种向导创建DLL文件,相对来说简单实用,开发时间短。在Visual C+中用该向导创建DLL工程,加入自己应用程序的代码,编译链接后生成*.dll文件,也就是
8、插件。 2.2DLL的加载 将动态链接库文件*.dll加载到SolidWorks中,有两种常用的方法:一种是先运行SolidWorks软件,然后点击SolidWorks菜单栏中的【文件】/【打开】菜单命令,在弹出的过滤器中选择Add-Ins(*.dll),最后选择所需的DLL文件加载,确定即可;另一种是先将DLL在注册表中注册成为SolidWorks系统的插件,然后运行SolidWorks,点击【工具】/【插件】菜单命令,在弹出的插件对话框中选择要加载的插件即可。此操作对于一个动态库文件只需做一次,以后启动SolidWorks软件无需再进行加载操作。 3. 对SolidWorks进行二次开发的
9、实例 以一个柱塞实体为例,介绍采用Visual C+ 6.0编程语言对SolidWorks 2008进行二次开发、参数化建模的应用。 (1)启动Vsiua1 C+,单击【文件】/【新建】,选择【工程】选项卡,选择【ATL COM AppWizard】,输入工程的位置和名称,如PUMP,单击【确定】。 (2)在【Server Type】中选择【DynamicLink Library(DLL)】选项和【Support MFC】选项,单击【完成】,系统会给出“新建工程信息”,核对无误后单击【确定】。 (3)在Visua1 C+的【Class View】标签中,用鼠标右键单击顶部的类图标(PUMP c
10、lasses),在下拉列表中选择【New ATL Object】。在弹出的对话框中的【Category】列表中,选择【Solidworks】;在【Object】窗口中,选择【SwAddIn】图标,单击【下一步】,在【ATL Object Wizard】属性对话框的【Names】标签中,输入想在【Short Name】中使用的ATL对象类名,如ppump。其他标签选用默认的设置,点击【确定】按钮。 (4)在【Class View】标签中,右击Ippump接口,选择【Add Method】,在弹出的【添加方法至界面】对话框的【N方法名】文本框中输入函数名,单击【确定】按钮。 (5)在【Resour
11、ces View】标签中,双击【String Table】,双击表中的空白行,在表中添加三个String资源,分别是:ITEM、METHOD和HINT,如图1所示。然后对ppump.cpp文件的AddMenus()函数进行编辑,在零件菜单下添加代码。 图1 添加“String”资源 (6)在【Resources View】标签中,用右键的快捷菜单【Insert Dialog】增加一个对话框,用来输入柱塞体的各项参数,界面如图2所示。 图2 柱塞体参数化建模对话框 (7)双击对话框,建立对话框类PistonParameter,并建立七个与Edit对应的变量m_SR、m_DR、m_IR、m_OR、
12、m_SL、m_IL、m_SBL,均是双精度值,初值在“PistonParameter.cpp”中设定。同时在ppump.cpp文件中添加包含对话框头文件的语句#include “PistonParameter.h”,建立相应的响应函数。 (8)在ppump.cpp文件中对Cppump:CreatePiston函数进行编辑,添加的部分代码如下: AFX_MANAGE_STATE(AfxGetStaticModuleState() HRESULT retval; /得到当前活动文档 CComPtrpModel; m_iSldWorks-get_IActiveDoc2(&pModel);/创建Mod
13、elDoc2接口指针 retval=pModel-InsertSketch();插入一个草图 /定义对话框中涉及的七个参数变量 double SphereRadius;/定义球头半径 double SphereToBottoLength;/定义球头中心到柱塞底面的距离 double PistonOutRadius;/定义柱塞体外径 pModel-ICreateCenterLine(-0.01,0,0,-0.08,0,0);/创建柱塞体中心轴线 pModel-ICreateCenterLine(0,0.012,0,0,-0.012,0);/创建球头中心轴线 /定义绘制柱塞草图的一些关键点 dou
14、bleA3,B3,C3,D3,As3,Bs3,Cs3;/定义关键点的类型 A0=SphereToBottomLength;/给A点赋值 A1=PistonInnerRadius; A2=0; /绘制柱塞体的草图 pModel-ICreateLine2(A0,A1,A2,B0,B1,B2,&pLine1);/绘制柱塞体底面线 pModel-ICreateLine2(B0,B1,B2,C0,C1,C2,&pLine2);/绘制柱塞体外径直体部分线 pModel-ICreateArc2(0,0,0,As0,As1,As2,Bs0,Bs1,Bs2,-1,&pCircle);/绘制球头圆弧 pSelMg
15、r-put_EnableContourSelection(true);/选择草图轮廓 pModel-ShowNamedView2(L*上下二等角轴侧, 8); pModel-ViewZoomtofit2();/柱塞草图在屏幕上以上下二等轴侧显示 /利用特征函数,生成旋转实体 CComPtrpFtManager; pModel-get_FeatureManager(&pFtManager);/获取FeatureManager的接口指针 CComPtrpFeature; pFtManager-FeatureRevolve(6.28318530718,false,0,swRevolveTypeOne
16、Direction,0,false,false,true,&pFeature);/调用旋转特征函数生成旋转特征,即得到柱塞实体 最后选择菜单栏上的【编译】/【全部重建】,对所编制的柱塞体参数化建模程序进行编译。编译通过后,运行SolidWorks2008软件,在主菜单上将显示出新加载的插件“PUMP”及子菜单“柱塞体”,如图3所示。 图3 加载的插件 单击“柱塞体”子菜单,会弹出如图2所示的“柱塞体参数化建模对话框”,在对话框中输入相应的数据,就会在屏幕上自动生成一个柱塞实体,如图4所示。改变对话框中的数据大小,就会得到不同的柱塞实体,这就是参数化变量驱动的结果。 图4 柱塞体参数化建模结果 4.结论 本文研究了对三维绘图软件SolidWorks进行二次开发,实现机械零件参数化建模的过程。设计实例表明,采用Visual C+语言建立的动态链接库文件可以很好地实现与SolidWorks的无缝集成,能满足用户二次开发CAD系统的需要。免费论文参考网。在实际应用中,通过以上
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五版母婴护理与婴儿早期教育月嫂服务协议4篇
- 二零二五年度大理石雕刻工程采购合同4篇
- 2025年万用手册项目可行性研究报告-20250102-101422
- 2025年弯吸管行业深度研究分析报告
- 2025年聚四氟乙烯防腐热电偶行业深度研究分析报告
- 2025年度绿色能源项目煤炭销售居间代理服务合同4篇
- 二零二五年度智能停车场车位代理销售运营协议4篇
- 二零二四年度新能源汽车停车位购买及配套设施建设合同3篇
- 2025年生态停车场建筑工程包工与绿化配套合同2篇
- 2025-2031年中国功能性护肤品行业发展运行现状及发展趋势预测报告
- 中国成人暴发性心肌炎诊断和治疗指南(2023版)解读
- 新生儿低血糖课件
- 自动上下料机械手的设计研究
- 电化学储能电站安全规程
- 幼儿园学习使用人民币教案教案
- 2023年浙江省绍兴市中考科学真题(解析版)
- 语言学概论全套教学课件
- 大数据与人工智能概论
- 《史记》上册注音版
- 2018年湖北省武汉市中考数学试卷含解析
- 《肾脏的结构和功能》课件
评论
0/150
提交评论