Google+

Nettoyer Arbre de creation (Feature manager) Sujet résolu

Apprendre à programmer avec le VBA

Modérateurs: xavierb, annwn

Nettoyer Arbre de creation (Feature manager)

Messagepar Maclane » Jeu 21 Mar 2013 11:47

Bonjour à tous et à toutes;

Connaitriez-vous une astuce/macro/routine ou n'importe quoi d'autre... qui me permettrai de "nettoyer" mon arbre de création au niveau des compteurs d'esquisses/contraintes/fonctions...
Je m'explique: Je traine depuis plusieurs années maintenant des pièces et des assemblages que je modifie à loisir (j'ajoute des contraintes, change des esquisse, en supprimer, en crée de nouvelles etc...)
Dans l'arbre de création chaque nouvelles esquisse/fonction ou contrainte s'incrémente avec un numéro supérieur à chaque fois.
Existe-il un moyen de "redescendre" ces incréments au niveau le plus bas:
Retrouver un arbre sous la forme:
esquisse1
esquisse2...
Plutôt que:
esquisse1253
esquisse2014...
Comme c'est chez moi actuellement. (ben quoi)

Merci de l'aide que vous pourrez m'apporter.
Avatar de l’utilisateur
Maclane
Disciple
 
Messages: 426
Inscription: Lun 5 Nov 2012 12:42
Version de SolidWorks et SP: Premium 2018 sp3

Share On:

Partagez sur Facebook Facebook Partagez sur Twitter Twitter

Re: Nettoyer Arbre de creation (Feature manager)

Messagepar liryc » Jeu 21 Mar 2013 11:52

Bonjour,
A ma connaissance ce n'est pas possible sur SW.
Il n'y a aucun système de renumérotation/purge intégré.
Je n'ai connu cette possibilité que sur Catia V4, peut-être également présent sur V5 et d'autres outils CAO (Pro-eng entre autre).
En informatique, le plus gros bug se situe généralement entre la chaise et le clavier
liryc
Disciple
 
Messages: 308
Inscription: Jeu 26 Juil 2012 15:23
Version de SolidWorks et SP: SolidWorks 2016 SP 5.0

Re: Nettoyer Arbre de creation (Feature manager)

Messagepar Steeve Osteen » Jeu 21 Mar 2013 11:53

perso je sais pas comment faire et c'est vrai que sur certaines pièces je dépasse les 10000...
pas d'idée comment faire. cela a t'il réellement un impact sur ton boulot ou c'est juste cosmétique?
aucun support ne sera assuré par MP. toute demande par ce biais sera ignorée.
Avatar de l’utilisateur
Steeve Osteen
Administrateur du site
 
Messages: 3015
Inscription: Ven 22 Juin 2012 15:40
Localisation: Normandie
Version de SolidWorks et SP: SolidWorks 2014 SP2.0

Re: Nettoyer Arbre de creation (Feature manager)

Messagepar Scofield » Jeu 21 Mar 2013 11:58

Pas mieux, à part les taper à la main :x :?
Nombreux sont les sujets résolus, pensez à faire une recherche
Avatar de l’utilisateur
Scofield
Grand sage
 
Messages: 1294
Inscription: Jeu 15 Nov 2012 19:53
Version de SolidWorks et SP: SolidWorks 2017 SP5

Re: Nettoyer Arbre de creation (Feature manager)

Messagepar Maclane » Jeu 21 Mar 2013 12:10

C'est uniquement cosmetique...
Et oui pour l'instant je les retouche à la main...quand j'ai le courrage.
Avatar de l’utilisateur
Maclane
Disciple
 
Messages: 426
Inscription: Lun 5 Nov 2012 12:42
Version de SolidWorks et SP: Premium 2018 sp3

Re: Nettoyer Arbre de creation (Feature manager)

Messagepar little_worm » Jeu 21 Mar 2013 12:21

Maclane a écrit:esquisse1253
esquisse2014...

:shock:
LW.
Avatar de l’utilisateur
little_worm
Disciple
 
Messages: 296
Inscription: Mar 24 Juil 2012 16:31
Version de SolidWorks et SP: SW Pro 2013 x64 SP2.0

Re: Nettoyer Arbre de creation (Feature manager)

Messagepar Scofield » Jeu 21 Mar 2013 12:26

Steeve Osteen a écrit: c'est vrai que sur certaines pièces je dépasse les 10000...


:shock: j'ai jamais vu ça !!
Quand je dépasse 100 c'est que le commerciale ne sait pas ce qu'il veut!! :lol:
Nombreux sont les sujets résolus, pensez à faire une recherche
Avatar de l’utilisateur
Scofield
Grand sage
 
