Blocchi con grasshopper

Ciao a tutti, sono nuovo di questo forum.
Avrei bisogno di fare riferimento ad un blocco di rhino in grasshopper ed estrarne il punto di applicazione.
So che grasshopper non digerisce bene i blocchi ma magari qualcuno di voi ha trovato il modo di utilizzarli in qualche modo. C’è un plug in di grasshopper che si chiama Human che fa qualcosa con i blocchi ma non sono riuscito ad utilizzarlo per il mio scopo.
Ogni idea è ben gradita.
Ciao e grazie.

Il punto di applicazione del blocco lo puoi ricavare in un attimo con Python. Gli assegni un layer anche.
Con GH Pipelyne prendi il punto e lo usi.

ma soprattutto: benvenuto!

Ciao e grazie sia per il benvenuto che per la risposta.
Quindi se non ho capito male il punto lo ricavo con Python fuori da Grasshopper e verrà aggiunto al disegno.
Poi in un secondo tempo uso Grasshopper per fare riferimento al punto, giusto?
Perché se è così non mi funzionano le cose come vorrei.
A me serve questa cosa perché su un disegno con varie coppie di scorrevoli per cassetti (che sono dei blocchi) vorrei fare riferimento a due blocchi alla volta e in automatico disegnare il cassetto, il tutto con Grasshopper. E’ vero che si può estrarre i punti dei blocchi e poi usare questi ma volevo solo sapere se si poteva saltare un passaggio e scoprire come poter usare seppur in minima parte i blocchi con Grasshopper.

Si, è esatto e penso che tu possa fare quello che vuoi se ho capito bene…
Puoi benissimo fare riferimento a due blocchi alla volta… ricavare due punti e proseguire con GH.
Direi che non puoi saltare il passaggio.

Okay, grazie.

Scusa Giuspa …
Questo problema mi ha incuriosito, allora … dopo aver aspettato il week end … ho provato a ficcarci il naso.
Ho scaricato GH e dalle poche reminiscenze rimaste nella zucca, ho provato a ricavare il punto di inserimento di un blocco.
Ho semplicemente copiato la funzione rhinoscriptsyntax.BlockInstanceInsertPoint() in un componente Python di GH.
A prima vista funziona …
Ma forse sono io che non ho capito e Federico cercava una cosa diversa ?

blocco.gh (4.9 KB)

Scusa queste intrusioni mordi e fuggi su GH … ma lo sai che a volte mi prende il raptus … :wink:
Ciao !

Caspita Emilio, grazie, è quello che cercavo di fare. C’è in giro della documentazione, magari in italiano, per capire quello che hai fatto?
Perché con rhinoscriptsyntax riesco a fare qualcosa ma il resto non mi è chiaro. Purtroppo non ho grandi nozioni da programmatore ne di inglese, e mi piacerebbe imparare.

Ciao Federico !
Come forse avrai capito, non uso GH e purtroppo lo conosco poco :frowning:
Credo che ora sia possibile anche usare rhinoscriptsyntax in GH, ma non ne sono sicuro e non so come funziona …
Personalmente avevo fatto qualche prova oltre un anno fa e allora c’era solo RhinoCommon, per cui e’ solo con quello che ho una minima esperienza.
Tu usi rhinoscriptsyntax (potevano anche dargli un nome piu’ corto … ) con GH ?
Ci sono accorgimento o limitazioni particolari ?

Io di solito mi faccio gli script per Rhino … e qui ho provato a fare la stessa cosa, scrivendo nel componente script di GH quello che avrei scritto in un normale script per Rhino.
E come dicevo, ho copiato le istruzioni direttamente dalle funzioni rhinoscriptsyntax, in particolare da BlockInstanceInsertPoint() … con parecchio copia&incolla :smile:
Forse e’ possibile usare direttamente questa funzione con GH, ma come detto non ne ho idea …

Andando al discorso sulla documentazione … ahi ahi ahi … con Rhino parte di queste cose e’ lasciata a noi utilizzatori e … a quanto pare non brilliamo per iniziativa.
E’ raro che ci sia qualcosa aggratis (siamo piuttosto avidi … eh, capitalismo ed era dell’informazione non sono compatibili … va beh, e’ un altro discorso) dicevo … senz’altro bisogna scavare a fondo nel Web e comunque di solito ci sono script, ma poco o niente spiegazioni. Ed e’ tutto inglese.

Crdo sia piu’ semplice scrivere sul forum riguardo a un problema particolare: tipo "devo fare questo e quello, come faccio ?"
Ci sono, e’ vero, gli esempi sul WIki, ma il Wiki e’ in inglese e comunque cambia poco perche’ non ci sono spiegazioni … trattandosi di esempi. :smile:
Altro limite e’ che il forum GH e’ anche lui solo in inglese.
Credo ci sia in giro un manuale GH tradotto in italiano (di libera fruizione) che parla anche degli script. Credo fosse stato fatto su MXP, e in particolare tradotto da Armido Cremaschi e da Giulio Piacentino per quanto riguarda gli script.
Come dicevo, come tipologia di pubblicazione e’ una vera rarita’.

Infine: per essere piu’ specifici, ti chiederei: cosa ti serve esattamente ?
Cosa sai gia’ fare e cosa non ancora ? Cosa vuoi imparare a fare ?
rhinoscriptsyntax ? RhinoCommon ? Script Rhino ? Script GH ? Python ? Altro ? (?!?) :slight_smile:
Lo so che’ e’ difficile specificare cosa vuoi imparare … perche’ evidentemente sono cose che ancora non sai … :smile:
Ma se riesci a indirizzarci un poco di piu’ senz’altro io e gli altri scriptomani ‘infestanti’ il forum cercheremo di comunicare quel poco (per quanto mi riguarda) che sappiamo.

