Elk

Elk is a plugin for Grasshopper running in Rhino. Elk works with .osm files exported from openstreetmap.org to extract 3D modeling data from public map data.

To begin using Elk:

1. Download Elk from food4rhino (you will need an account).

2. Follow Elk’s installation instructions.

3. Restart Rhino and Grasshopper. Verify that Elk has installed properly.

4. Use openstreetmap.org to identify and Export your site as an .osm file. Save the .osm file in a known location.

5. In Grasshopper, from the Params > Primitive panel, insert the File Path component, and from the Extra > Elk2 panel, insert the Location and OSM Data components. Right-click on the OSM Data component to select the Create 3D Buildings option. Connect the components as shown below:

elk-1

6. In Rhino, zoom extents to see the results:

elk-2

Advertisement

Rhino to Revit Workflow: Twisted Tower

This workflow demonstrates the possibility of importing mass models from Rhino into Revit for use as Mass Elements. In turn, Revit Masses can be used as the basis for constructing building elements such as floors and walls.

1. In Rhino, create a simple box with plan dimensions 30’ x 30’ and height 100’.

tower_01

2. Type TWIST [enter]. Follow the prompts to twist the tower.

3. Select the twisted tower by clicking on it. Choose File > Export Selected and export the tower as an ACIS SAT file (.sat extension).

tower_02.jpg

4. In Revit, start a new Project based on the Architectural template, or open an existing Project.

5. Start a new Family based on the Conceptual Mass template.

tower_03.jpg

6. On the Insert tab, Import panel, choose Import CAD and navigate to your .sat file. (Make sure that Files of type is set to show .sat files.) Click Open.

tower_04.jpg

7. On the Insert tab, Family Editor panel, choose Load into Project.

8. Click to place the mass.

9. View the mass in the default 3D view to verify its configuration and size.

tower_05.jpg

10. Switch to an Elevation view. Add Levels corresponding to building floors.

tower_06.jpg

11. Click the mass to select it. On the Modify|Mass tab, Model panel, click Mass Floors.

tower_08.jpg

12. Select the Levels for which you wish to create Mass Floors. (Note: depending on the geometry of your tower, the upper and lower Levels may not reliably create Mass Floors.)

tower_09

13. Proceed to use the tools under Massing & Site > Model by Face to create walls and floors.

 

Rhino: Learning Resources

This page includes links to recommended resources for learning Rhino.

BOOKS:

Inside Rhinoceros 5, by Ron K.C. Cheng. This book is general in scope, not specifically focused on architectural modelmaking. It provides clear and detailed step-by-step tutorials. However, on the whole, it is probably better-suited to product designers than architects.

 

VIDEO TUTORIALS:

Although a few of the tutorials are a couple of years old, Nick Senske’s tutorials on Rhino are some of the best available for architecture students. Find a selection here: http://tinyurl.com/j8bfb29 (full link: https://www.youtube.com/watch?v=yPgMccdh8QU&list=PL4GL4fFi1e9fVRVZlB1CJB5VKwmS5e-V6)

Take a look at Nick’s tutorial on modeling in Rhino based on previously-drawn elevations and floor plans: https://www.youtube.com/watch?v=-eP39RbPYrI

 

The online tutorials provided by McNeel (the company that makes Rhino) are generally good, although they are not specific to architectural modeling.

https://www.rhino3d.com/tutorials

 

Kyle Houchens has provided an hour-long tutorial focused on architectural modeling, specifically intended for students already familiar with SketchUp. An hour is a long time, but this tutorial is useful if you want to understand Rhino from this basis. The tutorial is from 2014 but the version of Rhino (v5) is still current as of late 2016.

https://vimeo.com/82431575?simple_building

 

Digital Toolbox has some very good tutorials on Rhino and Grasshopper, including one tutorial specifically focused on architectural modelmaking. Here are the Rhino links:

http://digitaltoolbox.info/rhinoceros-basic/

http://digitaltoolbox.info/rhinoceros-intermediate/

http://digitaltoolbox.info/rhinoceros-advanced/

http://digitaltoolbox.info/farnsworth-house/

3DS Max Design: Importing and Linking Models.

