modification des options drawing generation par macro

Voir le sujet précédent Voir le sujet suivant Aller en bas

R?solu modification des options drawing generation par macro

Message par jeanmi le Mar 24 Nov 2015 - 21: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 : 14/03/2013
Age : 59
Localisation : valence drome

Revenir en haut Aller en bas

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

Message par lumpazepfel le Mar 24 Nov 2015 - 23: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).
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
avatar
lumpazepfel
actif
actif

Messages : 141
Date d'inscription : 03/11/2015
Localisation : Ensisheim

Revenir en haut Aller en bas

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

Message par jeanmi le Mer 25 Nov 2015 - 1: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 : 14/03/2013
Age : 59
Localisation : valence drome

Revenir en haut Aller en bas

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

Message par lumpazepfel le Mer 25 Nov 2015 - 2: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é.

avatar
lumpazepfel
actif
actif

Messages : 141
Date d'inscription : 03/11/2015
Localisation : Ensisheim

Revenir en haut Aller en bas

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

Message par jeanmi le Mer 25 Nov 2015 - 2: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 : 14/03/2013
Age : 59
Localisation : valence drome

Revenir en haut Aller en bas

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

Message par lumpazepfel le Mer 25 Nov 2015 - 4:17

Crying or Very sad
Je ne sais pas pourquoi ton fichier est vide.
Quels sont les options que tu veux modifier par macro ?
avatar
lumpazepfel
actif
actif

Messages : 141
Date d'inscription : 03/11/2015
Localisation : Ensisheim

Revenir en haut Aller en bas

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

Message par jeanmi le Mer 25 Nov 2015 - 18:19

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

bonne journée

jeanmi
timide
timide

Messages : 9
Date d'inscription : 14/03/2013
Age : 59
Localisation : valence drome

Revenir en haut Aller en bas

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

Message par lumpazepfel le Mer 25 Nov 2015 - 20: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

avatar
lumpazepfel
actif
actif

Messages : 141
Date d'inscription : 03/11/2015
Localisation : Ensisheim

Revenir en haut Aller en bas

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

Message par jeanmi le Mer 25 Nov 2015 - 22: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 : 14/03/2013
Age : 59
Localisation : valence drome

Revenir en haut Aller en bas

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

Message par lumpazepfel le Jeu 26 Nov 2015 - 0: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



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")
avatar
lumpazepfel
actif
actif

Messages : 141
Date d'inscription : 03/11/2015
Localisation : Ensisheim

Revenir en haut Aller en bas

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

Message par jeanmi le Jeu 3 Déc 2015 - 4:20

merci

jeanmi
timide
timide

Messages : 9
Date d'inscription : 14/03/2013
Age : 59
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

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

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