Messages: 1294
Inscription: Jeu 15 Nov 2012 19:53
Version de SolidWorks et SP: SolidWorks 2017 SP5

Re: Nettoyer Arbre de creation (Feature manager)

Messagepar Cr@on » Jeu 21 Mar 2013 12:28

Scofield a écrit:
Steeve Osteen a écrit: c'est vrai que sur certaines pièces je dépasse les 10000...


:shock: j'ai jamais vu ça !!
Quand je dépasse 100 c'est que le commerciale ne sait pas ce qu'il veut!! :lol:


:mrgreen: :mrgreen: :mrgreen: :mrgreen:
Certum Monstrat Iter
Avatar de l’utilisateur
Cr@on
Citoyen
 
Messages: 199
Inscription: Jeu 3 Jan 2013 15:54
Localisation: Nord
Version de SolidWorks et SP: SolidWorks 2012 SP0

Re: Nettoyer Arbre de creation (Feature manager)

Messagepar Steeve Osteen » Jeu 21 Mar 2013 12:44

Scofield a écrit:
Steeve Osteen a écrit: c'est vrai que sur certaines pièces je dépasse les 10000...


:shock: j'ai jamais vu ça !!
Quand je dépasse 100 c'est que le commerciale ne sait pas ce qu'il veut!! :lol:


moi c'est le client qui sait pas ce qu'il veut (sur des structures mécano soudées avec plusieurs centaines de corps)
aucun support ne sera assuré par MP. toute demande par ce biais sera ignorée.
Avatar de l’utilisateur
Steeve Osteen
Administrateur du site
 
Messages: 3015
Inscription: Ven 22 Juin 2012 15:40
Localisation: Normandie
Version de SolidWorks et SP: SolidWorks 2014 SP2.0

Re: Nettoyer Arbre de creation (Feature manager)

Messagepar Scofield » Jeu 21 Mar 2013 12:55

WOW ça doit faire des fichiers énormes, à chaque retouches le fichier grossit il me semble.
J'aime bien retracer quelque chose de propre quand il commence à y avoir trop de modif", après je
sais aussi que sur certaines pièces c'est impossible par manque de temps, mais quand je peux je le fais ;)
Nombreux sont les sujets résolus, pensez à faire une recherche
Avatar de l’utilisateur
Scofield
Grand sage
 
Messages: 1294
Inscription: Jeu 15 Nov 2012 19:53
Version de SolidWorks et SP: SolidWorks 2017 SP5

Re: Nettoyer Arbre de creation (Feature manager)

Messagepar Maclane » Jeu 21 Mar 2013 13:03

Steeve Osteen a écrit:
Scofield a écrit:
Steeve Osteen a écrit: c'est vrai que sur certaines pièces je dépasse les 10000...


:shock: j'ai jamais vu ça !!
Quand je dépasse 100 c'est que le commerciale ne sait pas ce qu'il veut!! :lol:


moi c'est le client qui sait pas ce qu'il veut (sur des structures mécano soudées avec plusieurs centaines de corps)


Tiens, on travail avec les mêmes commerciaux et client ???? :lol: :lol:
-> J'ai aussi d'autre dessinateur du bureau d'etude qui travaillent sur ces elements (sic :x )
Avatar de l’utilisateur
Maclane
Disciple
 
Messages: 426
Inscription: Lun 5 Nov 2012 12:42
Version de SolidWorks et SP: Premium 2018 sp3

Re: Nettoyer Arbre de creation (Feature manager)

Messagepar Maclane » Jeu 21 Mar 2013 13:05

Scofield a écrit:WOW ça doit faire des fichiers énormes, à chaque retouches le fichier grossit il me semble.
J'aime bien retracer quelque chose de propre quand il commence à y avoir trop de modif", après je
sais aussi que sur certaines pièces c'est impossible par manque de temps, mais quand je peux je le fais ;)


Pour eviter cela il m'arrive de faire un "enregister sous" (copie), cela reduit à neant l'historique du fichier (mais pas les compteurs)
Avatar de l’utilisateur
Maclane
Disciple
 
Messages: 426
Inscription: Lun 5 Nov 2012 12:42
Version de SolidWorks et SP: Premium 2018 sp3

Re: Nettoyer Arbre de creation (Feature manager)

Messagepar Nodi » Jeu 21 Mar 2013 13:09

Et en créant un nouveau fichier et copie colle de l'arbre d'un à l'autre ?... bon ok c'est long... :P
Nodi
Disciple
 
Messages: 320
Inscription: Jeu 8 Nov 2012 12:39
Version de SolidWorks et SP: SolidWorks 2012 SP5.0

