Slope / extrude buildings

2102
8
01-27-2017 08:53 AM
Joao_PedroMarques
New Contributor III

Hi!

What is the best way to get building / rooftops aligned? 

Like this:

My example:

Is there any command to get the rooftop correctly aligned, regarding the slope on the terrain?

Thank you guys.

Best,

JM

8 Replies
LR
by
Occasional Contributor III

extrude(world.up.flatTop, value)

0 Kudos
Joao_PedroMarques
New Contributor III

I'm currenty using this cga for the building correct heights (based on geodatabase atrributes) :

#initalize attribute set to a particular value or 0

attr NPisos = 10
attr avgFloorHeight = 3 


@StartRule
Lot --> extrude(NPisos * avgFloorHeight) 

NPisos is Number of floors.

How can i add that line in my cga? What would be the value?

Thank you

0 Kudos
DevinLavigne
Occasional Contributor III

Just building off the comment from Rasa Ra  it would be something like this:

#initalize attribute set to a particular value or 0

attr NPisos = 10
attr avgFloorHeight = 3

@StartRule 
Lot --> extrude(world.up.flatTop, NPisos * avgFloorHeight) ‍‍‍‍‍‍‍
0 Kudos
Joao_PedroMarques
New Contributor III

Thank you David, but something is missing.

i found the topic in the help faq: Help - 

But still cant figure it how to work

0 Kudos
BenLeslie1
Occasional Contributor III

Are you using CE 2016? - I think flatTop CGA was only introduced at 2016.

When you align shapes to terrain, instead of projecting, use translate to minimum then extrude the building through the terrain.  I don't know if there's another way to replicate flatTop.

0 Kudos
Joao_PedroMarques
New Contributor III

Hi Ben,

Yes i'm using 2016.1 and even when i use the translate to minimum i get the same result.

0 Kudos
ThomasFuchs
Esri Regular Contributor

Joao Pedro Marques‌ This rule should give you a building on a leveled lot at the minimum of sloped shapes:

attr buildingHeight = 15

@StartRule
Lot -->
     alignScopeToAxes(y) s('1,0,'1)
     extrude( buildingHeight )‍‍‍‍‍‍
Joao_PedroMarques
New Contributor III

It worked!1

Tahnk you so much, Thomas!

0 Kudos