Using same rule function on touching geometry

1722
6
08-14-2014 10:18 AM
JosephChimento
New Contributor

Greetings!

I am trying to use the same run on features that touch.  You can see an example in the screen shot below.

We modeled these buildings in ArcMap.  They depict a building with a higher main section and a lower entry way section.  We need to be able to align the roofs and textures for all the buildings that share a face.

Is this possible?

Tags (2)
0 Kudos
6 Replies
DavidWasserman
Regular Contributor

Can you try to reattach the screen shot? It is is not currently visible.

David Wasserman, AICP
0 Kudos
JosephChimento
New Contributor

Sorry about that.  Here you go.  We want to use the same rule on the two different objects (distinguished here by the grey and green colors).  I don't want to create the splits with CityEngine rules since we have already modeled their exact dimensions.

Any help would be great!

TouchingGeometry.PNG

0 Kudos
DavidWasserman
Regular Contributor

I guess I am still trying to understand the problem. The entry section must align with the larger shape? Does this mean having the same height?
You could try passing a rule with two parameters
Lot(Height/angle1, Height/angle2)-->

     And then use the parameters as methods of adjustment for each of the shapes internally to the rule (treating them differently based on their mapped properties). So you could use boolean expressions to differentiate between each section (entry/larger mass), and then use case logic to do different treatments/same treatments to them in the rule.

I hope this helps. I am still trying to understand the issue. 

David Wasserman, AICP
0 Kudos
JosephChimento
New Contributor

David -

Thank you for the help and I apologize for not making myself understood.

My goal is to have CityEngine recognize and treat those two separate shapes as the same shape or group in the CGA.  As it stands when I create rules using random textures they each get two different textures as well as both shapes getting a door when only one of them should and the roofs not running in the same direction.

They should have the same texture and roof orientation but different heights and only one should have a door.

Is this possible?

0 Kudos
DavidWasserman
Regular Contributor

This becomes more complex when you are not using a split, however because it creates a door for both shapes it sounds like the rule is getting called twice (once for each shape). Parameters can likely help with this if you can map a different parameter to each shape. I am not sure what attributes these shapes have or whether they an be assigned, but check if you can map and declare the attributes so that in the same rule you can say "case attributeX==1: do this", else: do this (no door). Ideally this would make shapes with attribute value of 1 get one type of operation, and a value of 2 get another type of operation. This is one way to potentially do this without a split. If this does not help, you might want to share the rule and potentially the data you have now so I can try to help. Tell me if this gets you in the right direction.

http://cehelp.esri.com/help/index.jsp?topic=/com.procedural.cityengine.help/html/manual/attrmap/attr...

http://cehelp.esri.com/help/index.jsp?topic=/com.procedural.cityengine.help/html/manual/attrmap/conn...

EDIT:
For example if this data is from a shape file you might be able to use the attributes in the shape-file/database to do different things to different shapes. See in the link below they use the streetwidth in the OSM data to alter the street width on different street shapes (within the same rule). You could map it so each shape is labeled either "Entry", vs. "MainBuilding". I hope this is helpful. 
http://cehelp.esri.com/help/index.jsp?topic=/com.procedural.cityengine.help/html/manual/attrmap/map_...

David Wasserman, AICP
0 Kudos
DavidWasserman
Regular Contributor

Did this help Joseph? I could get someone else to interpret if I am misunderstanding the problem.

David Wasserman, AICP
0 Kudos