Script per individuazione sagome fuori altezza

test x individuazione sagome fuori altezza.3dm (32,4 KB)

ciao a tutti,
pongo un nuovo interrogativo:
ho un numero (anche di centinaia di elementi) di sagome 2d già posizionate sul piano XY;
devo verificare che stiano tutte entro una quota di una distanza nota (settabile da caso a caso) ed individuare velocemente tutte le sagome che NON rientrano in questa altezza di riferimento…

le sagome NON possono essere modificate per orientamento/rotazione ma restano vincolate.

grazie per chi ha voglia di dare un aiuto

“quota di distanza” , “altezza” … puoi spiegare meglio di cosa stai parlando?

A prescindere, sembra un caso fattibilissimo con grasshopper. Dai che si fa!

1 Mi Piace

ciao riccardo, si sono abbastanza certo che sia un problema di facile soluzione in GH

spiego meglio dando la traccia di quello che penserei di fare (se sapessi usare bene i blocchi definizione e le liste in GH)

_seleziono tutte le sagome (curve chiuse)
_eseguo il “bounding box” di ciascuna di esse
_estraggo dalla lista del bondig box il valore dell’ordinata di ciascuna sagoma (l’altezza)
_confronto questa lista di valori con una misura che tramite uno slide posso variare di caso in caso
_seleziono (estraggo) tutte le sagome il cui valore dell’ordinata (altezza) supera quello dello slide

Chiaro, ora mi sento stupido per non averlo capito subito… :sweat_smile:
Letteralmente quello che hai detto:


seleziona Y massima.gh (8,3 KB)

Nel primo parametro in alto a sx fai tasto dx > “Set multiple geometries” e selezioni tutte le geometrie su cui vuoi applicare il filtro.

Alla fine c’è un piccolo c# che ogni volta che esegue deseleziona tutto per poi selezionare solo la lista dei guid forniti:

 private void RunScript(List<Guid> id, object x)
  {
    this.RhinoDocument.Objects.UnselectAll();
    this.RhinoDocument.Objects.Select(id);
  }

(il parametro x è usato solo per aggiornare manualmente la selezione qualora l’avessi persa…)

perfetto! grazie Riccardo TOP!