CATIA V5 | 3DEXPERIENCE
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Activer des contours avec un paramètre

3 participants

Aller en bas

Activer des contours avec un paramètre Empty Activer des contours avec un paramètre

Message par BEBER1212 Lun 7 Mar 2011 - 17:54

Bonjour à tous,

Je cherche à savoir comment je peux (et quelle est la meilleure solution pour) activer un contour ou un autre dans une esquisse, à l'aide d'un paramètre.
Ex : J'ai un paramètre avec les choix suivants : carré, cercle, triangle...
Quand je choisis "Carré", j'extrude une forme carrée. Quand je choisis "cercle", j'extrude un tube. Soit en activant un contour dans une esquisse, soit en activant carrément une esquisse. Mais dans ce dernier cas, comment indiquer à l'extrusion qu'on extrude telle ou telle esquisse ?
Un petit coup de main ?

Merci à tous.

BEBER1212
timide
timide

Messages : 8
Date d'inscription : 07/03/2011

Revenir en haut Aller en bas

Activer des contours avec un paramètre Empty Re: Activer des contours avec un paramètre

Message par flo Lun 7 Mar 2011 - 18:36

Avec des lois : gestion des connaissance, knowledge advisor.
Avec ça tu pourra activer ou non les esquisse que tu veut suivant le paramètre choisi.
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

Activer des contours avec un paramètre Empty Re: Activer des contours avec un paramètre

Message par flo Lun 7 Mar 2011 - 18:52

ou avec une règle, a voir
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

Activer des contours avec un paramètre Empty Re: Activer des contours avec un paramètre

Message par flo Lun 7 Mar 2011 - 19:39

la seul solution que j'ai trouvé pour le moment est de créer un paramètre chaine (permettant d'indiquer le type d'esquisse (cercle, carré ...)) puis de créer une règle. Mais pour cela, j'ai du créer une extrusion pour chaque type d'esquisse, que j'active ou non avec la règle.
Voici ce que j'ai écris dans le règle :
if `Chaîne` =="cercle"
{ `Corps principal\Extrusion.2\Activité` =true
`set de travail\Esquisse.cercle\Activité` =true
`Corps principal\Extrusion.3\Activité` =false
`set de travail\Esquisse.carre\Activité` =false
`Corps principal\Extrusion.4\Activité` =false
`set de travail\Esquisse.forme_libre\Activité` =false}
if `Chaîne` =="carré"
{ `Corps principal\Extrusion.2\Activité` =false
`set de travail\Esquisse.cercle\Activité` =false
`Corps principal\Extrusion.3\Activité` =true
`set de travail\Esquisse.carre\Activité` =true
`Corps principal\Extrusion.4\Activité` =false
`set de travail\Esquisse.forme_libre\Activité` =false}
if `Chaîne` =="forme libre"
{ `Corps principal\Extrusion.2\Activité` =false
`set de travail\Esquisse.cercle\Activité` =false
`Corps principal\Extrusion.3\Activité` =false
`set de travail\Esquisse.carre\Activité` =false
`Corps principal\Extrusion.4\Activité` =true
`set de travail\Esquisse.forme_libre\Activité` =true}

Peut être qu'avec du VBA, on peut faire qu'une seul extrusion dont l'esquisse change suivant le paramètre choisi, mais je n'est pas encore trouvé
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

Activer des contours avec un paramètre Empty Re: Activer des contours avec un paramètre

Message par Threedots Mar 8 Mar 2011 - 10:18

Bonjour,

J'ai regardé hier soir, et je n'ai pas réussi a gérer facilement les éléments géométriques dans une même esquisse (cacher/afficher les droites, cercles...).

De même, pas possible d'affecter plusieurs esquisses à une seule extrusion, ce qui implique d'utiliser une méthode analogue à la tienne, à savoir plusieurs extrusions activées ou désactivées.

Si tu ne connais pas trop les lois et les règles, il est aussi possible d'utiliser les paramètres, avec notamment une table de paramétrage (assez sympa a utiliser, voir exemple) :

Forme / Extrusion_carre.Activité / Esquisse_carre.Activité / Extrusion_cercle.Activité / ...
Carre / True / True / False / ...
Cercle / False / False / True / ...

Tu peux garder tes longueurs, tes dimensions, en paramètres aussi, mais là je te conseille de les mettre ailleurs que dans un tableau pour pouvoir les piloter plus facilement. L'avantage par rapport à la technique de flo est que c'est peut-être plus facile à modifier, l'inconvénient est que ça utilise un document Excel (avec le problème de compatibilité qui peut arriver à chaque changement de version, de Catia ou de Microsoft...)

Avec le VBA ? Je ne sais pas... Pas assez d'expérience là dedans...
Threedots
Threedots
Fédérateur
Fédérateur

Messages : 617
Date d'inscription : 16/09/2010
Age : 36
Localisation : Toulouse

Revenir en haut Aller en bas

Activer des contours avec un paramètre Empty Re: Activer des contours avec un paramètre

Message par BEBER1212 Mar 8 Mar 2011 - 10:58

