Creazione ingombro minimo per un solido

Ciao,
esiste una funzione in Rhino che permette di generare l’ingombro minimo di un solido non regolare ?

Per capirci, supponete di dover realizzare una scatola che contenga un oggetto (solido) che sia delle dimensioni minori possibili. Non importa come sia girato il pezzo, non importa quale sia il verso, l’importante è che il parallelepipedo abbia le minime dimensioni (e quindi volume) possibili.
Grazie

Forse Grasshopper + Galapagos ? …

Se vuoi provare questo script, usa 3 parametri:
SearchStep e’ il passo di ricerca preliminare in gradi (inclinazione degli spigoli della BB)
RefineStep e’ il passo che usa per afffinare il risultato (sempre in gradi)
ZoneCount e’ il numero di risultati preliminari su cui esegue la ricerca fine

c5-minbbox.py (4.4 KB)

ciao

p.s.
Purtroppo non posso garantire niente sul risultato. Bisogna controllare.
E attenzione a non usare passi troppo piccoli … potrebbe finire dopo la prossima era glaciale … :wink:

me lo provo anch’io, grazie Emilio

grazie !! :wink:

provato… funziona alla grande !

Aggiornamento: ho aggiunto un altro passo di affinamento finale

c5-minbbox.py (6.0 KB)

ciao

Grazie ancora… Il tuo script è stato utilissimo !!

…rilancio la sfida :wink: … e se invece di voler ottenere le minori dimensioni possibili (in termine di volumi) avessi necessità di mantenere una delle tre dimensioni la più piccola possibile ?
Provo a spiegar meglio: anzichè ottimizzare secondo il volume… ottimizzare trovando una delle tre dimensioni (qualunque) la più piccola possibile ?!?

Ciao a presto,
Fabio

Ciao, per la prima domanda sulla creazione del volume minimo io a suo tempo avevo trovato questa pagina web dove ci sono vari script tra cui uno che fa al caso tuo ( http://www.rayflectar.com/Rhino/RhinoScripts-Gallery.htm ).
Sono comunque curioso di provare quello di Emilio.
Per l’ultima invece sul lato minimo non so, ma anch’io ogni tanto avrei bisogno di uno strumento simile.

Detto…fatto.
min-vol-gm.gh (11.3 KB)

Hmmmm … sei sicuro che la sequenza di rotazioni ti consenta di esplorare tutti gli orientamenti ?
Ho fatto una prova e il risultato non mi convince … :smile:
Ciao !

EDIT:

Pensandoci su, le rotazioni sembrano a posto …
Devo essere io che non so usare GH. :blush:

Grazie Giuseppe, che forte galapagos!
Mi ha sempre incuriosito ma non ci ho mai ficcato la testa per mancanza di tempo.

Emi… è di gran lunga più probabile che mi sia perso qualcosa io… quindi se non ti convince… “spara”.
:slight_smile:

Grazie Giuseppe :blush:
immagino sia uno script per Grasshopper, ma non lo conosco e non l’ho mai usato…
è un addon gratuito o a pagamento ?!?

Parli di Galapagos?
E’ una componente standard di GH. La trovi nei parametri → utility.
Tutto gratuito.

No, no … probabile niente … confermo quanto detto.
(sono vecchietto, parecchio esaurito e non mi passa il mal di gola … sono a terra)
Ieri a prima vista non riuscivo a ragionare sulle rotazioni e ho sparato ca**ate …
Poi ripensandoci mi sono convinto che le rotazioni vanno bene (per quanto riesco a capire)
Il fatto e’ che non so come farlo partire …
Io collego un oggetto al Brep e lui mi mostra una preview della bbox, ma senza variare gli angoli, almeno cosi’ mi sembra.
Posso agire sugli slider e la box cambia di conseguenza, ma … non so come attivare Galapagos. … :blush: :smile:

allora: doppio click sulla componente galapagos poi vai su solvers → start solver. Ci sono due tipi di “solutori”.
Prova!!!
Uno è l’evolutionary solver (il bagarozzo) e l’altro l’annealing.
Qui le spiegazioni del funzionamento: Evolutionary Principles applied to Problem Solving - Grasshopper

Altra cosa: sul fatto che GH ricalcola sempre. Puoi disabilitare il ricalcolo (utilissimo per definizioni complesse) e lanciarlo quando decidi tu.Menu Solution di GH → disable solver. Utilissimo quando si cambiano valori negli slider e GH tenta di “calcolare” tutti i passaggi intermedi fra un valore e quello nuovo.

Grazie mille, Giuspa !
Scusa se ti ho fatto ripetere la prima lezione di ‘Grasshopper for dummies’ … ma come dummy me la cavo alla grande …
Eh, non dovevo mettermi a scrivere idiozie durante la settimana. Meglio che aspetti il weekend e faccia le cose con un po’ di calma.

Pero’ Galapagos e’ uno spettacolo. Non dico solo i risultati ma proprio l’interfaccia grafica.
David per questo mi sembra difficilmente eguagliabile :smiley:
Lanciare Galapagos e starlo a guardare e’ meglio di diversi canali TV … :smiley:

Si’, mi ricordo che c’era il toggle per il ricalcolo … anche se l’interfaccia utente e’ un po’ cambiata rispetto ai miei (vaghi) ricordi.

Riguardo a GH, non e’ che mi sia antipatico, tutt’altro.
Cioe’ non lo considero nemmeno lontanamente come se fosse Windows o la trazione anteriore … :wink:
E’ che per ora non ho ancora trovato un modo per utilizzarlo (oggi si dice ‘inserirlo nel workflow’ … ).
Sara’ il tipo di lavoro, sara’ la perenne fretta assurda, sara’ che occupa spazio sul misero schermo del portatile, sara’ che non saprei come fare a cambiare definizione al volo mentre per gli script devo solo premere un pulsante.
… Sara’ soprattutto la mancanza di fantasia … ma non sono ancora riuscito a immaginare come usarlo.
Sarebbe interessante sapere come viene usato da altri in ambiente meno stilistico e architettonico e piu’ …
metalmeccanico/automotive, per cosi’ dire.

A me di solito tocca disegnare o pezzi di plastica termoformata o piccole strutture di carpenteria.
Di solito sono cose che servono per la ‘logistica’ (come mi hanno insegnato) cioe’ servono per trasportare altri pezzi (di genere vario).
Gia’ solo a spiegarlo mi viene sonno … :wink:
Comunque sono disegni veloci (sempre piu’ veloci …) e abbastanza semplici.
Non c’e’ tempo per preparare definizioni dedicate, ad esempio.
Concettualmente e’ una specie di Tetris … si cercano di inserire i pezzi da trasportare nello spazio dato e si disegna il supporto.
E poi ci sono le modifiche, a volte parecchie.
Il tutto a base principalmente di estrusioni tapered, fillet e trim vari per la plastica.
Ed estrusioni e trim per il ferro.
Usando al massimo solidi e booleane quando possibile.
E poi SolidPtOn e Gumball a tonnellate sia per costruire che per modificare.
Piu’ operazione varie sulle superfici, of course.
Ah, poi ci sono anche le messe in tavola …

Qualche idea su come usare l’insetto salterino ? :smile:

Ciao a tutti

OK, il problema e’ gia’ stato brillantemente risolto ! Meglio cosi’. :smiley:
… ma a me piace fare gli script, quindi ho modificato lo script del volume per renderlo piu’ flessibile … e piu’ scomodo da usare, purtroppo …

Prima lo script cercava di rendere minimo il volume della box.
Ora cerca di rendere minimo un valore generico definito tramite una espressione modificabile dall’utilizzatore.
Lo script permette di costruire questa espressione, tenendo conto che le parole ‘s1’, ‘s2’, ‘s3’ indicano le lunghezze dei lati della box, in ordine crescente.
Come valore di default lo script propone ancora il volume, cioe’ l’espressione
‘s1 * s2 * s3’

Poiche’ lo script esegue un’espressione presa dall’input dell’utilzzatore e gli esperti dicono che non va bene eseguire direttamente l’input perche’ potrebbe essere pericoloso, e dato che per costruire l’espressione oltre che cliccare sulle opzioni possiamo anche inserire gli ‘operatori’ che compongono l’espressione da tastiera,
da tastiera possiamo inseriee solo un ‘operatore’ per volta.
E’ un po’ piu’ lungo costruire l’espressione, ma gli esperti sono tranquilli … anche se a me queste paranoie sembrano molto la classica boiata pazzesca … va beh.

E’ anche possibile digitare dei numeri per inserirli nell’espressione

Oltre agli elementi per costruire l’espressione ci sono altre 3 opzioni:
Clear cancella l’espressione se vogliamo costruirne una nuova
Undo toglie l’ultimo elemento dell’espressione
Exit … direi che si capisce :wink:

Quando l’espressione e’ OK, basta dare ancora un Enter di conferma
e lo script inizia a cercare.

Altra cosa:
I nomi delle opzioni sono in uno strano gergo, credo poco comprensibile, per cui la lista degli elementi che possiamo usare per costruire l’espressione e’ stata resa facilmente modificabile.
Aprendo lo script con un text editor, alla linea 7 inizia questa lista, con 2 valori per linea:
il primo e’ l’elemento da inserire nella lista (ad esempio per la somma e’ “+” )
il secondo e’ il nome dell’opzione che consente di inserirlo usando il mouse (per la somma adesso e’ “add” , ma volendo possiamo cambiarlo in “somma” o alro)

Dicevo: i nomi delle opzioni si possono cambiare a piacere (senza usare simboli strani che non piacciono a Rhino)
E’ anche possibile modificare la lista, quindi togliere delle coppie Operatore+Nome_Opzione oppure aggiungerne altre per inserire nuovi ‘operatori’ diciamo cosi’ …, ma naturalmente sempre inserendo la coppia
Operatore + Nome_Opzione

Bene, credo che nessuno sia arrivato a leggere tutto … fa lo stesso.
Direi che ci e’ voluto piu’ tempo a scrivere il post che a modificare lo script … :wink:
Credo anche che modificare in questo senso la definizione di GH sia questione di pochi secondi, nel caso servisse … in ogni caso questo lo lascio volentieri agli amici esperti di GH :smiley:

c5-findbbox.py (7.1 KB)

EDIT:
per ottenere una box con un lato piu’ corto possibile, come espressione usiamo
‘s1’

Sei arrivato dritto al cuore del problema… :scream:

Per molti resta un metodo per indagare i massimi sistemi…mentre invece dovrebbe o potrebbe essere uno strumento pratico.
Certo: come per gli script, ha poco senso se devi fare ogni volta cose con un processo diverso. La difficoltà è quella di trovare un fattore comune, ammesso che ci sia.
Un ambito in cui lo trovo fondamentale è per tutti gli eventi che succedono “OnSrf” e relativi orientamenti, dove Rhino spesso ti fa perdere un sacco di tempo.
Nella gioielleria ho qualche decina di definizioni che uso regolarmente.

Da come la vedo io, il vantaggio di GH solo gli slider.
Potrei cercare di usarlo in situazioni in cui c’e’ da definire un certo valore (o piu’).
Certo se la cosa si puo’ fare agevolmente con Rhino, ha poco senso.
( Operazioni OnSrf di solito non mi capitano … )

Se trovo il tempo … e delle idee … faccio poi qualche tentativo …

Pero’ se facesse anche i fillet (srf/edge) … eeeeeeeh, sarebbe un’altra cosa … :smile:
Le tapered le fa ? … Devo guardare.