CATIA V5 | 3DEXPERIENCE
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le Deal du moment : -37%
Promo : radiateur électrique d’appoint ...
Voir le deal
76.99 €

Réorganisation arborescence 3D

2 participants

Aller en bas

R?solu Réorganisation arborescence 3D

Message par CyrilMan Ven 4 Déc 2020 - 16:30

Bonjour à tous,

Pour nos ensembles mécanosoudés, nous utilisons des Products dans lesquels nous insérons tous nos débits.
Aussi nos débits sont numérotés 401, 402, 403, ... et cela correspond à notre repérage sur le plan 2D. (le débit 401 sera repéré par la bulle 1)
Cela implique que dans la nomenclature le 401 soit sur la 1ère ligne, le 402 sur la 2ème, etc.

Or la macro qui nous fait la nomenclature se base sur l'ordre des pièces dans l'arborescence et non sur le numéro de pièce et je ne peux pas changer cela.

D'où mon besoin de créer une macro qui réorganiserait l'arborescence 3D dans l'ordre croissant car le module de CATIA pour faire cette opération est très fastidieux sans compter le risque d'erreurs.

Je vois comment faire ma macro mais il me manque une instruction VBA pour la rédiger.
En effet, je sais comment récupérer le numéro d'item (place dans l'arborescence) d'une part mais je ne sais pas comment le changer.

Code:

CATIA.ActiveDocument.Product.Products.Item(1)     'Correspond au 1er élément de l'arborescence

Ce que j'aimerais faire c'est quelque chose comme cela.

Code:

CATIA.ActiveDocument.Product.Products.Item(1).[NuméroItem] = 2    'Je souhaite que le 1er élément de mon arborescence passe en 2ème position

Est-ce réalisable ?

Merci pour vos retours,

Cyril

CyrilMan
timide
timide

Messages : 3
Date d'inscription : 04/12/2020
Localisation : Saint-Etienne

Revenir en haut Aller en bas

R?solu Re: Réorganisation arborescence 3D

Message par lumpazepfel Mer 9 Déc 2020 - 21:06

Salut Cyril,

C'est un sujet difficile, la réorganisation de l'arbre n'est pas directement accessible en script CATIA, il faut passer par Microsoft UI Automation.
Il y a un début de solution ici:
https://scripts4all.eu/graph-tree-reordering-vba/.

Le code doit être recopié dans un module VBA d'EXCEL et CATIA doit être en anglais.
Il lance et agit sur les boutons de la boîte de dialogue CATIA de réorganisation de l'arbre, mais il déplace simplement la première Part en dernière position.

Il faut donc trouver les règles qui dans la dernière boucle du code te permettent de réordonner ton arbre comme tu le souhaite.
lumpazepfel
lumpazepfel
Fédérateur
Fédérateur

Messages : 319
Date d'inscription : 02/11/2015
Localisation : Ensisheim

Revenir en haut Aller en bas

R?solu Re: Réorganisation arborescence 3D

Message par CyrilMan Lun 21 Déc 2020 - 8:52

Salut Marc,
Désolé pour la réponse tardive et merci pour la tienne.

Oui, je suis aussi tombé sur ce bout de script lors de mes recherches. Il me semblait bizarre qu'il n'y ait pas une commande qui permette de le faire directement en VBA car il existe des Method "Reorder" sur certaines collections mais cela n'a pas l'air de marcher sur la collection
Code:
CATIA.ActiveDocument.Product.Products

Quand j'aurai un peu de temps, j'essayerai de bricoler une règle de tri, d'en sortir mon nombre de clic à faire sur les boutons "up" et "down" et de l'implanter dans le bout de code que tu as fourni ( https://scripts4all.eu/graph-tree-reordering-vba/ ).
Je mets le sujet sur résolu et je mettrai mon script final si ça peut servir à quelqu'un.

A+
Cyril

CyrilMan
timide
timide

Messages : 3
Date d'inscription : 04/12/2020
Localisation : Saint-Etienne

Revenir en haut Aller en bas

R?solu Re: Réorganisation arborescence 3D

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum