I am trying to make a rule for a house where the Lot is extruded to a certain height,
than the remainder is split into a terrace and the rest is further extruded (Lshape).
I managed to do this but the problem is that when I make the Lshape for the upper part,
it also splits the bottom shape; and this really messes me up when I want to 'decorate' the façade.
Is there a way to merge the whole bottom part, or not have it split in the first place?
Hi Alexandru,
Can you post the cga in question? I'm sure this is an easy fix.
Chris
sure, here is the cga:
attr height = 5
attr Ldepth = 10
attr Lwidth = 2
Lor -->
extrude(height) Footprint
Footprint -->
shapeL(Ldepth, Lwidth) {shape : LFootprint | remainder : Terrase}
LFootprint -->
comp(f) {top: Attic}
Attic -->
extrude(height)
(I'm not sure how to embed the code here in conversation...)
I figured out the fact that the 'problem' comes from the "remainder"
I kind of found a way around it where I extrude a very thin intermediate 'story'.
No one will ever know it's there
The problem as coded now, is that when you call the Footprint rule, you are sending it an extruded volume, and then running shapeL on the volume. ShapeL needs a 2D shape with scope so that the shape is in the xz plane. Make your start rule like this to fix it:
Lor -->
extrude(height)
comp(f) {top: alignScopeToAxes(y) Footprint | side: Side.}
... so now you are sending the top to Footprint, and change the top scope to xz since the extrude sets all faces to xy.
Let me know if this works for you.
Chris