CATIA V5 | 3DEXPERIENCE
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le deal à ne pas rater :
Google Pixel 7 5G – Smartphone 6,3″ OLED FHD+ 8 Go + 128 Go
316 €
Voir le deal

cacher des pièces/corps avec Excel

4 participants

Aller en bas

EnCours cacher des pièces/corps avec Excel

Message par mathias007 Jeu 12 Avr 2012 - 10:40

Bonjour,

Je fais de la conception paramétrique de produits en utilisant Excel.
Pour le moment j'arrive à positionner mes pièces et les dimensionner
Je cherche maintenant une "formule" permettant de cacher les pièces à partir du tableur.

une formule "ressemblant" sûrement à :

Part1\actif (hide) -> True
du même principe que pour une dimension :
Part1\largeur (mm) -> 10

comment créer ce paramètre, quel type prendre ... bool, real
faut-il utiliser une macro (et comment la démarrer de Excel)

Merci d'avance.

Mathias

mathias007
timide
timide

Messages : 10
Date d'inscription : 12/04/2012
Localisation : Metz

Revenir en haut Aller en bas

EnCours Re: cacher des pièces/corps avec Excel

Message par Guss_ Jeu 12 Avr 2012 - 11:11

Pour lancer une macro depuis Excel il faut au préalable, configurer le niveau de sécurité d'Excel afin de permettre l'utilisation de macro

Outils -> macro -> sécurité -> Éditeurs approuvés
cocher "faire confiance au projet Visual Basic"

Pour initialisé l'objet Catia dans Excel tu peux utiliser ses lignes de code :
Code:

'---- initialisation catia
Dim Catia As Object
On Error Resume Next
Set Catia = GetObject(, "CATIA.Application")
If Err.Number <> 0 Then
      MsgBox ("pas de session catia trouvée")
Else
        On Error GoTo 0
'--- code que tu veux exécuter
End If

Ce code permet de prendre le contrôle d'une session Catia déjà ouverte

Pour afficher cacher une part, via une macro, il faut définir un objet sélection, ensuite un objet des propriétés visuels de la sélection, et finalement agir sur la propriété de visibilité

regarde ma deuxième macro dans ce message
https://catiav5.forumactif.org/t168p75-section-programmation-catscript-vba-vbnet#1211

Elle permet de cacher les repère bleus de la mise en plan de manière automatique


Guss_
Admin
Admin

Messages : 530
Date d'inscription : 08/01/2010

Revenir en haut Aller en bas

EnCours Re: cacher des pièces/corps avec Excel

Message par mathias007 Jeu 12 Avr 2012 - 11:37

Merci Beaucoup,

Je vais commencer à tester tout ça sur Catia maintenant.

Bonne journée,

Mathias

mathias007
timide
timide

Messages : 10
Date d'inscription : 12/04/2012
Localisation : Metz

Revenir en haut Aller en bas

EnCours Re: cacher des pièces/corps avec Excel

Message par mathias007 Lun 16 Avr 2012 - 14:16

Re-bonjour,

L'ordinateur verrouille de nombreux accès pour les macros Excel.
De plus mes connaissances en programmation VBA datent de quelques années...
Y aurait-il une méthode 100% Excel pour cacher les pièces, comme cela est possible en paramétrage sur SolidWorks avec $ETAT@###

Merci encore ;-)

Mathias

mathias007
timide
timide

Messages : 10
Date d'inscription : 12/04/2012
Localisation : Metz

Revenir en haut Aller en bas

EnCours Re: cacher des pièces/corps avec Excel

Message par Guss_ Lun 16 Avr 2012 - 14:32

LA solution 100% excel c'est que je t'ai expliqué plus haut, et si tu ne fait pas la manip que j'ai décris dans les 1er ligne effectivement excel verrouillera toutes macro (dans excel)

Astuce pour que cette opération soit efficace il ne faut pas de document excel ouvert, même pas un nouveau document, sinon le paramétrage s'effectuera uniquement sur le document ouvert

Guss_
Admin
Admin

Messages : 530
Date d'inscription : 08/01/2010

Revenir en haut Aller en bas

EnCours Re: cacher des pièces/corps avec Excel

Message par mathias007 Lun 16 Avr 2012 - 14:41

Ok merci,
En fait, Excel me disait bien si Catia était ouvert ou non,
c'est la suite des macros venant de Catia qui pose le plus de problèmes,
le code n'est pas facile à déchiffrer précisément et surtout à ré-paramétrer pour faire un code générique.