Merci pour vos réponses, je vais tester tout ça.

Pour la table de paramétrage, j'y avais pensé, mais je ne suis pas sûr que tous les utilisateurs arrivent à l'utiliser.
Je pensais bien utiliser un paramètre chaîne, mais je ne savais pas comment l'utiliser après. Je vais donc essayer une règle, avec plusieurs extrusions.

Je vous tiens au courant. Merci.

BEBER1212
timide
timide

Messages : 8
Date d'inscription : 07/03/2011

Revenir en haut Aller en bas

Activer des contours avec un paramètre Empty Re: Activer des contours avec un paramètre

Message par BEBER1212 Mar 8 Mar 2011 - 15:17

Et voila, les tests sont faits.
J'ai essayé les lois et les règles. Avec les lois, j'avais un message d'erreur qui m'indique qu'on peut évaluer un paramètre formel et un seul (?).
Avec les règles, cela fonctionne effectivement avec plusieurs extrusions, mais je voudrais n'en avoir qu'une car je dois l'assembler après.
Je continue donc de chercher. J'aimerais éviter le VBA...
Merci.

BEBER1212
timide
timide

Messages : 8
Date d'inscription : 07/03/2011

Revenir en haut Aller en bas

Activer des contours avec un paramètre Empty Re: Activer des contours avec un paramètre

Message par flo Mar 8 Mar 2011 - 15:56

je me doutais bien que tu voulais faire d'autre opération dessus, sinon juste une bibliothèque aurait suffit, et j'avoue que les règles ne sont pas très pratique pour ça, car il faudrait mettre toutes les opérations qui suivent dans la règle. Et pour les lois, en effet, ça ne marche pas pour faire ça.
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

Activer des contours avec un paramètre Empty Re: Activer des contours avec un paramètre

Message par flo Mar 8 Mar 2011 - 16:27

si ça peut t'aider avec VBA, au cas ou tu ne trouverai pas autrement
Code:

Sub CATMain()

Dim partDocument1 As PartDocument
Set partDocument1 = CATIA.ActiveDocument

Dim part1 As Part
Set part1 = partDocument1.Part

Dim bodies1 As Bodies
Set bodies1 = part1.Bodies

Dim body1 As Body
Set body1 = bodies1.Item("Corps principal")

part1.InWorkObject = body1

Dim shapeFactory1 As ShapeFactory
Set shapeFactory1 = part1.ShapeFactory

Dim reference1 As Reference
Set reference1 = part1.CreateReferenceFromName("")

Dim pad1 As Pad
Set pad1 = shapeFactory1.AddNewPadFromRef(reference1, 20#)

Dim hybridBodies1 As HybridBodies
Set hybridBodies1 = part1.HybridBodies

Dim hybridBody1 As HybridBody
Set hybridBody1 = hybridBodies1.Item("set pour esquisse")

Dim sketches1 As Sketches
Set sketches1 = hybridBody1.HybridSketches

Dim sketch1 As Sketch '(élément déjà écris mais à déplacer (voir plus bas))

Dim parameters1 As Parameters '(élément à ajouter à une macro enregistrant une extrusion)
Set parameters1 = part1.Parameters '(élément à ajouter)

Dim strParam1 As StrParam '(élément à ajouter)
Set strParam1 = parameters1.Item("Chaine") '(élément à ajouter)

If strParam1.Value = "cercle" Then '(élément à ajouter (condition permettant de choisir l'esquisse))

'Dim sketch1 As Sketch  (élement déplacer plus haut)
Set sketch1 = sketches1.Item("Esquisse.cercle") '(élément à ajouter)

End If 'élément à ajouter
If strParam1.Value = "carré" Then '(élément à ajouter (seconde condition pour la seconde esquisse))
Set sketch1 = sketches1.Item("Esquisse.carre") '(élément à ajouter)
End If '(élément à ajouter)

Dim reference2 As Reference
Set reference2 = part1.CreateReferenceFromObject(sketch1)

pad1.SetProfileElement reference2

Dim relations1 As Relations
Set relations1 = part1.Relations

Dim limit1 As Limit
Set limit1 = pad1.FirstLimit

Dim length1 As Length
Set length1 = limit1.Dimension

Dim formula1 As Formula
Set formula1 = relations1.CreateFormula("Formule.1", "", length1, "`Longueur extrusion` ")

formula1.Rename "Formule.1"

part1.Update

End Sub
En gros, je suis parti d'une macro enregistrant une extrusion avec une longueur paramétrée "Longueur extrusion" (ce qui créer beaucoup de ligne de code, peut être inutile). A partir de là, il suffis de créer les 2 conditions (les éléments a ajouter à la macro sont indiquer entre parenthèse). Pour ce faire, il faut également 2 esquisse (un cercle nommé Esquisse.cercle et un carré nommé Esquisse.carre) ainsi qu'un paramètre Chaine dans lequel il faut entrer soit cercle, soit carré. (Les noms peuvent être changés)
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

