Boolean failed

Perchè le polisuperfici chiuse che hai creato si sovrapponevano di pochissimo e in alcuni punti, e credo che avendo anche unita di misura sballate il programma non riusciva a calcolare bene quella sovrapposizione.
Per far funziona bene le booleane devi avere una chiara intersezione tra le parti.

Fabio lo ha sottratto il pezzo.
Guarda bene.

Per capire perché le booleane non funzionano bisogna capirne la logica.
Il comando è una sorta di macro che esegue, in sequenza, più operazioni.
Le operazioni sono:

  • calcolo delle intersezioni degli oggetti
  • suddivisione degli oggetti in base alle intersezioni
  • eliminazione delle parti superflue
  • riunione delle parti

La prima operazione è fondamentale.
Se fornisce una o più curve chiuse dovremmo essere messi bene, il comando funziona.
In caso contrario Rhino non saprebbe dove tagliare le parti (e non solo lui).
Nel tuo caso, ad esempio, se calcoli l’intersezione, tra “base front” e “base back” non ottieni due curve chiuse come sarebbe auspicabile, la booleana non può funzionare.
Parecchie sono le cause che possono portare a questa situazione.
Alcune sono dei “limiti” di Rhino, ad esempio giunzioni coincidenti o facce coplanari e, in questi casi, effettuando le varie operazioni manualmente (o spostando le giunzioni) si risolve.
Molto più frequentemente però si tratta di cattiva modellazione … ma moooolto più frequentemente :wink:

Cosa ho fatto nel tuo caso?
Ho spostato una parte verso l’altra di un micron che, vista la scala e la precisione adottate dovrebbe essere tollerabile (ma questo lo puoi sapere solo tu) in modo da ottenere una intersezione “netta” … una curva chiusa in sostanza.
Soluziione a minimo costo … ma non certo la migliore.

Hmmm … non sono convinto … :slight_smile:

Se due solidi sono chiusi: o non si toccano e allora non c’e’ intersezione,
oppure si toccano ad esempio con uno spigolo e allora puoi avere una intersezione non chiusa,
o ancora si compenetrano in una certa misura (piu’ della tolleranza) e allora dovresti avere delle curve chiuse come intersezione.
Se Rhino non le trova, mi sembra che abbia problemi con le intersezioni ( … e purtroppo la cosa non mi giunge nuova … )

Poi certo bisogna intendersi su cosa sia cattiva modellazione.
Per Rhino potrebbe essere tutto quello che lo mette in difficolta’ … e allora ti do ragione. :slight_smile:

Una cosa e’ sicura, per disegnare con Rhino bisogna imparare cosa gli piace e cosa no, nonche’ diversi ‘trucchi’ come lo spostamento di un micron. :grinning:

Scusa, Daniele, cosa intendi ?

Ciao Emilio, intendo che magari non aveva la tolleranza giusta per calcolare quella piccola intersezione che si crea tra le superfiici

Nel file vedo una tolleranza di 0.001, che penso non sia male, anche se l’oggetto e’ piuttosto piccolo.
Per curiosita’, ho provato anche con 0.0001 e 0.00001 … ma non cambia niente … :confused:

Grazie per la risposta, ciao !

E di che, grazie a te, magari non si tratta di tolleranza vera e propria ma anche dal fatto che magari l’oggetto sia molto piccolo e le unita di rhino siano molto grandi.
oppure si tratta semplicemente che quel tipo di intersezioni mezze mezze non gli piacciono

Ragazzi grazie a tutti per le risposte…era proprio quelle che volevo sapere, ovvero non uno che facesse il lavoro per me, ma che mi facesse capire gli eventuali problemi di progettazione! ora rifaccio il pezzo con misure piu certe e vediamo se riesco ad ottenere un risultato migliore, considerando i consigli che mi avete fornito!

Grazie mille a tutti davvero!

