Workshop 3c

Arch 200c 2013 Fall

Course Arch 200c
Date 2013/10/15
Learning Objectives This workshop introduces a range of techniques for modeling detailed building assemblies.
Agenda
  • Workshop 3c
  • In-Class Exercise
Uses Tool(s)

Workshop 3c: Techniques for Modeling Building Assemblies

This session will be led by Rudy Letsche.

Download resource files here:
Group Models Resource Files
IntermediateModelingTechniques

Modeling Aids

Display Modes

Wireframe
Unshaded view shows only the visible isocurves of the model.
Shaded
Opaque shaded view uses a mesh to shade surfaces using the layer colors.
Rendered
Using the materials set in the layers/properties panels, this mode shows a quick view of estimated rendering materials and effects.
Ghosted
All surfaces have a slight shade to them but are translucent and all wireframes are shown as well.
X-Ray
Shades with isocurves not obscured by objects in front. All wireframe and point objects are displayed, even if they would normally be hidden by surfaces that are in front of them in the viewport.

Construction Plane or C-Plane

The C-Plane can be set to any orientation, and each viewport’s construction plane is independent of those in other viewports. It is important to pay attention to the CPlane's orientation because lines, points, or objects often need to be in the same plane in order for certain commands to work (and generally results in a cleaner model). Commands such as PlanarSrf , which creates a surface from a curve, requires that the curves be in the same plane.

Set CPlane Origin
Because each CPlane has a grid, moving the origin of the CPlane will move the origin of the grid. This is useful if snapping to the grid is turned on as it aids in modeling more precisely.
Set CPlane by X-axis
This aligns the X-axis of the grid to any axis chosen in the model. It is useful for rotating the CPlane.
Set CPlane to Object
Setting the CPlane to a surface ensures that the subsequent objects are in plane with that surface. This may also rotate the CPlane.
Saving the CPlane
The position of the CPlane can be saved for easy access later.

For more information on using the C-plane, refer to our page on the tool .

Blocks

Blocks provide a way of managing repeated objects in a file.

Advantages of using blocks include
  • You can change any number of copies of an object if they are block instances by making changes to the geometry that defines the block.
  • Objects can be updated from external files.
  • Repeated instances of a single definition do not increase the file size much since there is only one actual definition for the block held in the file. All instances reference the data for the one original definition. Rhino does some bookkeeping and display tricks to display these at the other locations and orientations.
How blocks work
  • When you make a block in Rhino from geometry in the current file (Block command), Rhino replaces the geometry you selected with a block instance. It saves the block definition (the geometry you selected to define the block) in the file. You can insert as many instances of this definition as needed with the Insert command. Existing block definitions available for inserting are on a drop down list in the Insert dialog.
  • If you insert another 3dm file as a block instance, a similar thing happens- the block definition is sucked into the current file and saved with it. What you see on screen is an instance of geometry. The difference of course is that the definition refers back to the external file and can be updated as well as any instances that are placed if the external file is changed. This is done via BlockManager.
  • In both cases, there need not be any actual instances placed in the file for the block definition to exist in the file.This is why you sometimes have trouble deleting layers- if a block definition uses the layer you cannot delete it. This can happen when all instances of a block have been deleted. Use Purge to get rid of unused block definitions. To update all block instances of a particular block in the file, you need to redefine the block definition. You can do this by Exploding a block instance, making changes and redefining the block to the same name. You will see a warning dialog to confirm the change to the definition. Or, you can change by simply redefining the block with another set of objects altogether.
Understanding Blocks
  • Make a box and use the Block command to define a block. Call it Box1. Put the insertion point at one corner of the box. When this is done, the box is no longer a box- it looks like a box but if you select it and look at Properties>Details you will see that it is a block instance.
  • Explode the Block. Check Properties again. The box is a box again and has nothing to do with the block called Box1. Delete the box. Now, use Insert. In the drop down list of the Insert dialog locate Box 1. This is the block definition that you created when you made the block. Insert it as a block instance and then copy the instance several times.
  • Redefine the block. Here you will use BlockEdit. Edit the block by double clicking on it. A BlockEdit dialog will appear. You can add and delete objects and reset the insertion point. Also you can directly edit the geometry in the block. Closing the BlockEdit will save the changes and update all intances of the block in the model. Picking the “x” or ESC will cancel the redefine.
  • Make a sphere. Start Block and choose an insertion point. Call the block Box1. The filleted boxes are now all spheres.

External block references

Block definitions that are from external files can be updated by editing and saving the external file then updating the definition in BlockManager. The definition looks at the absolute path, by the way, so you cannot move external files used in block definitions and have the update work, but the current definition does not care if the original source file moved- the current definition is in the current file.

Understanding External Block References
  • Make a box, save the file. Open a new file, and call Insert. Use the File button in the dialog to navigate to the box file. Insert it as a block instance.
  • Make several copies of the block - scale, rotate, move these to taste.
  • In another instance of Rhino, open the box file and fillet the edges. Make a sphere. Save the file.
  • Now, go back to the file with the inserted blocks and call the command BlockManager. You will see a reference to the inserted box file. Select it in the list and click Update.
  • The instances in the file should now all be filleted boxes with a sphere.
  • Note that in all cases, the layers that the block definition uses are maintained in the instances- turning off any layer that some part of a block instance uses will turn off that part of the block in the Rhino window. Turning off the layer on which the instance was inserted will turn off the entire block regardless of the state of the other layers used by the block.
Example
  • Make a box and use the Block command to define a block. Call it Box1. Put the insertion point at one corner of the box. When this is done, the box is no longer a box- it looks like a box but if you select it and look at Properties>Details you will see that it is a block instance.
  • Explode the Block. Check Properties again. The box is a box again and has nothing to do with the block called Box1. Delete the box. Now, use Insert. In the drop down list of the Insert dialog locate Box 1. This is the block definition that you created when you made the block. Insert it as a block instance and then copy the instance several times.
  • Redefine the block: Select one of the instances of Box1, Explode it to return in to being a normal box. Fillet the edges of the box. Now start the Block command- select the filleted box and choose an insertion point. Select Box1 as the name for the new block. All of the instances of Box1 are now filleted boxes. They may move if you picked an insertion point on the new definition that is different from the original.
  • Make a sphere. Start Block and choose an insertion point. Call the block Box1. The filleted boxes are now all spheres.

Cameras

Saved Views
In Rhino, you can save views so that you'll be able to come back to them at any point later on, even if you've shifted your view around in any of the viewports. Right click on each viewport title and you'll see a drop down menu; go to Set View and click on Named Views.... Here you'll be able to save your current view in the currently selected viewport and give it a name.
Orient Camera to Surface
The OrientCameratoSrf command allows you to set up a surface for the camera to lock on. This can be very helpful when setting up exact views, such as axonometrics.

Intermediate Modeling Commands

Array
Array in a line or about a point specifying number and spacing or overall distance.
Cutting Planes
Creates planar surfaces through objects at designated locations.
Planar Surface
Once you have a curve in 2d that is on the same plane, you can simply make it into a surface with this command.
Edge Surface
If you have distinct, non-planar curves, EdgeSrf is great way to make a surface from them. It only works on a max of 4 curves, so if you have more, you can join them until you're left with only 4, but this can sometimes not work out if any of the one curves is too complex.
Loft
You can loft between curves to create complex surfaces. When dealing with many curves, make sure to select them at similar points (start, mid, or end), or the loft may not align itself properly, and you'll have to manually align it within loft options.
Sweep 1 and 2
Sweep deciphers between the cross section curve geometry to maintain that the form stays perpendicular as it follows along the rail geometry. Sweep1 means there is one rail curves, while Sweep2 means there are two rail curves. Sweep 1 is useful for complex forms that change across a single curve, while Sweep 2 should be used when there is another curve that would define the flow from one section curve to another.
Extract Isocurve
Creates curves that duplicate surface isoparametric curves at specified locations on the surface.
Project and ProjectToCplane
Project curves/points toward a construction plane to intersect a surface, or project curves directly onto a C-plane.

Results-Oriented Modeling

Level of Detail

Depending on the scale you'll be exporting your images or drawings to, your level of detail will have to accomodate it. For example, extremely detailed window mullions won't be able to be seen from an urban context view of a model, but you will be able to see them in a 2d detail drawing at 1/4" scale. It's important to remember that the more geometry that is in a CAD file the larger the file becomes and the more demanding it becomes of your computer's resources.

Utilize layers to create the same object at multiple levels of detail. Begin with the least detailed level (a massing model) and add detail with each successive layer. When you're ready to export or render, you'll have much better results.

Anticipating Use (2d Drawings, Renderings, Lasercut, 3d Print)

The level of detail we model is also dependent upon the final output: whether it's a physical model, a digital rendering, a cut plan, or a 3d printed model, you'll need to model for different uses. Be diligent about anticipating how you'll be creating the final output of each model, and consider separating out your completed design into multiple files based upon use and detail.

2d Drawings

As discussed in our earlier workshops on orthographic drawings, the scale of the design's representation will directly influence the amount of detail that is included in the drawing. Take into consideration what would be seen in plan, section, and elevation based on the reproduction size, and test print as you develop your drawings to ensure their legibility. Oftentimes 3d models come out too detailed for proper orthographic drawings, and must be cleaned up extensively in Illustrator or Rhino. Save yourself the trouble and the time and clean up your model before exporting or using the Make2d command - and remember that you can always turn off layers or use Save As to create a new model you can manipulate without interfering with the rest of your completed model.

Renderings

Your tendency may be to feel that you must include as much detail as possible in your 3d model in order for it to appear correct in renderings, but it is most of the time unnecessary. Extra geometry in your file, that must go through raytracing to determine how light reflects off of it and into the camera, will add to your render time and hinder you from producing everything you need for your project. Remember that renderings can be post-processed in Photoshop to have complex materials that would take many hours to render.

In general, consider only the geometry that will be seen in each of your rendered images as what is necessary; door hinges, fasteners, detailed window mullions - none of it will be seen in most architectural scale renderings and will only take precious extra time to render. Furthermore, keep the complexity of materials in your renderings to a minimum and consider how you can use Photoshop to achieve similar results in less time.

Lasercut, 3d Printed, and CNC-Milled Models

Modeling is heavily dependent upon the material that is being used to create the model, the method of construction, the restrictions of the mode of fabrication, and of course the scale of reproduction. The typical minimum size that a laser cutter can cleanly cut out of most materials is 1/8" - any lower than that and you come increasingly close to having a thin, mostly incinerated and unusable piece for your model. 3d printers however have restrictions set by the printing material, whether it's starch, plastic, or another medium. Finally, CNC mills are mostly restricted by the drill bits available and the stock used to be milled. The best practice here is to check on the scale that your producing at, and check with the machine operator if you have any questions about the capabilities of the machine.

Working in Groups

Splitting up the Model

When working in groups, it's important to have roles assigned to each member and parts of the model clearly assigned so that work is done efficiently. You may wish to do this by splitting up the model into layers for each member to work on, or splitting up the model into separate files that you will later aggregate together.

You can also utilize the Worksessions capability of Rhino which allows multiple users to work on a large project by managing al project files. Here's more from the Rhino User Guide: "Each user can edit a different file in the project and at the same time see the related portions of the project. By refreshing as needed, each user can see the current version of the related files in the projects. Only one user can have a file open for editing, but many users can see it. Rhino worksessions let you “attach” external files to your current work environment. Attached geometry cannot be edited (move, scale), but it can be used for input to creation commands (copy, extrude)."

Whichever way you decide to organize your files and work, make sure to communicate with your group members to make sure that all work is being done efficiently and without overlap.

File Maintenance

During the project, it will be important to check in on all members' progress along the way, possibly by compiling them into a single file. Saving iterations every day or so (or every increment of substantial progress) will make sure that you can always go back to old files to grab model parts if something happens to more recent files.

As you compile the final parts of the model together into a single file, take care to clean up all of the layers and ensure that geometry is correct (i.e., not intersecting, clean corners/interfaces, etc.).

Surfaces

Either made from curves or from points, surfaces extend between areas in your model to enclose, connect and stitch together space. Surfaces are necessary for all light-related rendering in Rhino.

You can create surfaces in a variety of ways, both from scratch and from existing geometry (both 2d and 3d). Generally, you'll have 2d geometry that you'll start from, but regardless, you'll be selecting points or lines to make your surfaces.

  • Surface from 3 or 4 corner points: Great pairing with object snap to make a surface between end points you already have in 3d space. They need not be planar.
  • Rectangular Plane from corner-to-corner points: Good for quickly making cutting planes for sectioning your model. Only takes 2 clicks! Make sure you're in the right viewport.
  • ExtrudeCrv: If you already have a curve in place, you can simply lift it in a specific direction to create a surface.
  • ExtrudeCrvAlongCrv: If a specific direction is not what you want, you can use a guide curve to extrude the curve along it. The guide curve can be curved, straight or both.
  • Sweep1 / Sweep2: Sweep deciphers between the cross section curve geometry to maintain that the form stays perpendicular as it follows along the rail geometry. Sweep1 means there is one rail curves, while Sweep2 means there are two rail curves.
  • PlanarSrf: Once you have a curve in 2d that is on the same plane, you can simply make it into a surface with this command.
  • EdgeSrf: If you have distinct, non-planar curves, EdgeSrf is great way to make a surface from them. It only works on a max of 4 curves, so if you have more, you can join them until you're left with only 4, but this can sometimes not work out if any of the one curves is too complex.
  • Loft: You can loft between curves to create complex surfaces. When dealing with many curves, make sure to select them at similar points (start, mid, or end), or the loft may not align itself properly, and you'll have to manually align it within loft options.

