基于Excel和SolidWorks的U型托板参数化设计及展开
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图1 托板结构尺寸示意图
基于Excel和SolidWorks的U型托板参数化设计
及展开
付冲
(中集安瑞科(荆门)能源装备有限公司, 湖北 荆门 448000)
[摘 要] 通过Excel输入参数及使用ActiveX控件,利用VBA编程在Excel和SolidWorks之间建立起关联,实现三维参数化建模。并将其应用于球罐U型托板的参数化设计及钣金展开中,既提高了工程设计人员的设计效率,也能用于指导车间工人进行数控下料。
[关键词] Excel;SolidWorks;参数化设计;托板;展开图
作者简介:付冲(1987—),男,湖北荆门人,本科,助理工程
师,在中集安瑞科(荆门)能源装备有限公司从事球罐产品制造工艺工作。
三维参数化设计方法因其高效、使用简便、可移植性强等特点,受到越来越多的设计人员的青睐。Solidworks 为用户对其进行二次开发提供了内嵌的应用程序接口(API ),任何支持OLE 和COM 接口的编程语言都可以作为开发工具,如C++,VB 等[1]。参数化设计有两个重要因素:一是参数化设计图元,确定其几何关系,给出各特征的基本尺寸参数;二是参数化设计引擎,将外部参数值赋给模型尺寸中的变量参数,并对尺寸参数进行扩充[2]。Excel 是一种作为参数化设计引擎的常用选择。
1 创建参数化引擎的基本思路
要使用Excel 表格驱动Solidworks 模型,就必然要在二者之间建立起关联。Excel 中ActiveX 控件可以轻松地解决这个问题。ActiveX 控件等价于以前的OLE 控件或OCX ,可以在应用程序和网络中计算机上重复使用的程序对象。它可以由不同的可以识别Microsoft 的COM 技术的语言开发,比如C++,VB 等。加之,SolidWorks API 是SolidWorks 基于ActiveX Automation 的应用编程接口,可通过对控件进行简单的VBA 编程(Office 内置的一种VB 编程语言的子集),就能完成Excel 与SolidWorks API 接口的对接,并将表中数值传递给模型的尺寸变量,实现对SolidWorks 模型尺寸的修改及更新。大致步骤如下:先完成SolidWorks 三维实体建模,确定变量参数,创建Excel 驱动表格并输入数据,从ActiveX 控件添加命令按钮,并设计按钮的代码内容,调试完成。
2 应用实例
本文结合球罐产品的制造,以球罐用U 型托板(如图1)的参数化设计为实例[3],阐述Excel 表格在SolidWorks
参数化设计中的应用。
图2 三维模型2.1 建立模型
U型托板是近年来球罐设计中常采用的一种支撑零件,用来加强球壳与支柱的连接,结构比较简单。表1为部分有代表性的托板零件尺寸。在创建图元模型时,一定要把各特征之间的关系表达清楚,并考虑到尺寸变化是否会导致几何关系发生错误。主要步骤如下:先选择“前视基准面”,以原点为中心,通过“旋转”特征命令生成一个球壳实体,再“拉伸”生成一个支柱实体。然后,在两个独立的实体之间创建一个与支柱外表面相切且与前视基准面平行的基准面。利用“草图工具”—“交叉曲线”命令找出球壳外表面与支柱的相贯线,在之前建立的基准面上绘制托板草图,并转化引用相贯线以辅助获得托板的总高。部分几何关系如下:草图上的托板直线段与半圆弧应相切。球壳方向拉伸,选择“成形到一顶点”,点选坐标原点;支柱方向拉伸,选择“成形到一面”,选择支柱外表面。通过引用模型轮廓线绘出“切除”、“钻孔”等特征用草图,切除托板多余部分。最后,利用钣金功能将实体转化成钣金。需要注意,在给定草图尺寸或转化钣金时,应以零件内表面为基准进行标注或生成折弯特征。
序号Dδd L H A a k c s b B 1Sφ1230018φ4262021.3466.6150.110250R125121070 2Sφ1570026φ630280073124610400R2001215100
表1 托板零件尺寸参数
根据表1给出的参数任选一种,按上述步骤绘制三维模型,如图2。
2.2 确定尺寸变量及约束
为方便控件代码将Excel中的设计数据传递给模型,应结合模型的设计要求选择和命名变量参数,添加必要的尺寸约束关系。尺寸间的约束关系,可在SolidWorks或Excel中利用表达式或公式进行定义。托板模型尺寸变量如表2所示。
代号(图1)Dδd L k s b B 驱动尺寸是是是否是是是是变量参数是是是是是是是是
表2 驱动尺寸和变量参数之间对应关系
在SolidWorks模型中,对托板厚度与钣金厚度进行尺寸链接,需保证二者能相互关联。由于尺寸L并非直接的建模尺寸,需对其进行转化,具体的尺寸计算在后续Excel工作表中完成。确定尺寸变量后,将模型特征尺寸全部显示出来,把不设变量的尺寸都隐藏,再通过修改尺寸的“主要值”,按照表2将设为变量的尺寸重新设定名称,然后点击“视图”里的“尺寸名称”进行查看,结果如图3所示。
图3 改名后的尺寸
2.3 创建Excel 驱动表格,输入相关参数,并与SolidWorks 进行关联
2.3.1 新建一个工作簿,添加三张工作表,分别命名为“驱动项目”表、“参数”表及“使用说明”表。
2.3.2 将变量尺寸的参数名称写入“驱动项目”表,并新建一个名为“托板到赤道线的建模距离”的变量参数,并利用Excel 公式,通过算术运算符,自动将尺寸L 减去尺寸S 以获得直接驱动模型的尺寸数值。在表中添加ActiveX 控件按钮:在“开发工具”选项卡中点击“插入”—“ActiveX 控件”—“命令按钮”。绘制一个按钮,并修改该按钮的显示名称为“重建模型”,如图4
所示。
图4 驱动项目表
在设计模式下右击按钮,查看代码,即可设计按钮的代码内容。以下代码为建立Excel 与Solidworks 之间的联系:
Private Sub CommandButton1_Click()*单击CommandButton1按钮执行以下程序*Dim swApp As Object Dim Part As Object Dim boolstatus As Boolean Dim errors As Long Dim warnings As Long Dim longstatus As Long *以上申明各变量*
Set swApp = CreateObject("SldWorks.Application")*创建SldWorks 对象*
Set Part = swApp.ActiveDoc*激活模型,使模型可修改*
swApp.Visible (True)*设置显示SolidWorks 程序界面*
S e t P a r t = s w A p p.O p e n D o c 6("D :\v b \qiuguantuoban.SLDPRT", 1, 0, "", errors, warnings)*打开之前绘制的托板零件模型*
Values for calcualtions are in meters*宏里面长度单位为米*
以下是将变量参数值赋给模型,并根据新尺寸重建模型:
P a r t.P a r a m e t e r ("球罐内直径@草图1").SystemValue = Range("B2").Value / 1000
P a r t.P a r a m e t e r ("球壳壁厚@草图1").SystemValue = Range("B3").Value / 1000
P a r t.P a r a m e t e r ("支柱外径@草图3").SystemValue = Range("B4").Value / 1000
Part.Parameter("托板到赤道线的建模距离@草图5").SystemValue = Range("B8").Value / 1000Part.Parameter("托板内侧距离@草图5").SystemValue = Range("B6").Value / 1000
Part.Parameter("托板厚度@拉伸-薄壁5").SystemValue = Range("B7").Value / 1000
Part.Parameter("透气孔@草图12").SystemValue = Range("B9").Value / 1000
Part.Parameter("透气孔孔距@草图12").