Intersezione (molte brep)

Ho fatto una definizione per l’amico Lucio-non-Zadra che vorrebbe risolvere le intersezioni di tutte le brep selezionate.
Il metodo usa brep-brep intersect.
Indipendentemente da con cosa sia fatto, volevo discutere della logica.

Per calcolare le intersezioni di tutte le parti contemporaneamente uso il cross-ref.
Il problema è che le permutazioni includono l’intersezione di una brep con se stessa e conseguente produzione ridondante di tutti gli edges… e questo è brutto assai… perchè poi bisogna fare il gioco delle tre carte per eliminare tutte ste curve in più. In pratica a me interessa finire con le sole intersezioni “vere”.

Che ne pensate?
Così…tanto pè raggionà

Mi rispondo da solo…
Questa di definizione è molto meglio.
Dopo aver orientato le curve tutte nello stesso verso (Flip con curva di riferimento) trova le curve che condividono stessa origine e fine. Compara liste e traffica per invertire il risultato booleano.
interferenza-meglio.gh (13.5 KB)

Devi evitare calcoli uguali tipo [A intersezione B] e [B intersezione A]

Data la ListaOggetti

for i=0; i < NumeroOggetti; i++
for j=i+1 ; j < NumeroOggetti; j++

if Oggetto(i) = brep; Oggetto(j) = brep
for r=0; r < NumeroEdgeI; r++
for s= r ; s < NumeroEdgeJ; s++
… calcoli intersezione(I_edge® , J_edge(s))

if Oggetto(i) = edge; Oggetto(j) = edge
… calcoli intersezione(Oggetto(i) , Oggetto(j))

if Oggetto(i) = brep; Oggetto(j) = edge
for s= 0 ; s < NumeroEdgeI; s++
… calcoli intersezione(I_edge(s) , Oggetto(j))

if Oggetto(i) = edge; Oggetto(j) = nrep
for s= 0 ; s < NumeroEdgeJ; s++
… calcoli intersezione(Oggetto(i) , J_edge(s))

Sperando quagli con quello che stai facendo … :smile:

Quaglissima.
In GH ho brutalmente filtrato quello che non serve…