Poly-Surfaces

Surfaces that are joined together are referred to as poly-surfaces. They are attached to create enclosed space and reference one piece of complex geometry that is made from smaller surfaces. You can join multiple touching surfaces to create poly-surfaces, but you cannot edit their control points. You can only edit surface control points. However, there are some poly-surface editing commands:

  • MoveEdge: By clicking a specific edge in a polysurface, you can pull and push it to a new position and the poly-surface will rebuild itself to accomodate the change.
  • MoveFace: If we want to extrude a poly-surface along one face further, we need not "re-extrude", but use Move face to pull it further.
  • Scale: Scale works in 2d and 3d and scales up all geometry selected from one point to another point or selected distance.
    • Scale1d: This command allows you to scale in only one direction, leaving other dimensions unchanged.
    • Scale2d: This command allows you to scale in 2d, but ignores the z-axis.
    • ScaleEdge: You can extend edges with this command, similar to Scale1d, but only works with a single edge at a time. Very useful if the edge is simply too short or too long in one direction.
  • Cap: If you're missing a planar face in a poly-surface, you can fill the missing surface in by typing Cap.

If working with "Platonic" solids, such as spheres, cylinders, cones and pyramids, a mathematical algorithm determines the control points and fine-editing can only happen if you rebuild the surface. More on that here:
Rational Surfaces vs. NURBS Surfaces

Surface Editing

After making a surface or poly-surface, you'll probably want to edit it. Below are a list of common commands to do so.

  • ExtrudeSrf: You can extrude surfaces just like curves. When doing this, you create poly-surfaces.
  • ExtrudeSrfAlongCrv: You can also extrude surfaces along curves.
  • OffsetSrf: Offset a surface as you would a curve, but pay attention to the surface normals.
  • Trim: Similar to trimming curves, you can trim surfaces with curves as well. These curves need not be in the same plane as the surfaces being trimmed. As long as they cut through the surface in the viewport you are in, the trim should work.
  • Untrim: This removes trimmed areas back to their original, untrimmed state.
  • Booleans: Booleans are ways to automatically combine and trim intersecting surfaces and poly-surfaces. A workflow explaining them is found here: Using Booleans
    • BooleanUnion
    • Boolean Difference
    • BooleanIntersection
    • Boolean2Objects
  • Split: While you can split a curve as well, splitting a surface is a helpful way to remove a part of a complex model without deleting it. You can split and then hide (Cmd: Hide) either side of the geometry on the split. Great for sectional perspectives!

Relevant Workflows on 2d-3d:
Creating a 3D Rhino model from plans and elevations
Modeling Site Information

Wireframe to Surface

Using the Wireframe to Surface method involves using guide curves as the basis for surfaces that are derived from them. Once the guide curves are in place, various surface making strategies can be employed. The editing and generation of curves and control points in 3d space is crucial here.

Common uses of the Wireframe to Surface method:

  • Building Ribs (Array Crv)
  • Curved Building Envelopes (Extruding Along a Crv)
  • Complex Outlines into Surfaces (EdgeSrf)

Relevant Workflows dealing with the Solid Body method:
Modeling the Double Negative: Methods 2 and 3

Building from plans and sections in Rhino

Related Workflow:
3D Modeling from 2D Drawings in Rhino

In-Class Exercise

From your case study drawings, create a 3-D block of an assembly that repeats. Copy the block around your mass. (actual location is not important for now). Make a change to the block and observe how it propagates. What are the advantages of using blocks this way? What issues do you think arise from this method? Post your Rhino model to the Box folder Exercise_10/15.

Resources

Useful Plug-ins

Rhinoterrain
Create, edit, and analyse digital terrain. Can import elevational data directly from Google Earth to create detailed and accurate topography.
T-Splines
Create and modify freeform and organic designs. Model shapes of any complexity as a single smooth, fluid water-tight surface.
Paneling Tools
Helps generate 2D and 3D cellular patterns and populate them over rectangular grids.
Grasshopper
Graphical algorithm editor that allows you to script out complex tasks.

Project Three Milestone

Concurrent with today's workshop, we will meet in groups to discuss progress on project three , for which we expect to see all building research and massing models complete.