Flat roof parapet walls

561
2
Jump to solution
10-17-2023 05:13 AM
NikolaiMina
New Contributor

Hi everyone. I'm new to CGA rules and trying to make a simple parapet wall around a roof deck but I can't do it properly. Here's what I got so far:

Lot-->
extrude (4)
comp(f) {
side: Facade | top: Roof1}
 
Roof1--> 
split(x) { ~0.5 : Block | ~0.5 : Deck}
 
 
Block-->
extrude(3)
label("Block")
 
Deck-->
offset(-0.2)
comp(f) {border: Parapet}
 
Parapet-->
extrude(1)ParapetWall
 
ParapetWall -->
case touches(intra, "Block") : 
                               NIL
                 else : Wall.
 
NikolaiMina_0-1697544724770.png

Thanks in advance!

 

0 Kudos
1 Solution

Accepted Solutions
plfontes
Occasional Contributor

Hi @NikolaiMina,

I am assuming you are referring to the parapet side being cut in diagonal on the side it touches the 'Block'

This happens because of the way trim planes are set in CE.

When you set your occlusion operation, it just don't execute the 'ParapetWall' rule. The offset operation that generated the inital shape for the parapet border isn't affected.

One alternative way to avoid  the parapet gap is to create a 'border' on three side only using the split operation.

 

version "2023.0"

Lot-->
	extrude (4)
	comp(f) {side: Facade. | top: Roof1}
 
Roof1--> 
	split(x) { ~0.5 : Block | ~0.5 : Deck}

Block-->
	extrude(3)
 
Deck-->
	split(x){ ~1: split(y){0.2: Parapet | ~1: DeckFloor. | 0.2: Parapet} | 0.2: Parapet }
 
Parapet-->
	extrude(1)

 

 

Hope this is what you were referring to.

 

View solution in original post

2 Replies
plfontes
Occasional Contributor

Hi @NikolaiMina,

I am assuming you are referring to the parapet side being cut in diagonal on the side it touches the 'Block'

This happens because of the way trim planes are set in CE.

When you set your occlusion operation, it just don't execute the 'ParapetWall' rule. The offset operation that generated the inital shape for the parapet border isn't affected.

One alternative way to avoid  the parapet gap is to create a 'border' on three side only using the split operation.

 

version "2023.0"

Lot-->
	extrude (4)
	comp(f) {side: Facade. | top: Roof1}
 
Roof1--> 
	split(x) { ~0.5 : Block | ~0.5 : Deck}

Block-->
	extrude(3)
 
Deck-->
	split(x){ ~1: split(y){0.2: Parapet | ~1: DeckFloor. | 0.2: Parapet} | 0.2: Parapet }
 
Parapet-->
	extrude(1)

 

 

Hope this is what you were referring to.

 

NikolaiMina
New Contributor

Yes, I was referring to the diagonal gap (sorry I should have been more specific). Thanks for the explanation!

0 Kudos