




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于3种开发工具的SolidWorks二次开发对比编程实践2009年08月12日e-works-1 前言随着计算机技术与网络技术的迅速发展,越来越多的企业已经加大对于企业数字化信息化的建设,购买了相应的三维设计软件及其相关产品,这无疑对加速企业产品开发进程,缩短产品制造周期,提高产品质量,增强企业市场竞争力与创新能力发挥着重要作用。然而在工程实践中,其专业针对性不强。为此,人们通常通过对CAD软件的二次开发,开发符合国家标准、适合企业实际应用的功能模块,以极大地提高这一通用系统的附加值,更好地满足企业设计要求,更好地发挥CAD的效能。 SolidWorks软件是一款基于Windows平台开发的著名的全参数化三维实体造型软件,其设计过程全相关性,可以在设计过程的任何阶段修改设计,同时牵动相关部分的改变。同时SolidWorks具有良好的开放性和兼容性。基于这些优点,本文着重对SolidWorks的二次开发进行分析与研究。通过对该软件的二次开发,使其实现专业化、本地化,更大程度上发挥软件的价值,为制造业信息化与快速化服务。2 SolidWorks二次开发的大体思路与一般方法SolidWorks通过COM(Component Object Model,组件对象模型)技术为用户提供了强大的二次开发接口(SolidWorks API),凡支持COM编程的开发工具,如Visual Basic, Delphi等均可用于SolidWorks的二次开发。SolidWorks中常用的API对象如图1所示。SldWorks对象为对SolidWorks工作环境进行访问处理提供了接口。通过此对象可以对SolidWorks工作环境添加菜单、删除菜单、添加工具条、打开文件、新建文件、退出SolidWorks系统。SolidWorks的API对象涵盖了全部的SolidWorks的数据模型,通过对这些对象属性的设置和方法的调用,就可以在用户自己开发的DLL中实现与SolidWorks相同的功能。进行二次开发时,调用SolidWorks中的API函数,可以完成零件的造型和修改,零件各特征的建立、修改、删除和压缩等各项控制,零件特征信息的提取,如特征尺寸的设置与提取,特征所在面的信息提取及各种几何和拓扑信息,零件的装配信息,零件工程图纸中的各项信息等1。图1 SolidWorks API对象层次图SolidWorks开发系统图如图2所示。其基本工作流程为:基于OLE技术的SolidWorks API将SolidWorks的各种功能封装在SolidWorks对象之中供编程调用,开发者使用二次开发编程语言通过调用SolidWorks的对象体系结构,操纵对象的属性和调用对象的方法便可以建立自主的应用程序,实现二次开发2-3。图2 SolidWorks开发系统框图随着计算机技术与网络技术的迅速发展,越来越多的企业已经加大对于企业数字化信息化的建设,购买了相应的三维设计软件及其相关产品,这无疑对加速企业产品开发进程,缩短产品制造周期,提高产品质量,增强企业市场竞争力与创新能力发挥着重要作用。然而在工程实践中,其专业针对性不强。为此,人们通常通过对CAD软件的二次开发,开发符合国家标准、适合企业实际应用的功能模块,以极大地提高这一通用系统的附加值,更好地满足企业设计要求,更好地发挥CAD的效能。3 运用3种开发工具进行SolidWorks二次开发编程对比为更好地帮助新人快速入门,笔者以一个简单的圆台参数化交互式调用为例,分别使用VBA语言、VB语言及Delphi这三种不同的开发语言对其进行开发实现4,接下来详细对比分析这几种语言二次开发时的优缺点及需注意的关键问题。文中所使用的软件版本依次为SolidWorks 2007企业版,Visual Basic 6.0企业版及Delphi企业版软件。 3.1 编程准备在程序编制前,首先是针对具体的开发工具,进行一些相关的应用或是设置工作。3.1.1 类型库的导入因为在使用VB语言及Delphi语言这两种开发工具进行SolidWorks二次开发时一般采用的是DLL动态链接库方式,必须导入相关的类型库,接下来才能调用SolidWorks的对象、方法与属性。而对于采用VBA语言,即采用宏录制实现solidworks二次开发的方式,由于宏是内嵌于SolidWorks的编程语言,不需要导入相关类型库。对于VB而言,添加引用的步骤是:单击菜单栏中【工程】【引用】命令,选择“SolidWorks exposed Type Libraries For add-in Use”(SolidWorks插件库文件)、“SolidWorks 2007 Type Libray”(SolidWorks库文件)和“SolidWorks Consant Type library”(SolidWorks常数库),如图3所示。对于Delphi而言,导入类型库的步骤是:单击主窗口中 “Project” “Import Type Library”命令,在弹出的如图4所示的“Import Type Library”对话框中对SolidWorks类型库进行注册,将类型库文件SldWorks.tlb装载到Delphi中。选中“SolidWorks 2007 Type Library(Version f.0)“,单击“Creat Unit”按钮,Delphi将在其Import子目录下生成该类型库的Object Pascal文件Sldworks_TLBPas,该文件包括SolidWorks提供的所有API函数。接下来单击主窗口中 “Project” “Add to Project”菜单命令,在弹出的 “Add to Project”对话框中,选择Delphi的Import子目录下Solidworks类型库单元文件Sldworks_TLBpas,将其添加入工程中。图3 VB中引用SolidWorks类型库对话框 图4 Delphi中导入SolidWorks类型库对话框3.1.2 编辑窗体界面在编辑窗体一栏,三者的区别不大。其中VB语言与宏因为基于同一语言,编辑窗体时操作一致,Delphi语言的窗体编辑业余前两者相似,只是组件名的稍微区别(如文本编辑组件在Delphi中使用Edit控件,而在VB中使用TextBox控件)。三种语言下编辑好的窗体界面如图4所示,接下来便是设置相应控件属性。 图4 编辑后窗体界面3.2 程序编制3.2.1 接口相关文件编制在调用solidworksAPI函数进行零部件建模之前,首先编写接口相关文件,设置好绘图环境。相关的源代码如下如图5所示:Delphi 7.0中图5 接口相关文件编制源代码从上述源代码中可以分明看出,语句简洁的是宏语言和VB语言,从定义变量直到获取solidworks接口并新建一个零件文件只需要简单的几句语句即可实现,速度最高。而Delphi需要的语句最多,同时对于程序中的变量需要预先定义,其接口相关文件编制较为繁琐。但特别之处的一点就是Delphi语言的自动化程度较高,如添加一个组件的话,在“type”中会自动添加该组件的类型和过程的声明。3.2.2 零部件建模命令的实现完成接口相关文件编制及环境设置之后,接下来的任务就是绘制图形。使用三种开发工具绘制圆台的源代码如图6所示:宏中VB 6.0中Delphi 7.0中图6 绘制圆台的源代码通过对比上述源代码,可以看出,宏语言和VB语言中绘制圆台程序一致(仅有变量参数不同)。Delphi与上述二者的差别较大,主要是API函数内参数形式与内容的不同,语句的格式及所使用的API函数相同,参照Delphi语言格式要求可以很方便地对宏录制的相关源码进行修改与完善,以提高Delphi语言编程速度与效率。4 结论本文使用VBA语言、VB语言及Delphi这三种不同的开发语言实现了一个简单的圆台参数化交互式绘制程序,对二次开发过程中的相关问题做了详细的对比分析。通过实际编程过程,对于上述三种开发工具的优缺点有了更加明确的认识: (1)使用VBA进行二次开发(即通过宏录制及编辑实现二次开发),优点在于:操作简便;可使得重复的任务自动化;定制和扩展客户应用程序功能;将客户应用程序及数据集成到其他应用程序中;最大的优点在于可以便捷高效地实现工作任务。但其缺点在于使用VBA开发的程序不能脱离他的宿主程序,可移植性不好,必须在“父”环境中才可以得以实现;且录制的代码混乱,必须经过修改与调试才能最终得以实现。(2)使用VB进行二次开发,优点在于:代码简洁,易于编辑,可读性很强;简单易学,学习过程中很容易上手;功能齐全,程序员可以轻松的使用VB提供的组件进行二次开发,快速建立属于自己的应用程序,在其各项高效强大集成功能的支持下,最终可方便快速地完成二次开发任务,是一个最为理想的二次开发工具。(3)使用Delphi进行二次开发,优点在于:Delphi同时兼备了VC功能强大和VB简单易学的特点,学习过程中很容易上手,自动化程度很高且集成了强大的数据库功能,也是用于二次开发的一个强大而高效的工具。但其缺点在于接口相关文件编制较为繁琐,且不能较为直接地利用宏录制这一高效的参考工具,因此开发效率稍逊于与宏录制同一“语系”的VB语言。通过对CAD软件的二次开发,开发符合国家标准、适合企业实际应用的功能模块,以极大地提高这一通用系统的附加值,更好地满足企业设计要求,已经成为信息化、数字化时代的客观需要与必然发展趋势。希望本文的论述能够为新人入门及迅速掌握SolidWorks二次开发的思想与技巧提供帮助,共同提升CAD/CAE等通用软件的附加值,为制造业信息化、数字
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 设备拆除安全管理制度
- 设备检测检查管理制度
- 设备维护电池管理制度
- 设备设施控制管理制度
- 设计单位考勤管理制度
- 诊室医院感染管理制度
- 诊所消防制度管理制度
- 诊断影像设备管理制度
- 调研法官助理管理制度
- 财务风险制度管理制度
- 10kV~500kV输变电及配电工程质量验收与评定标准:06变电自动化工程
- 高三家长会班主任发言稿课件
- 学前幼儿园-《快乐的小鼹鼠》教学课件设计
- 3停止间转法教案
- 四川省绵阳市2021年中考生物考试真题与答案解析
- 世界史阶段特征课件
- 2022-2023学年重庆市合川市三下数学期末学业质量监测模拟试题含解析
- 山东开放大学公共部门人力资源管理期末复习题
- 《园林植物识别与应用》项目七:综合课业题库及答案
- 人民医院肿瘤科临床技术操作规范2023版
- 物业承接查验办法培训
评论
0/150
提交评论