Select to view content in your preferred language

workflow for developing bay windows?

992
6
04-24-2012 12:10 PM
MaryKodama
Emerging Contributor
So I've written the cga rules up to the point were I have the basic facade the way I want it.  I did a split (x) on the floors to lay out the three sides of the bay window set up, but I don't know how to angle each side of the split so that it can actually look like a bay window.  Any advise would be appreciated. Thanks.
0 Kudos
6 Replies
MatthiasBuehler1
Deactivated User
hey Mary ..

can you post a good reference picture of a bay window how you imagine it ?

please let me know ..

matt
0 Kudos
MaryKodama
Emerging Contributor
Hi Matt,
Here are images of the typical bldg types I am trying to model.
0 Kudos
MatthiasBuehler1
Deactivated User
Hi, here's some code to get you started .. It shows how I would begin, when trying different things.
It's not the final thing you'd want to use, just shows you some strategies, ok ?

A screenshot :
[ATTACH=CONFIG]13838[/ATTACH]


attr Number_Floors   = 3
attr Floor_Height   = 2.8
attr Tile_Width   = 3.5
attr Relative_Bay_Height  = 0.5
attr Bay_Angle    = 60
attr Bay_Border_Thickness = 0.1
attr Bay_Border_Depth  = 0.12
attr Bay_Window_LowerHeight     = 0.8


Lot -->
 extrude(world.y, Number_Floors * Floor_Height )
 comp(f) {side : Facade | top : Roof. }


Facade -->
 split(y) {~Floor_Height : Floor }*

Floor -->
 split(x) {~Tile_Width : Tile }*

Tile -->
 30%:
  roofGable(Bay_Angle,0,0,false,0) # Reorient Roof vertically !
  split(y) { ' Relative_Bay_Height : alignScopeToAxes(y) BayWindowVolume(scope.sy) | ~1 : NIL }
 else :
  Facade.

BayWindowVolume(yDim) -->
 comp(f) {back : NIL | side : BayWindowSide | all : Rest. }

BayWindowSide -->
 alignScopeToAxes(y)
 split(y) {Bay_Border_Thickness : BayBorder | ~1 : BayWindow | Bay_Border_Thickness : BayBorder}

BayBorder -->
 s('1.10,'1,Bay_Border_Depth)
 center(x)
 i("builtin:cube")
 trim()


BayWindow -->
 split(y){Bay_Window_LowerHeight : Wall. | ~1 : BayWindowFrame}
 
BayWindowFrame -->
 offset(-.1)
 comp(f){border : Frame | inside : Glass.}

Frame -->
 extrude(.05)
0 Kudos
MaryKodama
Emerging Contributor
Hey Matt! Thanks so much for posting the code.  I'm gonna play around with it and then post what I come up with.  As an aside, I was really happy to realize I actually understood about 90% of your script at the start!
0 Kudos
MatthiasBuehler1
Deactivated User
hey !

great to hear !


let me know the specific technical questions first, we then can tackle the task of 'generalizing' the rules to create more variety in the actual building volumes. that's usually the more complex task when learning CE.

😮
0 Kudos
CaglarAydin
New Contributor

Is it possible to create a single roof that can cover the initial mass and the bay windows on the top floor?

0 Kudos