Risoluzione dei problemi con le operazioni booleane

I comandi booleani si possono usare con superfici e polisuperfici aperte. Il risultato ottenuto dipende dalla direzione delle normali degli oggetti. Usare il comando Dir per visualizzare la direzione. Se si ottengono dei risultati opposti a quelli desiderati, invertire la direzione della superficie con i comandi Dir o Inverti e riprovare.

Per le superfici, provare ad utilizzare prima il comando Unisci.

Per gli oggetti mesh, i passi da seguire sono gli stessi di quelli usati nei corrispondenti comandi booleani NURBS.

Il risultato dei comandi è sempre una mesh, a prescindere dal tipo di oggetto in ingresso.

Perché le operazioni booleane possono non riuscire?

Le operazioni booleane possono fallire per diverse ragioni:

Normali delle superfici

Le operazioni booleane utilizzano la direzione delle normali alla superficie per determinare quali parti conservare e quali rimuovere. Se, quando si effettua una differenza booleana, si ottiene un'unione (o viceversa), ciò significa che la direzione delle normali di uno degli oggetti è orientata all'inverso rispetto a quanto previsto. Ciò accade spesso se uno o più oggetti non sono completamenti chiusi. Se un oggetto non è chiuso, Rhino non riesce a determinare quale lato è esterno e quale interno. Per questo tipo di oggetti, si usi il comando Dir per vedere la direzione in cui sono rivolte le normali e quindi, a seconda delle necessità, l'opzione Inverti per assicurarsi che la direzione delle normali sia coerente (le normali della parte dell'oggetto che considerate esterna vanno dirette verso l'esterno). Se un oggetto è completamente chiuso, le sue normali sono sempre rivolte verso l'esterno.

Punti di controllo coincidenti

Si hanno punti di controllo coincidenti quando i punti di controllo riferiti al bordo di una superficie si trovano nella stessa identica posizione. In Rhino, ciò accade naturalmente nel vertice di un cono, nel polo di una sfera o nel caso di un piano a tre lati. È anche possibile spostare i punti di controllo nella stessa posizione. Un punto con queste caratteristiche, che controlla l'intero bordo di una superficie, è definito singolarità.

Quando un punto di singolarità si trova nell'intersezione di due oggetti ai quali si desidera applicare un'operazione booleana, l'operazione può fallire.

Aree di superfici sovrapposte

La sovrapposizione di aree di superfici si verifica quando due superfici condividono la stessa area. In questo esempio, i due parallelepipedi si toccano soltanto lungo un lato. Si potrà effettuare un'Unione degli oggetti, ma Differenza ed Intersezione non potranno essere calcolate.

Bordi non-manifold

Oltre alle superfici sovrapposte, anche i bordi non-manifold possono causare errori.

Il bordi di polisuperfici o mesh che hanno più di due facce collegate ad un singolo spigolo sono non-manifold.


L'immagine mostra delle polisuperfici con i bordi non-manifold evidenziati con il comando MostraBordi.

Cosa fare

Se non è possibile impiegare le operazioni booleane su determinati oggetti, si possono usare altre tecniche per ottenere lo stesso risultato.

In questo esempio, il vertice del cono coincide esattamente con lo spigolo del parallelepipedo. Questa è una delle situazioni in cui le operazioni booleane possono fallire.

In questo caso, anziché utilizzare le operazioni booleane, si usi il comando Esplodi per separare le polisuperfici in singole superfici, se necessario. Si usi il comando Intersezione per creare le curve di intersezione tra le superfici. Per creare le parti desiderate, utilizzare queste curve per Troncare e/o Suddividere gli oggetti e quindi usare il comando Unisci per riottenere un oggetto solido.

Consultare anche

Wiki di McNeel: FAQ sulle operazioni booleane

 

 

 

Rhinoceros 7 © 2010-2021 Robert McNeel & Associates. 13-apr-2021