Analisi distanza tra polisuperfici

Ciao a tutti,
pongo una domanda che credo non avrà una risposta risolutiva:
esiste un comando oppure un trick per poter effettuare l’analisi tra due polisuperfici che dia come risultato la loro distanza massima, minima e media?
o anche solo identifichi se date due polisuperfici si possa capire se una distanza sia preservata in modo costante come offset e nel caso evidenziare le aree dove questa distanza non venga rispettata (sia in difetto che in eccesso)?

spero di essermi espresso in modo comprensibile…
grazie

Se ho capito bene ti serve capire e individuare la massima deviazione tra due polisuperfici?

Se così fosse sembra quello che faccio quando devo controllare la deviazione da una mesh ottenuta da una scansione e quella che mi ricostruisco. Penso sia fattibile anche su delle polisuperfici in qualche modo.

In pratica cerco di replicare la “preview” del comando rebuild surface. Con GH è abbastanza facile: uso i vertici della mesh come punti di analisi e trovo il “closest point” sull’altra mesh. Con queste due liste di punti poi posso tracciare delle linee da un vertice al suo corrispettivo (per visualizzare visivamente la distanza) o semplicemente analizzare la loro distanza.
Poi con bounds ottieni il minimo e il massimo della deviazione e volendo potresti rimappare le distanze per colorare le linee o isolare quelle che superano una certa tolleranza.

Se ho capito bene cosa ti servirebbe.

1 Mi Piace

Alex è esattamente quello che servirebbe!!
ma tu quindi hai fatto una definizione in GH che esegue questi step?

no, come ti dicevo, è parte di un processo di remeshing e per varie ragioni mi sono fatto un pythonino che fa tutto insieme (di cui questo è una parte). Però la mia conoscenza di python è abbastanza limitata e non credo di riuscire a “staccartelo” da li.

Però quello che intendo è una cosa così, devi capire che punti andare a prendere e come vuoi visualizzare la cosa. Per esempio qui puoi scegliere se popolare la geometria o solo gli “edge” della brep e se visualizzare la deviazione sotto forma di vettore (che mostra anche la direzione) o di linee colorate.

[Edit: mi ero dimenticato la questione del filtraggio con un valore di tolleranza]

deviation.gh (156,3 KB)

ps: ah beh questo poi lo davo per scontato, ma le geometrie devono condividere in qualche modo lo stesso “punto di origine” in modo da poter individuare i punti sulla brep target. In GH con le mesh forse si può ovviare, ma in questo caso credo sia importante e sicuramente rende tutto più facile.

Ottimo Alex! sembra essere proprio quello che serve.

image

questo è il parametro che esprime la tolleranza entro cui stare nell’analisi?

image

il preview delle aree colorate dell’analisi non mi viene caricato credo perchè devo andare a scaricare dei moduli aggiuntivi di GH?

la visualizzazione dei vettori e delle aree è in simultana oppure può essere scelta una sola delle due? e se si dove dovrei agire?

grazie per la pazienza

Ciao Marco, si quello slider è per le tolleranze. Quindi muovendolo puoi decidere il valore, altrimenti ti trascini un panel sulla canvas e dentro ci scrivi il numero che ti serve e colleghi quello.

Per il resto sembra che non funzioni perchè non arrivano dati, forse devi fare tasto destro sui primi componenti “brep” e poi cliccando su “select brep” ti fa selezionare le polisuperfici che ti servono. Dove vedi scritto target devi mettere quella da cui vuoi analizzare la deviazione.

Per visualizzare sia i vettori che le linee o l’una invece dell’altra, fai sempre tasto destro sul componente che vuoi e cliccando sull’omino bendato attivi e disattivi la preview.

Comunque posso provare a fare un GH player che ti basta trascinare in rhino e poi ti chiede le cose sulla barra di comando. appena ho tempo ci provo!

deviation_ghplayer.gh (152,9 KB)

Eccolo, ti basta lanciare il comando _GrasshopperPlayer e poi ti fa scegliere il percorso.
Poi basta leggere e rispondere tramite barra di comando. Non dare troppi punti, resta sul 100naio, e per ora sono randomici (se ti servono da qualche parte specifica possiamo vedere come fare).

Un consiglio è mettere le due polisuperfici su due layer diversi in modo da spegnarli a piacere e/o di restare in modalità wireframe. Per chiudere il comando poi ti basta cliccare su True quando te lo chiede. Li ho fatti in inglese, ma dovrebbe essere abbastanza comprensibile.

2 Mi Piace

ciao Alex,
tutto sembra funzionare, anche nella precedente definizione… mi viene rilevata la massima deviazione

la visualizzazione dell’analisi invece (sia con linee che vettori) viene non eseguita per via dell’assenza di due moduli da aggiungere a GH

plugin X GH

la cosa strana è che se vado su food4rhino e cerco di fare il download di shape driver (che avevo fatto anni fa su un altro pc) mi da errore… la versione che mi servirebbe sarebbe quella x rhino7.
Il secondo modulo (get boolean" invece non capisco a cosa si riferisca…

Ciao Marco, è un po’ strano perchè shapediver non l’ho utilizzato per nessuna delle definizioni.
Il get boolean è un componente di HOPS che serve per tante cose, ma che qui ho usato per far funzionare GHplayer.
Entrambi i plugin comunque sono scaricabili tramite Package Manager, ma anche se aprissi la definizione in GH la visualizzazione dovrebbe funzionare.

Ti ricarico il GH normale un po’ ripulito e con un value list per decidere cosa visualizzare.
deviation2.gh (289,0 KB)

ps: se usi GHplayer sembra che se non fai uno zoom o un orbit della camera dopo aver scelto il tipo di visualizzazione, non parte il “redraw” e quindi non vedi nulla.

ShapeDiver | Food4Rhino

grazie Laopoldo,
ma come dicevo da food4rhino il link di download sembra non funzionare più (come riportano anche altri commenti degli utenti)

neanche via Package Manager? comunque è strano che ti chieda questa cosa, non riesco ad individuare a quale componente si riferisca dentro la definizione

Per curiosità ho provato a installarlo e mi dà questo errore, però se avvii Rhino con “/netfx” si installa correttamente.

1 Mi Piace

non conoscevo questa modalità :+1: