CGA Facade parts

2565
4
Jump to solution
12-29-2012 02:44 AM
floLang
New Contributor II
Hello everybody !

i recently tried my first cga steps - and encountered a strange effect.
After splitting a Building into several Floors (as in the Tutorial) i tried to map a facade to a Floor.

....

comp(f) { top: Top | front : nord | back : sued | left : ost | right :  west } split(y){ HoeheEG: Floor(split.index)fassadenstreifen.Facade | Hoehe1und2Stock: Floor(split.index) | Hoehe1und2Stock: Floor(split.index)  | {~Hoehe1und2Stock: Floor(split.index)}*   | Hoehe1und2Stock: Floor(999)   | 0.5 : s('1,'1,0.3) LedgeAsset}    


fassadenstreifen.Facade is an imported cga Facade, created using the facade wizard.
regardless what kind of facade or texture i try to attach to my Ground Floor, the result is always something like this:

[ATTACH=CONFIG]20309[/ATTACH]

as you can see, the facade is shimmering through the building - did i do something wrong, mapping the facade directly to the Floor ?

thank you for all answers !

Greetings

Flol
1 Solution

Accepted Solutions
MatthiasBuehler1
Frequent Contributor
Hi Flol !


The issue is that you duplicate the shapes in your code.

you write :

Rule -->     comp(f) { .. }     split(y) { .. }



if you look at :

A -->     B.     C.


A results in 2 copies : B. and C.

What you want is to actually split the RESULT of the comp(f), so e.g. the north facade. So for this, just make a new Rule and put the split in the new rule.

Ok ?

View solution in original post

0 Kudos
4 Replies
MatthiasBuehler1
Frequent Contributor
Hi Flol !


The issue is that you duplicate the shapes in your code.

you write :

Rule -->     comp(f) { .. }     split(y) { .. }



if you look at :

A -->     B.     C.


A results in 2 copies : B. and C.

What you want is to actually split the RESULT of the comp(f), so e.g. the north facade. So for this, just make a new Rule and put the split in the new rule.

Ok ?
0 Kudos
floLang
New Contributor II
Hello Mathias !

Thank you very much for your help!
good to know, that duplicates of facades mix like this !

Greetings Flol
0 Kudos
BilalMustafa
New Contributor III

could you please explain it a little bit more, im confused trying to do the same but with no luck !

0 Kudos
CherylLau
Esri Regular Contributor

Matt's answer is saying that if you want to apply a split to the result of a comp, you can't put the split right after the comp, but instead, you need to put the split inside the comp.  For example, let's say you start with a building that is a cube.  If you want to use comp to get a facade (one side of the cube) and then apply a split to the facade, you need to perform the split inside the curly braces of the comp.

comp(f) { side: split(y) { ~floor_height: Floor }* }

You could also put the split in a Facade rule.  This is the same as above:

comp(f) { side: Facade }
	
Facade -->
   split(y) { ~floor_height: Floor }*