Altri modi possono essere quelli di usare i comandi manuali, Join Split Merge ed Intersect, e fare tutto passo per passo scomponendo i solidi in modo da impedire che ci siano facce coincidenti o tangenti.
Questo e' quello che consiglia anche la McNeel stessa...ed aiuta a capire come funziona il comando booleano (alla fine e' solo una sequenza automatica dei suddetti comandi).
Uno dei paradossi, che uso di norma quando insegno l'uso di Rhino, e' questo:
- con il comando Box costruite un parallelepippedo, di qualsiasi dimensione.
- ancora con Box, costruitene un altro totalmente incluso nel primo (nessuna faccia deve fuoriuscire)
Ora provate il comando BooleanDifference, cercando di sottrarre il volume piccolo da quello grande che lo contiene.
E non ci riuscirete.
Perche'?

Perche' e' la nostra mente a pensarli come volumi, mentre in realta' sono solo facce piane di spessore tendente a zero, tenute insieme da una colla chiamata Join
Matematicamente: un cubo in Rhino e' l'intersezione di 6 piani (le rispettive equazioni messe a sistema generano gli spigoli del cubo che vediamo).
Qui si capisce che per eseguire una qualsiasi booleana, anche a livello matematico, serve un'intersezione...ovvero almeno una soluzione del sistema.
ps: tornando alla soluzione del quesito delle scatole, in realta' non c'e' modo di eseguire la sottrazione tra i due, perche' le due entita' definiscono queste condizioni in contemporanea: scatola dentro scatola, e scatola con pareti spesse con un vuoto interno.
ps2: nella versione di Rhinoceros 5, ancora in fase di test, vedrete che sara' possibile eseguire cose al limite dell'impossibile per una booleana, come ad esempio l'unione di cilindri dello stesso diametro. Il problema che ha fatto aprire questo topic sulla versione 5 non comparira'.
ciao