温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
基于
SolidWorks
家具
零部件
参数
设计
研究
王帅
第 40 卷第 3 期计算机应用与软件Vol.40 No 32023 年 3 月Computer Applications and SoftwareMar 2023基于 SolidWorks 二次开发的榫卯家具零部件参数化设计研究王帅刘武发郑鹏(郑州大学机械与动力工程学院河南 郑州 450001)收稿日期:2020 07 24。国家自然科学基金项目(51775515)。王帅,硕士生,主研领域:计算机辅助设计软件二次开发研究。刘武发,教授。郑鹏,教授。摘要为了提高设计资源利用率,减少重复劳动,实现中国传统家具榫卯结构零部件的标准化生产,提出榫卯结构零部件参数化设计方法,针对不同种类的榫卯结构根据其不同的结构特点分别采取了尺寸驱动法和编程法建模,以 VB NET 为编程工具对 SolidWorks 二次开发,研究开发榫卯结构参数化建模插件系统,研究计算机辅助设计在榫卯结构中的应用,对榫卯家具产品的系列化、标准化设计和生产具有重要意义。关键词SolidWorks 二次开发计算机辅助设计参数化设计榫卯结构插件中图分类号TP3文献标志码ADOI:10 3969/j issn 1000-386x 2023 03 005PAAMETIC DESIGN OF MOTISE-TENON FUNITUE PATS BASED ONSOLIDWOKS SECONDAY DEVELOPMENTWang ShuaiLiu WufaZheng Peng(School of Mechanical and Power Engineering,Zhengzhou University,Zhengzhou 450001,Henan,China)AbstractIn order to improve the utilization rate of design resources,reduce repetitive work and realize thestandardized production of mortise-tenon structure parts of Chinese traditional furniture,a parametric design method ofmortise-tenon structure parts is proposed For different types of mortise-tenon structures,according to their differentstructural characteristics,the dimension driving method and the programming method were adopted for modelingrespectively VB NET was used as the programming tool to do SolidWorks secondary development The parametricmodeling plug-in system of mortise-tenon structure was developed,and the application of CAD in mortise-tenon structurewas studied,which was of great significance to the serialized and standardized design and production of mortise-tenonfurnitureKeywordsSolidWorks secondary developmentCADParametric designMortise-tenon structurePlug-in0引言榫卯结构作为中华民族独特的工艺制造,有着悠久的历史。被海外华人视为国粹的红木家具正是运用了这种巧妙的结构,整套家具不使用一根铁钉却能使用上百甚至上千年,堪称人类轻工制造史上的奇迹。采用榫卯结构进行连接的家具比用铁钉连接的更加结实耐用,具有许多铁钉做不到的功能,可有效限制木件之间各个方向的扭转,保障了连接结构的稳定性。中国传统家具中的榫卯结构种类繁多,结构复杂,依靠传统建模方式工作量大且效率低下,同样类型的结构仅有尺寸不同却需要重新建模。目前,对于榫卯结构的研究绝大多数都围绕在样式设计、结构设计1 和受力分析2 上,而对榫卯结构的参数化设计和计算机辅助设计应用研究较少3 4。因此为了提高设计资源的利用率,提高建模效率,减少重复劳动,本课题基于 SolidWorks 二次开发对传统家具中的榫卯结构进行参数化设计,生成榫卯家具零件参数化模型库,对榫卯结构的标准化、参数化设计具有一定的现实意义。第 3 期王帅,等:基于 SolidWorks 二次开发的榫卯家具零部件参数化设计研究291SolidWorks 二次开发原理Windows 平台为 SolidWorks 的二次开发提供了大量 OLE 技术和 COM 技术的应用程序接口,并且 Solid-Works 采用面向对象的方法,所有函数都是有关对象的方法或属性5,SolidWorks API 中具有上百个函数,支持 VB、VBA、Delphi、Visual C+等对其进行操作和调用,开发人员可以通过调用 SolidWorks API 函数对SolidWorks 软件进行相应的操作控制,以实现目标三维图形的绘制和所需功能的扩展与定制,完成二次开发。2DLL 插件设计及开发SolidWorks 插件是通过调用 API 函数所编写的ActiveX DLL 文件,DLL(Dynamic Link Library)文件为动态链接库文件,又叫“应用程序拓展”,通过使用DLL,可以实现程序的模块化,减少资源的占用率。基于 COM 技术生成的 DLL 程序代码执行效率高,可以动态链接到应用程序,使得调用程序更加方便快捷,还能够在 SolidWorks 界面中添加工具条、下拉菜单、自定义属性页等功能,实现了与 SolidWorks 软件的无缝衔接。SolidWorks API SDK 为开发人员提供了插件开发的相关模板和文件,包含 VB NET、C#NET 和 C+模板,以 VB NET 模板为例,其结构分类如图 1 所示。图 1SolidWorks API SDK 插件模板结构图在提供的模板中,为方便开发人员使用,已经按照功能对其进行模块化划分,具体分类如下:(1)Local Variables 模块:用于变量的声明。(2)SolidWorks egistration 模块:用于插件的注册,在注册表中添加插件的 GUID,每个插件的 GUID各不相同,SolidWorks 通过该值对插件进行识别。(3)ISwAddin Implementation 模块:用于插件的卸载和添加,通过 API 函数完成与插件的连接和断开。(4)UI Methods 模块:用于用户的自定义设计,可以实现菜单栏,工具栏的添加和设置。(5)UI Callbacks 模块:用于回调函数的编写,执行按钮被触发后的事件。(6)Event Methods 模块:用于用户和 SolidWorks的交互。(7)Event Handlers 模块:交互事件的函数。在插件的开发中,UI Methods、UI Callbacks 模块是最常用的,开发人员可通过此模块进行命令按钮以及回调函数设置。2 1环境搭建首先,需要手动安装位于 SOLIDWOKS 安装目录下 apisdk 文件夹中的 API SDK 软件开发工具包,安装完成后,即可在 Visual Studio 中使用模板新建 AddIn插件程序。操作流程如图 2 所示。图 2模板使用流程2 2SolidWorks 插件 UI 设计在SolidWorks API 中,通过调用 CreateCommandGroup2和 CreateFlyoutGroup2 方法,可完成菜单栏和工具栏的创建;调用 CreateFileFromesourceBitmap 方法添加图标选项;调用 AddCommandItem2 和 AddCommandItem分别为命令组和弹出式菜单添加子项。以 AddCom-mandItem 方法为例,说明函数中各参数的意义和用法,如表 1 所示,其他 API 函数参见 SolidWorks API 帮助文档。表 1AddCommandItem 方法返回与输入参数value=instance AddCommandItem(Name,HintString,ImageListIndex,CallbackFunction,UpdateCallback)返回value该项在 FlyoutGroup 中的索引值,由SolidWorks 指定输入Name添加到 FlyoutGroup 中该项的名称输入HintString当鼠标悬停到该项目时,提示框显示的字符输入ImageListIndex该项的图标索引输入 CallbackFunction当用户选择项时,调用的回调函数输入UpdateCallback控制该项的状态30计算机应用与软件2023 年菜单项和工具栏创建完成后,设置其回调函数以执行触发命令后的动作。在参数化系统设计中已创建多个窗体,启动该窗体就是执行菜单事件的响应。利用 sub 创建回调函数,用 Function 创建函数以显示控制项的状态。以 CreateSunMao()为例,具体代码如下:Dim TaskPanWinForm As Form1=NewForm1()TaskPanWinForm Show()系统插件 UI 界面如图 3 所示。图 3榫卯结构参数化系统插件 UI 界面3参数化设计方法实现 SolidWorks 二次开发参数化建模主要有两种方法6:(1)编程法(程序驱动法)编程法是指零件的整个设计建模过程全部由编程实现,通过调用 API 函数,来实现模型的绘制和修改,此过程不需要绘制零件模板,应用程序从头到尾执行所编制的代码,从无到有地生成目标模型,此方法需要调用大量 API 函数,需要开发人员熟练掌握 API 的功能、方法及属性,操作难度较大,适用于参数较多或者形状变化较大的零部件产品。(2)尺寸驱动法尺寸驱动法是指在已建立模型的基础上,不改变原有的拓扑关系,将所标注的尺寸视为变量,通过修改标注的尺寸值,来达到重建模型的目的,进而得到一系列结构相同但是尺寸不同的零部件模型,此过程不需要开发人员掌握大量 API 函数,仅掌握打开文档(opendoc6)、参数修改(Parameter)、模型重建(Editebuild3)等几个简单的函数即可。此方法相较于编程法省去了代码绘制模型的步骤,建模效率更高,但是需提前建立模块化、局部标准化模型库,适用于结构相同,尺寸不同的系列零部件产品6。由于传统家具中带有榫卯结构的零部件种类繁多且结构复杂、样式各有特点,故采用编程法与尺寸驱动法相结合,对其进行参数化设计。榫卯结构参数化设计流程如图 4 所示。图 4榫卯结构参数化设计流程在榫卯结构的零部件中,一部分结构固定、样式变化不大,如攒边结角榫里的大边、抹头、穿带,桌案类家具常用卡子花等零件采用尺寸驱动法,首先程序从零件模型库中选中指定参数化的三维模型,获取该零件的驱动参数,再确定尺寸约束,用户通过用户界面修改关键参数以重建模型,通过约束条件判断生成的模型是否合理,结合 Access 数据库实现数据的更新,弹出提示对话框,若满足要求,保存模型,退出程序;一部分样式多变、结构不一的零件,如燕尾榫(分为全隐式、半隐式、全透式、斜肩式四种)、直角榫(榫头可分为十字型、U 型、L 型等多种类型)、走马销(分为单斜面和双斜面两种)等采用编程法,通过 newpart 方法新建文档,调用 API 绘图函数,用 if 语句进行样式选择,用户通过输入参数来进行新模型的绘制。4实例4 1燕尾榫在众多榫卯结构中,燕尾榫被称为“万榫