SolidWorks二次开发在机械学科毕业设计中的应用

2014-07-02 01:37王忠雷程钢袁文生王晓丽
山东建筑大学学报 2014年6期
关键词:二次开发毕业设计程序设计

王忠雷,程钢,袁文生,王晓丽

(1.山东建筑大学机电工程学院,山东济南250101;2.山东省高校机械工程创新技术重点实验室,山东济南250101;3.齐鲁工业大学机械与汽车工程学院,山东济南250353)

SolidWorks二次开发在机械学科毕业设计中的应用

王忠雷1,2,程钢1,2,袁文生1,2,王晓丽3

(1.山东建筑大学机电工程学院,山东济南250101;2.山东省高校机械工程创新技术重点实验室,山东济南250101;3.齐鲁工业大学机械与汽车工程学院,山东济南250353)

目前在本科教学中对三维CAD软件的课堂教学和实践训练,一般都集中在应用软件进行造型、装配和加工代码生成。随着CAD软件技术应用的深入,通用的CAD软件难以满足所有行业的要求,CAD软件进行二次开发,已经成为CAD软件深入应用的有效途径。文章分析机械学科毕业设计的现状及问题,阐述了CAD二次开发的技术基础,提出了二次开发技术在毕业设计中的应用途径。并对CAD软件二次开发技术在机械学科毕业设计中的应用实例进行分析,通过教学实践证明了这一创新实践教学的可行性和效果。

Solidworks,二次开发,毕业设计

0 引言

近年来,随着计算机技术的应用发展,特别UG、Pro/E、SolidWorks等CAD软件的飞速发展,机械设计已经由二维设计向三维设计发展。三维设计提高了设计的可视性,同时也为后续的数控加工提供了可靠的几何模型,提高了产品设计和制造的效率。同时随着现代设计技术的发展,对三维CAD软件的要求越来越高,通用的三维CAD软件很难满足所有行业的要求。基于这种情况,很多企业开始对三维CAD软件进行二次开发,以满足本企业产品设计的特殊要求,提高设计的效率[1-2]。因此,针对企业自身特点,对CAD软件进行二次开发,已经成为各个企业提高自己设计效率和竞争力的重要手段。

目前在本科教学中对三维CAD软件的课堂教学和实践训练,一般都集中在应用软件进行造型、装配和加工代码生成。虽然三维CAD软件课程在课程设计和毕业设计等教学环节中也获得了广泛的应用,同时通过学习学生提高了自己应用三维CAD软件的能力和实践水平,但是目前的课堂教学和实践教学,对于CAD系统的二次开发技术的讲解和应用不多,因此通过毕业设计等实践教学环节,对学生进行三维CAD软件的二次开发训练,可以提高学生应用CAD软件的能力,使毕业学生更加符合企业的需求。为此文章以SolidWorks二次开发这一新的选题为例,对机械学科毕业设计的改革进行了尝试和探索[3-4]。

1 机械学科毕业设计的现状及问题

毕业设计是高校人才培养不可替代的实践教学活动,是学生理论、实践、创新能力与科研水平相结合的综合训练。通过毕业设计,可以进一步深化和检验学生对所学专业理论知识的掌握程度,同时提高知识综合应用能力和创新能力,培养学生独立分析和解决实际问题的能力[5-7]。当前机械学科的毕业设计受到一些客观条件的限制依旧存在一些问题[8-9]:(1)从学生的角度毕业设计是毕业之前的最后一个教学环节,面临就业、升学、出国等各方面压力,学生难以集中精力完成高质量的毕业设计;(2)从老师的角度 由于连年扩招,毕业生数量激增,导致每位毕业设计老师指导的毕业生数量大幅增加,毕业设计指导教师难以全身心地指导每一位学生。

除去上述的客观原因外,由于毕业设计题目陈旧、内容空洞、缺乏实践性,学生认为毕业设计对于将来工作没有直接的帮助和支持,毕业设计投入的时间和精力不足是导致毕业设计质量下降最主要的原因。因此合理选题、优化毕业设计内容,使本科生毕业设计与其从事的工作直接相关,是调动学生积极性、提高毕业设计质量最有效的措施。从前面的分析可以看出,毕业设计的选题对毕业设计的质量有着重要的影响。

