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 : -48%
Philips Hue Pack Decouverte 2024 : lightstrip 3M + ...
Voir le deal
119 €

Activer fond de calque et calque du vue depuis une macro

3 participants

Aller en bas

R?solu Activer fond de calque et calque du vue depuis une macro

Message par mj0901 Lun 11 Avr 2022 - 14:46

Bonjour,

Me voilà avec un nouveau problème !  Razz

Je cherche un moyen d'activer à l'aide d'une macro en vba le fond de calque et inversement le calque du vue dans un drawing.

Merci par avance de vos retours !

A bientot,
mj0901
mj0901
timide
timide

Messages : 10
Date d'inscription : 16/12/2021
Localisation : Lyon

Revenir en haut Aller en bas

R?solu Re: Activer fond de calque et calque du vue depuis une macro

Message par Flo42 Mar 12 Avr 2022 - 8:07

Salut, voici le code que j'utilise :
Code:
Dim DrawDocument As DrawingDocument
Set DrawDocument = CATIA.ActiveDocument 'la variable DrawDocument correspond à mon Drawing d'ouvert
Dim Calque as DrawingSheet
Set Calque = DrawDocument.Sheets.ActiveSheet 'la variable Calque correspond à mon calque affiché à l'écran
Dim MesVues As DrawingViews
Set MesVues = Calque.Views 'la variable MesVues correspond à toutes les vues de mon calque
'Pour info le fond de calque Catia ainsi que l'affiche normal sont considérés comme des vues par le logiciel

'===== pour passer en mode fond de calque :
For K = 1 To MesVues.Count 'je lance une boucle qui va parcourir toutes les vues du calque
Set MaVue = MesVues.Item(k) 'la variable MaVue est la vue que je viens de parcourir
If MaVue.Name = "Background View" then 'si la vue que je viens de parcourir à comme nom "Background View" alors
MaVue.Item(k).Activate 'j'active la vue, et donc je passe en mode fond de calque
End If
Next

'===== pour passer en mode vue principale :
For K = 1 To MesVues.Count 'je lance une boucle qui va parcourir toutes les vues du calque
Set MaVue = MesVues.Item(k) 'la variable MaVue est la vue que je viens de parcourir
If MaVue.Name = "Main View" then 'si la vue que je viens de parcourir à comme nom "Main View" alors
MaVue.Item(k).Activate 'j'active la vue, et donc je passe en mode affichage normal
End If
Next

Flo'

Flo42
timide
timide

Messages : 19
Date d'inscription : 22/04/2021
Localisation : Saint-Etienne

mj0901 aime ce message

Revenir en haut Aller en bas

R?solu Re: Activer fond de calque et calque du vue depuis une macro

Message par mj0901 Mar 12 Avr 2022 - 13:58

Code:
Dim DrawDocument As DrawingDocument
Set DrawDocument = CATIA.ActiveDocument 'la variable DrawDocument correspond à mon Drawing d'ouvert
Dim Calque as DrawingSheet
Set Calque = DrawDocument.Sheets.ActiveSheet 'la variable Calque correspond à mon calque affiché à l'écran
Dim MesVues As DrawingViews
Set MesVues = Calque.Views 'la variable MesVues correspond à toutes les vues de mon calque
'Pour info le fond de calque Catia ainsi que l'affiche normal sont considérés comme des vues par le logiciel

'===== pour passer en mode fond de calque :
For K = 1 To MesVues.Count 'je lance une boucle qui va parcourir toutes les vues du calque
Set MaVue = MesVues.Item(k) 'la variable MaVue est la vue que je viens de parcourir
If MaVue.Name = "Background View" then 'si la vue que je viens de parcourir à comme nom "Background View" alors
MaVue.Item(k).Activate 'j'active la vue, et donc je passe en mode fond de calque
End If
Next

J'ai essayé d'exécuter cette partie du code. Il m'a envoyé une erreur 438 : "Object doesn't support this property or method"
mj0901
mj0901
timide
timide

Messages : 10
Date d'inscription : 16/12/2021
Localisation : Lyon

Revenir en haut Aller en bas

R?solu Re: Activer fond de calque et calque du vue depuis une macro

Message par Flo42 Mar 12 Avr 2022 - 14:03

Oui, j'ai fait une erreur, il faut enlever le "Item(k)" de la ligne où on active la vue.
Voici le code corrigé :
Code:
Dim DrawDocument As DrawingDocument
Set DrawDocument = CATIA.ActiveDocument 'la variable DrawDocument correspond à mon Drawing d'ouvert
Dim Calque as DrawingSheet
Set Calque = DrawDocument.Sheets.ActiveSheet 'la variable Calque correspond à mon calque affiché à l'écran
Dim MesVues As DrawingViews
Set MesVues = Calque.Views 'la variable MesVues correspond à toutes les vues de mon calque
'Pour info le fond de calque Catia ainsi que l'affiche normal sont considérés comme des vues par le logiciel

'===== pour passer en mode fond de calque :
For K = 1 To MesVues.Count 'je lance une boucle qui va parcourir toutes les vues du calque
Set MaVue = MesVues.Item(k) 'la variable MaVue est la vue que je viens de parcourir
If MaVue.Name = "Background View" then 'si la vue que je viens de parcourir à comme nom "Background View" alors
MaVue.Activate 'j'active la vue, et donc je passe en mode fond de calque
End If
Next

'===== pour passer en mode vue principale :
For K = 1 To MesVues.Count 'je lance une boucle qui va parcourir toutes les vues du calque
Set MaVue = MesVues.Item(k) 'la variable MaVue est la vue que je viens de parcourir
If MaVue.Name = "Main View" then 'si la vue que je viens de parcourir à comme nom "Main View" alors
MaVue.Activate 'j'active la vue, et donc je passe en mode affichage normal
End If
Next

Flo42
timide
timide

Messages : 19
Date d'inscription : 22/04/2021
Localisation : Saint-Etienne

Revenir en haut Aller en bas

R?solu Re: Activer fond de calque et calque du vue depuis une macro

Message par mj0901 Mar 12 Avr 2022 - 14:10

Parfait, Merci ça va bien m'aider !


Dernière édition par mj0901 le Mar 12 Avr 2022 - 14:12, édité 1 fois
mj0901
mj0901
timide
timide

Messages : 10
Date d'inscription : 16/12/2021
Localisation : Lyon

Revenir en haut Aller en bas

R?solu Re: Activer fond de calque et calque du vue depuis une macro

Message par mj0901 Mar 12 Avr 2022 - 14:12

Et encore un problème résolu merci !
mj0901
mj0901
timide
timide

Messages : 10
Date d'inscription : 16/12/2021
Localisation : Lyon

Revenir en haut Aller en bas

R?solu Re: Activer fond de calque et calque du vue depuis une macro

Message par lumpazepfel Mar 3 Mai 2022 - 13:04

Salut,

On peut faire plus simplement :

DrawDocument.Sheets.ActiveSheet.Views.Item("Background View").Activate
et
DrawDocument.Sheets.ActiveSheet.Views.Item("Main View").Activate
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: Activer fond de calque et calque du vue depuis une macro

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