COMPUTER AIDED ARCHITECTURAL DESIGN

Workshop 2 Notes, Week of September 5, 2016

Graphics Primitives Continued, Symmetry Operations, Modify and Select Tools

1. PRIMITIVES REVIEW

Primitives consist of basic elements such as lines, circles, arcs, boxes, etc.


Primitive tools typically have options associated with them to control the method of primitive creation (ie. a circle by edge, center, or diameter, copy, etc.). Remember to use the appropriate icon under the subtools to control the ways in which these elements are defined. Depending on which method of definition you are using, the command prompt has default options (such as a circle being 1'-0" in diameter), but can be overriden by keying in a specific dimension or control.

 

2. TOOL BOX ORGANIZATION

Within the tool bar, additional sub tools can be accessed by holding down the left mouse button on any tool icon with a triangle in the lower left hand corner. For example, by selecting the line icon, a sub-tool palette below can be pulled out and displayed as its own tool bar as well.

Defining your own toolbar: You can create your own toolbar by going to Tools / Toolbar Layout. You should first go to File / SaveAs to save your own toolbar collection so as to not edit the existing default one. After you've saved the toolbar to your folder, go to Toolbar / New and define the name of your custom toolbar. This will create a new floating window in which you can copy any icon over to this location. To do so, use the CTRL key on your keyboard and drag a duplicate icon you want here.

Go to Tools / Lock Toolbar if you wish to lock the toolbar locations.

3. CURVES

Control Point Curve (the first icon in the Curves subtool palette): This is a line based, simple curve that is very quick, but does not provide a lot of control or exact geometrical specification. You can control the degree of the curve in the command prompt.

Interpolate Curve (the second icon in the Curves subtool palette): The curve is drawn by points which are directly in the path of the curve. This will create a closer fitting curve to specific points. However, this results in a curve  that is typically less smooth than the Control Points curve.

Handle Curves (icon highlighted above). With Handle Curves, the curve is defined by tangential lines. The length pf the tangent lines effects their impact on the curve.

OBSERVATION: When constructing a curve, don’t just trace a drawing. Work to figure out the geometric elements most descriptive of the design. This may help you to more completely understand the geometrical order of the design, and later optimize on finding a more advanced and appropriate technology to use (i.e. spiral tool for the Guggenheim ). That is, test varied type curves to substantively work through the goeometrical composition.

 

NOTE: any of these tools can be used through typing in the command prompt.

 

4. LAYERS

Click the colorful pie wedge icon on the top toolbar to bring up the layers window. You can dock it anywhere on the screen.

Double click on a layer to make any layer active (signified by the check mark), and turning the lightbulb icon on/off will control visibility of that layer. Using layers allows parts of the model to be turned off or on and will be useful for assigning attributes, such as assigning colors of lines or linetypes. You can select multiple layers by using the SHIFT (adjacent layers) and CTRL (individual layers) keys.

To create a new layer, select the new level icon in upper-left corner, and enter into the text box for the new layer any aribitrary name ( e.g., "my parent layer").

 

 

To create a sublayer, select the parent layer, and click on the New Sublayer icon. You can use the up and down icons to adjust the layer hierarchy.

Shortcut: Quickly make a layer active by clicking on the layer name in the status bar located at the bottom of the Rhino  window.

By best practice, each level in Rhino should be given an independent color so as to be able to more easily understand the organization of drawing. To begin, create a new level for each different type element of your drawing (e.g, walls, roof, etc..). Work this way from the outset in order to keep in place an ongoing conceptual framework of the organization of your model. It may be that you will adjust this framework as your model develops or as new ways of parsing your project occur to you.


To choose the color per layer, simply click on the square next to the lock key. For example,  pick color (i.e., red) for the given level (i.e., "Layer 01") as shown in the dialog box below:

Furthermore, you can set the properties for the material assigned to that layer by selecting the circle icon next to the square above. You can also set the linetype and print color as well as print width here.

To select all objects on any layer, right click on the layer name and select "select objects".

 

Other ways of using layers can be found in the subset tool palette for Layers. First select the objects to modify, then use the icons to do the following:

 

Edit Layers : as described previously

Change/Modify Object Layer

Set Current Layer

One Layer On/Off

Duplicate Layer

Copy Objects to Layer

 

5. Using Filters to show the layers that match the following properties.

 

 

6. SELECTING OBJECTS:

Edit select by attributes: Open up the subpalette for the following tool icon:

Most are self explanatory (Select all, none, inverse, etc.), but here are some specific tools that are helpful to know:

Select Duplicate

Select by Color

Select All Block Instances

Select Curves to open a sub palette to see options for selecting Short, Open, Closed curves, or polylines.

Select Chain: Selects curves or surface edges that touch end to end.

Drawing a box to select objects in your model.

NOTE: Use SHIFT to add/remove objects from your selection. You can pre-select before using other tools to alter more than one element at a time.

 

7. OBJECT SNAP TOOLS

Recall from the last workshop how the OSnap toggle control on the status bar at the bottom of the screen is a quick way to use snaps. An alternate and more detailed way to do this is to select the icon in the standard toolbar (towards the top of your screen) to see other methods of object snapping.



Note: Persistent object snaps (right clicking on these snap icons) maintains an object snap through choosing several points without having to reclick the snap tool.

 

6. SYMMETRY TOOLS (Move, Rotate, Mirror, Scale, etc.)

Copy element. Method: type in # of copies in dialog box if more than one copy is desired at the same distance from one another.

Move element tool is vector based and can be translated from a point not within the object being modified. Click on or outside element once it’s selected and move in desired direction, typing in distance in Accudraw if you like. The Move element tool can be used with copies and with repititions by selecting the appropriate options in the dialog box.

Scale tool can be used with numeric input or the three point method. This tool can also be used with repetitions. Open the tool subset to have options for scaling 3D, 2D, 1D (stretching), and non-uniform.

Rotate tool can also be used with copies and repitition. To rotate an object to a specific angle, type the angle number in the dialog box after selecting the object to rotate.

Mirror tool can be used to make an exact mirrored copy of a desired object along a selected axis.

Rectangular Array (open up tool subset to see options for arraying along a curve or surface)

Polar Array

Make sure to pay attention to the command prompt for the specific usage steps of each tool.

 

NOTE: any of these tools can be used through typing in the command prompt.

 

7. SOME MORE CURVES

Helix, Spiral, and Average Curves (last 3 icons):

Average Curves (averages two curves)

8. MODIFY TOOLS

Under the main2 toolbar (left side of screen), pull out the curve tools icon:

          curve Tools  

        Sub-menus are obtained by selecting icons with gray triangle in lower right hand corner, such as the icon highlighted in green :

         curve tools sub menu icon   

          From the sub-menu, select the first icon to extend an element (curved and linear) or the second icon  to connect two elements:

    Extend line extends a line.

Circular Fillet through a defined radius

Construct Chamfer

Offset element by distance

Close Open Curve

Curve Boolean (combine regions)

sub menu for editing points on curves

 The pull-down menu from the icon in upper right-hand corner leads to following sub-menu  to  edit points on curvess:

sub-menu for point edit tools

Insert/Delete control point (from point edit sub-palette)


 

Additional Modification Tools in the Main1 and Main2 toolbars on left hand side of screen:

Join - connects objects together to form a single element (for lines, curves, surfaces, polysurfaces, solids)

Explode - breaks objects down into components

Trim - deletes slected portions of an object where they are intersected with another object

Split - divides NURBS into parts by using elements to cut

 

NOTE: any of these tools can be used through typing in the command prompt.

TIP: Another way of quickly modifying control points on objects is by using the F10 key on the keyboard to display these points, and F11 to turn the points visibility off.

 

9. BLOCKS vs. Group/Ungroup

1) Blocks creates a single unit from selected objects. The object has an assigned name and is stored in the block library. You can update all instances of a block by modifying a block definition.