mathias007
timide
timide

Messages : 10
Date d'inscription : 12/04/2012
Localisation : Metz

Revenir en haut Aller en bas

EnCours Re: cacher des pièces/corps avec Excel

Message par Guss_ Lun 16 Avr 2012 - 14:54

En fait, après, ça dépend de comment sont ouvert tes document.
Ici la marco pilote catia, tu peux lui faire faire pratiquement ce que tu veux à partir d'Excel.

Il faut également comprendre l'arborescence des Objets dans catia
ça peut ressembler à ça l'arborescence.
cacher des pièces/corps avec Excel Tn_4OnSE6sBJe

C'est le langage objet qui est fait ainsi.

Guss_
Admin
Admin

Messages : 530
Date d'inscription : 08/01/2010

Revenir en haut Aller en bas

EnCours Re: cacher des pièces/corps avec Excel

Message par mathias007 Lun 16 Avr 2012 - 14:58

Merci, ça commence à s'éclaircir :-)

Bonne après midi

mathias007
timide
timide

Messages : 10
Date d'inscription : 12/04/2012
Localisation : Metz

Revenir en haut Aller en bas

EnCours Re: cacher des pièces/corps avec Excel

Message par flo Lun 16 Avr 2012 - 17:39

sinon, tu as une methode assez simple, si tu as accès au règle : il suffis de mettre un paramètre booléan avec une loi sur la visibilité des pièces, puis une table de paramétrage qui pointe vers le fichier excel, et à partir de la, une petite macro pour pour gérer les cellules

_________________
i52500K-GTX560TI-8Go
Windows 7 pro x64 - Solidworks 2013 (CATIA V5R20)
flo
flo
Fédérateur
Fédérateur

Messages : 455
Date d'inscription : 21/01/2011
Age : 34
Localisation : Angers

Revenir en haut Aller en bas

EnCours Re: cacher des pièces/corps avec Excel

Message par mathias007 Mar 17 Avr 2012 - 17:47

Merci flo,

Ta méthode m'intéresse, c'est à peu près à ça que je pensais, mais je ne trouve pas la loi proposant de gérer la visibilité...

