Petite question, est-il possible de fixer toutes les pièces et assemblages et sous assemblages simplement après avoir ouvert un STEP, pour le 1er niveau pas de soucis mais après il faut déployer et ouvrir pour fixer. Il doit sûrement exister un truc mais là je ne trouve pas.
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
Je viens de l'utiliser avec SW19 et les pièces ne sont pas fixées, seulement les ensembles et s/ensembles. Ai-je loupé quelque chose, est-ce un problème de version ou est-ce normal ?
@stefbeno, lors de mes premières utilisations je n'avais pas fait attention mais après l'avoir lancer deux ou trois fois les prt étaient fixé. Peut-être un petit bug dû aux nouvelles versions car moi je suis sous 2020. Peut-être voir avec @remrems'il a aussi remarqué ce bug?