Tri spécial dans les nomenclatures

Bonjour,

J'aimerai faire un tri spécial dans mes nomenclatures et je n'arrive pas à trouver de solutions. Je crois que c'est une possibilité fournie par MyCADTools mais je ne l'ai pas.
J'ai un système de codification de mes références articles comme suivant :
- AXXXXXXX pour les assemblages
- CXXXXXXX pour les pièces du commerce
- PXXXXXXX pour les pièces sur plan
- VXXXXXXX pour la visserie
Seulement, j'aimerai que les articles soient trier dans l'ordre A/P/C/V dans mes nomenclatures.
Est-ce possible via les fonctionnalités Solidworks ? Si non, est-ce possible via une macro ?

Merci d'avance de vos réponses.

Bonjour

Je pense que vous pouvez créer une nouvelle colonne, que vous nommez disons "priorité", donner la valeur 1 aux A, 2 aux P, 3 aux C et 4 aux V, cacher la colonne, puis effectuer un tri croissant de la colonne "priorité" avec la méthode "numérique".

5 « J'aime »

Bonjour et merci,

J'avais en effet pensé à cette solution. Mais cela nécessiterait de reprendre tous les fichiers de ma base de donnée pour y intégrer cette variable.
Donc bonne idée mais que j'utiliserai que si il n'y a pas d'autre solution moins couteuse

Les XXX sont-ils toujours que des chiffres ?

Y a-t-il déjà dans tes pièces une variable qui n'indique que "A" ou "C" sans le reste de la référence ?