Vero per i solidi, un po’ meno per la loro rappresentazione Nurbs :slight_smile:

Ma sì certo, lo intendevo proprio in questo modo, vale per qualsiasi programma.

Rhino è semplicemente uno strumento.

Avrà i suoi limiti ma non è questione di metterlo in difficoltà quanto di usarlo al meglio.

E se lo usi al meglio difficilmente avrai problemi con le booleane. :wink:

Scusa, Fabio, in che senso ?

Beh, potrei parafrasare dicendo che dovremmo usare il programma giusto per il lavoro giusto (e per il disegnatore giusto )
Purtroppo a volte non si puo’ (non si riesce a) scegliere nemmeno una delle tre variabili …
E allora ci si ritrova qui a cercare di mettere pezze … :unamused:

Grazie, ciao. :slight_smile:

P.S.
( Credo che ad esser pignoli ci sia una quarta variabile: la macchina.
Ma il discorso non cambia … :wink: )

Un solido reale rispetta (spero!) le caratteristiche che hai illustrato.
Una poli-superficie Nurbs è un’entità matematica e potrebbe avere qualche magagna diciamo “poco reale”.
Ti ricordi il pendente “invalid object” che ti avevo postato tempo fa?
Be era una poli-superficie chiusa con tutte le sue cosine a posto.
Peccato che avesse un bordo che si auto-intersecava.
Potrei dare la colpa a Rhino di avere chiuso una poli-superficie in tali condizioni ma non certo di fallire poi una operazione booleana in cui era coinvolto quel bordo.
E casi come questi, dalla mia piccola esperienza, sono la maggior parte … d’accordo che sono un pasticcione.
In ogni caso il bordo difettoso lo avevo disegnato io, o per lo meno avevo costretto Rhino a farlo.
Prova ne è che quando l’ho sistemato, rispettando le regole della modellazione Nurbs (e del Rhino), tutto è filato liscio.

Io direi semplicemente che occorre usare lo strumento in maniera adeguata.

Questo abbiamo per le mani, ci possiamo certo adoperare affinché venga migliorato/perfezionato ma questo abbiamo … e non è una dichiarazione arrendevole, è semplicemente buon senso visto che , alla fine, lo strumento è tutto fuorché spuntato!
Se vuoi tagliare il pane usando il dorso del coltello non puoi lamentarti che non taglia, stai usando male lo strumento.
Se il modello postato fosse stato disegnato dal Giuspa, o da te, pensi che alla fine avrebbe dato problemi nelle operazioni booleane?
Lo strumento è lo stesso, il suo utilizzo molto differente. :wink:

Capito, grazie. :slight_smile:

Giusto.
Mi sono espresso male. Non intendevo lamentarmi … se non della mia incapacita’ … :slight_smile:

Emy, se concordi con un mio giudizio non posso che essere contento.

Ma rimaniamo seri, tra noi due l’incapace sono io.

Hehe … caro Fabio … io sono serio. :slight_smile:

Io so solo che con la mia situazione di lavoro, diciamo cosi’, cioe’:

  1. PC + CAD a disposizione
  2. tipo di lavoro da fare
  3. disegnatore (il sottoscritto)

… sono spesso in difficolta’.
Non perche’ non riesca a fare il lavoro, per fortuna sono forme semplici, nessun problema estetico o di G2, ma perche’, non sempre ma abbastanza spesso, ci metto parecchio tempo.
A volte non e’ un problema, OK, se non a livello di valutazione personale.
Ma a volte c’e’ fretta e allora diventa un ‘piccolo’ problema, diciamo.
Poi spesso ci si arrangia o ci si accontenta di un risultato poco valido, va beh.
Non ci perdo certo il sonno. :wink:
Ma se analizzo la situazione arrivo alla conclusione che in qualche modo il ‘pacchetto’ (strumento+lavoro+operatore) e’ carente, almeno dal mio punto di vista.
E dato che, come dici giustamente, bisogna usare quello che c’e’ per fare quello che c’e’ da fare … l’anello debole alla fine e’ il disegnatore.
Si parla di cause, certo, non di colpe.
Quelli che sul lavoro cercano le colpe non li sopporto.
E’ semplicemente il mio modo di analizzare il problema, ammesso che sia un problema … :slight_smile:

