How to create a hangar-type roof for buildings in CityEngine?
It is not built-in to primitive roof types, so do I have to start with rotating and splitting a cylinder?
Here is some code that does what you suggested (rotate and split a cylinder). It assumes the building footprint is rectangular.
@Order(1)
@Range(min=0, max=20)
attr eave_height = 10
@Order(2)
@Range(min=0, max=20)
attr roof_height = 5
@Order(3)
@Range(min=3, max=32, stepsize=1)
attr num_hangar_divisions = 8
Lot -->
extrude(eave_height) Mass.
comp(f) { top: HangarRoof }
HangarRoof -->
alignScopeToGeometry(zUp, any, longest)
rotateScope(0, 0, 90)
primitiveCylinder(2*num_hangar_divisions)
s('1, '1, 2*roof_height)
t(0, 0, '-0.5)
split(z) { ~1: NIL | ~1: HangarRoof. }