标题: 宏:焊件切割清单中自动增加『单重』和『总重』的属性+3!(限額5位) [打印本页] 作者: zhengwust 时间: 2009-12-15 00:31 标题: 宏:焊件切割清单中自动增加『单重』和『总重』的属性+3!(限額5位) 如果用过焊件,相信必会感到再加上重量属性时非常不便,
相关帖子:SolidWorks机械工程师论坛 92楼的例子
如果焊件切割清单中存在100项的话,就要分别增加重量属性100次了,
一旦面对设变,那就更糟糕透了。
只要采取一些二次开发的伎俩,编写一个简单的宏,
每次更新的时候运行一下,那就无后顾之忧了。
如有谁人可以顺利应用并展示效果,加三分起!(限額5位)
Option Explicit
Dim swApp As SldWorks.SldWorks
Dim Part As SldWorks.ModelDoc2
Dim thisFeat As SldWorks.feature
Dim thisSubFeat As SldWorks.feature
Dim cutFolder As Object
Dim BodyCount As Integer
Dim fn As String
Dim pn As String
Dim custPropMgr As SldWorks.CustomPropertyManager
Dim propNames As Variant
Dim vName As Variant
Dim propName As String
Dim Value As String
Dim resolvedValue As String
Dim TotalW As Double
Sub main()
Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc
Set thisFeat = Part.FirstFeature
Do While Not thisFeat Is Nothing
If thisFeat.GetTypeName = "SolidBodyFolder" Then
thisFeat.GetSpecificFeature2.UpdateCutList
End If
Set thisSubFeat = thisFeat.GetFirstSubFeature
Do While Not thisSubFeat Is Nothing
If thisSubFeat.GetTypeName = "CutListFolder" Then
Set cutFolder = thisSubFeat.GetSpecificFeature2
End If
If Not cutFolder Is Nothing Then
BodyCount = cutFolder.GetBodyCount
If BodyCount > 0 Then
Set custPropMgr = thisSubFeat.CustomPropertyManager
If Not custPropMgr Is Nothing Then
custPropMgr.Delete "Total Weight"
custPropMgr.Delete "Weight"
fn = thisSubFeat.Name
pn = Part.GetTitle
custPropMgr.Add "Weight", "Text", Chr(34) & "SW-Mass@@@" & fn & "@" & pn & Chr(34)
propNames = custPropMgr.GetNames
If Not IsEmpty(propNames) Then
For Each vName In propNames
propName = vName
custPropMgr.Get2 propName, Value, resolvedValue
If propName = "Weight" Then TotalW = resolvedValue
Next vName
End If
custPropMgr.Add "Total Weight", "Text", Format(BodyCount * TotalW, "0.00")
End If
End If
End If
Set thisSubFeat = thisSubFeat.GetNextSubFeature
Loop
Set thisFeat = thisFeat.GetNextFeature
Loop
End Sub作者: cslanyue 时间: 2009-12-15 00:31
顶大侠 教程 谢谢教学 二次开发不懂作者: blueskypw 时间: 2009-12-15 00:31
只有顶顶了,不懂红作者: 霭630 时间: 2009-12-15 00:31
回帖,顶一下看作者: 春桃1723 时间: 2009-12-15 00:32
顶大侠师作者: gum 时间: 2009-12-15 00:32
俺也不懂宏作者: heart001 时间: 2009-12-15 00:33 宏就那么难?学习啊作者: konge 时间: 2009-12-15 00:33
不会吧,S大不是已经参加了ICT举办的二次开发技术交流会吗?怎么还会说不懂啊?
其实也不需要懂得什么,要尝试,只要复制内码到VBA编辑器即可运行,这是基本功啊。
由版主带头说不懂,这是不良现象,菜鸟们更会大条理由要求喂食。作者: only75203 时间: 2009-12-15 00:33
不好意思,我试下子作者: lbsuwjwwak 时间: 2009-12-15 00:33
学习学习再学习作者: clarkbigpie 时间: 2009-12-15 00:33
如此回复!!!!作者: sgxap 时间: 2009-12-15 00:34
学习一下,谢谢作者: 凄凄切切 时间: 2009-12-15 00:34
copy/paste/run