Fixer prt-asm lors de l'ouverture d'un STEP

Bonjour les collègues,

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.

Merci d'avance

1 « J'aime »

Salut,
J'utilise la macro en pièce jointe ;-)

Voici le code :

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

 


fixer_ensembles_et_sous_ensembles.swp
2 « J'aime »

La class, merciiiiiiiiiiiiii. Elle fonctionne super bien.

2 « J'aime »

Bonsoir,

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 @remrem s'il a aussi remarqué ce bug?

1 « J'aime »