Distribuzione oggetti

ciao a tutti, …
domanda semplicissima:
come posso “distribuire” un certo numero di oggetti di forma simile , facendo un esempio banale, dei cerchi di diametro differente, lungo una linea, in maniera tale che sia costante la distanza fra le circonferenze degli stessi.
grazie

Oddio…semplicissima…se fa per dì…
…suppongo tu non voglia farlo…a mano…
Volendolo fare in modo “automatico” occorre definire bene il problema altrimenti è impossibile metterci la testa. Distribuire lungo una retta con un intervallo dato fra elementi è una cosa. La musica cambia se devi riempire un’ area con lo stesso criterio (spaziatura fra elementi).

Nel caso che ipotizzi, in Gh è facile ma non esattamente “immediato”…almeno per i miei due neuroni…
Ad esempio per bypassare il loop legato al numero dei cerchi si può usare il risultato progressivo-parziale della sommatoria.
Nella definizione che ti allego puoi variare l’intervallo.
Il gruppo in alto gestisce misure dei cerchi e posizionamento iniziale. il gruppo sotto la traslazione che tiene conto delle misure e in aggiunta l’intervallo prefissato. C’è qualche magheggio con le liste per evitare di far muovere il primo elemento della lista.
Spero sia… utilis atque comprensibilis…

ordina.3dm (43,5 KB)ordina.gh (16,6 KB)

Se gli elementi non sono centinaia ed è una operazione che esegui saltuariamente, una via potrebbe essere offsettare tutti gli elementi di metà del valore di distanza tra i bordi e poi posizionare oggetto+relativo offset sulla linea utilizzando gli osnap

Altro paio di maniche se, invece, è un’operazione continua che devi fare su parecchi oggetti. In quel caso farei degli script su misura (nel caso di una retta e dei cerchi l’operazione sarebbe abbastanza semplice in quanto il cerchio è un’entità semplice da gestire mentre il tutto si complica nel momento in cui tratti policurve e, magari, devi disporle su una curva non rettilinea).

Grazie per i consigli, … sinceramente non pensavo fosse così impegnativo.
Nel disegno 2D ( uso Corel Draw), c’è uno strumento dedicato, e immaginavo di trovarne uno anche qui, che se non distribuisse i solidi, ma potesse almeno farlo con le figure geometriche.
Ok grazie ancora …

Ciao Adriano

Forse puo’ servirti uno script del grande Pascal.
Cerca ‘Distribute’ qui:

http://wiki.mcneel.com/people/pascalgolay

Concordo con te sul fatto che uno strumento del genere (come altre operazioni effettuate dai piu’ popolari script di Pascal) dovrebbe essere aggiunto a Rhino.

Ciao

Ciao Emilio,

grazie del consiglio e dello script, ma … devo gentilmente chiederti come procedere per utilizzarlo, perché non l’ho mai fatto.

Grazie …

Per questi script di Pascal dovrebbe essere sufficiente estrarre il file dallo zip e poi trascinarlo sulla finestra di Rhino.
In questo modo lo script aggiunge un alias a quelli registrati da Rhino.
Per questo script l’alias e’ ‘Distribute’.
Quindi dopo aver trascinato il file rvb sopra alla finestra Rhino, basta eseguire il comando ‘Distribute’
… almeno spero. :wink:

Ciao

Ciao Emilio, ho fatto come hai detto tu e funziona.

Grazie per l’aiuto…

Ciao emilio, io ho scaricato lo script e l’ho trascinato sulla finestra di rhino per mac ma non accade nulla.

Come faccio?

Ciao Marco,
prima di tutto bisogna vedere se funziona su RhinoMac.
prova a lanciare il comando EditScript.
Ti si apre lo script editor da dove puoi aprire il file .rvb di pascal.
Per provare lo script eseguilo dal pulsante evidenziato


Se tutto funziona senza errori, allora possiamo copiarlo all’interno di un pulsante (bisogna modificare o copiare un pulsante esistente in una barra oppure creare una barra nuova dove “potacciare” con i vari pulsanti).

Ciao Lucio

Hmmm … ma sul Mac non funzionavano solo gli script in Python ? :confused:
Oppure adesso c’e’ un modo per eseguire anche il VBS ? :slight_smile:

Eh, bella domanda… echennessò… proprio per quello dicevo di provare nella maniera più “classica” tramite editScript… se poi salta fuori che non c’è l’editor VBS allora facciamo 1+1 e siamo a posto (nel senso che ti tocca rifare lo script in python :wink: ).

OK, siamo in due. :smile:

Qui ci vuole un Mac … Giuspaaaaaa … :slight_smile:

Tra l’altro mi pare (sempre dai ‘sentito dire’ sul forum … ) che oltre a non esserci EditScript, non ci siano neanche le toolbar editabili e che gli script (Python) vadano eseguiti da alias … ma forse ormai sono andati piu’ avanti … spero …

… Maaaaa … non ti sembra un ottimo modo per impratichirti ? …
Voglio dire tradurre 500 linee di VBS di Pascal … :slight_smile:
No ?
:rofl:

Va beh. Magari uno scriptino veloce, semplice semplice, si puo’ anche provare a imbastire … se sapessi bene cosa deve fare ( e se non e’ troppo complicato ) …
Marco, cosa ti serve esattamente ?

P.S.
Lucio … proprio per queste situazioni, da prima che uscisse Rhino 5, ho avuto la bella pensata di provare a fare qualcosa per tradurre gli script in Python.
Ci ho ravanato a diverse riprese da allora … in pratica senza cavare un ragno dal buco …
L’ultimo tentativo e’ … sospeso forse a 1/4 del lavoro … in attesa di averci il tempo … :roll_eyes:

P.S.2
… Certo se poi in RMA si decidessero a convertire in comandi gli script di Pascal …

Ma a dire il vero il comando di questo script è stato messo in Rhino V6… (Distribute :wink: )

:grimacing::grimacing::grimacing::grimacing::grimacing:

Miiiii … che sfiga !
Ho beccato l’unico (credo … ) script che hanno convertito … :smile:

Ottimo !
I dovuti complimenti a McNeel ! :slight_smile:

Grazie per l’info, Lucio !
… forse dovrei dire per l’assistenza nel reparto geriatrico del forum … :older_adult:

Ciao ragazzi, EditScript in rhino per mac non esiste. e appena avete iniziato a parlare di python mi è iniziato a uscire il fumo dalle orecchie ahah purtroppo sono ben lungi da tutti il mondo della programmazione. non ci capisco nulla… inoltre non c’è una versione WIP di rhino 6 per mac mannaggia

EDIT
In ogni caso ho distribuito manualmente, erano circa 130 oggetti per cui non ci è voluto troppo, ma ovviamente avere una maniera istantanea di farlo sarebbe stato preferibile :slight_smile:

Però nella versione WIP di Rhino Mac hai Grasshopper e - nel caso - la definizione che ho fatto in una delle prime risposte.

a saperlo prima di questo script evitavo di farne uno io mannaggia :slight_smile:
vogliate portare i miei complimenti a Pascal (it’s great)

Anche perchè è un comando integrato in Rhino V6 (_Distribute)

1 Mi Piace