Orientamento pezzi

Ferma tutto, pian col fajan… al momento il nesting me lo faccio a manina!!
Credo che la strada migliore per il nesting sia utilizzare grasshopper in quanto hai un’interfaccia più user friendly e interattiva.
Ho visto qualcosa in giro che potrebbe funzionare, ma il tempo è poco e non riesco a mettermici di impegno (come non riesco a portare tutto su Python per avere la possibilità di crearmi delle interfacce un pò più funzionali rispetto a quelle proposte da RhinoScript).
Se poi volete cominciare a fare uno script di nesting e volete una mano… vediamo se si riesce…

Ehhh, per pagare se fa sempre a tempo i dise! Se poi profumatamente… dipende dal profumo! Che siamo sotto Natale ormai… e partono tutte le pubblicità assurde… :crazy_face:

Uff…dovrei mettere in funzione la quarta mano, già la terza trotta!

ma come Lucio allora aveva ragione Emilio . . . . :frowning:
prima ci hai fatto fare i castelli in aria che gestivi tutto sia cam che nesting da rhino e poi adesso chiedi i soldi per un codice che non esiste nemmeno, dillo che volevi avviare una startup facevamo prima ahahahah

Perche’ ?
… Cosa ho detto ?
… Sai … la vecchiaia … chi si ricorda …
:grinning:

Ciao Lucio !

Eh, verrebbe voglia di provarci … il problema e’ molto interessante …

Anche se veramente ho gia’ due script lunghetti … in fase wip ma quasi fermi … :sob:
Piu’ tutti gli scriptini utili a cui ho pensato … ma mi sono fermato li’ …

Comunque, tanto per capire, cosa abbiamo in input ?
Per l’ouput credo venga di conseguenza, ma meglio essere sicuri … :slight_smile:

Grazie, ciao !

In input puoi avere o singole geometrie (aperte o chiuse ma la maggior parte dei software vuole chiuse per poter decidere da che parte fare la compensazione) oppure gruppi di oggetti (che ti identificano il pezzo completo da tagliare, tipo una piastra rettangolare con una serie di forature la devi “gruppare” per mantenere i riferimenti durante il nesting) o ancora blocchi (che per me è la scelta migliore e quella che al momento utilizzo in quanto in presenza di fogli di grandi dimensioni con tanti pezzi piccoli, avere il blocco ti consente di identificare molto bene quante istanze dello stesso oggetto hai, la posizione e rotazione e, in caso di necessità, puoi eseguire sostituzione su nesting già fatti con un “replaceBlock”).
Il problema del blocco è la creazione dell’ingombro esterno da utilizzare come riferimento… ma si potrebbe anche crearla in automatico al momento della generazione del blocco e poi replicarla durante i calcoli… diciamo che ci sono molte strade…
Comunque un output di blocchi posizionati e ruotati credo sia la soluzione migliore per non appesantire i file di taglio.

Mi pare tu avessi detto che pagavi da bere… :wink:

ahahahah, anch’io ricordavo una cosa del genere :slight_smile:

ritornando al nocciolo della situazione:
facendo un resoconto e considerando cosa abbiamo a disposizione, quindi: gli script in stallo di Emilio, io di mio tempo fa ho scritto alcune righe dove (collegandomi a quello detto da Lucio sui blocchi) in pratica inserendo i blocchi nei box vado a calcolare la distanza degli angoli dei box e posiziono tutti i blocchi uno di fianco all’altro ad una certa distanza impostata nel codice, quindi volendo si potrebbe implementare in modo che arrivati ad un certo punto (fine foglio e poco spazio disponibile) i blocchi ricominciano da capo sopra al primo blocco (rimane sempre per me il cruccio che una cosa è calcolare un angolo di un blocco in un box, mentre in questo caso a noi servirebbe che si tenesse conto che all’interno del box ci sia un’area possibile da utilizzare) e qui passo la palla a Lucio che sembra avere le idee su alcune strade e di come muoversi.

su ragazzi forza la sbrogliamo sta matassa :slight_smile:

Grazie Lucio.

