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 : -45%
Harman Kardon Citation One MK3 – Enceinte ...
Voir le deal
99 €

Partionner automatiquement une courbe sous VBA

2 participants

Aller en bas

Partionner automatiquement une courbe sous VBA  Empty Partionner automatiquement une courbe sous VBA

Message par bbarn Mer 27 Avr 2011 - 17:30

Bonjour,
Je suis actuellement à la recherche d'un moyen pour partitionner automatiquement (VBA) une courbe en plusieurs sections selon les éléments 1D qui la traversent. Pour être plus précis, je souhaite que cette découpe se fasse uniquement si l'élément 1D recoupe deux fois (ou plus ) la courbe (pas de partition si l'élément 1D ne coupe qu'une seul fois la courbe).

Si ma courbe est coupée deux fois par un unique élément, je souhaite obtenir 3 partitions de ma courbe/ coupée deux fois par deux éléments, je souhaite avoir 5 partitions...

Existe-t-il un moyen simple de réaliser cette manipulation ?

N'ayant pas trouvé, j'ai pensé à créer des intersections entre ma courbe et tous les élements 1D de mon part, controler le nombre de points créé pour chaque intersection, puis découper ma courbe selon les éléments identifiés. Le problème de cette méthode est que je n'arrive pas a déterminer le nombre de points présent dans l'intersection.

Existe-t-il un moyen sous VBA de savoir combien une intersection contient de points ?

Merci d'avance pour votre aide

BBarn

bbarn
timide
timide

Messages : 5
Date d'inscription : 21/04/2011

Revenir en haut Aller en bas

Partionner automatiquement une courbe sous VBA  Empty Re: Partionner automatiquement une courbe sous VBA

Message par flo Mer 27 Avr 2011 - 18:33

pourquoi n'utilise tu pas les règles de catia, c'est peut être plus simple que VBA, et tu pourra activé ou désactivé ta découpe selon une condition.
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

Partionner automatiquement une courbe sous VBA  Empty Re: Partionner automatiquement une courbe sous VBA

Message par bbarn Jeu 28 Avr 2011 - 9:33

Désolé, je suis encore débutant en catia. Qu'entends tu par utiliser les règles Catia ?
l'idée de ma démarche est d'automatiser la découpe d'une surface composée de beaucoup d'éléments 1D. Pour garantir une découpe correcte, mon process exige que mes éléments 1D ne se recoupent pas plus d'une fois. D'où ma demande sur la partition.


bbarn
timide
timide

Messages : 5
Date d'inscription : 21/04/2011

Revenir en haut Aller en bas

Partionner automatiquement une courbe sous VBA  Empty Re: Partionner automatiquement une courbe sous VBA

Message par flo Jeu 28 Avr 2011 - 18:46

je suis pas sur que ce soit possible avec les règles, mais tu a un module dans catia qui est knowledge advisor dans gestion des connaissances qui te permet de créer des règles (un peut comme avec VBA) : boucle if (etc) et avec ces règles, tu pourra activé ou non, des surfaces, des opérations .... (c'est peut être plus facil que VBA, 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

Partionner automatiquement une courbe sous VBA  Empty Re: Partionner automatiquement une courbe sous VBA

Message par flo Jeu 28 Avr 2011 - 19:33

j'ai essayé voir ce que ca donnais, voila ce que j'obtiens, je sais pas si ca peut t'aider
Partionner automatiquement une courbe sous VBA  Surf_111
j'ai créée ma première surface (extrusion.1) puis ma seconde (cylindre extrusion.3) (j'ai paramétré la longueur du cylindre pour pouvoir le modifier facilement), j'ai créée l'intersection entre le cylindre et la surface puis, j'ai créée un paramètre entier possédant une formule qui mesure le nombres de domaine de mon intersection, soit le nombre d'intersection. Puis j'ai créée la découpe que j'active ou non en fonction du nombre d'intersection.
Voici la règle toute simple :

Code:
if Entier.1 >=2
{ resultat = "le nombre d'entrée est de " + Entier.1 + " donc partition possible"
`Set géométrique.1\Découpe.1\Activité` =true}

if Entier.1 <=1
{ resultat = "le nombre d'entrée est inférieur à 2, partition non possible"
   `Set géométrique.1\Découpe.1\Activité` =false}
(le paramètre résultat est inutile, c'était juste pour tester avant de continuer)
et voila ce que ca donne :
Partionner automatiquement une courbe sous VBA  Surf_210 Partionner automatiquement une courbe sous VBA  Surf_310
avec 2 et 3 intersections
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

Partionner automatiquement une courbe sous VBA  Empty Re: Partionner automatiquement une courbe sous VBA

Message par bbarn Ven 29 Avr 2011 - 12:03

Merci pour ta réponse, c'est en effet une méthode qui marche.
Mon maître de stage (et oui, ces travaux sont dans le cadre d'un stage) m'avait parlé de knowledge et de la commande NdDomains. c'est bien celle-ci dont tu parles ?

Le problème est que j'ai tout mon code qui est sous VBA. Je ne sais pas si il y a des passerelles possible en knowledge et VBA. As tu des infos la dessus ?

Merci encore pour la réponse en image.

bbarn
timide
timide

Messages : 5
Date d'inscription : 21/04/2011

Revenir en haut Aller en bas

Partionner automatiquement une courbe sous VBA  Empty Re: Partionner automatiquement une courbe sous VBA

Message par flo Ven 29 Avr 2011 - 13:17

je pense que c'est bien cette commande que ton mettre de stage ta parlé, mais je viens de la découvrir donc je peut pas t'en dire beaucoup plus. Et pour les passerelles entre VBA et le knowledge, je te conseil de testé avec des macros, et tu regarde ce qu'il enregistre, si il n'enregistre rien, alors .... tu est un peut dans la m*****.
Bon courage
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

Partionner automatiquement une courbe sous VBA  Empty Re: Partionner automatiquement une courbe sous VBA

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut


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