Extrude Lshape splits the base shape

2426
3
10-29-2014 03:36 AM
AlexandruVasile
New Contributor II

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?Lshape split.jpg

0 Kudos
3 Replies
by Anonymous User
Not applicable

Hi Alexandru,

Can you post the cga in question? I'm sure this is an easy fix.

Chris

0 Kudos
AlexandruVasile
New Contributor II

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

0 Kudos
by Anonymous User
Not applicable

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

0 Kudos