# Distribuzione oggetti

**URL:** <https://it.discourse.mcneel.com/t/distribuzione-oggetti/681>\
**Category:** Rhino Windows\
**Created:** [3 Ottobre 2015, 8:35pm UTC](https://it.discourse.mcneel.com/t/distribuzione-oggetti/681 "2015-10-03T20:35:29Z")\
**Posts on this page:** 19\
**Page:** 1

<div class="post-metadata">

**Author:** ![zakka](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/zakka/32/16025_2.png) [@zakka](https://it.discourse.mcneel.com/u/zakka)\
**Post date:** [3 Ottobre 2015, 8:35pm UTC](https://it.discourse.mcneel.com/t/distribuzione-oggetti/681/1 "2015-10-03T20:35:29Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![giuseppe](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/giuseppe/32/16416_2.png) [@giuseppe](https://it.discourse.mcneel.com/u/giuseppe)\
**Post date:** [4 Ottobre 2015, 9:24am UTC](https://it.discourse.mcneel.com/t/distribuzione-oggetti/681/2 "2015-10-04T09:24:42Z")

</div>

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](https://mcneelusercontent.s3.amazonaws.com/original/1X/a42ddece3c5952317f12922de1e85a6bef966f83.3dm) (43,5 KB)[ordina.gh](https://mcneelusercontent.s3.amazonaws.com/original/1X/a62b9ee620c491dd1950971558ba4817a8890c81.gh) (16,6 KB)

---

<div class="post-metadata">

**Author:** ![lucio\_zadra](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/lucio_zadra/32/16361_2.png) [@lucio\_zadra](https://it.discourse.mcneel.com/u/lucio_zadra)\
**Post date:** [4 Ottobre 2015, 10:41am UTC](https://it.discourse.mcneel.com/t/distribuzione-oggetti/681/3 "2015-10-04T10:41:58Z")

</div>

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

![](https://mcneelusercontent.s3.amazonaws.com/original/1X/52254a12f6a689d978cefcd65a8d7c46d5c4f015.jpg)

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).

---

<div class="post-metadata">

**Author:** ![zakka](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/zakka/32/16025_2.png) [@zakka](https://it.discourse.mcneel.com/u/zakka)\
**Post date:** [4 Ottobre 2015, 4:19pm UTC](https://it.discourse.mcneel.com/t/distribuzione-oggetti/681/4 "2015-10-04T16:19:02Z")

</div>

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 …

---

<div class="post-metadata">

**Author:** ![emilio](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/emilio/32/16095_2.png) [@emilio](https://it.discourse.mcneel.com/u/emilio)\
**Post date:** [4 Ottobre 2015, 7:20pm UTC](https://it.discourse.mcneel.com/t/distribuzione-oggetti/681/5 "2015-10-04T19:20:14Z")

</div>

Ciao Adriano

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

[http://wiki.mcneel.com/people/pascalgolay](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

---

<div class="post-metadata">

**Author:** ![zakka](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/zakka/32/16025_2.png) [@zakka](https://it.discourse.mcneel.com/u/zakka)\
**Post date:** [4 Ottobre 2015, 9:44pm UTC](https://it.discourse.mcneel.com/t/distribuzione-oggetti/681/6 "2015-10-04T21:44:06Z")

</div>

Ciao Emilio,

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

Grazie …

---

<div class="post-metadata">

**Author:** ![emilio](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/emilio/32/16095_2.png) [@emilio](https://it.discourse.mcneel.com/u/emilio)\
**Post date:** [5 Ottobre 2015, 5:17am UTC](https://it.discourse.mcneel.com/t/distribuzione-oggetti/681/7 "2015-10-05T05:17:22Z")

</div>

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. 😉

Ciao

---

<div class="post-metadata">

**Author:** ![zakka](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/zakka/32/16025_2.png) [@zakka](https://it.discourse.mcneel.com/u/zakka)\
**Post date:** [12 Ottobre 2015, 8:24pm UTC](https://it.discourse.mcneel.com/t/distribuzione-oggetti/681/8 "2015-10-12T20:24:09Z")

</div>

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

Grazie per l’aiuto…

---

<div class="post-metadata">

**Author:** ![marco.delorenzi](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/marco.delorenzi/32/2422_2.png) [@marco.delorenzi](https://it.discourse.mcneel.com/u/marco.delorenzi)\
**Post date:** [30 Maggio 2018, 4:33pm UTC](https://it.discourse.mcneel.com/t/distribuzione-oggetti/681/9 "2018-05-30T16:33:14Z")

</div>

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

Come faccio?

---

<div class="post-metadata">

**Author:** ![lucio\_zadra](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/lucio_zadra/32/16361_2.png) [@lucio\_zadra](https://it.discourse.mcneel.com/u/lucio_zadra)\
**Post date:** [30 Maggio 2018, 5:26pm UTC](https://it.discourse.mcneel.com/t/distribuzione-oggetti/681/10 "2018-05-30T17:26:21Z")

</div>

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

 ![script_barra](https://discourse-cdn-aws1.com/mcneel/uploads/mcneel_it/original/2X/9/9cfde002466e5ccc4f6127d48fdbbc7e183b284d.jpg)  
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).

---

<div class="post-metadata">

**Author:** ![emilio](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/emilio/32/16095_2.png) [@emilio](https://it.discourse.mcneel.com/u/emilio)\
**Post date:** [31 Maggio 2018, 4:55am UTC](https://it.discourse.mcneel.com/t/distribuzione-oggetti/681/11 "2018-05-31T04:55:06Z")

</div>

Ciao Lucio

> [@lucio\_zadra](#):
>
> prima di tutto bisogna vedere se funziona su RhinoMac.

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

---

<div class="post-metadata">

**Author:** ![lucio\_zadra](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/lucio_zadra/32/16361_2.png) [@lucio\_zadra](https://it.discourse.mcneel.com/u/lucio_zadra)\
**Post date:** [31 Maggio 2018, 6:26am UTC](https://it.discourse.mcneel.com/t/distribuzione-oggetti/681/12 "2018-05-31T06:26:12Z")

</div>

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 😉 ).

---

<div class="post-metadata">

**Author:** ![emilio](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/emilio/32/16095_2.png) [@emilio](https://it.discourse.mcneel.com/u/emilio)\
**Post date:** [31 Maggio 2018, 7:23am UTC](https://it.discourse.mcneel.com/t/distribuzione-oggetti/681/13 "2018-05-31T07:23:50Z")

</div>

> [@lucio\_zadra](#):
>
> echennessò

OK, siamo in due. 😄

Qui ci vuole un Mac … Giuspaaaaaa … 🙂

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 …

> [@lucio\_zadra](#):
>
> ti tocca rifare lo script in python

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

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 … 🙄

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

---

<div class="post-metadata">

**Author:** ![lucio\_zadra](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/lucio_zadra/32/16361_2.png) [@lucio\_zadra](https://it.discourse.mcneel.com/u/lucio_zadra)\
**Post date:** [31 Maggio 2018, 8:43am UTC](https://it.discourse.mcneel.com/t/distribuzione-oggetti/681/14 "2018-05-31T08:43:39Z")

</div>

> [@emilio](#):
>
> 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 😉 )

> [@emilio](#):
>
> … Maaaaa … non ti sembra un ottimo modo per impratichirti ? …  
> Voglio dire tradurre 500 linee di VBS di Pascal … 🙂  
> No ?  
> 🤣

😬😬😬😬😬

---

<div class="post-metadata">

**Author:** ![emilio](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/emilio/32/16095_2.png) [@emilio](https://it.discourse.mcneel.com/u/emilio)\
**Post date:** [31 Maggio 2018, 8:53am UTC](https://it.discourse.mcneel.com/t/distribuzione-oggetti/681/15 "2018-05-31T08:53:40Z")

</div>

> [@lucio\_zadra](#):
>
> Ma a dire il vero il comando di questo script è stato messo in Rhino V6… (Distribute 😉 )

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

Ottimo !  
I dovuti complimenti a McNeel ! 🙂

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

---

<div class="post-metadata">

**Author:** ![marco.delorenzi](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/marco.delorenzi/32/2422_2.png) [@marco.delorenzi](https://it.discourse.mcneel.com/u/marco.delorenzi)\
**Post date:** [2 Giugno 2018, 11:39am UTC](https://it.discourse.mcneel.com/t/distribuzione-oggetti/681/16 "2018-06-02T11:39:28Z")

</div>

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 🙂

---

<div class="post-metadata">

**Author:** ![giuseppe](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/giuseppe/32/16416_2.png) [@giuseppe](https://it.discourse.mcneel.com/u/giuseppe)\
**Post date:** [5 Giugno 2018, 2:14pm UTC](https://it.discourse.mcneel.com/t/distribuzione-oggetti/681/17 "2018-06-05T14:14:55Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![0904](https://avatars.discourse-cdn.com/v4/letter/0/b3f665/32.png) [@0904](https://it.discourse.mcneel.com/u/0904)\
**Post date:** [3 Agosto 2018, 1:42pm UTC](https://it.discourse.mcneel.com/t/distribuzione-oggetti/681/18 "2018-08-03T13:42:11Z")

</div>

> [@emilio](#):
>
> Forse puo’ servirti uno script del grande Pascal.  
> Cerca ‘Distribute’ qui:

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

---

<div class="post-metadata">

**Author:** ![lucio\_zadra](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/lucio_zadra/32/16361_2.png) [@lucio\_zadra](https://it.discourse.mcneel.com/u/lucio_zadra)\
**Post date:** [3 Agosto 2018, 1:59pm UTC](https://it.discourse.mcneel.com/t/distribuzione-oggetti/681/19 "2018-08-03T13:59:42Z")

</div>

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