Macro pour fixer et annuler une suppression de composants

vos questions concernant les API SolidWorks

Macro pour fixer et annuler une suppression de composants

Messagepar orval34 » Jeu 16 Avr 2015, 8:01

Bonjour tous le monde

J'ai récupéré un fichier step de 32Mo.
Une fois ouvert dans SW toutes les pièces, les assembles et sous assemblage sont en mode libre (normal car pas de récupération de contrainte) et supprimé (en gris).

Existe-t-il une macro pouvant fixer et annuler les suppressions en une seul fois (ou 2 ou 3 si il faut ouvrir des assemblages)?

Je ne connais pas le VBA de SW, mais je peux aider dans le développement.

Merci d'avance pour vos réponses.

ci joint des images de l'arborescence de mon assemblage.

Mis à jour le 16/04/2015
Fichiers joints
Capture2.PNG
Capture2.PNG (64.99 Kio) Vu 589 fois
Capture1.PNG
Capture1.PNG (73.52 Kio) Vu 589 fois
Avatar de l’utilisateur
orval34
Ewok SolidWorks
 
Messages: 46
Inscription: Sam 10 Juil 2010, 20:12
Localisation: SolidWorks 2011 Premium SP05

Re: Macro pour fixer et annuler une suppression de composant

Messagepar CLLC » Mar 28 Avr 2015, 14:22

Bonjour

Essaye cela, Ca ne doit surement pas marcher pour les sous assemblages.

Sélectionne chaque composants, > enlève la suppression, > le fixe.

Code: Tout sélectionner
Sub Main()

    Dim swApp                   As SldWorks.SldWorks

    Dim swModel                 As SldWorks.ModelDoc2
   
    Dim swConfigMgr             As SldWorks.ConfigurationManager

    Dim swConfig                As SldWorks.Configuration

    Dim swRootComp              As SldWorks.Component2

    Dim Children                As Variant

    Dim swChild                 As SldWorks.Component2

    Dim ChildCount              As Integer

    Dim bOldSetting             As Boolean

    Dim bRet                    As Boolean

    Dim i                       As Long

    Dim swAssy As SldWorks.AssemblyDoc
       

   
    Set swApp = Application.SldWorks

    Set swModel = swApp.ActiveDoc

    Set swAssy = swModel
   
    Set swConfigMgr = swModel.ConfigurationManager

    Set swConfig = swConfigMgr.ActiveConfiguration
   
   
    If swModel Is Nothing Then
        MsgBox ("Pas de document ouvert")
    Else
        If swModel.GetType <> 2 Then
            MsgBox ("Il ne s'agît pas d'un assemblage")
            Exit Sub
        Else
       
            Set swRootComp = swConfig.GetRootComponent
            bOldSetting = swApp.GetUserPreferenceToggle(swExtRefUpdateCompNames)
       
            swApp.SetUserPreferenceToggle swExtRefUpdateCompNames, False
       
            Children = swRootComp.GetChildren
       
            ChildCount = UBound(Children)
           
            For i = 0 To ChildCount
       
                Set swChild = Children(i)
       
                bRet = swChild.Select2(False, 0)
               
                swModel.EditUnsuppressDependent2
               
       
                swAssy.FixComponent
       
            Next i
           
        End If
    End If

End Sub
CLLC
Padawan SolidWorks
 
Messages: 68
Inscription: Ven 06 Juin 2014, 9:42

Re: Macro pour fixer et annuler une suppression de composant

Messagepar orval34 » Mar 26 Mai 2015, 16:21

Bonjour

Merci pour ta réponse.

J'ai fait un premier test sur un petit assemblage. Cela fonctionne.

J'attent maintenant le gros assemblage du client pour le test en réel.

Merci encore

PS : désolé pour le retard de ma réponse, mais le client ..... !!!!
Avatar de l’utilisateur
orval34
Ewok SolidWorks
 
Messages: 46
Inscription: Sam 10 Juil 2010, 20:12
Localisation: SolidWorks 2011 Premium SP05


Retourner vers Questions générales sur les API

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 7 invités

banniere