2 SolidWorks二次开发的技术基础

所谓二次开发是为了使CAD软件更符合用户设计过程中的特殊要求,在现有通用CAD支撑软件的基础上,利用二次开发语言和工具进行二次开发,提高和完善CAD软件功能。通过二次开发可以提高产品设计的质量,缩短产品设计的周期,充分实现CAD软件的功能和价值。CAD软件经二次开发之后,具有良好的人机交互界面,并吸收和融入许多专业知识和设计经验,使得设计人员能够更加方便和快捷的利用CAD软件进行产品设计,从而实现设计质量和效率的提高。

现在大多数的三维CAD软件都提供二次开发接口,在众多的三维软件中,SolidWorks简单易用、功能强大,而且二次开发接口和开发方式丰富,开发难度低,因此在本课题中采用SolidWorks作为二次开发研究和应用的对象。SolidWorks提供了功能全面而且简单易用的二次开发接口—基于API的应用程序设计接口,这个接口可以通过OLE Automation技术进行访问,其中包含了大量的功能函数,程序员通过这些功能函数可以直接访问SolidWorks,实现SolidWorks软件所有的功能和操作。对于支持OLE技术的高级程序设计语言,如VB、VC++、Delphi、Java等都可以用于进行SolidWorks软件的二次开发。

目前常用的SolidWorks二次开发方法,概括起来主要API程序设计法[10-11]和模型尺寸驱动法两种[12-15]:

(1)API程序设计法是将设计过程的每一个步骤都采用API函数组成的程序完成,利用设计的API程序顺序地执行设计过程,完成整个设计。API程序设计法需要开发者利用SolidWorks API函数自行编写代码,这就要求开发者能够熟练的掌握和灵活的应用SolidWorks的API函数,提高了对开发者要求,从而也增加了开发的难度。因此这种二次开发方法,并不十分适合程序设计水平不高的机械专业学生。另外,使用API程序设计法进行二次开发,不但编写的代码非常多,而且程序每次运行都需要一步一步顺序的建立整个模型的每一部分,模型建立的时间比较长,效率比较低。

(2)模型尺寸驱动法在应用SolisWorks进行零件的模型建立时,零件草图和模型特征都是尺寸相关联的,随着尺寸的变化而变化。模型建立完成后,可以通过尺寸驱动的方式完成对模型的修改。利用该方法,在SolidWorks二次开发时,不需要完整的建立模型的零件草图和模型特征,而是应用尺寸驱动的方法,通过改变已有模型的尺寸,来实现需要设计模型的建模过程,这种二次开发的方法称为模型尺寸驱动法。使用模型尺寸驱动法,并不是按照造型的过程一步一步重新建模,而是在原有的模板模型的基础上改变尺寸参数并通过尺寸驱动技术进行模型重建。采用该方法进行SolidWorks二次开发有很多好处,首先二次开发编写的代码大大减少,同时也不需要开发者掌握所有的SolidWorks API函数,把开发者从学习和应用SolidWorks API函数的繁重劳动中解放出来,使得SolidWorks二次开发变得简单起来,最重要的是模型尺寸驱动法的应用,可以使程序设计水平不高的机械专业的学生比较轻松的进行SolidWorks二次开发。其次应用模型尺寸驱动法设计的程序在运行时不需要实现整个建模过程,只是通过尺寸驱动实现模型的重构,提高了程序的运行效率。

3 SolidWorks二次开发技术在毕业设计中应用途径

对于机械专业的学生来说,由于其程序设计和开发的能力和水平有限,而且本科毕业设计时间短、任务重,要想实现SolidWorks二次开发技术在本科毕业设计中的应用,必须对于毕业设计的各个环节进行合理的设计,才能保证这一实践教学环节的顺利进行。

3.1 合理的选题

合理选择题目是保证SolidWorks二次开发技术在本科毕业设计中成功应用的关键和基础问题。针对机械学科的学生机械设计能力强、应用SolidWorks进行三维造型的能力强,而软件设计和代码编写能力不强的情况,在进行题目选择时,应注意扬长避短,所选择的题目程序结构比较明确、代码编写的难度低、代码编写量少,而将毕业设计作品的水平体现在其设计系统的机械结构复杂度和三维造型复杂度上。合理的选择题目才能使学生在毕业设计中,发挥自己的优势,弥补自己的不足,高水平完成教学任务,并使学生得到应有的锻炼和提高。