Dans le cas où la réponse à la question 1 est oui, et que vous avez une version de SW différente de la mienne (qui n'est pas foutue de résoudre une concaténation dans une condition, y me rend fou ce bug), je vous propose de tester cette équation, dans la colonne "priority" :

IF('ref'="A"#'ref'+0;1;IF('ref'="P"#'ref'+0;2;IF('ref'="C"#'ref'+0;3;IF('ref'="V"#'ref'+0;4;5))))

changez simplement les 'ref' par la colonne qui contient vos références (Axxxxx).

En théorie ça devrait fonctionner, mais en pratique s'il est buggé et ne concatène pas dans la condition non...

Explication de l'équation :

SI la valeur de ligne actuelle de la colonne ref est égale à la lettre A plus la partie numérique de la valeur alors assigne la valeur 1 à la colonne priority de la ligne actuelle > SINON SI le même test avec la lettre P réussit il assigne la priority 2 > SINON SI le même test avec C réussit il assigne la priority 3 > SINON SI le même test avec V réussit il assigne la priority 4 > SINON assigne la valeur 5 à priority.

Cette équation a pour objectif de peupler automatiquement la colonne priority avec des valeurs correspondantes aux références. La partie création manuelle de la colonne priority + tri mentionnée plus haut reste d'actualité bien sûr.

2 « J'aime »

En effet, XXXXXXX de ma codification est uniquement en numérique.

J'ai essayé votre formule et la concaténation ne fonctionne pas... Mais cette solution me conviendrait parfaitement !!

Le plus simple ne serait il pas de trier par la colonne contenant vos références articles ?

Clic droit sur la nomenclature, choisir trier et sélectionner la colonne qui va bien (ou peut aussi faire des tris successifs : colonne 3 puis colonne 5 si on veut)

Bonjour @froussel 

Le problème ici c'est que le tri ne se fait que par ordre alphabétique ou numérique. Et comme l'ordre voulu A, P, C, V n'est pas dans l'ordre alphabétique le résultat du tri donnera A, C, P, V donc ça ne fonctionne pas.

Etant donné les limitations scandaleuses des équations je crois que le seul moyen autre qu'ajouter la variable à vos fichiers va être une macro qui remplira la colonne priority en fonction de la lettre de la référence.

Je suis certain que c'est très facile à faire mais n'ayant encore jamais fait de macro pour SW je ne peux vous la servir toute chaude sur un plateau. Je vais travailler dessus, à moins qu'un membre ne le puisse.

J'imagine @PACOSPHARM que si vous préférez une automatisation c'est que vos nomenclatures sont trop longues pour remplir la colonne priority à la main ?

Tout à fait @Sylk !!

J'ai un grand nombre de nomenclature avec plus de 100 références...

Bonjour @PACOSPHARM serait-il possible d'avoir une capture d'écran de la disposition des colonnes de votre nomenclature type (avec la colonne des références) ?

Utilisez-vous les nomenclatures dans les mises en plan uniquement ?

Par acquis de conscience, avez-vous bien conservé les apostrophes lorsque vous avez testé l'équation sus-citée ?

Bonjour,

@Sylk : j'avais loupé le fait que l'ordre voulu n'était pas alphabétique effectivement.

Une solution 'simple' serait d'abandonner les tables Solidworks pour revenir aux tables Excel.

Sous Excel il est facile de faire une formule permettant de donner une valeur aux lignes en fonctions de la valeur de la première lettre (merci aux fonctions "gauche"et "SI"). Il suffit de trier suivant cette colonne pour obtenir l'ordre voulu.

Cela doit obliger à re trier systématiquement la table à chaque modification de nomenclature par contre.

Nb : les colonnes derrière celle nommée $$END n'apparaissent pas ce qui permet de cacher la colonne de tri sur le plan

Bonjour @Sylk 

Oui j'ai bien fait attention à toute la synthaxe.

Voici le tableau nomenclature :

Et oui, j'utilise les nomenclatures uniquement sur les mises en plan

Bonjour @PACOSPHARM 

Alors le plus simple je pense dans ce cas c'est de passer par le Planificateur de tâches Solidworks pour effectuer un ajout en masse d'une propriété personnalisée aux très nombreuses pièces, puis d'effectuer un tri des nomenclatures basé sur la valeur de cette propriété.

 

1: Ouvrir le Planificateur de tâches Solidworks (menu démarrer > tous les programmes > Outils SOLIDWORKS > Planificateur de tâches SOLIDWORKS)

2: Dans le panneau latéral, choisir Mettre à jour les propriétés personnalisées

3: Dans la boite de dialogue, cliquer sur le bouton Ajouter un fichier... sélectionner toutes les pièces A puis ouvrir

4: Cliquer sur le bouton Suivant

5: Dans la colonne Nom taper le mot tri, dans la colonne Type choisir Nombre, et dans la colonne Valeur taper le chiffre 100, puis cliquer sur le bouton Terminer pour exécuter la tâche.

6: répéter les étapes 2 à 5 pour les pièces P avec la valeur 200

7: répéter les étapes 2 à 5 pour les pièces C avec la valeur 300

8: répéter les étapes 2 à 5 pour les pièces V avec la valeur 400

 

Lorsque toutes les tâches ont terminé leur exécution :

1: Ouvrir une mise en plan

2: Insérer un nouvelle colonne (à droite) à la nomenclature, puis dans le petit menu qui apparaît sélectionner Propriété personnalisée pour Type de colonne, et dans Nom de propriété sélectionner tri

3: Clic droit sur la nomenclature > Trier.

4: Trier par: tri. Cocher Croissant et Méthode Numérique, puis OK

5: Terminer en masquant la colonne: Clic droit sur la lettre de la colonne "tri" > Cacher > Colonne

Voilà, vous aurez désormais l'ordre de tri souhaité.

 

Note: L'incrémentation par 100 de la valeur de tri affectée aux types de pièces n'est pas anodine de ma part. Sauf dans le cas où vous êtes absolument certain que vous n'aurez jamais plus que ces 4 types de pièces (APCV) à traiter, je vous recommande ce système afin de rendre plus flexible d'éventuelles insertions futures de nouveaux types. 99 nouveaux types pourront alors être insérés entre chaque. Par exemple si vous avez une nouvelle référence Y et que vous voulez la classer entre P et C vous lui attribuez la valeur de tri intermédiaire 250, gardant ainsi de la place entre P et Y, et entre Y et C. Une nouvelle référence Z à classer entre P et Y prendra la valeur intermédiaire 225. Etc. Ce système laisse une bonne marge de manoeuvre avant de se voir contraint de modifier des valeurs de tri déjà affectées. Bien sûr plus l'incrément est élevé plus le système sera durablement flexible.

Cordialement

1 « J'aime »