Defining a block: Type "block" in the command prompt, or open up the toolbar Block. Select elements to be blocked together and define a base point as per the command prompt. Assign a name, description as desired. Use link to link to external files. To refine a block, just use this same process but re-use the same block name.

 

Use the "block manager" to see all the blocks defined in your file. Here you use the counter to see how many of each block object are in your file.

 

Key in "insert" in the command prompt to insert a defined block into your model.

 

2) You can use the Group/Ungroup icons in the Main1 and Main2 toolbars on the left side of your screen to create a single unit from selected objects.

10. Catenary curve.

Create two points at arbitrary locations in the plan view in Rhino.

two points in plan view

Similar to the steps outlined at the of workshop 1, at the command type in "Grasshopper" to load the plugin, and from the Parameters (Prm) tab, place two point symbols in the Canvass window.

two point symbols gh

Right-click on  the first "Pt" symbol and choose "set one point" and using the mouse select the  first point  in Rhino (note that you can either select the point directly with the left mouse button, or drag a "rubber banding" window around it inside Rhino.):

set one point

Repeat this so as to connect the second "Pt" symbol with the second of the two points in Rhino. 

set 2nd pt

Within "Grasshopper" go to the "Curve" tab, and from the "Spline" area select the "catenary" curve symbol and drag it into the "canvass" window:

  select symbol

