Faire un réseau de trous sur une surface complexe par les copies optimisées de Catia V5

Rendu_tole-reduit1

Définition du problème:

Percer un ensemble de trous sur une surface quelconque !

Cet article montre une autre façon d’appréhender le problème de modélisation décrit dans l’article « Comment réaliser un réseau de trous sur une surface complexe – CV5 et CatVba ».

Il s’agit d’une tôle percée servant de filtre comme on peut en voir dans l’agro-alimentaire. Sa particularité est que la forme de base, bien que symétrique, présente une évolution de section.

Dans cet exercice, pas de script, ici la construction est plus classique puisqu’elle ne fait intervenir aucun automatisme mais uniquement des fonctions natives de Catia V5.

On utilise ici la copie optimisée pour instancier plusieurs fois une rangée de cylindres. Cette définition est stockée dans une Catpart et le modèle de destination puise dans ce dernier pour créer de nouvelles rangées de cylindres.

Bien qu’une partie de la construction soit n fois réutilisée, donc « pré-mâchée », il faut tout de même répéter manuellement l’insertion (et la désignation des nouveaux parents) de cette construction autant de fois qu’il est nécessaire (c’est à dire autant de fois qu’il y a de rangées).

Ceci peut être fastidieux si l’opération dépasse pour moi qui suis patient une trentaine d’itérations, mais cela dépend du dessinateur.

Quoi qu’il en soit, voyons comment cela fonctionne car cette méthode présente bien des intérêts.

La copie optimisée en deux mots:

C’est l’utilisation d’une construction stockée dans une Catpart que l’on peut instancier dans une autre Catpart ?!?!!???

Pas très clair, n’est-ce pas ?

Un exemple:

Mettons que vous aillez à dessiner une pièce un peu design, imaginez une sorte de totem avec des excroissances  de forme identiques mais de taille différentes sur des surfaces qui ne sont pas identiques (le totem présente de nombreuses faces planes…)

  • Soit vous les dessinez une à une, c’est à dire un sketch, une extrusion, des dépouille, des rayons, d’autres sketchs pour dessiner toujours les mêmes excroissances…. Pffff !!!
  • Soit vous ne dessinez qu’une excroissance, si complexe soit elle, une fois pour toute et vous utilisez une sorte de fonction (la copie optimisée que vous aurez créée) qui la construira automatiquement là où vous lui direz de la mettre et vous pourrez la modifier car la structure copiée est bien vivante et indépendante. Comprenez que chaque excroissance est bien unique (ce qui n’est pas le cas d’un modèle import = “édition/ collage spécial/coller avec lien” où les copies sont exactement identiques à leur source) .

Bien pratique mais comment ça marche ?

