Assign different rules to each façade element, created with polygon shape creation

785
5
Jump to solution
05-12-2014 10:47 AM
KennethLindhardt
Occasional Contributor
Ok, so I saw something similar to my issue in this thread http://forums.arcgis.com/threads/51670-Comp-select-for-different-areas-on-same-face?highlight=comp+s....
My big issue is, that I need to be able to assign different rules on each splited face, and since I thought it would be easier, I created the building with the polygon shape creation, and it is facing southwest. So I would not need any extrusion on my building. How do I separate each face, so I able to assign a rulefile to each one? 

[ATTACH=CONFIG]33759[/ATTACH]
0 Kudos
1 Solution

Accepted Solutions
MatthiasBuehler1
Frequent Contributor
Ah,

that's easy.


Use comp(f), and then comp.index to assign rules.


Building -->     comp(f) {         0: FacadeRule         | 1 : RoofRule         ..     }


Note that the face indices may be scrabled up.

Note also that to create facades correctly, you may need to align the scope.

e.g. with
alignScopeToGeometry(zUp, any, world.lowest)


matt

View solution in original post

0 Kudos
5 Replies
KennethLindhardt
Occasional Contributor
I should mention that the small long peace of building in the front is a brick wall, the one just next to it is a glass facade, so a color on all south west facades would not work for me, since I got 3 different facades facing the same direction!
0 Kudos
MatthiasBuehler1
Frequent Contributor
Ah,

that's easy.


Use comp(f), and then comp.index to assign rules.


Building -->     comp(f) {         0: FacadeRule         | 1 : RoofRule         ..     }


Note that the face indices may be scrabled up.

Note also that to create facades correctly, you may need to align the scope.

e.g. with
alignScopeToGeometry(zUp, any, world.lowest)


matt
0 Kudos
KennethLindhardt
Occasional Contributor
I�??m sure it�??s, but I think I miss some basic understanding in the comp function 😉
The comp(f) : will get each face into a new shape.
If I use the comp.index, then I able to actually separate the faces from each other with some kind of id-? I can then use a case function like case comp.index ==  10 : color (�??#FFFFFF�?�), or should I replace the comp.index with �??id�?�

If I click a face in my model I can see a Face (index 10) is that the number that describes the face id? At this point I tried with a lot of colors and a lot of id, and the only thing I get color on is the roof
0 Kudos
KennethLindhardt
Occasional Contributor
Sh** yeah I figured it out, wasn't that difficult, so the case needs to be myIndex !
0 Kudos
MatthiasBuehler1
Frequent Contributor
here I say it for you : shit ! 😉


glad it works now ..

m.
0 Kudos