Venezuelan Pavilion by MGonzalez


Categories: Tutorials

For the design studio, the project consists of creating a pavilion for my country, Venezuela. After some research, I decided to use a resource in Venezuelan architecture called “muro calado” (which roughly translates to openwork wall, or wall with openings).

muro calado 2muro caladomuro calado 3

The project revolves around creating a skin for the Pavilion, using the BoxMorph command to create it.


First we must create the surface around which the skin of the project would revolve around in Rhino. After create an associated surface in Grasshopper by double clicking anywhere in the workspace and writing surface. You can also look for it under Params > Geometry tab. To create the relationship between the two, right click on the  Surface command and select “set one surface”. This will take you back to Rhino, where you can click on the surface you wish to work on.

13Slide1Insert the IsoTrim command the same way as with the surface command.Slide2Connect the surface to the IsoTrim command, in the S (Surface) input.

Slide3Now insert a Divide Domain, that will allow us to divide and control the amount of divisions on the surface.

Slide4Pressing the Shift button, connect the Surface command to the I (Domain) in the Domain command.

Slide5Then we have the U and V inputs, which refer to the divisions on each direction on the surface. For this we will create sliders. Right click twice on the grasshopper workspace and write any number you need for the divisions.

Slide6Slide7If you double click on the word “slider” you can change many different parameters, such as the domain, range, properties, numeric value, etc. To change the numeric value you can also select the white diamond and slide it. Copy the slider by first selecting it, pressing the Alt button and dragging it.

Slide8Slide9Connect each slider to the U and V inputs respectively, you will see that the name will change accordingly.Slide10

Now simply connect the Domain command to the IsoTrim D (Domain) input.

Slide11Slide12Next add the SurfaceBox command, as to create twisted boxes, or boxes that will adapt to the surface previously added.

Slide13Pressing Shift, Connect the Surface command to the  S (Surface) input in the SurfaceBox command, and the DivideDomain to the D (Domain) input.

Slide14Slide15We are missing the Height input, and for that we will create another slider and connect it.

Slide16For the next step you need an object pattern, which will be the object that defines the skin pattern after the BoxMorph is finished. I designed a box with a particular opening that would work well for my project, but it can be any shape you want. You can model it in Rhino or using the geometry commands in Grasshopper.

Slide17Insert the BRep command, and if you modeled your object pattern from Rhino, associate it the same way as we did with the surface. Right click on the Brep command and click “Set one BRep”, select your object on the Rhino workspace.

Slide18Slide19Slide20We now have the surface which is divided in as many parts as we want, and an associated box to each part. What we want to achieve is insert our object pattern or BRep into the boxes on the surface. For this we insert the BoundingBox command , and connect the Brep output to the C (Content) input. This will create a box around our object pattern.

Slide21Slide22Slide23Finally, insert the BoxMorph command, this is the final step towards achieving the skin we want to create.

Slide24Connect the SurfaceBox B output to the T (Target) input in the BoxMorph command.

Slide25Next, pressing shift connect the BRep output to the G (Geometry) input.

Slide26Lastly connect the B output in the BoundingBox command to the R (Reference) input in the BoxMorph command. Now we can get a glimpse of the skin, and change the number of divisions (U and V counts) and the height to achieve the desired result.

Slide27To be able to better manage it from Rhino, I want them to work as meshes. For this insert the MeshBrep command, which will turn each Brep into a mesh.

Slide28Connect the G output into the B (BRep) in the MeshRep command.

Slide29To make the process a bit faster and smoother add the Settings (Speed) command, and connect it to the S (Settings) input.

Slide30Insert the MJoin command, which will unite all the meshes from the Breps into one mesh. Connect it to the Mesh Brep output.

Slide31Finally, to  merge any creases in the mesh, insert the WeldMesh command and connect it to the MeshJoin output.

Slide32To have the model in Rhino, right click on the WeldMesh command and click “Bake”.

Slide33I tried modelling different object patterns or Breps, and by switching the connection to each I could see all the different possibilities.

Slide34 Slide35 Slide36 Slide37 Slide38 Slide39 Slide40 Slide41 Slide42


I played with the amount of  bounding boxes on the surface until I achieved a scale that seemed appropriate for the project, and then removed some of the meshes as to create some openings.