Une histoire de parents bien sûr !
Sans la copie optimisée, on ferait un “copié/collé” de l’excroissance en question et on aurait un travail fastidieux de re-pointage des parents pour arriver à nos fins (je ne veux pas ce plan là mais celui-ci et puis cette direction d’extrusion… Bon Update, merde c’est la cata, j’ai oublié de changer le point de départ… Etc = que du plaisir  : (

La copie optimisée c’est un peut cela mais le travail est rendu léger car avant de coller, Catia vous demande de désigner les nouveaux parents de l’excroissance. Dans le modèle de départ, celle-ci est appuyée sur le plan XY, avec la direction “ligne 3” et avec pour origine le point.13 et avec une longueur donnée par le paramètre “longueur extrusion”.
Dans le modèle de réception, les nouveaux parents seront le plan.27, la ligne “extrusion 1”, le point projeté.39 et le paramètre longueur “extrusion 1”… Why not.
L’important est de trouver le remplaçant approprié à chaque parent.
Si tout est en ordre, on valide et l’excroissance s’ajoute sans encombre.
On peut alors en ajouter une autre en lançant l’opération de copie optimisée, en désignant le modèle de départ et les nouveaux parents …

Pratique non ?

Alors, pour notre surface pleine de trous, ça donne cela:

La surface recevant les perçages

On récupère ici la construction de l’article précédent avec une peau tendue entre deux profils.
La surface pourrait être différente cela ne poserait pas de problème, il faut toutefois pouvoir orienter les rangées de trous. Nous ferons cela grâce à des plans normaux à la direction principale de la demi-pièce avec l’utilisation de la fonction “plans entre deux autres”. Ils seront rangés dans un set  géométrique “position_plans”.

on a donc cela:

CO_modele_depart

Mettre la construction à répéter dans une Catpart spécifique:

Maintenant, on va créer, une fois pour toute une rangée de trou sur une autre surface quelconque dans une Catpart que l’on va nommer “CO_Rangee_de_Trous”.
J’ai l’habitude de commencer le nom de la Catpart par CO pour les différencier rapidement et pouvoir le réutiliser dans d’autre constructions si cela s’avérait utile.

Avant de commencer à construire quoi que ce soit vous devez savoir que:

Il est impératif de baser sa construction sur des éléments isolés sinon la fonction copie optimisée ne fonctionne pas !
Le plus simple est donc de commencer à construire à partir d’un trièdre isolé à la place des plans de départ

C’est parti

On commence donc par construire une surface simple mais dont la primitive soit différente d’un plan de façon à s’approcher au mieux de la nature de la surface réceptrice (la surface de départ est gauche, il nous faut une surface gauche).
Les esquisses et directions d’extrusion sont donc prises sur le trièdre de départ isolé et l’on construit une peau (ici sensiblement cylindrique) puis on positionne un plan normal au bord de cette peau et enfin une courbe intersection entre le plan et la peau.
Une répétition de points se réparti sur la courbe et sert à positionner chaque cylindre. Ils sont tous liés au même paramètre “Rayon trou” et sont orientés normalement à la peau.
Tout est bien rangé et renommé dans des set géométriques.

CO_points_et_cylindres

Déclaration de la copie optimisée:

Il faut maintenant déclarer les éléments parents qui serviront de base et seront donc remplacés dans la Catpart d’arrivée.
Cela se fait grâce à la fonction qui se trouve dans Insertion / Modèles intelligents / Copies Optimisées

Une nouvelle entité se créée dans l’arbre et une boite apparait.
Utilisons simplement ici le premier onglet et sélectionnons dans l’arbre les éléments parents qui devront trouver leurs équivalents dans le modèle d’arrivée.
Une nouvelle entité se créée dans l’arbre et une boite apparait.
Utilisons simplement ici le premier onglet et sélectionnons dans l’arbre les éléments parents qui devront trouver leurs équivalents dans le modèle d’arrivée.
  • La surface gauche
  • Le plan positionnant la courbe sur laquelle s’aligne les cylindres
  • Le paramètre “diamètre du trou”
CO_declaration

Validons et enregistrons notre modèle de copie optimisée.
Il faut aussi penser à fermer ce modèle avant de procéder à l’instanciation dans le modèle de réception.
Si on ne le fait pas, Catia nous rappelle à l’ordre.

Passons dans la CatPart de réception

Passons alors dans la CatPart de réception pour instancier nos rangées de perçages.

CO_modele_depart

Insertion / Instancier à partir d’un document

Une fenêtre s’ouvre et nous invite à sélectionner le modèle contenant la copie optimisée

CO_Instancier_1
CO_Instancier_2
CO_Instancier_3

Le message d’avertissement nous dit que les formules contenues dans le modèle de la copie optimisée ne peuvent pas être insérées dans le set géométrique de destination indiqué dans la boite de dialogue.
Ils seront ajoutés dans “Relations”.

On valide et le système nous donne la liste des éléments parents du modèle de la copie optimisée pour laquelle il faut trouver ici, dans le modèle de réception, leur équivalent.

Le “plan.1” de la copie optimisée trouvera comme remplaçant le “plan.12” que nous avions créé dans le modèle de réception.

CO_Instancier_4

On procède au remplacement des autres parents (la surface et le paramètre “rayon du trou”)

CO_Instancier_5

Il est encore possible à ce niveau de changer de remplaçant sans relancer la fonction.
Si le choix est correct, on demande un aperçu et la magie s’opère…

CO_Instancier_6

On valide et on recommence l’opération autant de fois que l’on a de rangée de trous à percer.
On peut cocher “Répétition” ce qui permet de relancer la fonction automatiquement après validation.
Pour faire encore mieux les choses et gagner en efficacité, on peut également prendre le soin d’utiliser des noms de paramètres identiques dans les modèles de copie optimisée et de destination et appuyer sur le bouton “utiliser les mêmes noms”. Le système retrouve alors les bons paramètres ce qui évite de les pointer manuellement.

CO_Instancier_7

Il n’y a plus qu’à assembler (sans connexité) tous les cylindres en présélectionnant les set géométriques “Cylindres” et ensuite faire la découpe de la peau initiale par cet assemblage…

CO_ASS_cylindres
CO_decoupe

On obtient alors ceci:

CO_modif_diam1

C’est bien mais on s’aperçoit que les trous sont un peu trop grands et qu’il ne reste pas assez de matière entre eux.
Mais comme nous avions anticipé cela et que nous avions pris soin de déclarer un paramètre (diamètre de trou) comme parent dans la copie optimisée, il suffit simplement de modifier la valeur du paramètre dans le modèle de réception.
Comme tous les cylindres pointent sur ce paramètre, ils sont tous impactés par ce changement…

CO_modif_diam2

C’est mieux !

Notez que dans l’article où l’on se sert d’une macro pour faire les perçages, il n’était pas prévu de pouvoir changer les diamètres une fois les trous percés car les cylindres de perçage était isolés, il fallait tout détruire et relancer la macro (en modifiant le programme… si on le possède).

Ici la copie optimisée génère des éléments bien vivants et si l’on prend le temps de réfléchir à ce que l’on veut mettre dedans (paramètrie), cela constitue un gain de temps appréciable d’autant que le modèle de copie optimisée pourrait aussi resservir dans une autre construction.

Voilà pour cette application concrète des copies optimisées.

J’espère que cet article vous a plu.
Si c’est le cas, n’hésitez pas à partager et me laisser des commentaires ou des question en bas de page.

.

4 Responses

  1. Salut PSX59,

    Super article, je n’y suis pas encore bout malheureuseument, mais j’y compte bien !

    Dans ton étape 2 (création de la CO), je n’arrive pas à comprendre comment tu as créé ta rangée de cylindres (que tu instantieras plus tard). Est ce que tu as une fonction de répétition ? Ou est ce que tu as fait cylindre par cylindre ?

    Merci pour ta réponse !

    • Salut Gynno,
      Tout d’abord, merci pour ton commentaire et aussi pour avoir le courage de lire mes articles jusqu’au bout et de tenter cette construction.
      Je n’avais pas détaillé celle-ci car cet article est la suite de celui-ci mais je vais y remédier.
      Pour répondre à ta question, oui, j’ai considéré que le nombre de cylindres par rangée était fixé une fois pour toute dans le modèle de la copie optimisée. Comme il y en a peu (9 seulement), je les ai construits à la main, un par un, en faisant bien-sûr du copié-collé.
      Par contre si il y en avait eu un grand nombre, il aurait fallu faire une copie optimisée de la construction du cylindre pour fabriquer ce modèle de copie optimisée ou utiliser la méthode (script de l’autre article)
      Si tu ne l’as pas fait, télécharge le modèle en bas de page pour examiner sa construction.
      Si ça te tente de montrer tes modèles à travers ce blog, je peux y ajouter une galerie, ce serait sympa.

  2. Bonjour PSX59,
    Je bute sur quelque chose d’approchant …
    Je redessine un rail de guidage dans le but de faire une CNC DIY, comme je suis encore à l’étape de la conception la longueur du rail varie souvent et je suis obligé de refaire mon réseau régulièrement. L’entraxe des perçages est fixe à 60mm et la cote/ bord du premier et du dernier doivent être égales …. comment faire pour que le placement et le nombre de trous soient automatique en fonction de la longueur du rail ?

    Et merci pour tes publications ça aide 🙂

    • Bonjour Eric,
      Super une CN, j’aime bien le sujet.
      Ta question est très intéressante.
      Alors oui, c’est faisable et pas très compliqué. J’en profite pour faire un article sur ce sujet.
      Tu trouveras la réponse en vidéo demain matin lorsque j’aurai publié l’article.
      Tu pourras m’y laisser un commentaire si cela te convient.
      à bientôt

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.