Re: Nettoyer Arbre de creation (Feature manager)

Messagepar annwn » Jeu 21 Mar 2013 13:49

Pour les esquisses je ne sais pas, mais il y a quelques années (en 2006 ou 2007 je crois !), j'avais fais une macro qui renumérotait les contraintes ...

Précaution :
- Faut juste la lancer 2 fois quand on a une coïncidence11 avant la 8 (par exemple !)
- à l'époque les contraintes de glissières, symétriques ... n'existaient pas alors je ne sais pas ce que ça fait !


Vous la voulez quand même ?
Programmer, c'est bien; programmer utile, c'est mieux ...
Avatar de l’utilisateur
annwn
Maestro
 
Messages: 938
Inscription: Dim 1 Juil 2012 18:40
Localisation: Lyon
Version de SolidWorks et SP: SW 2012 SP 5.0

Re: Nettoyer Arbre de creation (Feature manager)

Messagepar Maclane » Jeu 21 Mar 2013 14:40

Oui je veux bien, c'est toujour bon à prendre.
C'est peut-etre l'occasion de la mettre à jour ? :mrgreen:
Avatar de l’utilisateur
Maclane
Disciple
 
Messages: 426
Inscription: Lun 5 Nov 2012 12:42
Version de SolidWorks et SP: Premium 2018 sp3

Re: Nettoyer Arbre de creation (Feature manager)

Messagepar Maclane » Lun 29 Juil 2013 09:25

Bonjour;

Je ne veux pas passer pour un lourd/dingue, mais je me permet de relancer ce sujet.
"annwn" a proposé sa macro mais...rien...nada...nib...walou...que nenni bouh hou hou :ugeek:

Non, serieusement j'accepte volontier ton offre de partage.J
'ai parcouru les internets mais je n'ai pas trouvé grand chose d'interessant pour l'instant. A part peut-etre celle ci :
http://eng-tips.com/viewthread.cfm?qid=250003 mais je n'arrive pas à traduire toutes les fonctions en français (du genre il traduit enlevement de matiére en ICE alors que je souhaiterai "Enlèv. mat.-Extru."...etc.);
je pense toutefois qu'une personne plus competente (que moi) devrai pouvoir se depatouiller avec cette macro.
Avatar de l’utilisateur
Maclane
Disciple
 
Messages: 426
Inscription: Lun 5 Nov 2012 12:42
Version de SolidWorks et SP: Premium 2018 sp3

Re: Nettoyer Arbre de creation (Feature manager)

Messagepar titifonky » Lun 29 Juil 2013 11:42

Voici une macro utilisant le framework.

Syntax: [ Download ] [ Hide ]
Using Visual Basic Syntax Highlighting
Public Sub RenommerLesFonctions()
   
    Dim Sw As New eSldWorks
    If Not Sw.Init(Application.SldWorks) Then Exit Sub
   
    Sw.ActiverDebug = False
   
    Dim ModeleBase As eModele
    Set ModeleBase = Sw.Modele
   
    Dim TypeFonction As New swFeatureType_e
   
    Dim CollFonctions As New Collection
    Dim CollNomsFonctions As New Collection
    Dim F As eFonction
    Dim SF As eFonction
   
    ' Un premier tour pour eviter d'avoir des noms de fonction en double
   For Each F In ModeleBase.ListeDesFonctions("[0-9]", "", False)
        If (Not F.TypeDeLaFonction Like "SheetMetal") _
            And (Not F.TypeDeLaFonction Like "CutListFolder") _
            And (Not F.TypeDeLaFonction Like "FlatPattern") _
            And (Not F.TypeDeLaFonction Like "XformStock") _
            And (Not F.TypeDeLaFonction Like "WeldMemberFeat") _
            And (Not F.TypeDeLaFonction Like "HoleWzd") _
            And (Not F.TypeDeLaFonction Like "FlatPattern") Then
       
            CollFonctions.Add F
            F.Nom = F.Nom & "_"
            For Each SF In F.ListeDesSousFonctions("[0-9]")
                CollFonctions.Add SF
                SF.Nom = SF.Nom & "_"
            Next SF
        End If
    Next F
   
    For Each F In CollFonctions
        Dim Pos As Long
        Dim I As Long
        I = 0
        Pos = PremierChiffre(F.Nom)
       
        If Pos > 3 Then
            Dim NomFonc As String
            NomFonc = Mid(F.Nom, 1, Pos - 1)
   
            If CleExiste(NomFonc, CollNomsFonctions) Then
                I = CollNomsFonctions(NomFonc)
                I = I + 1
                CollNomsFonctions.Remove NomFonc
                CollNomsFonctions.Add I, NomFonc
                F.Nom = NomFonc & I
            Else
                F.Nom = NomFonc & "1"
                CollNomsFonctions.Add 1, NomFonc
            End If
        End If

    Next F
   
    Set Sw = Nothing
    Set CollFonctions = Nothing
    Set CollNomsFonctions = Nothing
   
