Lignes simples en double

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 »