Often in architectural design we need to build site context model to get a rough sense of the surrounding buildings. There are multiple ways of sculpting the prisms, but the main principle is to prepare walls that extrudes from the base curve and wrap it around to top and bottom slab. To make them nicely, the “walls” have to take into considerations the thickness of the material one is using.
For example, at an exterior 90degrees corner, while some master model makers will try to knife the wall edges into a type of Miter Joint with extreme care and the expense of time. Many will choose make one wall longer while another one shorter and glued with one wall covering another wall. This method proofs to give fairly acceptable result with much less time spent. In my experience of building such models, the challenge is to make calculations and decide which wall have to be shortened and which one have to be lengthened, this applies to both laser cut walls and manually-cut walls. Apart from the fact that this usually a long and boring process, the next step of taking the measurements and redrawing the rectangles (for laser cutting) with the right height and width are prone to human error. The chance of making an mistake is particular high is when facing blocks that have non-90degrees corners.
Here I have created a small tool that reads polyline curves and automatically determine the required shortening and lengthening on all walls, taking care of the material thickness. It reads the height value from the Name of the polyline curve (which I found easiest to use). It can then redraw the laser cutting files for the walls with correct tags that allow assembly much easier. I also wrote a 3D extruded preview of all the models, so that one can check visually before going to the cutting, which also helps during the assembly to figure out which wall overlaps with which wall and how to properly glue them.
- To run the script, you need to have “planar” “closed” polylines (it wont accept curve segments) with the height value entered in the “Name Property“. (look at my example file)
- If you have changed the height of the building but the script did not update, press F5 in grasshopper to Recompute.
- Each block is named in numerical order, the walls are tagged with alphabetical suffix to specify the sequence.
- Top slab has no tag to avoid showing on the model, match them with the bottom slab if you get confused.
- Note that the walls are individual piece but not a folding sheet. The whole idea is not for models that the walls warps (continuous piece of paper) around top and bottom plates.
- I have added an etched line for positioning the roof with a slight sink. Which will make the blocking look nicer with a shadow gap.