模型文件的自定义属性设置Word文件下载.docx
《模型文件的自定义属性设置Word文件下载.docx》由会员分享,可在线阅读,更多相关《模型文件的自定义属性设置Word文件下载.docx(10页珍藏版)》请在冰豆网上搜索。
零件名称
无
采用模型名称,即保存模型文件的文件名称,这样工程图的文件名可以自动默认为模型的文件名称
材料
Material
零件的材料,对装配图是可选项
后处理
Description
零件的后处理情况,对装配图是可选项
设计人员
DesignedBy
图纸设计人员姓名
设计日期
DesignedDate
图纸完成日期
采用这样的方法处理以后,需要在工程图格式文件的相应位置建立包含这些变量的注释文本即可。
同时,对于材料明细表模板进行修改或建立新的明细表模板就可以在装配图中的材料明细表中显示所需要的设计信息(工程图格式文件的定义和材料明细表模板的定义,请参阅《SolidWorks2001中文版实用技术精粹》一书)。
因此,无论何时需要修改设计信息,只需在SolidWorks中打开相应的模型文件,修改指定配置的属性就可以实现。
然而,即使采用的这样的处理方法,在修改文件当前配置的属性时仍然显得有些繁琐,能否为SolidWorks建立一个工作界面,可以更加方便地添加和修改这些信息就成了问题的关键。
二、自定义属性Cpbom
为了更大程度地提高工作效率,我们利用VB6.0通过SolidWorksAPI建立了自定义属性设置程序——Cpbom,这个程序本程序通过一个对话界面直接对当前模型文件的当前配置添加或修改自定义属性,其基本功能如下:
∙针对配置添加模型文件的自定义属性;
∙设置的项目包括:
零件代号、材料名称、后处理、设计者姓名、设计日期;
∙确定自定义属性后,自动保存文件;
如当前文件还没有保存,提示文件保存路径和文件名称;
∙针对装配文件,可以选择是否删除“材料”和“后处理”两个属性。
∙本程序利用VB进行编译生成可执行文件,其界面如图2所示。
图2自定义属性界面
“自定义属性”程序就是通过SolidWorksAPI对当前模型文件中当前配置的自定义属性的名称和值进行“读”和“写”的操作,程序非常简单,这里介绍一下该程序中用到的一些SolidWorksAPI的对象和方法:
1.SldWorks对象:
这是SolidWorksAPI的最高级别的对象。
通过该对象可以控制SolidWorks软件的执行或退出,以及SolidWorks文件的建立、打开、关闭等操作。
在VB中利用CreateObject方法来获得SldWorks对象,利用该对象的activedoc方法可以获得当前SolidWorks文件对象,文件对象为空时,表示SolidWorks没有打开任何文件。
如:
DimswAppAsObject
DimactiveDocumentAsObject
SetswApp=CreateObject("
SldWorks.Application"
)
SetactiveDocument=swApp.activedoc
If(activeDocumentIsNothing)Then
DimMsg,Style,title
Style=vbExclamation
title="
模型自定义属性"
Msg="
请首先打开一个Solidworks模型文件"
CallMsgBox(Msg,Style,title)'
Displayerrormessage
End
EndIf
2.获取当前文件信息
自定义属性程序是对模型文件设置自定义属性,与工程图文件无关,因此需要利用GetType方法获得当前文件的类型,并利用Gettitle()方法和Getpathname()方法获得当前文件的名称和存盘路径。
DimdocTypeAsLong
DimdocNameAsString
DimfilenameAsString
DimFilePathasString
docType=activeDocument.GetType
If(docType=swDocPART)Then
docName="
零件"
WithCPbomfrm
.deldescription.Enabled=False
.delmaterial.Enabled=False
EndWith
Picture5.Picture=Picture3.Picture
ElseIf(docType=swDocASSEMBLY)Then
装配"
Picture5.Picture=Picture2.Picture
ElseIf(docType=swDocDRAWING)Then
Style=vbExclamation
当前文件是工程图文件,请打开零件或装配文件"
filename=activeDocument.GETTITLE()
FilePath=activeDocument.getpathname()
3.获取文件配置名称
SolidWorksAPI提供了按照配置名称访问自定义属性的方法——CustomInfo2(读取自定义属性的值)、deletecustominfo2(删除指定的自定义属性)、ADDcustominfo3(添加自定义属性的名称和参数值),这些方法都要求指定文件的配置名称。
因此,为了对当前模型文件当前配置设定自定义属性,必须首先要获得当前配置的名称,
利用GetActiveConfiguration()方法可以获得当前模型文件配置的对象,并利用Name方法获得当前配置的名称,如:
DimConfNameAsString
SetCurCFG=activeDocument.GetActiveConfiguration()
ConfName=CurCFG.Name
4.按照配置访问自定义属性
在本程序中,我们对于指定配置的属性设置按照如下的步骤:
1)按照配置名称读取文件中的自定义属性值,并赋值于相应的文本框;
2)判定当前文件和当前配置是否已经改变,如其中之一发生变化,则提示错误信息;
3)根据配置名称删除指定的自定义属性;
4)将相应文本框中的内容按照配置名称添加到模型文件自定义属性名称和参数值。
下面说明一下上述控制配置自定义属性的三种方法:
lCustomInfo2:
获取或设置当前文档指定配置的自定义属性的值
value=ModelDoc.CustomInfo2(configuration,fieldName)
其中:
configuration为配置名称;
fieldName为自定义属性的名称;
ldeletecustominfo2:
删除当前文档指定配置的自定义属性的值
retval=ModelDoc.DeleteCustomInfo2(configuration,FieldName)
lADDcustominfo3:
向当前文档中指定的配置添加自定义属性以及值
retval=ModelDoc.AddCustomInfo3(configuration,FieldName,FieldType,FieldValue)
FieldType为自定义属性的类型
FieldValue为自定义属性的值
下面这段代码是单击“确定”的子程序,为了简单起见,只给出了其中一个自定义属性的处理过程。
PrivateSubcmd_OK_Click()
OnErrorGoToERR_91
DimswApp2AsObject
DimactiveDocument2AsObject
Dimcurcfg2AsObject
Dimcfgname2AsString
DimretvalAsBoolean
SetswApp2=CreateObject("
SetactiveDocument2=swApp2.activedoc
Setcurcfg2=activeDocument2.GetActiveConfiguration()
cfgname2=curcfg2.Name
'
判断文件或配置是否改变,如改变,则提示错误。
Ifcfgname2=ConfNameAndFilePath=activeDocument2.getpathname()Then
删除属性设置
retval=activeDocument2.deletecustominfo2(ConfName,"
PartID"
添加属性
retval=activeDocument2.ADDcustominfo3(ConfName,"
swCustomInfoText,frmPartID)
保存文件
retval=activeDocument2.Save()
Else
错误:
打开的文件或配置已经改变!
"
&
Chr(10)&
"
请重新执行本程序"
CallMsgBox(Msg,Style,title)
ERR_91:
程序运行错误,文件可能已经关闭"
自定义属性无法添加,单击确定退出!
EndSub
三、在SolidWorks界面中执行应用程序
对于使用VB编译的EXE,DLL文件,目前SolidWorks还不能直接支持这些文件作为插件使用,如果要在SolidWorks中直接调用通过VB编译的可执行程序,可以使用SolidWorks“宏”操作来进行。
利用“宏”在SolidWorks界面中添加指定的应用程序后,就好像SolidWorks调用了自身的功能一样,利用类似的方法,可以在SolidWorks添加任何可执行的文件。
下面利用“自定义属性”程序来说明一下步骤:
1.建立“宏”文件
在SolidWorks中,我们利用录制并修改“宏”的方法来建立所需要的“宏”文件。
1)选择菜单“工具/宏操作/录制”。
2)停止录制,并保存宏文件。
给定文件名称如:
Cpbom.swp。
3)选择菜单“工具/宏操作/编辑”,把Cpbom.swp“宏”文件录制的内容全部删除,并输入下面的内容,如图3所示:
4)保存并退出宏编辑,返回到SolidWorks环境。
Submain()
MyAppID=Shell("
C:
\ProgramFiles\CPbom\CPbom.exe"
1)
AppActivateMyAppID
图3编辑“宏”
2.指定“宏”操作
在SolidWorks中可以指定宏命令的文件位置,并定制工具栏,将所执行的宏操作按钮添加到指定的位置上。
1)选择菜单“工具/自定义/宏”,在“自定义”对话框中单击“宏”标签,如图4所示;
图4自定义宏操作
2)参考图4的内容添加宏,单击“应用”完成;
3)在“自定义”对话框中单击“命令”标签,从“类别”列表框中选择“宏”,将所定义的宏(第1个)的图标按钮拖到相应的工具栏中,如图5所示;
4)单击“确定”按钮,完成宏定义和工具栏定义。
图5自定义工具栏
3.执行应用程序
定义“宏”以后,单击相应的图标就可以在SolidWorks中直接执行应用程序,如图6所示。
图6在SolidWorks中执行应用程序
四、总结
我们利用这个“自定义属性”程序,明显提高了工作效率。
需要说明的是,SolidWorksAPI的对象和方法十分丰富,涵盖了所有SolidWorks数据模型,这里只介绍了其冰山之一角。
另外,程序中提及的自定义属性与企业的要求有关,大家可以通过Email(webmaster@)来索要源程序,并根据自己的需要开发适合需要的自定义属性设置程序。