On the bottom of the page <https://cehelp.esri.com/help/index.jsp?topic=/com.procedural.cityengine.help/html/manual/is/manually...> you can see how to insert an edge into an existing roof to create a cross-gabled roof. Is it possible to achieve this with City Engine rules that can be used in Python in ArcGIS Pro with "Features from City Engine rules"? Thanks
You can create gable roofs (starting from a 2D footprint of the roof) using the roofGable() operation. You can put a handle on the entire roof shape (volume, not ridge edge) to be able to change the height of roof.
@Handle(shape=RoofMass)
attr roof_height = 3
RoofFootprint -->
roofGable(byHeight, roof_height)
RoofMass
RoofMass -->
Mass.
To control the heights separately for the two parts of an L shaped footprint, you would need to break up the footprint into to parts so that each part could be assigned its own handle.