Wednesday, December 11, 2013

New in CityEngine 2013 - Part 2

Now all tutorial and examples are downloaded and it is time to check Change log. Elliot Hartley already had a post showing these here but I'll check if there are any changes since then.

There are no changes, so that list is still valid.

From that list here are the ones I'll have closer look:

  • envelope operation due to great power and applications in planning
  • cleanupGeometrycompextrudesplit operations for supporting holes. This may produce interesting models. geometry.nFacesgeometry.area,geometry.volume functions support holes (there is a risk of losing them in subsequent operations)

Important changes:

attr/const functions evaluation order - "Starting with 2013.1, all attr/const functions are evaluated before the start rule is applied, on the initial shape with a seedian derived from the initial shape's seedian. The initial shape's random number generator state is not affected. While the new approach makes CGA coding more "intuitive", it changes the behaviour compared to older versions.". This will require change of habits and bit more structure when writing rules

inf/nan checks: "CGA 2013.1 introduces a unified inf/nan behaviour: checking of all float paramers of builtin functionality can be set to either "ignore" (= don't check), "abort with error" or "replace with zero" see Grammarcore Preferences). The default behaviour is "replace with zero", which comes closest to the classic behaviour." While CGA 2013.1 provides more debugging capabilities regarding inf/nan values, the behaviour is different than in previous versions.

Envelope operation

New parameter direction is added with two options - normal or world.up. Changing existing rules won't be difficult and all you need to do is change from 

envelope(MaxHeight, FrontBaseHeight, FrontAngle, BackBaseHeight, BackAngle, SideBaseHeight, RightAngle, SideBaseHeight, LeftAngle)


envelope(world.y, MaxHeight, FrontBaseHeight, FrontAngle, BackBaseHeight, BackAngle, SideBaseHeight, RightAngle, SideBaseHeight, LeftAngle)

for the rule I had in my example. So if you are importing your existing 2012 projects minor changes will be required but you may want to consider using new features and functions and keep in mind important changes listed above.

While this is useful addition there is room for improvement or handling of special cases. Several city councils in New Zealand have a requirement for building envelopes determined by a combination of street and compass orientation. I should put this on ides site and see how many votes it will get.

Now it's time to review and rewrite previous work.

No comments:

Post a Comment