Select to view content in your preferred language

Subdivision according to existing attributes

2555
6
07-10-2013 11:03 PM
gulhunduran
Emerging Contributor
Hi Matthias,
I imported polygons (urban blocks) from the fgdb and I want to subdivide my urban blocks with the following attributes:
attr minLotWidth
attr maxLotDepth
attr averageLotArea
attr minLotArea
attr averageNbrOfLot

I know that Shape parameters> Block Parameters have lotWidthMin and lotAreaMin parameters but I cannot use them because I already have existing urban blocks with many attribute fields that I will use afterwrads. Can you help me writing the code, I'm not really familiar with writing rules.
0 Kudos
6 Replies
MatthiasBuehler1
Deactivated User
Hi ..

as mentioned in the other thread, check the first couple of tutorial videos very thoroughly. This will help you getting the basic concepts of CE and CGA coding.

What then may also help you is to subdivide your block shapes with Shape>Subdivide. This will give you the same subdivision parameters as the dynamic block subdivisions.


Hope this helps to start.

Matt
0 Kudos
gulhunduran
Emerging Contributor
Hi,
Be sure that I watched all the videos and read Manuel at least 5 times:) I have lots of urban blocks and to write a "Lot" rule, I have to split my blocks according to these object attributes first. To use the object attributes, I guess I have to do it with CGA. Isn't it possible?
Thank you again:)
0 Kudos
MatthiasBuehler1
Deactivated User
Hi,

of course, subdividing lots in CGA is possible, but it's currently limited because we miss some CGA operations to do this nicely.

But you also have to see precisely the attributes are contradicting each other. ( be VERY precise about this ! )
E.g.
attr averageLotArea
and
attr minLotArea

--> averageLotArea in a block gives a specific number of lots you want to produce. while minLotArea leaves the number of lots to be produced open.

easily said, there's no way to solve your precise stated task.


Btw. can you explain :
attr averageNbrOfLot
? What does this express ? average number of Lots per Block ?

In general, you have to be aware of the following facts :


1] CityEngine is very good of creating statistics of the geometries it creates.
2] CityEngine can not ( and neither any other software on the market ) can take statistics and create well-designed geometries, which directly make architectural sense.


Thus, with studying the current CGA operations available, track down which approach to creating geometries is best for you. So there's no code block I could give you which will just make you happy. This is a design problem and CGA is a generic language, thus there's maaany ways how to tackle your problem.

The best would be you post a very clear image here which shows the types of block subdivision you need and I can try giving you tips how to code them.

Ok ?

🙂
0 Kudos
gulhunduran
Emerging Contributor
Hi again,
A part of my fgdb polygons are attached.  My urban blocks have those attributes.
�?� Min Lot width
�?� Max Lot Depth
�?� Average Lot area
�?� Min lot area
�?� Average Number of Lots Per Block
Each block should be subdivided by �??average lot area�?� value. While doing so, it should also satisfy �?? min lot width�?� and �??max lot depth�?�.  Do not enable creation of lots smaller than �??min lot area�?�. Enable stochastic subdivision as long as �??min lot width�?�& �??max lot width�?� is satisfied. Note that at least one edge of each lot should be on the street side( like skeleton subdivision).
This is what I�??m trying to code:)
0 Kudos
MatthiasBuehler1
Deactivated User
Hi,

how were those attributes defined ? Where do their actual values come from ?

are those attributes part of a zoning code ?

what you need is not directly and easily possible. You can get near a good solution, but not generate spot-on final geometry.

I'd recommend you start with the skeleton subdivision and start a rule which cuts ( in horizontal direction ), the Lots into the min and max dimensions ( simply with split(x) and split(z). Note that CityEngine works with y being up.)

Then add checks with color(), if the shapes are too wide or thin or deep.

As mentioned, this is something that can not directly be solved because it is an iterative process. you will need manual input.

m.
0 Kudos
gulhunduran
Emerging Contributor
Hi,
Yes, these attributes are part of a zoning code and that's why I cannot use manuel input. I'll try ur suggestions, thank you so much for your interest!!
g.
0 Kudos