n°24
Sélectionner les courbes entièrement superposées (ou sous-courbes) avec Rhino Python
Rhino3D, Python
26 oct 2019
SelOverlappingCrvs.py démo

Permet de révéler, entre deux jeux d'objets, les courbes qui sont entièrement superposées à d'autres et qui sont donc équivalentes à des sous-courbes. Cela exclu les intersections en un point et les superposition partielles.

import rhinoscriptsyntax as rs

polylines = rs.GetObjects("Select a set of curves")
subCrvs = rs.GetObjects("Select a set of curves to check for full overlapping with first set")

safeList = []

if subCrvs and polylines:
    for subCrv in subCrvs:
        overlap = None
        for polyline in polylines:
            if overlap == None:
                intersections = rs.CurveCurveIntersection(subCrv, polyline)
                if intersections != None:
                    for intersection in intersections:
                        if intersection[0] == 2: #checks for overlap and not point intersection
                            if intersection[5] == rs.CurveDomain(subCrv)[0] and intersection[6] == rs.CurveDomain(subCrv)[1]: #checks for full overlap and not partial 
                                overlap = True
                                break
        if overlap == True:
            safeList.append(subCrv)

rs.SelectObjects(safeList)

c. héraud-louisadat

architecte & développeur
75018 Paris
heraud-arobase-laponies-point-fr

*1992, Strasbourg.

Diplômé d'état en 2016 de l'ENSA Paris-Malaquais et de la RWTH Aachen puis habilité à maîtrise d'oeuvre en nom propre (HMONP) en 2019, j'ai travaillé pour diverses agences à Paris. Je suis doctorant à la Faculté des sciences historiques de l'Université de Strasbourg sur les « Méthodes de l'architecture Heimatschutz ». Je développe également des applications pour le Web et la 3D. Vous pouvez également consulter l'archive des travaux laponies.fr ainsi que la carte des bonnes adresses.

Amis, famille et blogroll : Atkinson+Héraud, Anaïs Héraud-Louisadat, Héraud–Baumann, Till Baumann, La Boucle.

alsace europe