Era questo:
http://www.mxp3d.com/node/1931
e tra gli autori avevo dimenticato Alessandro Innocenti.
Pero’ dopo aver letto l’indice direi che e’ troppo vecchio. Non serve … sorry

Ciao Emilio e grazie per il tuo interessamento.
Io uso GH per cercare di velocizzare alcune cose nel disegno e soprattutto per aiutarmi a creare programmi per il CNC. Ho dovuto imparare un po’ di programmazione (sempre all’interno di GH) e l’ho fatto inizialmente con VB ma ora uso Python. Sempre livello terra-terra però. Uso rhinoscriptsyntax (confermo nome lunghissimo) perché lo trovo più immediato e soprattutto ci sono molti esempi in rete e nei forum. Aprendo i vari script e scopiazzando ho imparato ad usarlo per i miei piccoli scopi. Sembra però che per certe cose rhinoscriptsyntax non funzioni in GH perché, da quanto ho capito, in GH tutto funziona con i Guid o Id e non si fa riferimento sugli oggetti nel disegno.
Ho letto il manuale di GH dove c’era una parte di script ma c’erano solo esempi in VB mi sembra e non ho notato niente di interessante su rhinocommon.
Adesso non so se ne hanno fatto una versione aggiornata con un ampliamento della parte dedicata agli script.
A me interessa più che altro avere un’alternativa nei casi in cui rhinoscriptsyntax non funziona.
Allego quello che ho provato a fare io con rhinoscriptsyntax e GH per estrarre il punto del blocco e come vedi non funziona. Mi piacerebbe che mi dessi un parere sul perché non funziona.
blocco tentativo.gh (2.6 KB)

Vedi che vuol dire essere bravi?
:wink:
Ci avevo provato anche io…e non avevo pensato a farlo partire via Guid… Lo ho ulteriormente semplificato.blocco-gm.gh (4.4 KB)

Ad integrazione della mia risposta precedente e, spero, per meglio descrivere il problema: allego immagine con una ipotesi in cui arriva un messaggio se spingi “test” che conviene leggere.

Se devo essere sincero non è la prima volta che vedo quel messaggio.
Ma non ne ho mai capito il vero significato e come allora dovrei agire :open_mouth:

Guarda il contenuto del componente che ha fatto Emilio.
Guarda anche quello che ho fatto io.

Per pescare il blocco sono partito anche io dall’ ID del blocco.
Sono stati caricati sia RhinoScriptSyntax che da ora possiamo chiamare confidenzialmente… rs e Rhino che ho abbreviato in rh.

Infatti è ora che ti dedichi a GH!!!
…Non fosse altro che per par condicio…visto che io mi sto sbattendo su Py… :slight_smile:
Certo che puoi usare sytntax… nei Py fatti in GH… oddio come cacchio parlo…
Ma usando SOLO syntax non riesco a fargli vedere in ingresso componente (x) l’ID del blocco …

Si può fare invece… :wink: (solo rssyntax)
era sotto il naso e non lo avevo visto…

blocco-gm-solo-syntax.gh (3.8 KB)

Si, la prima cosa che ho fatto è stata quella di aprirne il contenuto e capire come si fa.
Sono curioso di vedere come mi arrangio la prossima volta che mi capiterà un problema simile.
Grazie, mi siete stati mooolto utili.

Se per par condicio pagano anche me, molto volentieri … cambio lavoro anche subito … :smile: :smile:
Lascia perdere, che non riesco nemmeno ad andare avanti con i miei script …

Poi non credo di essere tipo da GH … ‘sta cosa che lui cerca sempre come un forsennato di ricalcolare mi mette un’ansia …
Certo per i calcoli rapidi, con gli slider e’ una bella comodita’. Ma per il resto preferisco un bel pulsante che lancia il (ri)calcolo quando glielo dico io :smile:

Ah, volevo vedere cosa avevi scoperto con l’ultima definizione … ma per aprirla mi ha fatto installare Ghiro … ???
… Potevi anche usare il componente originale … io quello lo avevo fatto prima di accorgermi che il componente originale esisteva gia’ … mi capita spesso con gli script … :smile:

Pero’ la def. non mi funziona, dice che ‘blocco’ non e’ definito … e nemmeno io riesco a vedere da dove viene …
Ho fatto qualche casino caricando la definizione ?

… Volevo fare tutto lo spiegone ( :wink: ) per Federico sui vari RhinoDoc e rssyntax e RhinoCommon con GH … ma mi sono piantato come un pirla senza riuscire a far partire la definizione …
Va beh … forse e’ meglio cosi’ … :smile:

… Ma non e’ detto che non ci riprovi domani o dopo … :smiley:

'Notte sciptomani (salterini o meno) !

Anche a me la def. non funziona.
Ho provato a sostituire a (blocco) (x) ma niente lo stesso.
Non demordere Emilio, sono contento se mi fai lo spiegone :wink:
Ad esempio che differenza c’è tra rhinodoc e rhinocommon?

Ottimo, elenca pure i vari dubbi …
Appena riesco provo a divulgare i miei contorti pensieri sulla materia… :wink:
…Ovviamente se qualcun’altro mi precede, tanto di guadagnato ! :smiley: