Select to view content in your preferred language

# Balcony design for corner wall

687
1
06-18-2022 08:51 PM
New Contributor II

Hi

I am thinking balcony modeling

But i dont know how can i do this style

Hiw Can i start this style

Sorry my poor english

Tags (1)
Esri Regular Contributor

This post discusses corner balconies that go inwards into the building:
https://community.esri.com/t5/arcgis-cityengine-questions/balcony-design-for-the-corner-of-the-build...

Corner balconies that extrude outwards from the building mass are slightly different.  I tried to find a solution based on the inner corner balcony discussion from the post above, but the solution I found is a little different.  I made the side railings and the outer railings separately.  This code works for rectangular and non-rectangular quads, but it does not work for non-quads because it assumes that the footprint has 4 vertices.

``````attr Height = 21
attr Floor_Height = 3
attr Balcony_Width = 10
attr Balcony_Depth = 3
attr Balcony_Slab_Thickness = 0.3
attr Balcony_Railing_Height = 1
attr Balcony_Railing_Depth = 0.1

const m = 2		// multiply by some factor to make sure balcony is long enough for acute angled corners

Lot -->
extrude(Height)
comp(f) { side: Facade(comp.index) | all: X. }

split(y) { Floor_Height: Floor(facadeInd, split.index) }*

split(x) { Balcony_Width-Balcony_Depth: BalconyTile(true) | ~1: X. }
else:
split(x) { ~1: X. | Balcony_Width-Balcony_Depth: BalconyTile(false) }

BalconyTile(isFirst) -->
Wall.
OuterBalconyRailings(isFirst)
SideBalconyRailings(isFirst)
s(scope.sx+m*Balcony_Depth, Balcony_Slab_Thickness, Balcony_Depth)
t(-m*Balcony_Depth*float(isFirst), 0, 0)
primitiveCube
BalconySlab.

OuterBalconyRailings(isFirst) -->
s(scope.sx+m*Balcony_Depth, Balcony_Railing_Height, Balcony_Railing_Depth)
t(-m*Balcony_Depth*float(isFirst), Balcony_Slab_Thickness, Balcony_Depth-Balcony_Railing_Depth)
primitiveCube

SideBalconyRailings(isFirst) -->
s('1, Balcony_Railing_Height, 0)
t(0, Balcony_Slab_Thickness, 0)
split(x) { ~float(isFirst): NIL | Balcony_Railing_Depth: extrude(Balcony_Depth-Balcony_Railing_Depth) X. }``````