Du coup (si j'ai bien compris le début) sur Excel je fais mon choix de pièces à cacher ou à laisser visible : piece1 (bool) => true ; piece2 (bool) => false etc.
valeur que je récupère dans Catia sur les paramètres piece1 et piece2 respectifs.
ensuite je crée une loi appelant ces valeurs?
en cliquant sur l'onglet LoF sous l'icône DesignTable et ensuite je suis ...encore perdu...

Le paramétrage n'est quasiment pas utilisé là où je travaille, c'est une autre raison de chercher à faire un paramétrage le plus simple possible en vue d'éventuelles maintenances sur le fichier.

Mathias

mathias007
timide
timide

Messages : 10
Date d'inscription : 12/04/2012
Localisation : Metz

Revenir en haut Aller en bas

EnCours Re: cacher des pièces/corps avec Excel

Message par flo Mar 17 Avr 2012 - 18:19

En fait, n'ayant pas vérifier avant, je suis pas sur que l'on puisse controler la visibilité d'une pièce avec un paramètre, par contre, on peut l'activé ou non. Pour la visibilité, je pense que tu n'auras pas le choix de passé par une macro. Si tu veut vraiment le rendre visible ou non, je pense que Guss t'a bien aiguillé, mais en gros, il suffis d'enregistré une macro pendant que tu cache ta pièce, et ton code est tout trouvé, plus qu'à faire le lien avec excel.

_________________
i52500K-GTX560TI-8Go
Windows 7 pro x64 - Solidworks 2013 (CATIA V5R20)
flo
flo
Fédérateur
Fédérateur

Messages : 455
Date d'inscription : 21/01/2011
Age : 34
Localisation : Angers

Revenir en haut Aller en bas

EnCours Re: cacher des pièces/corps avec Excel

Message par mathias007 Mar 17 Avr 2012 - 18:29

merci

je regardes de nouveau ça demain

bonne soirée

mathias007
timide
timide

Messages : 10
Date d'inscription : 12/04/2012
Localisation : Metz

Revenir en haut Aller en bas

EnCours Re: cacher des pièces/corps avec Excel

Message par mathias007 Mer 27 Juin 2012 - 8:45

Bonjour,

J'ai trouvé une solution alternative à ma problématique sans utiliser de macros.

il faut :
- aller dans l'icône formule
- sélectionner la pièce ou le corps à cacher
- sélectionner le paramètre "Activity"
- lier ce paramètre à un booléen paramétrable dans Excel.

On peut ainsi cacher une pièce à partir de la feuille Excel.

Bonne journée

Mathias

mathias007
timide
timide

Messages : 10
Date d'inscription : 12/04/2012
Localisation : Metz

Revenir en haut Aller en bas

EnCours Re: cacher des pièces/corps avec Excel

Message par badbad Mer 20 Mar 2013 - 18:59

Bonjour,
J’ai lu un peu plus haut :
Guss_ a écrit:Pour lancer une macro depuis Excel il faut au préalable, configurer le niveau de sécurité d'Excel afin de permettre l'utilisation de macro

Outils -> macro -> sécurité -> Éditeurs approuvés
cocher "faire confiance au projet Visual Basic"

Pour initialisé l'objet Catia dans Excel tu peux utiliser ses lignes de code :
Code:

'---- initialisation catia
Dim Catia As Object
On Error Resume Next
Set Catia = GetObject(, "CATIA.Application")
If Err.Number <> 0 Then
      MsgBox ("pas de session catia trouvée")
Else
        On Error GoTo 0
'--- code que tu veux exécuter
End If
J’aime beaucoup l'idée de passer par Excel pour piloter CATIA (notamment pour des tests de perfos dans le but de vider la mémoire tampon). Une fois la connexion réalisée (merci pour le code) comment les instructions doivent être modifiées dans Excel pour qu'elles s'appliquent a CATIA?

Je m'explique:
Si je veux ouvrir une part nommée cube1 tu C:temp le code est le suivant (c est juste une macro enregistrée dans le but de rester simple):
Code:

Sub CATMain()
Dim documents1 As Documents
Set documents1 = CATIA.Documents
Dim partDocument1 As PartDocument
Set partDocument1 = documents1.Open("C:\temp\Cube1.CATPart")
End Sub

Maintenant si je veux ouvrir la meme part dans CATIA depuis excel que devient le code?
Code:

'---- initialisation catia
Dim Catia As Object
On Error Resume Next
Set Catia = GetObject(, "CATIA.Application")
If Err.Number <> 0 Then
      MsgBox ("pas de session catia trouvée")
Else
        On Error GoTo 0
Dim documents1 As Documents
Set documents1 = CATIA.Documents 'Excel ne reconnait pas le type Documents. faut il rajouter in librairie Catia?
Dim partDocument1 As PartDocument
Set partDocument1 = documents1.Open("C:\temp\Cube1.CATPart")
End If

Merci de votre aide.
Regards
Alexandre Bessy

badbad
timide
timide

Messages : 4
Date d'inscription : 20/03/2013
Age : 46
Localisation : Little Rock, AR, USA

Revenir en haut Aller en bas

EnCours Re: cacher des pièces/corps avec Excel

Message par Guss_ Mer 27 Mar 2013 - 14:58

Oui visiblement ça doit être ça.

Teste ton code, si ça marche c'est bien ça.

Guss_
Admin
Admin

Messages : 530
Date d'inscription : 08/01/2010

Revenir en haut Aller en bas

EnCours Re: cacher des pièces/corps avec Excel

Message par badbad Mer 27 Mar 2013 - 15:30

ZUTTTTTTTTTTTTTTTTTTTTTTTTTT... j'avais testé et bien sur cela ne marchait pas. Je viens d'activer en excel les librairies CATIA (ce qui semble logique :-( ) et miracle ca marche!Exclamation

Merci
Alexandre

badbad
timide
timide

Messages : 4
Date d'inscription : 20/03/2013
Age : 46
Localisation : Little Rock, AR, USA

Revenir en haut Aller en bas

EnCours Re: cacher des pièces/corps avec Excel

Message par Guss_ Mer 27 Mar 2013 - 15:34

ok

effectivement oui ça doit fonctionner comme ça.

Guss_
Admin
Admin

Messages : 530
Date d'inscription : 08/01/2010

Revenir en haut Aller en bas

EnCours Re: cacher des pièces/corps avec Excel

Message par badbad Mer 27 Mar 2013 - 16:36

Je vais maintenant tenter d'ouvrir mes CATProducts (cela me semble facile) mais plus compliqué serra de comprendre depuis excel quand ils sont chargés...

Alexandre

badbad
timide
timide

Messages : 4
Date d'inscription : 20/03/2013
Age : 46
Localisation : Little Rock, AR, USA

Revenir en haut Aller en bas

EnCours Re: cacher des pièces/corps avec Excel

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