Quello che volevo anche sapere ( suppongo si tratti di nesting in 2D ) e’:
Lavoriamo sulle curve piane ?
( Quindi sui profili da tagliare ? )
E l’area da riempire e’ sempre rettangolare ?
O puo’ avere altre forme ?
C’e’ una distanza minima tra i profili/oggetti ?

@0904

… Temo di no. :wink:
Gli script a cui accennavo non c’entrano niente col nesting.
Sono progetti indipendenti che fanno (meglio: forse faranno) tutt’altro. :slight_smile:
Era solo per dire che la mia lista degli script … TODO … e’ gia’ pienotta di suo. :wink:

EDIT

Ah, quanto alle birre … non mi ricordo assolutamente ! :smile:

Si

Normalmente l’area da riempire identifica il grezzo da lavorare; normalmente si acquistano fogli rettangolari di materiale ma non è raro dover lavorare su fogli già iniziati o su semilavorati… quindi direi che l’area da riempire è definita da una curva chiusa piana.

Normalmente si lascia un offset tra un oggetto e l’altro per vari motivi che possono essere:

  • Problemi di ribaltamento / collisione dei pezzi con la testa di taglio
  • Problemi di surriscaldamento dei bordi pezzo nel caso di taglio con processi termici
  • Problemi di vibrazione dei pezzi dovuto a mancanza di rigidità tra il pezzo e il grezzo

Poi ci sono lavorazioni che non prevedono situazioni critiche (tipo le taglierine per carta o macchine per incisione) che possono lavorare profili adiacenti senza problemi.
Quindi la distanza tra pezzo e pezzo va impostata dall’operatore ad ogni lavoro.

Ma non avevo dubbi! :stuck_out_tongue_winking_eye:

:joy: credaghe! Hahaha! Mi pare che siamo tutti già affossati per bene! Non so se sono troppo pessimista, ma credo tu abbia preso la cosa sottogamba.
Per il posizionamento dei pezzi a RectangularArray è una roba semplice da fare (e non serve nemmeno fare tanti script perchè con i comandi di Rhino e il Gumball fai anche abbastanza veloce) il problema è gestire lavori come questo
Foglie
E, se noti, questo nesting può contenere molti più pezzi di quelli che ci sono; è che, quando giri una foglia per farne stare un’altra, automaticamente hai una ripercussione anche su tutte le altre… da diventare isterici.

ottimo ma tanto per capire, alla fine è un tuo script?

ma li hai ruotati tu con il Gumball?

PS cosa intendi con “RectangularArray” ho cercato in Rhino e RScript ma nulla . . . .

No, il posizionamento dei pezzi è stato fatto a mano; i pezzi inseriti nel foglio sono già sottoprogrammi identificati da istanze blocco.
La polilinea nera identifica la sequenza di taglio da seguire e lo script genera un programma CNC di conseguenza (programmi con sottoprogrammi).
Ti riporto un capture screen di una parte di programma generato dallo script (per farti capire cosa devo dare in pasto al controllo)

Si, li ho ruotati a mano con il gumball o con rotate (poco cambia se stai richiamando lo stesso comando e sposti trascinando).
Per RectangularArray intendo il vero e proprio comando di Rhino che crea un Array a scacchiera.
Siccome il comando ti da il preview del risultato, risulta abbastanza semplice trovare la distanza giusta per far stare i pezzi nel foglio…

si, avevo compreso che intendevi questo tipo di dati da inserire nel programma per CNC

ma questo accade grazie al programma Cam che utilizzi giusto?

Ad essere pignoli … hehe … :wink:
Rectangular array e’ il tooltip del pulsante … che richiama il comando Array.
Almeno qui su Rhino 5 … non so su Rhino 6 … :slight_smile:

Gia’ … ti ga rason …
Ma come problema sembra un ottimo passatempo (quando ne trovi, ovvio … ) :smile:

Grazie Lucio, ciao !

Ma va va va… a ti si proprio un piemontes! :wink:

mi sa che debbo cambiare il titolo del post in: “I detti in dialetto” ahahahah

1 Mi Piace

Ciao Stefano,

Potrebbe tornarti utile lo ShipDesigner, ha la funziona di nesting, taglio lamiere, fabbisogno profili, marcatura e tanto altro per la corretta produzione in officina dei costruttivi.