Linking from Revit. Linked Revit models are connected to their source file and will reflect updates made to that source. To import an existing Revit model into a 3DS scene:

  1. Choose Application menu > Import > Link Revit. (The Application menu is in the far upper-left corner of the screen.)
  2. Navigate to the Revit file, select it, and click Open.
  3. In the Manage Links dialog box, click on the Presets tab. Select the appropriate Preset (e. g., combine by material or category).
  4. Click on the Attach tab.
  5. To set the initial view (optional), click Revit View.
  6. Click Attach this file.
  7. In the Daylight System Creation dialog box, click Yes if you wish to adjust the parameters for the Daylight System. Otherwise, click No. (You can return to this option later by choosing Create > Lights > Daylight System.)
  8. Close the Manage Links dialog box. (You can return to the Manage Links dialog box at any time by choosing Application Menu > References > Manage Links.)

Linking from AutoCAD.

  1. Choose Application menu > Import > Link AutoCAD. (The Application menu is in the far upper-left corner of the screen.)
  2. Navigate to the AutoCAD file, select it, and click Open.
  3. In the Manage Links dialog box, click on the Presets tab. Select the appropriate Preset (e. g., DWG File Saved from AutoCAD).
  4. Click on the Attach tab.
  5. If you wish to import only selected layers, click the Select Layers to include button and make selections.
  6. Click Attach this file.
  7. Close the Manage Links dialog box. (You can return to the Manage Links dialog box at any time by choosing Application Menu > References > Manage Links.)

Importing a Generic .dwg file.

Use this procedure when importing a .dwg file created by any application other than AutoCAD. (You can also use this procedure with AutoCAD-created .dwg files if you wish to exclude the possibility of linking your model.)

  1. Choose Application menu > Import > Import. (The Application menu is in the far upper-left corner of the screen.)
  2. Navigate to the .dwg file, select it, and click Open.
  3. In the AutoCAD DWG/DXF Import Options dialog box, make any necessary changes to import options, or allow them to remain unchanged (default settings).
  4. Click OK.

Importing from Rhino or Sketchup. 3DS Max cannot direclty import models in Rhino (.3dm) or Sketchup (.skp) formats. However, if you save your model as a .dwg file, it can be imported using the procedure described above.

Step-by-Step: Brick Wall on Curved Path

brick_00

1. In Rhino: Use the BOX command to construct a “brick” with one corner at 0,0,0. Use the CURVE command to construct an arbitrary curved path. [The Grasshopper definition will stack the “brick” along the curved path.]
2. Insert the Brep and Crv parameters. Right-click on each in turn to “Set one Brep” and “Set one Curve.”

brick_01
3. Insert the Deconstruct Box component. Connect the Brep output to the Deconstruct Box input. [Deconstruct Box allows you to measure the X, Y, and Z dimensions of a Box.]

brick_02
4. Insert two instances of the Deconstruct Domain component. Connect the X output of Deconstruct Box to the input on the first Deconstruct Domain component; connect the Z output of Deconstruct Box to the input on the second Deconstruct Domain component. [Deconstruct Domain extracts the beginning and end points of a domain, in this case the beginning and end points of the X and Z dimensions of the “brick”.]

brick_03
5. Insert two instances of the Subtraction component. Connect the S output of the first Deconstruct Domain component to the B input of the first Subtraction component; connect the E output of the first Deconstruct Domain component to the A input of the first Subtraction component. Repeat this process with the second Deconstruct Domain and Subtraction components. [The results of the two Subtraction components represent the length and height of the “brick,” respectively.]

6. Insert the Length component and connect it to the Curve component. [This simply measures the length of the Rhino curved path. We will reference it later.]

brick_04
7. Insert a Number Slider. Edit its values as follows: Name: Height. Rounding: Integer Numbers. Numeric domain: Minimum: 1. Maximum: 10.

brick_05
8. On another area on the Canvas, insert the following components: Multiplication, Series, Vector XYZ, and Move. [We will use these components as part of a process to copy the curved path in the vertical direction.]

brick_06
9. Connect the components: Connect the R output of Multiplication to the N input of Series; connect the S output of Series to the Z input of Vector XYZ; connect the V output of Vector XYZ to the T input of Move.

brick_07
10. Right-click on the S output label of Series and select Graft. [The Graft option changes the data structure of the parameter. Instead of creating a single list of items, it effectively associates each item in a list with a unique source. In our definition, choosing the Graft option will cause Grasshopper to “remember” that the instructions apply to individual bricks.]

brick_08
11. Insert a Panel component. Edit its value to equal 2, and connect it to the B input of Multiplication.

brick_09
12. Copy-paste this entire group of components (i. e., Panel, Multiplication, Series, Vector XYZ, and Move) and set the new components below the original ones.

brick_10
13. Connect the components: Refer back to the earlier components we placed. Connect the R output of the second Subtraction component to the A input of each of the Multiplication components (two connections).

brick_11
14. Connect the components: Again referring back to the earlier components we placed, connect the output of the Number Slider to the C input of each of the Series components (two connections).

brick_12
15. Insert a Division component. Connect the L output of the Length component (i. e., the Length component which measures the length of the Rhino curve) to the A input of Division. Connect the R output of the first Subtraction component to the B input of Division.

brick_13
16. On another area on the Canvas, insert the following components: Panel (with a value of 2); Division; Multiplication; Series; Shift List; and Cull Nth. [We will use these components as part of a process to copy the “brick” along the curved path. The Shift List and Cull Nth components are critical to shifting the bricks by half their length on every alternating copy of the curved path.]

brick_14
17. Connect the components: Panel output to the B input on the Division and Multiplication components; R output of Division to N input on Series; R output of Multiplication to C input of Series; S output of Series to L input of Shift List; L output of Shift List to L input of Cull Nth.

brick_15
18. Refer back to components placed earlier. Connect the R output of Division (i. e., the Division component connected to the Length component) to the A input of the Multiplication component. Connect the R output of Subtraction (i. e., the first Subtraction component, connected to the Deconstruct Domain component) to the A input of the Division component.

brick_16
19. Insert a Series component. Connect the R output of Subtraction (i. e., the Subtraction component referred to in the preceding step) to the N input of Series. Connect the R output of Division (i. e., the same Division component referred to in the preceding step) to the C input of Series.

brick_17
20. On another area of the Canvas, insert the following components: Boolean Toggle, Evaluate Length, and Orient Direction. [The Orient Direction component is responsible for making multiple copies of the original “brick” at the correctly placed and oriented locations along the curved paths.]

brick_18
21. Connect the components: Output of Boolean Toggle to the N input of Evaluate Length; P output of Evaluate Length to the pB input of Orient Direction; T output of Evaluate Length to the dB input of Orient Direction.

brick_19
22. Copy-paste this entire group of components (i. e., Boolean Toggle, Evaluate Length, and Orient Direction) and set the new components below the original ones.

brick_20
23. Insert the following components: Panel (value of 1) and Vector XYZ. Connect the output of Panel to the X input of Vector XYZ, and connect the V output of Vector XYZ to the dA input on each of the Orient Direction components.

brick_21
24. Refer back to components placed earlier. Connect the Brep (Rhino “brick”) output to the G input on each of the Orient Direction components.

brick_22
25. Connect the S output of Series (i. e., the Series component placed in step 19) to the L input of the first Evaluate Length component).

brick_23
26. Connect the G output of Move (i. e., the Move component placed in step 8) to the C input of the first Evaluate Length component).

27. Connect the L output of Cull Nth (i. e., the Cull Nth component placed in step 16) to the L input of the second Evaluate Length component).

28. Connect the G output of Move (i. e., the Move component placed in step 12) to the C input of the second Evaluate Length component).

brick_24a
29. Connect the R output of Subtraction (i. e., the Subtraction component placed in step 5) to the S input of Series (i. e., the Series component placed in step 12).

brick_25a
30. Finally, connect the output on the Crv parameter (i. e., the Rhino “path”) to the G input of each of the Move parameters (i. e., the Move parameters from steps 8 and 12).

brick_26a
31. The definition is complete.

Creating an Emitter Material in Maxwell

Note: Enable Maxwell Fire to see a preview of your render.

If modeling in Rhino:
1. Type LAYER to bring up the Layers palette.
2. In the Layers palette, create a new layer for your emitter material.
3. Click on the Material button next to the layer name.
4. In the Layer Material dialog box, click on the check box next to “Assign material by plug-in: Maxwell for Rhino.”
5. Click Create.
6. Click Edit.
7. In the Material Editor:
a. Give your material a name (e. g., “EMITTER 1”).
b. In the lower left-hand corner of the Material Editor, right-click on BDSF; choose Remove BDSF.
c. In the lower left-hand corner of the Material Editor, right-click on Layer; choose Add Emitter.
d. Under Luminance, you can choose one of several methods for illuminating your Emitter. Depending on the size of the object you are applying the material to, you may need to increase the Watts (or Power). From Maxwell: “It is important to remember that the amount of light emitted from an emitter is spread out across its surface. This means that the same emitter material will look dimmer on a large emitting surface and brighter on a smaller emitting surface.”