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.
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 ?....
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.
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
@OBI WANje pense que @Lynka 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.
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.