Kurze Frage, ist es möglich, alle Teile, Baugruppen und Unterbaugruppen einfach nach dem Öffnen eines Schritts zu reparieren, für die 1. Ebene keine Sorgen, aber dann müssen Sie bereitstellen und öffnen, um zu reparieren. Es muss sicher etwas geben, aber ich kann es nicht finden.
Option Explicit
Dim swApp As SldWorks.SldWorks
Sub main()
Dim swModel As ModelDoc2
Dim swAssy As AssemblyDoc
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swAssy = swModel
TransverseComponents swAssy
swApp.SendMsgToUser "Terminé" & Chr(10) & ":-)"
swAssy.ForceRebuild2 (True)
End Sub
Sub TransverseComponents(swAssy As AssemblyDoc)
Dim vComponents As Variant
Dim i As Integer
Dim swComponent As Component2
Dim swModel As ModelDoc2
Dim swAssembly As AssemblyDoc
vComponents = swAssy.GetComponents(True)
For i = 0 To UBound(vComponents)
Set swComponent = vComponents(i)
Set swModel = swComponent.GetModelDoc2
Debug.Print swComponent.Name2
swComponent.Select4 False, Nothing, False
swAssy.FixComponent
If Not swModel Is Nothing Then
If swModel.GetType = swDocASSEMBLY Then
Set swAssembly = swModel
TransverseComponents swAssembly
End If
End If
Next i
End Sub
Ich habe es gerade mit SW19 verwendet und die Teile sind nicht fixiert, nur die Sets und S/Sets. Habe ich etwas übersehen, ist es ein Versionsproblem oder ist es normal?
@stefbeno, bei meinen ersten Einsätzen hatte ich nicht aufgepasst, aber nachdem ich es zwei- oder dreimal ausgeführt hatte, war das PRT repariert. Vielleicht ein kleiner Bug aufgrund der neuen Versionen, weil ich im Jahr 2020 bin. Vielleicht schaust du mal mit @remrem,ob er diesen Bug auch bemerkt hat?