3.2 合理选择开发工具和技术

由于机械学科学生软件设计和代码编写能力不强的特点,在选择开发工具和开发技术时,应结合学生的特点进行选择。在开发工具的选择上,应选择简单易学、学生有基础的编程语言。由于支持OLE的高级语言都可以进行SolidWorks的二次开发,可以选择的范围较大,一般选择工科学生常用的VB、Delphi等开发工具,如果学生对其他语言比较熟悉也可以选用。由于SolidWorks的宏录制采用的是VBA语言,与VB语言比较接近,因此优先选择VB作为SolidWorks二次开发的工具。

在开发技术上,由于API程序设计法难度较大,一般选择模型尺寸驱动法。该方法的难点在于设计零件或装配体的三维造型,而程序设计较为简单,正好可以发挥机械学科学生的特长。而且该方法代码量小、系统可靠性高、运行效率高,是优先选用的开发技术。

3.3 全面的技术指导

SolidWorks的二次开发对于机械学科的学生来说是比较陌生和困难的事情。因此,在整个毕业设计期间要进行全面细致的指导。毕业设计初期,对学生的开发技术进行详细的指导,使学生尽快的完成一个简单、完整的二次开发实例,提高学生的信心和兴趣,提高毕业设计的效率;自毕业设计中期,系统结构设计是整个设计的难点和重点,也是机械学科学生了解不够深入的问题,需要老师进行细致的指导,建立较好的程序基础,保证整个设计的顺利进行;设计一旦进入代码设计阶段,学生一般能够独立进行,这时老师需要关注学生设计代码的可靠性和容错性。只要老师和学生密切配合,基于SolidWorks二次开发的毕业设计就能够顺利进行,并取得很好地设计成果和教学效果。

4 SolidWorks二次开发技术在毕业设计中的应用分析

为了验证前面研究和探讨的“SolidWorks二次开发在机械学科毕业设计中的应用”的可行性,在毕业设计中,进行了尝试和实验。选用的毕业设计题目为“基于SolidWorks二次开发的钣金件参数化设计与展开系统开发”,采用的开发语言为Delphi,采用的二次开发技术为模型尺寸驱动法。

学生开发完成了基于SolidWorks二次开发的三维钣金件参数化设计及展开放样软件,实现了钣金零件的参数化设计及自动展开放样。主要包括钣金件模型库模块、数据输入模块、零件生成及展开模块。模型库中包括十余大类一百余种工业管道过渡件等钣金件的三维模型和展开放样模型。该软件通过数据输入模块,把模型库中钣金件模型的变量尺寸设置为具体的数值尺寸,通过尺寸驱动,生成所需要的钣金件的三维模型(如图1所示)和二维展开放样模型(如图2所示)。

毕业设计完成了所有的预定任务,完全符合毕业设计的要求,学生不仅训练了钣金件的设计和展开计算,而且系统的进行了Solidworks二次开发系统的设计和实现,使学生扎实的掌握了程序设计、软件开发和Solidworks二次技术,提高了学生应用CAD软件的水平,更加适合企业的人才需求。

图1 四节等径直角双向圆柱三通管模型图

图2 四节等径直角双向圆柱三通管二维展开放样图

5 结语

对SolidWorks二次开发在机械学科毕业设计中的实践教学方法进行了研究和应用,实践表明:在合理选题、合理选择开发工具和开发技术、学生老师密切配合的条件下,机械学科毕业设计中应用SolidWorks二次开发技术进行系统开发完全可行,而且效果良好。在研究过程获得如下总结:

(1)SolidWorks二次开发技术较其他三维CAD软件二次开发技术简便易学,更适合在机械学科的本科毕业设计中应用;

(2)尺寸驱动法,程序设计量小、不需要复杂的API函数,更适合非计算机专业的学生进行SolidWorks二次开发系统设计;

