Iterate innerRect

1391
1
08-13-2013 10:32 AM
SeanAdkins
New Contributor
Right now I have building files scattered around a lot. Each lot is assigned a capacity value. I want to display the number of potential new structures based on the capacity value.

I am using the innerRect to limit the extent of the scattering because the scatter() function allowed for my models to overlap.

Is it possible to itrerate innerRect so that I can have have many innerRect within a lot? 

I want to take the lot with all the buildings thrown on them and transform them into something like the second picture.  Is this possible?
0 Kudos
1 Reply
MatthiasBuehler1
Frequent Contributor
Hi Sean,


A few notes:

Distributing buildings on a Lot can be done in an infinite variation, so that process is a design process. No computer and no software can calculate a 'good' solution, so I usually say all design processes shall be done manually.

--> in CE :
Design --> Statistics = ok !
Statistics --> Design = not ok !

Designing is an iterative process and the CGA model generation starts at one point and ends somewhere, so you have basically 1 iteration for a given set of attributes. But testing for the 'best' combination is an endless endeavor, so CE cannot do this for you, sadly. 😉

I'd recommend you do the following :

Write some Lot subdivision code which includes convexify() and some dimension/area checks to make sure that buildings do not overlap.

e.g.
Lot -->
    convexify(100)
    ..


From there, play with splitting these shapes with different approaches ( stripes, .. ) which give you a realistic distribution. Then, add some reporting to compare the resulting geometry values with the target values.

I'm honest that CGA is not the best tool for realistic 'per shape' parcelling tasks, but I've done some tests in past that give you good results.

Let me know if that 'theory' makes sense so far ..

m.
0 Kudos