• Mise en page sur planches

    Mise en page sur planches

    Que ce soit pour une découpe laser, CNC ou pour simplifier le travail d'un projeteur en lien avec une entreprise de façades, le travail de "mise en planche" est souvent utile.

    Ce travail consiste à prendre une collection de surfaces et à la mettre dans une planche prête à être découpée. Il faudra également numéroter les éléments sur la planche et dans la structure en 3D afin qu'elle puisse être montée.

    Je vais développer ici ma solution, sur l'exemple des facettes de mon projet Dôme Géodésique. Cette solution a l'avantage de ne nécessiter aucun ou très peu d'ajustements après avoir intégré la collection de surfaces à mettre en planches.

    Une solution plus efficace ? Proposez-là en commentaire, la solution optimale sera publiée !

    Mise en planches

     

     

    Le but de ce lab est de numéroter l'ensemble des facettes du dôme ci-contre et de les projeter sur une planche prête à être découpée.

    Le logigramme devra être adaptable très rapidement à n'importe quel projet.

     

    Dans Grasshopper, voici les étapes qui mènent à la réalisation des planches :

    • Préparation :
      • Placer la collection de surfaces dans un opérateur Surface et écraser l'arbre (flatten en input)
      • Extraire des listes de Sommets, Faces et Arrêtes des surfaces en les connectant à un Brep Components
    • Création d'une grille de projection :
      • On évalue tout d'abord le centre de chaque facette : grâce à Evaluate Surface, en input Surface on rentre les surfaces à projeter en n'oubliant pas de les reparamétriser. En input Point (uv), on rentre un Point XYZ avec X=Y=0,5 et Z=0.
        Nb. : S'il faut projeter plutôt des polygones que des surfaces, alors Polygon Center fait l'affaire.
      • On trace une ligne (Line) entre les points ainsi obtenus (en mode graft) et les Vertices des facettes puis on mesure ces lignes avec Length (input flatten)
      • En les triant via un Sort (input en mode flatten), puis en inversant la liste avec Reverse List et enfin en sélectionnant le premier Item (List Item avec 0 en index), nous obtenons la plus grande distance séparant le périmètre d'une facette à son centre. Cela représente donc la moitié du gabarit de la plus grande facette.
      • Après une Multiplication par un facteur 2.25 (le résultat est donc un peu plus grand que le diamètre apparent de la plus grande face), on obtient la valeur de la trame de la grille. On est ainsi sûr que deux facettes projetées sur la grille ne se chevaucheront pas.
      • Il ne reste plus qu'à créer la grille de projection : Square. Pour les inputs, on prend un Plane XY comme plan de projection, la valeur de trame obtenue précédemment dans Size, on prend 4-1=3 pour le nombre de cellules en X (Extent X) et on applique un List Length sur le nombre de face (input en mode flatten) que l'on divise par 4 et on soustrait 1 (Substraction) pour obtenir le nombre de cellules en Y (Extent Y). 
        Nb.1 : ici, nous avons pris 4 car le nombre de faces du dôme géodésique est divisible par 4, mais ce facteur peut être ajusté.
        Nb.2 : on retire 1 au nombre de lignes et de colonnes car nous voulons projeter les facettes sur les intersections des cellules. Or une grille qui a X lignes de cellules et Y colonnes de cellules aura (X+1)*(Y+1) intersections.
    • Projection sur la grille :
      • Tout d'abord, on oriente toute les facettes dans le plan XY : via Orient, on place les surfaces à projeter dans l'input Geometry puis on récupère leurs Initial Plane grâce à un composant Plane Fit, les Vertices des facettes en input (penser à aplatir les plans en outpout avec flatten). Enfin, le Final Plane est un simple Plane XY.
      • Toutes les facettes s'alignent alors sur le plan XY et sont centrées (quasiment) sur l'origine. L'origine (un Point XYZ avec 0 dans les input) sera donc le point de départ de la projection.
      • On crée les vecteurs (Vector 2Pt) entre cette origine (input A) et les points de la grille (input B)
      • Enfin Move avec les facettes en input Geometry et les vecteurs ainsi créés en input Motion permet de projeter toutes les facettes sur les intersections de la grille.
    • Mise en place du texte :
      • On applique List Lenght sur les facettes, cela permet d'obtenir le nombre de facettes
      • On le rentre dans l'input Count d'une Series. On obtient une série d'entiers de 1 au nombre de facettes. On le rentre dans un Integer afin d'enlever la virgule dans le texte.
      • Un Number Slider permet de régler la hauteur du texte.
      • Enfin, il suffit de créer deux Text Tag 3D dans lesquels on rentre les entiers de 1 au nombre de facettes dans l'input Text, le Number Slider "taille du texte" dans l'input Size. Pour l'input Location, on rentre les centres des facettes initiales dans le premier Text Tag 3D et le centre des facettes projetées dans le second.

    Ci-dessous le logigramme de la mise en page sur planches (cliquez pour voir en grand) :

    Mise en page sur planches

    Mise en page sur planches

      Mise en page sur planches      Mise en page sur planches

    • Cet article est une partie du projet Dôme Géodésique.
    • Une solution plus efficace ? Proposez-là en commentaire, la solution optimale sera publiée !

    Tags Tags : , , , , , , , ,
  • Commentaires

    Aucun commentaire pour le moment

    Suivre le flux RSS des commentaires


    Ajouter un commentaire

    Nom / Pseudo :

    E-mail (facultatif) :

    Site Web (facultatif) :

    Commentaire :