Activer des contours avec un paramètre Empty Re: Activer des contours avec un paramètre

Message par BEBER1212 Mar 8 Mar 2011 - 17:15

J'ai aussi fait qqch en vba.
ça me crée bien un balayage (parce qu'en fait je veux faire un balayage avec dépouille mais ça change pas grand chose), avec l'esquisse sélectionnée. par contre si je change le paramètre pour sélectionner une autre esquisse, le balayage ne se modifie pas...et c'est ce que je voudrais.
Je ne sais pas non plus comment "insérer" la macro dans mon part pour qu'elle se lance toute seule, à l'ouverture du part par exemple.

BEBER1212
timide
timide

Messages : 8
Date d'inscription : 07/03/2011

Revenir en haut Aller en bas

Activer des contours avec un paramètre Empty Re: Activer des contours avec un paramètre

Message par flo Mar 8 Mar 2011 - 18:00

tu veux dire que l'esquisse ne se change pas si tu ne relance pas la macro, ou tu a essayer de relancer la macro avec un autre paramètre d'esquisse?
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

Activer des contours avec un paramètre Empty Re: Activer des contours avec un paramètre

Message par BEBER1212 Mar 8 Mar 2011 - 18:22

Effectivement, je n'ai pas essayé de relancer la macro. Du coup ta remarque me fait comprendre comment insérer la macro. Il faut qu'elle se relance à chaque changement de paramètre.
J'ai pas fait beaucoup de VBA, il faut que ça revienne, et de loin...
J'essaierai ça demain.
Merci.

BEBER1212
timide
timide

Messages : 8
Date d'inscription : 07/03/2011

Revenir en haut Aller en bas

Activer des contours avec un paramètre Empty Re: Activer des contours avec un paramètre

Message par flo Mar 8 Mar 2011 - 21:32

oui, mais la je vois pas comment faire ça
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

Activer des contours avec un paramètre Empty Re: Activer des contours avec un paramètre

Message par BEBER1212 Mer 9 Mar 2011 - 10:51

Effectivement, moi non plus je ne sais pas comment faire.
Je l'ai déjà fait en VB, mais pas avec Catia.

Tant pis, j'ai réussi à créer une esquisse que je peux piloter avec des paramètres pour me faire les formes souhaitées. (Un cercle, c'est jamais qu'un carré avec un rayon à chaque sommet Wink ).
Du coup avec une table de paramétrage, je peux piloter ces paramètres, et donc n'avoir qu'une seule esquisse. Ouf !

Par contre, est ce qu'il est possible de choisir le paramètre "Contour" (que l'utilisateur va choisir) sans passer par la table de parametrage, juste avec une boite déroulant.
Je pense que c'est possible, il me semble avoir déjà fait ça à l'école, mais je ne m'en souviens plus.
Merci de votre aide.

BEBER1212
timide
timide

Messages : 8
Date d'inscription : 07/03/2011

Revenir en haut Aller en bas

Activer des contours avec un paramètre Empty Re: Activer des contours avec un paramètre

Message par flo Mer 9 Mar 2011 - 11:34

oui, c'est très simple, dans le paramètre chaine, il faut faire double clique puis clique droit sur la zone d'écriture de la valeur et valeurs multiple
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

Activer des contours avec un paramètre Empty Re: Activer des contours avec un paramètre

Message par BEBER1212 Mer 9 Mar 2011 - 11:45

ça je sais, sauf que maintenant que j'ai une table de parametrage, ce paramètre est lié à la table.
Je peux par un clic droit "enlever l'association avec la table", et dans ce cas il revient en "valeurs multiples", mais il ne pilote pas la table.
Je voudrais qu'il la pilote, mais avec les valeurs multiples, sans devoir entrer dans la table et choisir la ligne.

BEBER1212
timide
timide

Messages : 8
Date d'inscription : 07/03/2011

Revenir en haut Aller en bas

Activer des contours avec un paramètre Empty Re: Activer des contours avec un paramètre

Message par flo Mer 9 Mar 2011 - 12:45

d'après ce que je viens de voir, la table de paramétrage est composé d'une feuille (fichier excel) et d'un paramètre. Je pense qu'il suffis de controler de le paramètre de la table (configuration) avec ton paramètre chaine. Pour cela, il faut créer une règle avec une condition if.
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

Activer des contours avec un paramètre Empty Re: Activer des contours avec un paramètre

Message par BEBER1212 Ven 11 Mar 2011 - 12:28

Comment crées-tu une règle. Je peux ajouter une formule à un paramètre, mais je n'arrive pas à y mettre "if". Je n'ai peut être pas la bonne syntaxe.
Merci.

BEBER1212
timide
timide

Messages : 8
Date d'inscription : 07/03/2011

Revenir en haut Aller en bas

Activer des contours avec un paramètre Empty Re: Activer des contours avec un paramètre

Message par flo Ven 11 Mar 2011 - 13:49

as tu le module "gestion des connaissances" et "knowledge advisor" ?
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

Activer des contours avec un paramètre Empty Re: Activer des contours avec un paramètre

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