Connect the output port of the first "Pt" to the input port "A" of the "cat" symbol, and connect the output port of the second "Pt" to the input port "B" of the "cat" symbol:

connect pts to catenary symbol

Return to the "Params" tab and drag a numerical input slider into the canvas area:

drag numerical slider to canvass

Double-click with the left mouse button directly on the text " slider", set its range to be 5  to 150, set its value to 27.5,  and connect its output port to input port "L" of the "cat" symbol.

adjust length

Add three more sliders without modifying their default value ranges.  Next, go to the "Vector" tab, and add a construct vector "symbol" to the canvass.

add vector symbol

Change the values of the three new sliders to 0.0, 0.0, and 1.0, and connect them to the "X", "Y" and "Z" input ports of the Vec symbol. Next, connect the "V" output port of the "Vec" symbol to the "G" input port of the "Cat" symbol. Note that a catenary curve is now generated from the two points draping in the negative "Z" direction:

catenary curve

Change the range of each X component, Y component, and Z component sliders to go from -1 to 1. Change their current values to 0.0, 0.0 , and -1.0 respective and note that the catenary curve hands as if pulled in the negative "Z' axis by gravity.

hanging curve

11.  Catenary curve series.

  In this example, we add draw two simple parallel curves (shown in blue-cyan in the perspective window  below)  in  the plan of the same Rhino model used to draw the single catenary curve. We then go to "Params" tab, and drag a "curve" symbol into the "canvass" window. Note that in this illustration we also use the  mouse to drag a rectangle  around the other symbols in the "canvass" window, and then move  them to the right to make way for the two new "curve" symbols.

add two curves

Connect the two new curves to the "Crv" symbols in the "canvass" window. Go to the "Vector" tab, and add two "divide curve" symbols:

 add divide symbols

Return to the "Params" tab" and add a new numerical input slider with a range in values of 2 to 100, and set its output port to the "N" input ports of both of the "Divide" symbols.

connect numerical slider to divide symbol

Now, connect the output ports of each of the two "crv" symbols to the corresponding input ports "C" of the "Divide" symbols, and series of points is create along each of the two new curves added to the Rhino model.

curves divided

Connect the output ports "P" of the two "Divide" symbols to the corresponding input ports "A" and "B" of the "Cat" symbol. This connection now supplants the connections from the original two points in step 10 above, and a series of Catenary curves is now created. Note too that in this example the "length" slider is reduced from 27.5 to 10.0.

catenary curve series

12. Catenary curves to lofted surface.