End Sub

' =============================================================
'                         Sous-fonctions
' =============================================================

Private Function CleExiste(Cle As String, Coll As Collection) As Boolean
  On Error GoTo Erreur
  CleExiste = True
  Coll Cle
  Exit Function
Erreur:
  CleExiste = False
End Function

Private Function PremierChiffre(Texte As String) As Long
    PremierChiffre = 2147483647
    Dim ListeChiffre As Variant
    ListeChiffre = Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9")
   
    Dim C As Variant
    For Each C In ListeChiffre
        Dim Pos As Long
        Pos = InStr(1, Texte, C, vbTextCompare)
        If Pos > 0 Then
            PremierChiffre = Min(Pos, PremierChiffre)
        End If
    Next C
   
    If PremierChiffre = 2147483647 Then
        PremierChiffre = 0
    End If
End Function

' Renvoi le min de deux nombres
Private Function Min(ByVal a As Double, ByVal b As Double) As Double
    Min = b
    If a < b Then Min = a
End Function

 
Parsed in 0.011 seconds, using GeSHi 1.0.8.10
Dernière édition par titifonky le Lun 29 Juil 2013 14:32, édité 1 fois.
http://www.le-metal.net, sur la métallerie
titifonky
Disciple
 
Messages: 332
Inscription: Jeu 13 Déc 2012 01:03

Re: Nettoyer Arbre de creation (Feature manager)

Messagepar annwn » Lun 29 Juil 2013 12:15

Maclane a écrit:Bonjour;

Je ne veux pas passer pour un lourd/dingue, mais je me permet de relancer ce sujet.
"annwn" a proposé sa macro mais...rien...nada...nib...walou...que nenni bouh hou hou :ugeek:

Non, serieusement j'accepte volontier ton offre de partage.J
'ai parcouru les internets mais je n'ai pas trouvé grand chose d'interessant pour l'instant. A part peut-etre celle ci :
http://eng-tips.com/viewthread.cfm?qid=250003 mais je n'arrive pas à traduire toutes les fonctions en français (du genre il traduit enlevement de matiére en ICE alors que je souhaiterai "Enlèv. mat.-Extru."...etc.);
je pense toutefois qu'une personne plus competente (que moi) devrai pouvoir se depatouiller avec cette macro.
Ah si là tu as le droit de m'insulter même !!! Pas de réponse depuis le 21 mars :shock:
Je suis désolé j'ai dû zapper ... Voici donc cette macro mais elles ne fait que les contraintes :roll:
Fichiers joints
NumContrainte.zip
renumérote les contraintes
(14.47 Kio) Téléchargé 299 fois
Programmer, c'est bien; programmer utile, c'est mieux ...
Avatar de l’utilisateur
annwn
Maestro
 
Messages: 938
Inscription: Dim 1 Juil 2012 18:40
Localisation: Lyon
Version de SolidWorks et SP: SW 2012 SP 5.0

Re: Nettoyer Arbre de creation (Feature manager)

Messagepar Maclane » Lun 29 Juil 2013 13:58

oulala !!
Merci pour toutes ces reponses ;)
Je vais de ce pas tester les deux macros.
Ah si là tu as le droit de m'insulter même !!!
... c'est noté...je garde cette option comme Jocker... :tongue:
Avatar de l’utilisateur
Maclane
Disciple
 
Messages: 426
Inscription: Lun 5 Nov 2012 12:42
Version de SolidWorks et SP: Premium 2018 sp3

Re: Nettoyer Arbre de creation (Feature manager)

Messagepar Maclane » Lun 29 Juil 2013 14:26

Super les deux fonctionnent (je n'en ai jamais douté)
Un tout petit-petit truc cependant;
Titifonky: est-il possible de ne pas prendre en compte les fonctions "d'assistant de perçage" lors de la re-numerotation, cela supprime la notion du ø dans l'arbre...

Merci encore.
(je vais essayer de conbiner ces deux macros...souhaitez-moi bonne chance :roll: )
Avatar de l’utilisateur
Maclane
Disciple
 
Messages: 426
Inscription: Lun 5 Nov 2012 12:42
Version de SolidWorks et SP: Premium 2018 sp3

Suivante

Retourner vers Apprentissage

Qui est en ligne

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

cron