当前位置:首页>>广州有道有限元>>Solidworks有限元分析及机构运动仿真
SolidWorks二次开发在机械零件设计中的应用与研究
0 引言
SolidWorks是一套基于Windows的CAD桌面集成系统,支持参数化和特征造型技术。虽然SolidWorks所提供的功能非常强大,但要使其在我国企业中真正发挥作用,使常用的或重复的任务自动化,提高效率,就必须对其进行本地化、专业化的二次开发工作。本文是在基于轴系结构设计系统的研制上产生的,应用Solidworks二次开发来自动生成零件,并在Solidworks环境下完成自动装配。
1 SolidWorks二次开发原理
SolidWorks基于COM(Component Object Model,组件对象模型),完全支持OLE(Object Linking and Embedding,对象的链接与嵌入)标准,实现了OLE自动化。为方便用户进行二次开发,SolidWorks提供了几百个API(Application Programming Interface,应用程序接口),这些API函数是SolidWorks的OLE或COM接口。SolidWorks的API接口分为两种:一种是基于OLE Automation的IDispatch技术,通过IDispatch接口暴露对象的属性和方法,以便在客户程序中使用这些属性并调用它所支持的方法。另一种开发方式是基于Windows基础的COM。
SolidWorks API为用户提供了完全面向对象的类体系,是一个自上而下的多层次的树型网络结构,其部分组织结构关系如图l所示。它包括对象的类型、属性和方法。SolidWorks是根目录对象类,位于应用程序的底层,是访问SolidWorks API所有对象的入口。开发者通过操纵对象的属性和调用对象的方法建立自己的应用程序。
2 SolidWorks二次开发工具
任何支持COM和OLE的编程语言都可以成为SolidWorks的开发工具,如VB、VBA、C、VC++等。开发者可以根据自身的条件、工具的特点,选择一种适合的开发工具。
Visual Basic(VB)是运行在Windows环境下的一种可视化编程语言,使用面向对象的编程方法(OOP),它所具有的图形设计工具、结构化的事件驱动编程模式和开放的环境,可以使用户即快又方便地编写出Windows下的应用程序。
在SolidWorks中通过宏录制可以记录SolidWorks用户的整个产品设计过程,把用户的界面菜单操作所用到的SolidWorks对象、方法都一一记录下来,其语法完全符合Visual Basic。根据宏文件中的对象和方法在自己的应用程序中合理调用,通过对变量的控制就可实现产品的参数化设计。在二次开发过程中,宏录制文件中的许多对象、方法可以直接在Visual Basic应用程序中应用,简化了开发过程。
3 机械零件参数化设计实现
3.1 零件二次开发的过程
主要论述通过VB语言对SolidWorks进行二次开发,其主要流程如下:
3.1.1 建立零件的数据库
首先分析机械零件有关数据,利用VB的默认数据库Access为每一种零件建立数据库,如齿轮参数数据库,联轴器参数数据库等。在数据库建成后,可以在应用程序中通过数据控件与特定的数据表连接起来。利用用户输入的主参数作为索引,用Findfirst方法即可读出对应的数据。
3.1.2 分析零件的结构特征,建立实体模型
首先,针对要建立的实体,需要先分析其结构,区别特征的主次,利用SolidWorks建立零件特征,建立宏文件,有些操作宏文件无法记录,需要调用相关API绘图函数。实现关键数据变量化,如齿轮分度圆商径、齿轮宽度等,而这些变量的数据来源即为齿轮数据库下的某种齿轮类型数据表。建模完成后,使用AddComponent4方法即可将零件插入当前装配图中。
3.1.3建立应用程序
VB开发的程序作为客户方(client),而SolidWorks作为服务方(server),VB程序可建立与SolidWorks各级对象(object)的关联;另外,还必须在VB中通过“引用”(reference)加载SolidWorks类型库,使VB识别程序使用的SolidWorks对像类型、属性和方法。
3.2齿轮联轴器二次开发中的关键技术
以机械零件中的齿轮联轴器为例介绍二次开发中的关键技术。
3.2.1 联轴器数据库技术
CL6型号齿式联轴器的部分标准数据。
建立数据库,在Ⅶ程序中引用数据库,就可以通过程序查询联轴器的国家机械标准信息。选择联轴器需要参考联轴器的转矩和转速等信息,需要在程序中将联轴器的数据信息加载到联轴器设计的人机界面当中,供设计人员参考。
齿轮联轴器需要做到全参数化的有齿数、模数、压力角、轴径、键槽尺寸及相关安装尺寸等。
实现模型创建,需通过VB环境下的数学模型计算,得出重要数据。对于齿轮联轴器,最重要的是齿轮渐开线的计算。
在VB环境中,建立渐开线直角坐标方程
联立方程组,利用循环语句来实现渐开线的计算。再将数据传递给ModelDoc2:SketchSpline方法绘制轮齿草图,调用FeatureManager::FeatureExtmsion2方法拉伸轮齿。
3.2.2 零件、装配文档的创建
4 开发人机交互界面及运行结果
本示例基于作者研制的轴系结构设计系统。以Visual Basic语言为开发平台通过调用SolidWorks API函数建立齿轮联轴器模型,操作界面。选择需要的齿轮联轴器类型,点击“三维模型建立”即可实现在SolidWorks中自动创建相应型号的联轴器模型。重新选择型号,点击按钮,新的模型将在Solidworks环境中重生,程序无需更改。
CL6齿式联轴器装配操作界面如图4所示。添加装配实体,选择配合元素与方式,即可在Solidworks环境下实现联轴器零件的自动装配。
最终在Solidworks环境下得到齿轮联轴器实体效果图。
相关标签搜索:SolidWorks有限元培训 二次开发 广州有限元培训 solidworks培训 CAD培训 ansys培训 solidworks proe培训 运动仿真 有限元FEA
客服在线请直接联系我们的客服,您也可以通过上面的方式进行在线报名,我们会及时给您回复电话,谢谢!
广州总部:广州市东风东路733号羊城同创汇编辑楼12楼
电话:020-83322285
137-1124-1980
点击图标或添加QQ:503841570
E-mail:fea@020fea.com
广州详细交通线路 >>>东莞分公司: 东莞市莞城区莞太路34号创意产业园11号楼5楼
手机:133-3285-6491
点击图标或添加QQ:503841570
E-mail:fea@020fea.com
东莞详细交通线路 >>>佛山分公司:佛山市禅城区季华一路28号智慧新城T15栋4楼401A
手机:133-3285-6491
点击图标或添加QQ:2459395568
E-mail:fea@020fea.com
佛山详细交通线路 >>>