SolidWorks API二次开发的应用
来源:这里教程网
时间:2026-02-17 10:43:23
作者:
二、自定义属性Cpbom 为了更大程度地提高工作效率,我们利用VB6.0通过SolidWorks API建立了自定义属性设置程序--Cpbom,这个程序通过一个对话界面直接对当前模型文件的当前配置进行添加或修改,其基本功能如下:
☆ 针对配置添加模型文件的自定义属性;
☆ 设置的项目包括:零件代号、材料名称、后处理、设计者姓名、设计日期;
☆ 确定自定义属性后,自动保存文件;如当前文件还没有保存,提示文件保存路径和文件名称;
☆ 针对装配文件,可以选择是否删除"材料"和"后处理"两个属性。本程序利用VB进行编译生成可执行文件。自定义属性界面 "自定义属性"程序就是通过SolidWorks API对当前模型文件中当前配置的自定义属性的名称和值进行"读"和"写"的操作,程序非常简单,这里介绍一下该程序中用到的一些SolidWorks API的对象和方法。
1.SolidWorks对象这里指的是SolidWorks API的最高级别的对象。通过该对象可以控制SolidWorks软件的执行或退出,以及SolidWorks文件的建立、打开、关闭等操作。在VB中利用CreateObject方法来获得SolidWorks对象,利用该对象的activedoc方法可以获得当前SolidWorks文件对象,文件对象为空时,表示SolidWorks 没有打开任何文件。
Dim swApp As ObjectDim
activeDocument As ObjectSet swApp=CreateObject(\\\"SldWorks.Application\\\")
Set activeDocument = swApp.activedocIf (activeDocument Is Nothing) Then Dim Msg, Style, title Style = vbExclamation
title = \\\"模型自定义属性\\\"
Msg = \\\"请首先打开一个Solidworks模型文件\\\"
Call MsgBox(Msg, Style, title) " Display error message
End
End If
2.获取当前文件信息自定义属性程序是对模型文件设置自定义属性,与工程图文件无关,因此需要利用GetType方法获得当前文件的类型,并利用Gettitle()方法和Getpathname()方法获得当前文件的名称和存盘路径。
Dim docType As LongDim
docName As StringDim
filename As StringDim
FilePath as StringdocType = activeDocument.
GetTypeIf (docType = swDocPART)
Then docName = \\\"零件\\\"With CPbomfrm .deldescription.Enabled = False .delmaterial.Enabled = FalseEnd With Picture5.Picture = Picture3.Picture
ElseIf (docType = swDocASSEMBLY) Then docName = \\\"装配\\\" Picture5.Picture = Picture2.Picture
ElseIf (docType = swDocDRAWING) Then Style = vbExclamation Msg = \\\"当前文件是工程图文件,请打开零件或装配文件\\\"
Call MsgBox(Msg, Style, title) " Display error message
End
End
If filename = activeDocument.GETTITLE()
FilePath = activeDocument.getpathname()
3.获取文件配置名称SolidWorks API提供了按照配置名称访问自定义属性的方法--CustomInfo2(读取自定义属性的值)、deletecustominfo2(删除指定的自定义属性)、ADDcustominfo3(添加自定义属性的名称和参数值),这些方法都要求指定文件的配置名称。因此,为了对当前模型文件和当前配置设定自定义属性,必须首先要获得当前配置的名称,利用GetActiveConfiguration()方法可以获得当前模型文件配置的对象,并利用Name方法获得当前配置的名称。
Dim ConfName As StringSet
CurCFG = activeDocument.GetActiveConfiguration()
ConfName = CurCFG.Name
4.按照配置访问自定义属性在本程序中,笔者对于指定配置的属性设置按照如下的步骤:
(1)按照配置名称读取文件中的自定义属性值,并赋值于相应的文本框;
(2)判定当前文件和当前配置是否已经改变,如其中之一发生变化,则提示错误信息;
(3)根据配置名称删除指定的自定义属性;
(4)将相应文本框中的内容按照配置名称添加到模型文件自定义属性名称和参数值。下面对上述控制配置自定义属性的三种方法加以介绍。
☆ CustomInfo2:获取或设置当前文档指定配置的自定义属性的值。
value = ModelDoc.CustomInfo2 (configuration, fieldName)
其中,configuration为配置名称;
fieldName为自定义属性的名称。
☆ deletecustominfo2:删除当前文档指定配置的自定义属性的值
retval = ModelDoc.DeleteCustomInfo2(configuration, FieldName )
☆ ADDcustominfo3:向当前文档中指定的配置添加自定义属性以及值
retval = ModelDoc.AddCustomInfo3 ( configuration, FieldName, FieldType, FieldValue )
其中,FieldType为自定义属性的类型;FieldValue为自定义属性的值。
下面这段代码是单击"确定"的子程序,为了简单,只给出了其中一个自定义属性的处理过程。
Private Sub cmd_OK_Click()On Error GoTo ERR_91
Dim swApp2 As ObjectDim
activeDocument2 As ObjectDim
curcfg2 As ObjectDim
cfgname2 As StringDim
retval As BooleanSet
swApp2 = CreateObject(\\\"SldWorks.Application\\\")
Set activeDocument2 = swApp2.activedoc
Set curcfg2 = activeDocument2.GetActiveConfiguration()
cfgname2 = curcfg2.Name" 判断文件或配置是否改变,如改变,则提示错误。
If cfgname2 = ConfName And FilePath = activeDocument2.getpathname() Then " 删除属性设置
retval = activeDocument2.deletecustominfo2(ConfName, \\\"PartID\\\")" 添加属性
retval = activeDocument2.ADDcustominfo3(ConfName, \\\"PartID\\\", swCustomInfoText, frmPartID) " 保存文件
retval = activeDocument2.Save()
Else Style = vbExclamation
title = \\\"模型自定义属性\\\"
Msg = \\\"错误:打开的文件或配置已经改变!\\\" & Chr(10) & \\\"请重新执行本程序\\\"
Call MsgBox(Msg, Style, title)
End
End
IfERR_91: Style = vbExclamation title = \\\"模型自定义属性\\\"
Msg = \\\"程序运行错误,文件可能已经关闭\\\" & Chr(10) & \\\"自定义属性无法添加,单击确定退出!\\\"
Call MsgBox(Msg, Style, title)
End
End Sub
三、在SolidWorks界面中执行应用程序对于使用VB编译的EXE、DLL文件,目前SolidWorks还不能直接支持这些文件作为插件使用,如果要在SolidWorks 中直接调用通过VB编译的可执行程序,可以使用SolidWorks"宏"操作来进行。利用"宏"在SolidWorks界面中添加指定的应用程序后,就好像SolidWorks调用了自身的功能一样,利用类似的方法,可以在SolidWorks添加任何可执行的文件。下面利用"自定义属性"程序来说明一下步骤。1.建立"宏"文件在SolidWorks中,我们利用录制并修改"宏"的方法来建立所需要的"宏"文件。主要步骤如下:
(1)选择菜单"工具→宏操作→录制"。
(2)停止录制,并保存宏文件。给定文件名称,如:Cpbom.swp。
(3)选择菜单"工具→宏操作→编辑",把Cpbom.swp "宏"文件录制的内容全部删除,并输入下面的内容。
Sub main()MyAppID = Shell(\\\"C:Program FilesCPbomCPbom.exe\\\", 1) AppActivate MyAppID
End Sub
(4)保存并退出宏编辑,返回到SolidWorks环境。
2.指定"宏"操作在SolidWorks中可以指定宏命令的文件位置,并定制工具栏,将所执行的宏操作按钮添加到指定的位置上。
(1)选择菜单"工具→自定义→宏",在"自定义"对话框中单击"宏"标签。
(2)参考图4的内容添加宏,单击"应用"完成。
(3)在"自定义"对话框中单击"命令"标签,从"类别"列表框中选择"宏",将所定义的宏(第1个)的图标按钮拖到相应的工具栏中,如图5所示。
(4)单击"确定"按钮,完成宏定义和工具栏定义。
3.执行应用程序定义"宏"以后,单击相应的图标就可以在SolidWorks 中直接执行应用程序。 在SolidWorks中执行应用程序四、总结笔者利用这个"自定义属性"程序,明显提高了工作效率。需要说明的是,SolidWorks API的对象和方法十分丰富,涵盖了所有SolidWorks数据模型,这里介绍的只冰山之一角。
编辑推荐:
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 基于Solidworks三维建模的机械测绘课程设计改革与实践
基于Solidworks三维建模的机械测绘课程设计改革与实践
26-02-17 - 基于Cosmosworks截割头焊接工艺分析
基于Cosmosworks截割头焊接工艺分析
26-02-17 - Win7开机不显示桌面黑屏怎么解决?
Win7开机不显示桌面黑屏怎么解决?
26-02-17 - Photoshop鼠绘绘制可爱卡通Q版漫画的方法与技巧
Photoshop鼠绘绘制可爱卡通Q版漫画的方法与技巧
26-02-17 - 行深智能无人车千台量产下线,最新系列产品也正式亮相
行深智能无人车千台量产下线,最新系列产品也正式亮相
26-02-17 - 小马智行主动暂停加州全无人测试
小马智行主动暂停加州全无人测试
26-02-17 - 西井科技无人驾驶事业合伙人孙作雷:商用车无人驾驶的用户培育期已基本完成 | 第四届全球智能驾驶峰会
- 基于SolidWorks软件的冲压机床虚拟设计与运动仿真
基于SolidWorks软件的冲压机床虚拟设计与运动仿真
26-02-17 - Win7电脑高级系统设置打不开怎么办?
Win7电脑高级系统设置打不开怎么办?
26-02-17 - Win7电脑的音量图标不见了怎么办?Win7电脑的音量图标找回办法
Win7电脑的音量图标不见了怎么办?Win7电脑的音量图标找回办法
26-02-17