Note that two methods of generating the surface are shown below. The first method uses a "loft" surface. Note that the curves must be relatively simple for this technique to work.There's a risk that the surface may fold in on itself. If that occurs with the "loft" surface, then try using simpler curves or lessening the "Length" input parameter to the "Cat" symbol. The second method, described further below, uses a "bi-rail" surface which is more likely to result in a coherent surface that isn't folding in on itself. Both methods are shown below. The second method results in the Grasshopper file catenarySurface.gh based upon the Rhino file makeCatenarySurfaces.3dm (right-click and do a "save as" on these links to download the files). A third option, not shown, involves creating a procedure in the Visual Basic" component to Grasshopper that parses the series of catenary curves into a series of adjacent pairs and then generates a series of surfaces rather than a single whole surface.

12.1 Loft surface: continuing with the the last example of step 11, go to the "Surface" tab inside of Grasshopper, and add a "loft surface" symbol to the right of the "Cat" symbol. Connect the output port "C" of the "Cat" symbols to the corresponding input port  "C" of the "Loft" symbol. This connection generates a suspended  catenary surface from the two curves.



catenary surface

Adjust the value of the "Z component" slider to 1 to have the catenary curve move in the positive "Z" direction.

adjust service direction

Adjust 
the value of the "Y component" slider to -0.12  to cause  the catenary curve to  lean slighty in the negative  "Y" direction.

adjust y component of vector
 

Explore variations in the other numerical sliders, including the "count" slider  to see how the surface is modified. Similary, move or rotate slightly either of the two curves in Rhino and see how the changes in the surface are automatically generated. For example, move the curves in the ground plane further apart, rotate one slighlty, change the number of catenary curves to 5, and the length to 10.

adjust variables and curve postions

To import the surface more completely inside Rhino, right-clock on the "Loft" symbol  highlighted in green below and from the popup dialog box that follows (not shown below) select the item "Bake".

bake surfaces to Rhino

12.2 Method 2: BiRail by 2 Rails

In Grasshopper, to the "Surface" tab, and pulling down the "Freeform" sub-tab, left-click on the "Sweep2" icon and drag it into the canvas window:

birail surface

 

The Birail surface component, shown in green below, has inputs labelled "R1" and "R2" for the two "rail" curves, and "S" for the catenary curve sections:

First, within the "canvas" window, right-click on the "loft" component, and select the "disconnect input" option to remove the catenary curves as input.

disconnect loft surface

Next, connect the two "crv" components to "R1 and "R2" and also connect the output port "C" of the "Cat" component to the input port "S" of the "Swp2" component.

biRail surface connection

Finally, right-mouse click on the "Swep2" component, and left-mouse click on "Bake" to fully import the surface into Rhino. Once imported, the "baked" surface can be moved and treated like any other polygon surface.

baked surface alongside original grasshopper surface

12.3 Method 3: Network surface.

Depending upon the character of the initial curves on the ground, the second method may sometimes also fail. A network surface is yet a third surface type within Grasshopper that tends to be more robust in these additional sitautions. The surface is compiled from two sets of curves moving in relatively perpendicular directions along the surface, the U and the V directions. Similar to the other two methods, the first step is to go to the "Surface" tab within Grasshopper, and pulling down the "Freeform" sub-tab and left-click on the "Network Surface" icon and drag it into the canvas window:

select suface type

 

The "Network Surface" component, shown in green below, has inputs labelled "U" and "V" for the two sets of curves. Connect the one of the original "crv" output ports to the "U" input port of the Network Surface. Next, holding down the "shift" key, connect the other one of the "crv" output ports to the "U" input port of the Network Surface. By using the "shift" key, it's possible to add on the second "crv" to the "U" input port without disconnecting the first one. Next, drag the output port "C" of the catenary curves to the input port "V" of the "Network Surface" component.

network surf in place

The network surface will now be generated within the Rhino drawing window. Finally, right-mouse click on the "S" output port of the "Network Surface" component, and left-mouse click on "Bake" to fully import the surface into Rhino. Similar to the previous two examples, once imported, the "baked" surface can be moved and treated like any other polygon surface.

surface generated in Rhino

This grasshopper file catenarySurface2.gh contains surface components corresponding to the three different methods outlined here. The surface components for the first two surface types have been disconnected from the curve input data, and the component for the third surface type has been connected to this data.