Bonjour à tous,
J’ai une liste de lignes avec des doublon.
Le noeud « list.uniqueitems » ne semble pas résoudre mon problème.
Est-ce à cause de arrondis ?
Il y a t’il une autre solution
Daniel OLIVES
Bonjour Daniel,
Tu peux tester le code suivant, mais il faut que les lignes soient identiques même point de départ et même point de fin.
Ce nœud ne compare pas les géométries, mais les valeurs (valeur numérique ou valeur textuelle de représentation des Objets).
Voici une approche en analysant les géométries d’intersection
import sys
import clr
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *
import Autodesk.DesignScript.Geometry as DS
def isOverlap(l):
global unique
for c in unique:
if c.DoesIntersect(l):
check = c.Intersect(l)
if isinstance(check[0], DS.Line):
return True
return False
lines = IN[0]
debug = []
unique = [lines.pop(0)]
for l in lines:
if not isOverlap(l):
unique.append(l)
OUT = unique
Bonjour à tous les deux.
Jfbrigaud, j’étais arrivé à la même solution que toi
mais la seconde approche est également correcte.
En Python les solution sont souvent plus concises.
A choisir selon son humeur.
Daniel
1 « J'aime »
Re,
Bravo Cyril pour ton blog.
Daniel
1 « J'aime »