n°9
Remplacer des courbes par un bloc de taille équivalente
Python, Rhino3D
25 mai 2017

Sert typiquement à remplacer des éléments (non-blocs) répétés à différentes tailles par un bloc de taille équivalente.

A l'origine je l'utilisais pour insérer un bloc d'arbre 3D à la place de chaque cercle de tronc du plan de géomètre, sachant que ces derniers sont de taille différentes. L'astuce pour obtenir exactement la même taille que le tronc en plan, est de fabriquer un bloc d'arbre 3D dont le tronc mesure exactement 1 m². Ainsi, on peut simplement mettre à l'échelle ce bloc par un facteur égal à la racine carrée de l'aire du tronc géomètre.

import rhinoscriptsyntax as rs
import math

curves = rs.GetObjects("Select closed curves ...")
blockName = rs.GetString("Name of block to copy ...")

if curves:
    for curve in curves:
        if rs.IsCurveClosed(curve):
            surface = rs.AddPlanarSrf(curve)
            area = rs.SurfaceArea(surface)[0] 
            scale = math.sqrt(area)
            point = rs.SurfaceAreaCentroid(surface)[0] 

            rs.DeleteObject(surface)
            rs.InsertBlock(blockName, point, [scale,scale,scale], 0)
        else:
            print "Not a curve or curve not closed."

c. héraud-louisadat

architecte & développeur
67200 Strasbourg
heraud-arobase-laponies-point-fr

*1992, Strasbourg.

Diplômé d'état en 2016 de l'ENSA Paris-Malaquais et de la RWTH Aachen et habilité à maîtrise d'oeuvre en nom propre (HMONP) en 2019, j'ai travaillé pour diverses agences d'architecture à Paris et Berlin puis fait de la recherche en histoire de l'art sur l'architecture Heimatschutz. J'ai fondé l'agence Atkinson-Héraud Architectes en 2023 avec Isabelle Atkinson-Evans. Je développe également des applications pour le Web et la 3D. Vous pouvez par ailleurs consulter l'archive net art des travaux laponies.fr ainsi que la carte des bonnes adresses.

Amis, famille et blogroll : Anaïs Héraud-Louisadat, Héraud–Baumann, Till Baumann, Antoine Le Dreff, Station Zéro, BALT.

alsace europe