Fidati Emi…non lo vuoi vedere…:rofl:

ecco… a me invece la curiosità è rimasta… Rhino è l’unico programma che ancòra mi àncora a Windows… :smile:

1 Mi Piace

Ciao Emilio.
Eh lo so, il tempo è sempre un problema, io non riesco mai a fare tutto quello che dovrei.
Per quanto riguarda la modellazione però è rarissimo che chiuda un lavoro che non mi soddisfa da tutti i punti di vista.
Sono un po’ masochista, ho visto mandare in stampa modelli 3D inenarrabili … della serie se la stampante non si lamenta …

E’ il mio modo di vedere, non so quanto sia corretto.
Diciamo che le mie lamentele sono più rivolte a quello che non c’è … e il Rhino, con tutto il bene che gli voglio, ha qualche lacuna. :wink:

Certo, tu lavori in proprio e fai benissimo a ragionare cosi’.

Io devo fare quello che mi dicono … e se vogliono una cosa assolutamente in fretta … io la faccio in fretta.

… Pare che l’importante sia la fretta, non il risultato … boh … :confused:

HUUMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM…:wink::wink::wink:
Non esistono “solidi reali” e anche la parola “Solido” andrebbe cassata per sempre da Rhino.
Il concetto di “Solido” si riferisce unicamente alla capacità di definire un volume.
Lo fa una qualsiasi polisrf chiusa e lo fanno anche le srf chiuse.
Qualunque cosa in Rhino è una rappresentazione della sottostante matematica.
Che le Booleane siano operazioni da fare fra polisrf chiuse è solo un fatto di convenienza che risolve “a monte” il dover gestire le normali. Non è di per se una garanzia di riuscita. Posso costruire deliberatamente oggetti che sono una polysrf chiusa e dove le booleane non funzionano. Pur essendo “Valid”.
Allegato esempio: solo il gruppo blu funziona (unione booleana)…tutte valide e chiuse…
Un caso sarebbe riconducibile a un limite di Rhino e un altro a modellazione “ad cazzum”…
bool-fail.3dm (171,0 KB)

Ok, poli-superfici chiuse. :slight_smile:

Belle 'ste cose!
Sai che non mi tiro indietro … mi scuso solo in anticipo per le fesserie che andrò a scrivere. :slight_smile:

Il cubo rosso mi pare abbia problemi nei bordi della faccia rivolti verso la direzione positiva dell’asse x.
Ho estratto la faccia, selezionato il bordo aperto della polisrf e l’ho “allineato” con SetPt lungo l’asse x.
Ho riposizionato la faccia usando il punto di allineamento e ha funzionato.
Ora che ci penso potevo allineare direttamente la polisrf aperta e la faccia senza spostarla … va be.
Un esempio del genere mi farebbe pensare ad una cattiva modellazione.
Sempre che il problema sia quello e vada risolto così, ovvio.

Solido grigio, te possino! :slight_smile:
Il problema è nello spigolo di quella specie di castagna.
Non si riesce a trimmare la superficie laterale su quello spigolo, a maggior ragione farci una operazione booleana.
Mi è venuto in mente qualcosa relativo al Creasesplitting.
Ho esploso il tutto ed eliminato i “coperchi”.
Ho estratto un bordo della superficie laterale e l’ho resa non periodica.
L’ho divisa in due parti con due punti, ho riunito e creato il solido con ExtrudeplanarCurve avendo cura di verificare che il CreaseSplitting fosse attivo.
Questo potrebbe essere il limite di Rhino?
Funzionare funziona … dimmi tu.