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 :
Code promo Nike : -25% dès 50€ ...
Voir le deal

modification des options drawing generation par macro

2 participants

Aller en bas

R?solu modification des options drawing generation par macro

Message par jeanmi Mar 24 Nov 2015 - 10:46

bonjour, a tous et toutes

j'aimerai savoir s'il est possible de changer les informations (case a cocher) présenté dans l'onglet drafting génération par macro

Smile


jeanmi
timide
timide

Messages : 9
Date d'inscription : 13/03/2013
Age : 66
Localisation : valence drome

Revenir en haut Aller en bas

R?solu Re: modification des options drawing generation par macro

Message par lumpazepfel Mar 24 Nov 2015 - 12:43

Bonjour,

Si tu parles des options de CATIA, oui on peut les modifier par macro.
Pour connaître le nom des variables et les différentes valeurs des paramètres, il suffit de faire un clicher de longlet souhaité (icone en bas à droite de l'arboresence).modification des options drawing generation par macro  Cliche11
Tu obtient un fichier texte .catvbs exemple:


Code:
Language="VBSCRIPT"

Sub CATMain()

Set settingControllers1 = CATIA.SettingControllers

Set settingRepository1 = settingControllers1.Item("DraftingOptions")

boolean1 = settingRepository1.GetAttr("GenBalloonByInstance")
'--------------------------------------------------
' Parameter 1 : (String) "GenBalloonByInstance"
' Returned value : (Variant) (Boolean) False
'--------------------------------------------------

Dim bSTR1
bSTR1 = ""
Dim bSTR2
bSTR2 = ""
Dim boolean2
settingRepository1.GetAttrInfo "GenBalloonByInstance", bSTR1, bSTR2, boolean2
'--------------------------------------------------
' Parameter 1 : (String) "GenBalloonByInstance"
' Parameter 2 : (String) "Default value"
' Parameter 3 : (String) "Locked at Admin Level 0"
' Parameter 4 : (Boolean) False
'--------------------------------------------------

long1 = settingRepository1.GetAttr("GenDimSemiAutoTimeOut")
'--------------------------------------------------
' Parameter 1 : (String) "GenDimSemiAutoTimeOut"
' Returned value : (Variant) (Long) 2
'--------------------------------------------------

Dim bSTR3
bSTR3 = ""
Dim bSTR4
bSTR4 = ""
Dim boolean3
settingRepository1.GetAttrInfo "GenDimSemiAutoTimeOut", bSTR3, bSTR4, boolean3
'--------------------------------------------------
' Parameter 1 : (String) "GenDimSemiAutoTimeOut"
' Parameter 2 : (String) "Default value"
' Parameter 3 : (String) "Locked at Admin Level 0"
' Parameter 4 : (Boolean) False
'--------------------------------------------------

boolean4 = settingRepository1.GetAttr("DrwGenDimFromPart")
'--------------------------------------------------
' Parameter 1 : (String) "DrwGenDimFromPart"
' Returned value : (Variant) (Boolean) False
'--------------------------------------------------

Dim bSTR5
bSTR5 = ""
Dim bSTR6
bSTR6 = ""
Dim boolean5
settingRepository1.GetAttrInfo "DrwGenDimFromPart", bSTR5, bSTR6, boolean5
'--------------------------------------------------
' Parameter 1 : (String) "DrwGenDimFromPart"
' Parameter 2 : (String) "Default value"
' Parameter 3 : (String) "Locked at Admin Level 0"
' Parameter 4 : (Boolean) False
'--------------------------------------------------

boolean6 = settingRepository1.GetAttr("GenDimAnal")
'--------------------------------------------------
' Parameter 1 : (String) "GenDimAnal"
' Returned value : (Variant) (Boolean) True
'--------------------------------------------------

Dim bSTR7
bSTR7 = ""
Dim bSTR8
bSTR8 = ""
Dim boolean7
settingRepository1.GetAttrInfo "GenDimAnal", bSTR7, bSTR8, boolean7
'--------------------------------------------------
' Parameter 1 : (String) "GenDimAnal"
' Parameter 2 : (String) "Default value"
' Parameter 3 : (String) "Locked at Admin Level 0"
' Parameter 4 : (Boolean) False
'--------------------------------------------------

boolean8 = settingRepository1.GetAttr("GenDimAutoTrans")
'--------------------------------------------------
' Parameter 1 : (String) "GenDimAutoTrans"
' Returned value : (Variant) (Boolean) False
'--------------------------------------------------

Dim bSTR9
bSTR9 = ""
Dim bSTR10
bSTR10 = ""
Dim boolean9
settingRepository1.GetAttrInfo "GenDimAutoTrans", bSTR9, bSTR10, boolean9
'--------------------------------------------------
' Parameter 1 : (String) "GenDimAutoTrans"
' Parameter 2 : (String) "Default value"
' Parameter 3 : (String) "Locked at Admin Level 0"
' Parameter 4 : (Boolean) False
'--------------------------------------------------

boolean10 = settingRepository1.GetAttr("GenDimAutoPos")
'--------------------------------------------------
' Parameter 1 : (String) "GenDimAutoPos"
' Returned value : (Variant) (Boolean) False
'--------------------------------------------------

Dim bSTR11
bSTR11 = ""
Dim bSTR12
bSTR12 = ""
Dim boolean11
settingRepository1.GetAttrInfo "GenDimAutoPos", bSTR11, bSTR12, boolean11
'--------------------------------------------------
' Parameter 1 : (String) "GenDimAutoPos"
' Parameter 2 : (String) "Default value"
' Parameter 3 : (String) "Locked at Admin Level 0"
' Parameter 4 : (Boolean) False
'--------------------------------------------------

boolean12 = settingRepository1.GetAttr("GenDimFilter")
'--------------------------------------------------
' Parameter 1 : (String) "GenDimFilter"
' Returned value : (Variant) (Boolean) False
'--------------------------------------------------

Dim bSTR13
bSTR13 = ""
Dim bSTR14
bSTR14 = ""
Dim boolean13
settingRepository1.GetAttrInfo "GenDimFilter", bSTR13, bSTR14, boolean13
'--------------------------------------------------
' Parameter 1 : (String) "GenDimFilter"
' Parameter 2 : (String) "Default value"
' Parameter 3 : (String) "Locked at Admin Level 0"
' Parameter 4 : (Boolean) False
'--------------------------------------------------

boolean14 = settingRepository1.GetAttr("GenDim")
'--------------------------------------------------
' Parameter 1 : (String) "GenDim"
' Returned value : (Variant) (Boolean) False
'--------------------------------------------------

Dim bSTR15
bSTR15 = ""
Dim bSTR16
bSTR16 = ""
Dim boolean15
settingRepository1.GetAttrInfo "GenDim", bSTR15, bSTR16, boolean15
'--------------------------------------------------
' Parameter 1 : (String) "GenDim"
' Parameter 2 : (String) "Default value"
' Parameter 3 : (String) "Locked at Admin Level 0"
' Parameter 4 : (Boolean) False

Ci dessous une petite macro VBA qui bascule le mode de génération de vue entre "Vue approximée" et "Vue exacte":

Code:
Sub CATMain()

Dim settingControllers1 As SettingControllers
Set settingControllers1 = CATIA.SettingControllers
Dim settingRepository1 As SettingRepository
Set settingRepository1 = settingControllers1.Item("DraftingOptions")
Dim uLong1
uLong1 = settingRepository1.GetAttr("DrwGenerationModeVal")
'--------------------------------------------------
' Parameter 1 : (String) "DrwGenerationModeVal"
' Returned value : (Variant) (Long) 0:vue exact; 3:vue approximée
'--------------------------------------------------
If uLong1 = 0 Then
    settingRepository1.PutAttr ("DrwGenerationModeVal"), 3
    MsgBox "Vous êtes passé en vue approximée"
End If

If uLong1 = 3 Then
    settingRepository1.PutAttr ("DrwGenerationModeVal"), 0
    MsgBox "Vous êtes passé en vue exacte"
End If

End Sub
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: modification des options drawing generation par macro

Message par jeanmi Mar 24 Nov 2015 - 14:43

re
merci c'est bien mon besoin
mais je ne suis pas arrive a avoir le fichier texte.vbs

chez moi  il est toujours vide
a tu une solution

encore merci

jeanmi
timide
timide

Messages : 9
Date d'inscription : 13/03/2013
Age : 66
Localisation : valence drome

Revenir en haut Aller en bas

R?solu Re: modification des options drawing generation par macro

Message par lumpazepfel Mar 24 Nov 2015 - 15:32

Je n'ai pas été assez précis, désolé : le fichier ne s'appelle pas Texte.catvbs je voulais dire qu'il s'agit d'un fichier de type texte.
Le fichier prend le nom de l'onglet exporté par exemple : "Mechanical_Design-Drafting-Generation.catvbs"
Il se trouve dans le répertoire sélectionner lors de la création du cliché.

modification des options drawing generation par macro  Cliche12
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: modification des options drawing generation par macro

Message par jeanmi Mar 24 Nov 2015 - 15:49



si j'avais bien compris mais le fichier creer par catia n'a que les trois ligne s suivante

Language="VBSCRIPT"

Sub CATMain()

End Sub


jeanmi
timide
timide

Messages : 9
Date d'inscription : 13/03/2013
Age : 66
Localisation : valence drome

Revenir en haut Aller en bas

R?solu Re: modification des options drawing generation par macro

Message par lumpazepfel Mar 24 Nov 2015 - 17:17

Crying or Very sad
Je ne sais pas pourquoi ton fichier est vide.
Quels sont les options que tu veux modifier par macro ?
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: modification des options drawing generation par macro

Message par jeanmi Mer 25 Nov 2015 - 7:19

toutes celles de la génération de la cotation

bonne journée

jeanmi
timide
timide

Messages : 9
Date d'inscription : 13/03/2013
Age : 66
Localisation : valence drome

Revenir en haut Aller en bas

R?solu Re: modification des options drawing generation par macro

Message par lumpazepfel Mer 25 Nov 2015 - 9:26

Bonjour,

Ci dessous le code VBA qui te permet de changer les valeurs de cette page d'options.
Attention les options ne peuvent pas être modifiées si elles sont verrouillées.

Code:
Option Explicit
Sub CATMain()

Dim settingControllers1 As SettingControllers
Set settingControllers1 = CATIA.SettingControllers
Dim settingRepository1 As SettingRepository
Set settingRepository1 = settingControllers1.Item("DraftingOptions")

'Active (True) ou désactive (False) "Generate dimensions when updating the sheet
settingRepository1.PutAttr ("GenDim"), True

'Active ou désactive "Filtersbefore generation"
settingRepository1.PutAttr ("GenDimFilter"), True

'Active ou désactive "Automatic positioning after generation"
settingRepository1.PutAttr ("GenDimAutoPos"), True

'Active ou désactive "Allow automatic transfer between views"
settingRepository1.PutAttr ("GenDimAutoTrans"), True

'Active ou désactive "Analysis after generation"
settingRepository1.PutAttr ("GenDimAnal"), True

'Active ou désactive "Generate dimensions from parts included in assembly views"
settingRepository1.PutAttr ("DrwGenDimFromPart"), True

'Valeur en seconde de "Delay between generations for step by step mode"
settingRepository1.PutAttr ("GenDimSemiAutoTimeOut"), 3

'Active ou désactive "Creation of a balloon for each instance of a product"
settingRepository1.PutAttr ("GenBalloonByInstance"), True

'Sauvegarde les nouveaux réglages
settingRepository1.SaveRepository

End Sub

modification des options drawing generation par macro  Catia_10
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: modification des options drawing generation par macro

Message par jeanmi Mer 25 Nov 2015 - 11:01

merci pour la page

mais j'ai un soucis avec
Dim settingRepository1 As SettingRepository
catia me dit donne un erreur de compilation USer-defined type not defined

jeanmi
timide
timide

Messages : 9
Date d'inscription : 13/03/2013
Age : 66
Localisation : valence drome

Revenir en haut Aller en bas

R?solu Re: modification des options drawing generation par macro

Message par lumpazepfel Mer 25 Nov 2015 - 13:38

Je suis en CATIA R22 SP3 et ça fontionne.
Ta macro est bien en VBA?
Alors il s'agit sans doute d'une référence manquante:
-dans l'édituer Visual Basic clique sur "Tools" et "References..."
-il faut cocher au moins les 3 références indiquées dans l'image ci jointe

modification des options drawing generation par macro  Vba-to11

SINON Tu peux essayer de faire les déclarartions sans le AS et la valeur:
Code:
Dim settingControllers1
Set settingControllers1 = CATIA.SettingControllers
Dim settingRepository1
Set settingRepository1 = settingControllers1.Item("DraftingOptions")
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: modification des options drawing generation par macro

Message par jeanmi Mer 2 Déc 2015 - 17:20

merci

jeanmi
timide
timide

Messages : 9
Date d'inscription : 13/03/2013
Age : 66
Localisation : valence drome

Revenir en haut Aller en bas

R?solu Re: modification des options drawing generation par 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