|
经典图书 最近在网上得到一个宏,修改了一下,符合我们公司的使用习惯,其实就是用来分离零件名称和图号的,用“_"分开,前面部分填入物料编码属性,后面部分填入名称属性。再修改了一下,增加了材料属性,重量属性等,现在材料可以自动从零件赋予材质后,属性自动带出,但重量需要手动,不知道在宏里怎样得到重量。以下是宏的内容:
Sub main()
'link solidworks
Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc
Set SelMgr = Part.SelectionManager
swApp.ActiveDoc.ActiveView.FrameState = 1
'设定变量
c = swApp.ActiveDoc.GetTitle() '零件名
strmat = Chr(34) + Trim("SW-Material" + "@") + c + Chr(34)
blnretval = Part.DeleteCustomInfo2("", "物料编码")
blnretval = Part.DeleteCustomInfo2("", "名称")
blnretval = Part.DeleteCustomInfo2("", "图号")
blnretval = Part.DeleteCustomInfo2("", "机型")
blnretval = Part.DeleteCustomInfo2("", "数量")
blnretval = Part.DeleteCustomInfo2("", "设计")
a = InStr(c, "_") - 1 '重点:分隔标识符,这里是一个空格
If a > 0 Then
k = Left(c, a)
t = Left(LTrim(e), 3)
If t = "GBT" Then
e = "GB/T" + Mid(k, 4)
Else
e = k
End If
b = Mid(c, a + 2)
t = Right(c, 7)
If t = ".SLDPRT" Or t = ".SLDASM" Then
j = Len(b) - 7
Else
j = Len(b)
End If
m = Left(b, j)
End If
blnretval = Part.AddCustomInfo3("", "物料编码", swCustomInfoText, e) '代号
blnretval = Part.AddCustomInfo3("", "名称", swCustomInfoText, m) '名称
blnretval = Part.AddCustomInfo3("", "图号", swCustomInfoText, " ")
blnretval = Part.AddCustomInfo3("", "机型", swCustomInfoText, " ")
blnretval = Part.AddCustomInfo3("", "材料", swCustomInfoText, strmat)
blnretval = Part.AddCustomInfo3("", "重量", swCustomInfoText, " ")
blnretval = Part.AddCustomInfo3("", "数量", swCustomInfoText, " ")
blnretval = Part.AddCustomInfo3("", "设计", swCustomInfoText, " ")
End Sub 根据梁大提供的修改方案,已经修改好,下面放出最终版的宏,希望对大家有帮助。自定义属性可以自行修改,分隔符"_"可以根据自己的习惯修改为空格或这个其它符号。再次感谢梁大!
图号分离(最终版).rar
(8.66 KB, 下载次数: 208)
|
|