Ctrl +q sut tout les pièces de mon asm

Bonjour;

Je fais appel à vous car j’ai un souci de reconstruction de mes pièces j’explique.J

’ai un assemblage constitué de x pièces.Certaines valeurs de ses pièces sont piloté depuis le tableau de propriété.

Je peux donc depuis l’assemblage intervenir sur chaque pièce pour modifier les valeurs.

Mon souci c’est la prise en compte de ses nouvelles valeurs je suis obligé d’ouvrir chaque pièce une par une faire un ctrl+q  puis fichier enregistrer ça c'est pas cool.

y a t il une solution pour automatiser le ctrl+q sur tout les pièces de mon asm.

merci.

que la force soit avec vous.

 

Bonjour OBI WAN;

As-tu essayé le CTRL+SHIFT+Q ? C'est censé forcer les reconstructions dans toutes les Configuration....
Attention, dans le descriptif de ce raccourci ,Solidworks lui-même met en garde , je site, sur "le temps considérable" que peut prendre ces reconstructions.

As-tu essayé de basculer ton assemblage en mode allégé puis de le rétablir en mode Résolu ?

Si ce n'est pas suffisant, je pense qu'il faut s'orienter vers une macro.

Cordialement

Nota : tu n'aurais pas double-posté par hasard ?....

3 « J'aime »

@Maclane 

Merci pour ton intervention  mais ça ne fonctonne pas  sniif.

possible qu ça soit poste 2 fois mais lors de la création du poste il n'est pas apparu dans le fil d'actualité j'ai donc fais un second poste et curieusement je n'en vois qu'un c'est bizard.

que la force soit avec toi.

J'ai déniché une macro dans l'aides des API solidworks pour basculer tous les éléments d'un assemblage entre le mode allégé (Lightweight) et le mode Résolu (Resolved);
Je la livre tel quel : (attention le traitement est très long pour de gros assemblages).
A tester .....

'-----------------------------------------------
' Preconditions:
' 1. Open an assembly.
' 2. Open the Immediate window.
'
' Postconditions:
' 1. Sets all assembly components to either
'    lightweight or fully resolved.
' 2. Examine the FeatureManager design tree
'    and Immediate window.
'----------------------------------------------
Option Explicit

Sub ProcessComponent(swApp As SldWorks.SldWorks, swModel As SldWorks.ModelDoc2, swComp As SldWorks.Component2, swComponentSuppressionState As swComponentSuppressionState_e, sPadStr As String)

    Dim vChildCompArr As Variant
    Dim vChildComp As Variant
    Dim swChildComp As SldWorks.Component2
    Dim nRetVal As Long

    vChildCompArr = swComp.GetChildren
    For Each vChildComp In vChildCompArr
        Set swChildComp = vChildComp
        nRetVal = swChildComp.SetSuppression2(swComponentSuppressionState)
        Debug.Print sPadStr & swChildComp.Name2 & " <" & swChildComp.ReferencedConfiguration & "> --> " & swChildComp.GetPathName
        ProcessComponent swApp, swModel, swChildComp, swComponentSuppressionState, sPadStr + "  "
    Next vChildComp

 End Sub

Sub main()

    Dim swApp As SldWorks.SldWorks
    Dim swModel As SldWorks.ModelDoc2
    Dim swFeatMgr As SldWorks.FeatureManager
    Dim swConfigMgr As SldWorks.ConfigurationManager
    Dim swConfig As SldWorks.Configuration
    Dim swRootComp As SldWorks.Component2
    Dim bRet As Boolean
    Dim nSuppressState As Long
    Dim nResponse As Long

    nResponse = MsgBox("Set all components to lightweight or resolved (Yes = Lightweight; No = Resolved)?", vbYesNo)
    If nResponse = vbYes Then
        nSuppressState = swComponentLightweight
    Else
        nSuppressState = swComponentFullyResolved
    End If

    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
    Set swFeatMgr = swModel.FeatureManager
    Set swConfigMgr = swModel.ConfigurationManager
    Set swConfig = swConfigMgr.ActiveConfiguration
    Set swRootComp = swConfig.GetRootComponent3(True)
    swFeatMgr.EnableFeatureTree = False

    Debug.Print "File = " & swModel.GetPathName

    ProcessComponent swApp, swModel, swRootComp, nSuppressState, "  "

    swFeatMgr.EnableFeatureTree = True

End Sub

Source : https://help.solidworks.com/2020/set_all_assembly_components_lightweight_or_resolved_example_vb.htm
Je gage que nous amis spécialisé dans les macro se feront un "plaisir" de l'adapter à ton besoins....

Cordialement.

2 « J'aime »

Regarde si cette Macro SW2013 fonctionne encore car elle semble faire le job.

https://www.3dcontentcentral.com/macros/Macro.aspx?id=191419


rebuildnsaveallparts.swp
3 « J'aime »

@sbadenis 

nickel la macro marche du toner elle fait le job c'est exactement ce  qu'il me fallait.

un mystère de résolu.

merci aux participants  merci le forum.

que la force soit avec toi.

 

1 « J'aime »

Bonjour, 

J'essaye de suivre, le tableau de propriétés c'est bien l'outil équation non ! :S

1 « J'aime »

@ Lynk

Bonjour,

non pas les équations, je parle bien du tableau de propriétés.

regarde le tuto de notre amis @a.leblanc  c'est intéressant.

https://www.lynkoa.com/contenu/piloter-des-dimensions-avec-les-propri%C3%A9t%C3%A9s-personnalis%C3%A9es-de-pi%C3%A8ces-0

que la force soit avec toi.

 

 

2 « J'aime »

@OBI WAN je pense que @Lynk a raison, même si tu passe par les propriétés cela te créer une équation dès que tu met le symbole = dans une côte.

Il suffit de regarder à la fin du tuto précédemment cité de @a.leblanc quand il ajoute la suppression il ouvre bien la fenêtre équation et on retrouve les différentes valeurs ajoutées précédemment.

1 « J'aime »

@sbadenis 

yes effectivement  pas faux ,  je voulais dire c'est que mes valeur je les tapes dans le tableau de propriétés qui effectivement sont en relations avec les équations.

j'utilise cette façon de faire car on numérote les tôles pour faciliter le montage. le 1 en face du 1 ect...

donc de rentrer les n° depuis l'assemblage c'est bien plus simple et rapide.

que la force soit avec toi.

 

2 « J'aime »

Bonjour @.

Je savais pas qu'on pouvait utiliser le formulaire de propriétés de tel façon, merci pour l'info. 

3 « J'aime »