论文部分内容阅读
摘 要:针对目前SolidWorks用户在工程图领域的需求,提出了一种基于SolidWorks API的工程图二次开发方法。详细分析SolidWorks API的相关对象、方法和属性,构建了一套基于模型对象快速生成工程图文件属性和配置表的方法,优化SolidWorks用户工程图出图效率。
关键词:Solidworks API 工程图 文件属性 配置表 效率
Solidworks是当今比较领先的、主流的三维CAD解决方案,特点是功能强大、易学易用和技术创新。Solidworks 能够提供不同的设计方案、减少设计过程中的错误以及提高产品质量。Solidworks 不仅提供如此强大的功能,同时对每个工程师和设计者来说,操作简单方便、易学易用。同时Solidworks还提供了功能强大的API接口程序模块,使得用户可以进行定制化的二次开发。
一、企业用户的需求
1.工程图与PLM系统的集成
有些企业的PLM系统,需要集成工程图的文件属性来创建和管理工程图文档,但是Solidworks在工程图的文件属性方面,无法实现模型文件属性与工程图文件属性的同步联动,那么就导致工程师和设计者们必须手工维护工程图中的文件属性以满足PLM系统对于工程图文档的管理需求。
一般企业都会根据各自的实际情况定制各自工程图文档的属性模板。这些模板包括一些基本的设计信息,如零件名称、零件代号、材料以及设计人员和设计日期等。对于Solidworks来说,模型文档的文件属性是可以与工程图的文档标题栏关联的,但是对于工程图的文档属性就无能为力,这些内容如果在工程图中一一进行编写和修改,其工作量是很大的,并且这种处理方法也不利于保证设计信息的一致性,对模型文件(零件或装配体文件)和图纸文件(工程图)的管理来讲是脱节的。
2.工程图多配置方案的处理
Solidworks提供了一种配置功能。通过配置让您可以在单一的文件中对零件或装配体生成多个设计变化。配置提供了简便的方法来开发与管理一组有着不同尺寸、零部件、或其他参数的模型。在工程图文档中,您可显示您在零件和装配体文档中所生成的配置的视图。配置功能对于有多配置需求的用户来说,极大地提高了Solidworks的建模效率,但是在工程图文档中,你必须自己经过一系列的设置来生成和显示你需要的配置表,这无形中使得配置功能在出图的过程中效率大打折扣。
二、理论基础
Solidworks在提供了强大的三维建模功能的同时,Solidworks软件本身支持OLE ( Object Linking and Embedding,对象连接与嵌人)的通用标准,完全实现了OLE自动化。作为一个自身的OLE服务器,Solidworks提供了大量的OLE对象,以及这些对象所拥有的方法和属性。用户通过自定义开发软件操控这些OLE对象及其方法和属性的操作。而Solidworks API(Application Programming Interface)是Solidworks的OLE应用程序开发接口,可以通过支持OLE编程的工具,调用这些API,创建用户专用的Solidworks自定义软件,将Solidworks中一些重复单调或者规则明确的操作使用程序语言描述,通过简单的人机交互,让计算机自己来完成此类工作,改善自己的工作,提高工作效率和质量。
Solidworks提供了极其丰富的API,并且有很完善的帮助系统。我们可以使用 Microsoft VBA编写Solidworks Macros或者使用其他编程环境编写Standalone and Add-in Applications。(使用visual studio到.NET都可以)在SW的API幫助中我们可以很明了的查看API调用语法及相关的示例代码。
三、基于SolidWorks API的工程图二次开发
1.SolidWorks的二次开发工具
Solidworks API是Solidworks的OLE应用程序开发接口,用户可以利用它和支持OLE编程的开发工具,如VB、VBA、C、VC++等对Solidworks进行二次开发,建立适合用户需要的、专用的Solidworks 功能模块。
Solidworks整合了VBA编辑器,这个编辑器可以进行宏与二次开发的制作。开始Solidworks编程的最快方式就是录制宏。
宏可以记录用户的操作将其记录为一系列Solidworks API的调用。在Solidworks“工具”菜单“宏”中有运行、录制、新建、编辑等选项。 我们通过“录制”来构建程序的基本框架,但是直接录制的宏程序的可用性很差,我们需要对它进行一些合理的优化,清理多余的语句,所以在录制完成宏之后需要编辑它。 编辑宏的时候,选择“工具”菜单“宏”中的“编辑”,此时提示你选择要编辑的宏文件(swp文件)。选择后进入编辑界面。
2.调用的API相关对象
ModelDoc2::GetPathName:该方法可以获取模型的完整路径。
ModelDoc2::SelectionManager:这个属性使当前所选对象可用。
View::ReferencedDocument:这个属性可引用模型视图的模型。
View::GetReferencedModelName:这个属性可获取模型视图的模型名称。
SldWorks::OpenDoc6:这个方法可以打开一个现有文档。
CustomPropertyManager Object:这个对象允许访问自定义属性。
Configuration Object:这个对象允许你访问模型配置。
3.实现方法步骤
我们从基础环境的设置、模型的定位、窗体的创建、属性值和模型配置遍历、属性值和配置的复制及配置表的定义这些模块来是实现工程图出图效率优化。
3.1.基础环境设置:包括变量和对象类型的定义
3.2.模型的定位:定位工程图模型视图的模型
未选中,提示视图未选中退出。
3.3.窗体的创建:绘制窗体和添加所需控件
选中模型视图,调用窗体。
3.4.属性值和模型配置遍历:遍历模型配置和文档属性值,并保存到数组变量中。
3.5.属性值和配置的复制及配置表的定义:对数组变量中的配置和文档属性值进行条件判断,符合条件的复制到工程图属性中。有多配置的,定义配置表格式输出到工程图。
3.6.所有模块编辑完成,保存。在Solidworks“工具”菜单“宏”中有“运行”宏即可,也可通过自定义命令宏按钮,在工具栏中添加快捷宏按钮运行。
四、结语
综上,我们通过研究,结合企业的实际需求,开发了一个新的Solidworks功能模块,此模块生成的VBA程序可以通过调用API实现工程图出图的自动化,完成快速出图的效果,提高工程图出图效率,让研发人员更多的精力集中在设计而不是出图工作中。同样,企业可以结合其他工作需求,对Solidworks进行二次开发,定制出更符合企业需求的功能模块,用于提高企业的研发效率。
参考文献:
[1] 陈超祥,胡其登. SolidWorks工程图教程[M].北京:机械工业出版社,2012.
[2] SolidWorks公司 . SolidWorks API二次开发[M].北京:机械工业出版社,2005.
作者简介:
周明伟(1982-),男,籍贯(省、市):安徽省砀山县,当前职务:工程师,当前职称:助理工程师,学历:本科,研究方向:机械行业信息化。
关键词:Solidworks API 工程图 文件属性 配置表 效率
Solidworks是当今比较领先的、主流的三维CAD解决方案,特点是功能强大、易学易用和技术创新。Solidworks 能够提供不同的设计方案、减少设计过程中的错误以及提高产品质量。Solidworks 不仅提供如此强大的功能,同时对每个工程师和设计者来说,操作简单方便、易学易用。同时Solidworks还提供了功能强大的API接口程序模块,使得用户可以进行定制化的二次开发。
一、企业用户的需求
1.工程图与PLM系统的集成
有些企业的PLM系统,需要集成工程图的文件属性来创建和管理工程图文档,但是Solidworks在工程图的文件属性方面,无法实现模型文件属性与工程图文件属性的同步联动,那么就导致工程师和设计者们必须手工维护工程图中的文件属性以满足PLM系统对于工程图文档的管理需求。
一般企业都会根据各自的实际情况定制各自工程图文档的属性模板。这些模板包括一些基本的设计信息,如零件名称、零件代号、材料以及设计人员和设计日期等。对于Solidworks来说,模型文档的文件属性是可以与工程图的文档标题栏关联的,但是对于工程图的文档属性就无能为力,这些内容如果在工程图中一一进行编写和修改,其工作量是很大的,并且这种处理方法也不利于保证设计信息的一致性,对模型文件(零件或装配体文件)和图纸文件(工程图)的管理来讲是脱节的。
2.工程图多配置方案的处理
Solidworks提供了一种配置功能。通过配置让您可以在单一的文件中对零件或装配体生成多个设计变化。配置提供了简便的方法来开发与管理一组有着不同尺寸、零部件、或其他参数的模型。在工程图文档中,您可显示您在零件和装配体文档中所生成的配置的视图。配置功能对于有多配置需求的用户来说,极大地提高了Solidworks的建模效率,但是在工程图文档中,你必须自己经过一系列的设置来生成和显示你需要的配置表,这无形中使得配置功能在出图的过程中效率大打折扣。
二、理论基础
Solidworks在提供了强大的三维建模功能的同时,Solidworks软件本身支持OLE ( Object Linking and Embedding,对象连接与嵌人)的通用标准,完全实现了OLE自动化。作为一个自身的OLE服务器,Solidworks提供了大量的OLE对象,以及这些对象所拥有的方法和属性。用户通过自定义开发软件操控这些OLE对象及其方法和属性的操作。而Solidworks API(Application Programming Interface)是Solidworks的OLE应用程序开发接口,可以通过支持OLE编程的工具,调用这些API,创建用户专用的Solidworks自定义软件,将Solidworks中一些重复单调或者规则明确的操作使用程序语言描述,通过简单的人机交互,让计算机自己来完成此类工作,改善自己的工作,提高工作效率和质量。
Solidworks提供了极其丰富的API,并且有很完善的帮助系统。我们可以使用 Microsoft VBA编写Solidworks Macros或者使用其他编程环境编写Standalone and Add-in Applications。(使用visual studio到.NET都可以)在SW的API幫助中我们可以很明了的查看API调用语法及相关的示例代码。
三、基于SolidWorks API的工程图二次开发
1.SolidWorks的二次开发工具
Solidworks API是Solidworks的OLE应用程序开发接口,用户可以利用它和支持OLE编程的开发工具,如VB、VBA、C、VC++等对Solidworks进行二次开发,建立适合用户需要的、专用的Solidworks 功能模块。
Solidworks整合了VBA编辑器,这个编辑器可以进行宏与二次开发的制作。开始Solidworks编程的最快方式就是录制宏。
宏可以记录用户的操作将其记录为一系列Solidworks API的调用。在Solidworks“工具”菜单“宏”中有运行、录制、新建、编辑等选项。 我们通过“录制”来构建程序的基本框架,但是直接录制的宏程序的可用性很差,我们需要对它进行一些合理的优化,清理多余的语句,所以在录制完成宏之后需要编辑它。 编辑宏的时候,选择“工具”菜单“宏”中的“编辑”,此时提示你选择要编辑的宏文件(swp文件)。选择后进入编辑界面。
2.调用的API相关对象
ModelDoc2::GetPathName:该方法可以获取模型的完整路径。
ModelDoc2::SelectionManager:这个属性使当前所选对象可用。
View::ReferencedDocument:这个属性可引用模型视图的模型。
View::GetReferencedModelName:这个属性可获取模型视图的模型名称。
SldWorks::OpenDoc6:这个方法可以打开一个现有文档。
CustomPropertyManager Object:这个对象允许访问自定义属性。
Configuration Object:这个对象允许你访问模型配置。
3.实现方法步骤
我们从基础环境的设置、模型的定位、窗体的创建、属性值和模型配置遍历、属性值和配置的复制及配置表的定义这些模块来是实现工程图出图效率优化。
3.1.基础环境设置:包括变量和对象类型的定义
3.2.模型的定位:定位工程图模型视图的模型
未选中,提示视图未选中退出。
3.3.窗体的创建:绘制窗体和添加所需控件
选中模型视图,调用窗体。
3.4.属性值和模型配置遍历:遍历模型配置和文档属性值,并保存到数组变量中。
3.5.属性值和配置的复制及配置表的定义:对数组变量中的配置和文档属性值进行条件判断,符合条件的复制到工程图属性中。有多配置的,定义配置表格式输出到工程图。
3.6.所有模块编辑完成,保存。在Solidworks“工具”菜单“宏”中有“运行”宏即可,也可通过自定义命令宏按钮,在工具栏中添加快捷宏按钮运行。
四、结语
综上,我们通过研究,结合企业的实际需求,开发了一个新的Solidworks功能模块,此模块生成的VBA程序可以通过调用API实现工程图出图的自动化,完成快速出图的效果,提高工程图出图效率,让研发人员更多的精力集中在设计而不是出图工作中。同样,企业可以结合其他工作需求,对Solidworks进行二次开发,定制出更符合企业需求的功能模块,用于提高企业的研发效率。
参考文献:
[1] 陈超祥,胡其登. SolidWorks工程图教程[M].北京:机械工业出版社,2012.
[2] SolidWorks公司 . SolidWorks API二次开发[M].北京:机械工业出版社,2005.
作者简介:
周明伟(1982-),男,籍贯(省、市):安徽省砀山县,当前职务:工程师,当前职称:助理工程师,学历:本科,研究方向:机械行业信息化。