Multiple Coordinates

Hi, does anyone know how to create multiple input coordinates depending on a list count.

I am trying to use this script for dynamo refinery so the coordinates would be variables, however I do not want to manually insert everytime x,y slider per point coordinate.
Anyone know how to automate this?

Thankssss Marco

Not sure I understand what you’re after, can you give an image example?

Basically I’m trying to create space adjacencies bubble diagram directly from an excel sheet.
Then try and optimize it through Refinery. My question is: how can I create the xy variables for each bubble present in excel without doing manually, and will this understood as multiple input variables in refinery?

I’ve spent a lot of time on stuff like this recently, but I must say I’m somewhat lost. Can you upload your dyn and excel file? It’s not clear to me how you’re accounting for all bubbles having a tangent point at let’s say (10,0) and therefore everything being perfectly adjacent to every other bubble.

Newone.dyn (99.6 KB)
Simple.xlsx (8.6 KB)
On this Dyn file I’m trying to figure out how to give input coordinates to each room as variables but randomizing is not a good option if you want to optimize it on refinery.

1 Like

The issue with the shuffles is that the node you’re using to shuffle is TOO random. You need something that sequences through the list is a more controlled order, such as getting the next lexicographic permutation from the ordered list.

I took the liberty of altering your effort to illustrate how I tackle problems of this scope (less than 12 or less spaces to place with a central hallway - well I assumed you wanted the hallway central). This method produces some pretty good results for a bubble diagram style layout. I also added another evaluation method (as it was only returning a single design in the results due to it being the best performing), giving each space a noise value and looking for loud spaces adjacent to quiet ones. I also used rectangles instead of circles as they convert to walls easier later on, and the distance calculations is more real IMO.

Looks like this:

20 generations with a population of 100:

My method changes for spaces larger than 12 due to the upper limit of integers. Mapping the permutations to the overall scope and using a double slider and a divisor could get a bigger working range in theory, but the design space grows so fast it’s impossible to keep up. Sorting the larger chunks and coming back for firsts or breaking things up into smaller sets helps with a design space smaller than 12! (IE: place departments, then groups, then rooms, then desks).

The Graph: How I do it.dyn (191.3 KB)

3 Likes

Heey thanks Jacob, this is great.
So from my understanding this method is all centered according to the hall, and square are added by translation depending on the sorting numeration.
This excel sheet is just a simple sample version, the idea is to apply it to any adjacency and reduce the distance.

I have it already figure out how to get them to be close without intersecting, but still need to automatize the coordinate input variables. any ideas?

Btw thanks again and really impressive script

Linear Adjacencies.dyn (99.5 KB)

1 Like

If you really want to be able to control by multiple sets of sliders I think you’ll need to use multiple sets of sliders. Mapping to a series of offsets may help, as would finding a LCD and breaking your values into X/Y steps can help as well.

I don’t really want to control it by using multiple sets of sliders, but I’m not sure how to control the inputs of the coordinates so that refinery can optimize the points location.
For example I would like to create a single node for multiple coordinate points, is this even possible for it to be recognized in Refinery?

Short of using some manor of mapping, no. I’ll brainstorm some possibilities this week though.

1 Like

Thanks Jacob, very appreciated your help :smiley: