|
materiala = swModel.GetCustomInfoNames()
这一句好象是取属性名称数组
先写一个材料的自定义属性名与值
再取出来运用。
如下本人方法:
Dim swApp As Object
Dim Part As Object
Dim swModel As Object
Dim Filename As String
'Dim Material As String
'Dim No As Integer
'Dim Nom As Integer
Dim Title As String
Sub main()
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
'Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc
Filename = Part.GetPathName()
'materiala = swModel.GetCustomInfoNames()
No = Len(Filename)
'Nom = Len(Material)
Filename = Left(Filename, No - 7)
'Material = Left(Material, Nom)
'Part.SaveAs2 Filename & "-" & Material & ".IGS", 0, True, False
Part.SaveAs2 Filename & "-" & QsxZh & ".IGS", 0, True, False
Title = Part.GetTitle
Set Part = Nothing
swModel.Save '保存文件
swApp.CloseDoc Title
'X = MsgBox("输出IGS文件在SW工程图同一文件夹", 0)
End Sub
Private Function QsxZh() As String '取属性值
Dim retval() As String '自定义属性集合
Dim i As Integer
Dim Ming As String '属性名
Dim Zdysxz As String '自定义值
Dim blnretval As String
Dim XrZh As String '写入值
XrZh = Chr(34) & "SW-Material@" & "part" & ".sldprt" & Chr(34)
blnretval = Part.AddCustomInfo3("", "temp", swCustomInfoText, XrZh) '写入自定义属性临时名称与值
retval = Part.GetCustomInfoNames2("") '读出自定义属性名称集合
For i = 0 To UBound(retval)
Zdysxz = Part.GetCustomInfoValue("", retval(i)) '读出自定义值
QsxZh = Zdysxz
Next
blnretval = Part.DeleteCustomInfo2("", "temp") '删除自定义属性临时名称
End Function
复制代码
另存IGS.rar
(15.24 KB, 下载次数: 97)
|
|