(3)在合理选题、合理选择开发工具和开发技术、学生老师密切配合的条件下,机械学科毕业设计中应用SolidWorks二次开发技术进行系统开发完全可行,而且效果良好。

[1] 张信群.基于SolidWorks的落料拉深符合模CAD设计[D].合肥,合肥工业大学.2009.

[2] 王晓丽.基于SolidWorks的回转立体库CAD[D].济南,山东大学.2006.

[3] 段培永,张玫,张桂青,等.建筑强弱电结合的创新性应用型人才培养体系研究[J].山东建筑大学学报,2013,28(6):590-594.

[4] 张明勤,张瑞军,何芹,等.TRIZ教学体系的探索与实践[J].山东建筑大学学报,2013,28(2):172-175.

[5] 闫存富,张洛明.工科学生毕业设计教学研究[J].中国冶金教育.2014(2):52-53.

[6] 郝妮妮,刘华伟,姜雪,等.工科类本科毕业设计质量监控体系的构建探索[J].中国电力教育.2014(17):86-88.

[7] 孔祥强,李瑛,杨前明.工科类本科毕业设计教学模式探讨[J].高等建筑教育,2012,21(3):140-143.

[8] 李红梅,卢苇,陈旭东.毕业实习与设计过程管理质量保证体系的研究与实践[J].高等工程教育研究,2012(6):167-171.

[9] 刘波粒,刘泽军.浅析本科生毕业设计(论文)质量滑坡的原因及其对策[J].中国高教研究,2007(7):89-90.

[10]曾锋,钟治初,姚山.SolidWorks API二次开发方法与应用[J].嘉应学院学报(自然科学),2011,29(11):21-24.

[11]谢峰,汪洋.基于API技术的SolidWorks标准件库的开发[J].机械工程师,2008(11):63-65.

[12]季忠,刘韧,王晓丽,等.基于SolidWorks的数控回转立体库的参数化设计[J].包装工程.2009(10):93-96.

[13]孙涛.基于SolidWorks的注塑模架专家系统[D].大连,大连工业大学.2008.

[14]张信群.基于SolidWorks的落料拉深复合模CAD设计[D].合肥,合肥工业大学.2009.

[15]程芬,王宏建,滕爽.基于VB.NET的SolidWorks型钢库的二次开发[J].机械研究与应用,2013,26(1):72-73.

(学科责编:王光银)

Application of secondary development of SolidW orks in mechanical engineering graduation project

Wang Zhonglei1,2,Cheng Gang1,2,Yuan Wensheng1,2,et al.

(1.School of Mechanical and Electronic Engineering,Shandong Jianzhu University,Jinan 250101,China;2.Key Laboratory of Mechanical Engineering&Innovation Technology in Universities of Shandong,Jinan 250101,China)

The undergraduate teaching about the three-dimensional CAD software was focused on learning and training modeling,assembly and generation of processing code.With the deepening of CAD application,CAD software is difficult to meet the requirementsof all industries.A secondary development of the CAD software according to enterprise's characteristics and requirement,has become the effective way for the application of CAD software.In this paper,the current situation and problems ofmechanical subject of graduation design was analyzed,a secondary development of the CAD software was described and the way of application secondary development technology of CAD in graduation design was proposed.The application examples of the secondary development technology of CAD software were analyzed in mechanical engineering graduate design and the teaching practice?proves the feasibility and effect of the innovative practice teaching.

SolidWorks;secondary development;graduation project

G642

A

1673-7644(2014)06-0601-04

2014-06-06

山东建筑大学博士基金项目(XNBX1245)

王忠雷(1977-),男,讲师,博士,主要从事金属塑性成形CAD/CAE等方面的研究,E-mail:wade_thunder@163.com

猜你喜欢
二次开发毕业设计程序设计
高校毕业设计展吸引业内眼球
基于Visual Studio Code的C语言程序设计实践教学探索
浅谈基于Revit平台的二次开发
浅谈Mastercam后处理器的二次开发
从细节入手,谈PLC程序设计技巧
毕业设计优秀作品选登
基于FPGA的毕业设计实践平台实现
西门子Easy Screen对倒棱机床界面二次开发
高职高专院校C语言程序设计教学改革探索
PLC梯形图程序设计技巧及应用