时间:2024-05-04
崔建昆,丁佳乐,夏 娟
(1.上海理工大学上海-汉堡国际工程学院,上海 200093;2.上海理工大学机械工程学院,上海 200093)
jackcui@usst.edu.cn;2443495771@qq.com;1005748464@qq.com
SolidWorks是目前市场上使用最为广泛的软件之一,它继承和改进了以往各种CAD软件的特点,因此,其特征选型和参数化建模等功能非常强大。SolidWorks强大的功能和良好的易适性帮助用户不断研发更好的产品,给用户带来了以下便利:容易及重复地利用设计数据、分布式的设计环境、自动化的过程更改及审批流程、切身参与整个开发的过程。它不仅具备设计、分析、加工和数据管理的功能,还具有极佳的开发性接口和功能扩充性。
VC#是微软公司发布的基于Windows系统的面向对象的编程语言,它在继承C和C++强大功能的同时,摈弃了C和C++的操作复杂性。VC#最主要的一个特点是完全面向对象,它可以让程序员快速便捷地编写基于MICROSOFT.NET平台的应用程序,提高开发效率。
参数化设计是一款辅助设计工具,可将系列化、通用化和标准化的定型产品中随产品规格不同而变化的参数用相应的变量代替,通过对变量的修改,从而实现建模的参数化,缩短设计周期,降低成本。工程技术人员可以根据客户的需求自由地修改所设置的参数,从而快速有效地生成三维模型,其设计流程如图1所示。
图1 参数化设计流程Fig.1 Parametric design process
为了满足用户多样性的要求,SolidWorks软件中集成了数百个API函数,这些函数是SolidWorks的OLE和COM接口,通过链接这些接口,用户可以使用VC#、VB、Delphi、VB.NET等编程语言对SolidWorks进行二次开发,从而建立满足用户要求的SolidWorks模块。因此,要想使用SolidWorks 2018软件进行二次开发,设计出性能优越的参数化设计系统,熟练地使用API函数和充分地了解COM/OLE技术是必不可少的。
(1)COM技术
COM技术是由微软公司提出的一套接口标准,是一种组件对象模式,由它建立了各种组件之间的规范与协定,以便实现跨语言、跨进程沟通的目的。当采用COM技术时,技术人员不必考虑组件与其所处的运行环境是否一致,所用的开发语言是否相同以及是否运行于同一台电脑。在COM的技术标准中,一个组件程序也被称为一个模块,它可以是一个动态链接库,也可以是一个可执行程序。一个组件程序可以包含一个或多个组件对象,COM技术中的对象建立在二进制可执行代码级的基础上,而VC++、Java等语言中的对象建立在源代码级的基础上,因此,COM技术中的对象与语言无关。本文就是依据该项技术进行二次开发的。
(2)OLE技术
OLE技术是COM技术的延续发展,是一种对象链接与嵌入技术。这种技术提出了比粘贴和剪切功能更强、更规范的共享数据方式,利用这种方式可实现不同Windows应用程序之间的数据共享。OLE 1.0目的在于创建复合文档,而OLE 2.0则超出了复合文档的范围,提供了更具综合性的对象模型,该模型与编程接口相联系,使不同的应用程序之间能够交互和相互操作。OLE技术以COM技术标准为基础,发挥了COM技术标准的优点,使得在Windows操作系统上的应用程序具备极强的可交互性。
本实例使用的编程语言是VC#,该语言具有可视化编程、完全面向对象的特点。它包括单一继承、接口的语法,与COM是直接集成的。它在综合了Visual Basic易可视化操作和C++高效率的同时,还保持了自身强大的操作能力、优雅的语言风格、创新的语言特性和便捷的面向组件编程的优点,逐步成为.NET开发的主角。
使用VC#编程语言对SolidWorks进行二次开发,最重要的一点是在应用程序中实现圆柱螺旋铣刀的参数化建模。实现参数化建模的方法有两种:(1)编程法;(2)尺寸参数驱动法。本实例使用的是编程法,是把出现在圆柱螺旋铣刀3D零件建模过程中的各变量之间的关系储存在程序中,以供程序调用,其实现流程图如图2所示。
图2 编程法设计实现流程图Fig.2 Design and implementation flow chart of programming method
螺旋立铣刀可以进行周铣和端铣。本实例刀具设计增加了芯厚半径参数,使芯圆与容屑槽圆弧相切,保证了刀具的抗弯强度。周刃前角的大小影响刀尖的锋利程度,容屑半径影响刀具的排屑性能,螺旋角大小与切削阻力密切相关。如图3所示,周刃齿形的截面线主要由前刀面、槽底圆弧、过渡圆弧、第一后刀面及第二后刀面组成,点的坐标为(0,0,0),点的坐标为(0,,0)。图3中几何参数的变量符号如表1所示。
图3 立铣刀周刃齿形Fig.3 Tooth profile of peripheral edge of end mill
表1 周刃齿形的几何参数Tab.1 Geometric parameters of tooth profile of peripheral edge
由图3分析可得,点的坐标为:
线段和线段的长度为:
点的坐标为:
点的坐标为:
点的坐标为:
由此可以得到过渡圆弧的圆心的坐标方程为:
同理,可以得到圆心的坐标方程为:
联立方程(6)和方程(7),利用MATLAB求得显性解为:
其中:
求出显性解后,便可通过参数的修改获得所需要的周刃齿形。该部分是VC#编程的核心部分,是周刃齿形成型的关键所在。
要想使用VC#编程语言实现SolidWorks的二次开发,首先要做的就是VC#和SolidWorks的链接,其具体过程如下:
(1)在Vistual Studio中创建一个窗体程序,并添加标签控件(Label)、文本框控件(TextBox)等。
(2)用N uGe t 查找S olidWorks 进行dll的引用,如SldWorks、SwConst、SWUtilities等。
(3)新建公共类,编写VC#连接SolidWorks的代码块,主要代码如下:
圆柱螺旋铣刀的结构多样,尺寸复杂,因此需要分部位设计,每个部位均有特征参数。以圆柱四刃铣刀为例,刀具各部分结构特征如图4所示,刀具各部分结构与刀具几何参数的关系如图5所示。
图4 圆柱四刃铣刀的各部分结构特征Fig.4 Structural characteristics of each part of cylindrical four-edge milling cutter
图5 圆柱四刃铣刀的各部分结构特征关系图Fig.5 Relationship diagram of structural characteristics of each part of cylindrical four-edge milling cutter
在建模过程中,最难实现的就是周刃部位,在上一部分中,已求出周刃齿形的参数数值模型及其显性解,只需在VC#主程序代码中编写便可生成周刃齿形轨迹。在生成圆柱四刃铣刀的过程中,会使用到草图绘制、拉伸、切除、阵列等特征;要添加主要参数之间的约束,使其相互关联;提取并记录主要参数的名称,如螺旋角、齿数、刀体长度、芯厚半径等。程序搭建完成后,便可使用VC#语言调用SolidWorks 2018绘制圆柱四刃铣刀的三维模型。
在Visual Studio 2019中创立C#窗口,在窗口中添加TextBox、Label、Button、PictureBox等控件,从而完成圆柱螺旋铣刀参数化建模的主程序界面,如图6所示。
图6 圆柱螺旋铣刀参数化建模的主程序界面Fig.6 Main program interface of parametric modeling of cylindrical spiral milling cutter
用户可根据自身要求,在主程序界面输入合理的参数,便可生成新的圆柱螺旋铣刀模型。以圆柱四刃铣刀为例,在主界面中输入铣刀的主要参数,如表2所示,然后程序自动生成周刃齿形预览、刀具模型预览和铣刀的三维模型,如图7所示。
表2 铣刀的主要参数Tab.2 Main parameters of milling cutter
图7 圆柱四刃铣刀的三维建模Fig.7 Three dimensional modeling of cylindrical fouredge milling cutter
如图8所示,使用该程序绘制圆柱四刃铣刀三维模型,周刃、端刃、退刀槽均被准确地绘制,这说明程序的实用性很强,能够满足用户多样性的要求。
图8 圆柱四刃铣刀三维模型的部位细节图Fig.8 Detail drawing of three-dimensional model of cylindrical four-edge milling cutter
在深入学习SolidWorks二次开发原理和运用的基础上,以SolidWorks 2018为开发平台,以Vistual Studio 2019为开发工具,利用其中的VC#语言,采用编程法完成了对圆柱螺旋铣刀的三维建模,同时搭建了友好的人机交互界面,最终生成了圆柱螺旋铣刀参数化的应用程序。该应用程序界面简洁,使用简单,运行平稳,可大大减少设计人员的重复劳动,提高工作效率。生成的三维模型可在Abaqus、Ansys等仿真平台进行切削性能分析,有利于进一步推进铣刀等刀具产品的系列化、标准化。本实例关于圆柱螺旋铣刀周刃齿形的数值模型的求解和运用,也可应用于其他产品的设计和研究。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!