|
找到一段宏,但我试了没反应,有没有大神看看哪里的问题
- Option Explicit
- Dim swApp As SldWorks.SldWorks
- Dim Part As ModelDoc2
- Dim boolstatus As Boolean
- Dim longstatus As Long, longwarnings As Long
- Dim cmd As String
- Dim swComs As Variant
- Dim swAsm As AssemblyDoc
- Dim i As Integer
- Dim swComp As Component2
- Dim vcompfs As Variant
- Dim vswtrans As Variant
- Sub main()
- Set swApp = Application.SldWorks
- Set Part = swApp.ActiveDoc
- If Part Is Nothing Then
- MsgBox ("当前没有文件!")
- Exit Sub
- End If
- If Part.GetType <> 2 Then
- MsgBox ("当前文件不是装配体文件!")
- Exit Sub
- End If
- Set swAsm = Part
- swComs = swAsm.GetComponents(False)
- '将所有透明零件返回不透明
- Part.ClearSelection2 True
- If Not IsEmpty(swComs) Then
- For i = 0 To UBound(swComs)
- Set swComp = swComs(i)
- vswtrans = swComp.GetMaterialPropertyValues2(1, vcompfs)
- If vswtrans(7) = 0.75 Then
- boolstatus = Part.Extension.SelectByID2(swComp.Name2, "COMPONENT", 0, 0, 0, True, 0, Nothing, 0)
- End If
- Next i
- End If
- boolstatus = Part.SetComponentTransparent(False)
- Part.ClearSelection2 True
- End Sub
复制代码 |
|