2523
4
12-29-2012 02:44 AM
by
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}

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
Tags (3)
1 Solution

Accepted Solutions
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 ?
4 Replies
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 ?
by
New Contributor II
Hello Mathias !

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

Greetings Flol
New Contributor III

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

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: