Génération d'éléments paramétrés

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

Génération d'éléments paramétrés

Message par Arafat le Ven 2 Sep 2016 - 11:29

Bonjour,

Comme évoqué dans le topic précédent, j'ouvre un second topic pour une nouvelle question relative à une application que je dois développer en VBA.
Et pour ne pas tout mélanger, je préfère dissocier les question.

Cette fois-ci il s'agit d'éléments paramétrés :

- J'ai un userform dans lequel l'utilisateur rentre les valeurs de différentes caractéristiques (ex : longueurA, angleB...).
- Je génère un Set Géométrique, dans lequel je commence par traduire ces caractéristiques en paramètres CATIA, et à les afficher dans l'arbre.
- Je génère ensuite tout plein de points/lignes/courbes, sur la base de ces paramètres.
- Pour l'instant, si je modifie à la main les paramètres CATIA, il ne se passe rien de plus.

Ma question : Comment faire pour qu'une fois sorti de la macro, si je modifie les paramètres CATIA, cela remette directement à jour la position des points ?

Je suppose que j'ai manqué une étape, mais quoi ? Insertion de formules ?
Comment feriez-vous ?


Dernière édition par Arafat le Sam 3 Sep 2016 - 18:59, édité 1 fois

Arafat
timide
timide

Messages : 13
Date d'inscription : 20/02/2015
Localisation : Bordeaux

Revenir en haut Aller en bas

Re: Génération d'éléments paramétrés

Message par lumpazepfel le Sam 3 Sep 2016 - 7:38

Bonjour,

Oui il faut que ta macro crée les formulaires qui font le lien entre les paramètres et tes éléments géométriques.
Voir exemple ici : http://www.maruf.ca/files/caadoc/CAAScdKniUseCases/CAAKniParAndFormulasSource.htm
avatar
lumpazepfel
actif
actif

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

Revenir en haut Aller en bas

Re: Génération d'éléments paramétrés

Message par Arafat le Ven 16 Sep 2016 - 5:36

Oui merci, dans l'idée c'est bien ce que je veux.
Mais une étape m'échappe encore.

Je n'arrive pas à bien désigner le dernier champ de ma formule, celui qui va chercher le paramètre en question.
Démonstration sur l'exemple de l'helicoidal stair décrit dans l'aide.

Code:
 ' Set Parameters for stair generation
    Set Parm = parameters.CreateDimension("HelixPitch", "LENGTH", Pitch)
    Set Parm = parameters.CreateDimension("HelixHeight", "LENGTH", Height)
    Set Parm = parameters.CreateDimension("StepHeight", "LENGTH", StepValue)

  ' Create a formula defining the line offset value as equal to the helix height parameter
    Set Formula = relations.CreateFormula("Formula.0", "", Line.EndOffset, "HelixHeight")


C'est le champ "HelixHeight" qui me résiste.
Par contre, si je lui mets (comme ce que me sort l'enregistreur de macro) l'ensemble du chemin d'accès au paramètre, là ça marche. Mais ce n'est pas très propre.
 
Code:
Set Formula = relations.CreateFormula("Formula.0", "", Line.EndOffset, " 'part1\set géométrique tartampion\HelixHeight' ")

Une idée?

Autre chose, je voudrais verrouiller en écriture certains paramètres.
Or les méthodes Param1.ReadOnly et Param1.UserAccessMode permettent de retourner l'information mais pas de la setter. Et la commande CATIA.StartCommand "Lock" ne semble pas être reconnue avec mon PC.
Une idée?

Arafat
timide
timide

Messages : 13
Date d'inscription : 20/02/2015
Localisation : Bordeaux

Revenir en haut Aller en bas

Re: Génération d'éléments paramétrés

Message par Arafat le Jeu 22 Sep 2016 - 3:33

Je me réponds concernant le premier point :
Quand je double-cliquait sur le paramètre, il m'affichait "part1\set géométrique tartampion\HelixHeight".

Du coup, il suffisait de faire un Param1.Rename "HelixHeight".
Et à partir de là, aucun soucis pour créer la formule.

Arafat
timide
timide

Messages : 13
Date d'inscription : 20/02/2015
Localisation : Bordeaux

Revenir en haut Aller en bas

Re: Génération d'éléments paramétrés

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