CAD Modeling for Cg Viz Applications

by William Alexander (wda@asapnet.net) - WDA Design
 

Arched Stairway TUTORIAL Part#1
There has to be a Better Way

There are many ways to model circular stairs. The Max platform has this capability as a creation object and it is a good tool, used many times to create the base model for a CAD application. However to get reasonable Architectural detail close up it does become problematic. 90%+ of the time both the ADT (& similar) and Max platforms serve the purpose very well, even for Visuals.

This series of tutorials explores the other 10% of the time when close up or very accurate modeling is required in the workflow. All or part can be used in many situations to get an effective level of accuracy. We will be using many techniques common and not so commonly utilized to CAD Model for CG Viz Applications

Related CAD & 3D Problems
Bending 3D Extrusions

Well in ADT and AutoCAD extrusions (solids) do not bend but are modeled bent. Using a 3d polyline as the extrusion path causes the profile to rotate when conforming to a helix form. With ADT the Railing Design Content using a custom profile works well, except alignment of the vertices is offset at profile transistions. This can be a problem in 3D applications looking like blocks poorly glued together. This can be resolved by welding vertices in the Max platform. As you can see below, custom profile added as hand railing.

 

Major issues begin to arise with flaring the bottom of the stairway, creating complex stair parts (volutes, up easing goosenecks...), non standard treads with nosing, under tread moldings, the list goes on. ADT's AEC Design Content is a powerful spatial visualization tool, not always the best modeling tool.

At the root of all of this is geometry and maintaining the integrity of the parametric numeric data. Simply put stuff just does not bend and twist at the same time in a three-axis situation perfectly. In the real world, laminating strips on / in a jig, then shaping the material creates a complex helix form.

Fortunately we do not need to work that hard, however there does not exist a script or plugin to solve all of these problems. Therefore, we will build a stairway using a number of commands and techniques. For the sake of accuracy, realism and understandable workflow we will follow the traditional steps of staircase construction.

STAIR LAYOUT
Determining Key Measurements

We will be creating a staircase with a grand feeling to fit an existing round wall 13'-5.5" radius, ending at a balustrade landing. Total rise of the stairway is 9'-0". For simplicity, each common stair tread will span a 6-degree arc segment. At an inside radius of about 9'-0", the walking path distance on the tread will be about 12.5". The entire staircase will span an 84-degree arc segment. Using 15 risers gives us 7.2" of rise per step. The rise and run of the stairs should have a grand and majestic feel when walked and almost certainly requiring a gooseneck, in the railing, to meet the upper newel post ;-}.
With the basic carriage, form outlined, the specifics of general stair component centers, and placement is next. The treads will be 1" thick (5/4" nom.) with a 1 1/2" overhang past the riser and stringer, allowing room for a decorative molding underneath. The handrail will have a 3 3/4" width, and the newel posts will have a 4 1/2" square base. Everything all worked out the handrails are to be centered 4" in from their respected edges of the staircase.

Reference jpgs, plan with notes and basic elevation. Click on image for a full size printable view in a new browser window

 

These are just a brief modeling specific reference note sheets to use if you like. Spending a few moments, up front to plan some details, will make modeling much easier.

CAD LAYOUT
Next we will set up some layout reference lines in AutoCAD.

• Start by creating a new layer for the construction lines and set to current layer.
• Top view, at the point 0”,0”,0” , create a reference center cross. Modeling in the center of space is important for many 3D programs, the farther away from the center, the model's accuracy tends to diminish.
• Draw a polyline from the center mark + 13'-5.5" at o degrees. This line is then parallel with the front view and the reference-starting ray for the angular measurements.
• Next, start a polyline from 13'-5.5",0",0" (end pt last line), right click and select arc, right click again and select center from the menu. The center of the arc will be our reference cross, select that center and project the polyline arc past 90 degrees (CCW) and click to end that segment and enter or esc to end the command.
• With the round wall determined next draw two circles, radius 9'-1" and 13'-4", centered on the reference cross. These are the radiuses for the stair carriage.





• Draw a line to represent the first riser, 4'-3" in length, between the inner and outer carriage circles.
• Select the new line and start the array command. Set the array to "polar", center to 0,0, Method to "Total number of items & angle to fill. The total number is 15, and the angle to fill is 84 degrees. (total number of risers and total stair arc segment). Preview and if it looks right accept.
• Double check the angles formed by the new lines, they need to be 6.0000 degrees. The overall angle from first rise to last rise should be 84 degrees. The model uses this layout for its construction. If it is not accurate now you will find out later and most likely need to re-model or trouble shoot on the fly.
That said, that is the basic footprint of the "common carriage" of the stairway, completed.

Layout for the flare and starter step

The flare consists of an arc that is tangent at the fifth riser to the common inside stairway radius. The starting step has an arc centered for the volute newel and sized for the general radius of itself.
• Draw a line from the reference center to the fifth riser line.
• Draw a 3' radius circle at the reference center.
• With the new circle selected, right click and choose move. The OSNAP settings need to have "intersection" checked and turned on. Select the intersection point of the line to the fifth riser and the new circle. Move the circle and crosshair to where the newest line meets the inside stair arc and fifth riser. The two arcs now have a common point with the same intersecting line being tangent to both arcs, thus a smooth point of transition.



• Draw a circle, 1'0" radius, tangent to the first polyline created and 1'-6" from the inside carriage radius. The placement & size of the circle will be the round of the starting step.

Now we have construction lines, that outline the basic footprint, of the staircase.

Extruding & Modifying Solids to model from.
As with the actual construction of a staircase jigs and forms are the easiest way to make them. Extruding of the basic footprint for a jig that the actual model is made from.

• Outline the first common tread with a closed polyline using arc segments over the radius, ends overlaying the circles of the staircase footprint.
• Using shift select grab the mid points of the tread polyline-arc segment and drag them to intersect with the staircase circles.


• Create a new layer named "stair_solid" set to current, Switch views to SW isometric.
• Using the extrude Command-
Draw>Solids>Extrude or from the Solids toolbar>extrude button or type extrude in the command line.
Select the tread polyline and in the command line type 7.2", hit enter.



• Using the ARRAY command select, the new solid and the reference cross as the center. The rest will be identical to the array done to the tread/riser polylines.
• Turn off the construction line layer
• Select all but the first tread block>copy with base point>Choose a point on the bottom>Paste>insert to the point directly above the base point.



• Continue to stack the tread blocks to form the shape of the stair.
You can also extrude faces, copy paste & array, what ever gets the blocks stacked up. Check the total rise and count of risers to make sure everything matches the specific key measurements.
• Use the union command, select all of the blocks and hit enter.





Flare and Starting step form.

• Turn on the construction lines layer and make it the current drawing layer.
• Start by using a closed polyline trace over the tangent circle, snapping to intersection's end points, to make the footprint for the flare only. Adjust the arc segment if needed
• Create a new layer named "flare solid" and set it to current.
• Extrude the new polyline to 7.2"
• Using the copy with base point method, stack the flare solid up 4 times.
• Use the slice tool, select the second stacked block. Define the slicing plane by clicking on 3 of the points of the second risers face, select the side we want to retain.
• Repeat this process for the other two flare blocks.
• Extrude the starter step circle to 7.2"
• Slice the bottom block on the zy-axis or using points on the extruded circle's center yx-plane.
• Make one solid by using the “Union” command, selecting all of the flare blocks & extruded circle for the operation. Do not union with the common stair.





These two solids now make up the "cage" / framework / jig for creation and assembly of the staircase components. We have already in a geometry sense "proven" the measurements, making what can be a lengthy trigonometric calculation into a matter of drawing some lines for reference.

Creating The Stringers
3d Face modeling of a Helix Shape

Once again looking at face modeling or using solids, however there is a problem. Any time a material is on an incline & bent (points are rotated around an axis) it is difficult to CG model with a specific profile. Take two pieces of paper, fold them in half (very stiff edge), and align them, folded edge to folded edge, in the same plane & on the same incline. Now rotate the pieces at the common center point of the folded edges, keeping them parallel to the ground. The end points no longer touch and worse they are no longer in the same plane. The ADT Design Content Railing's offset vertices are an example of this relationship.
It is possible to extrude per tread a rectangle or better curved closed polyline to make the finish stringers for the staircase. Slice the top and bottom to the pitch of the common stair rise & run, slice (miter) rotate and stack them up. However, because of the corner vertices not being in the same plane the top surfaces are not continuous / smooth. Using the slice command and three-point slice plane, is one solution. A lot of work and twice as many faces as needed. For a smooth look these solids need to be narrow slices of the 2 stringers @ 3 pcs per rise, 3 unseen faces per rise a quick 90 additional faces outright. If imported into a 3D program with a low ACIS tolerance this could be as high as 3000 faces.
With that in mind face modeling becomes very efficient. Smoothing in Max, for example, is fairly easy and does not require the shape to have a dense mesh for good results.

Face Modeling the Stringers
We need to start by adding some additional lines to create snap points ( vertices) for the face mesh.
+ SW view port, top UCSII view, new layer-stringer-layout, draw 4 polylines or lines, from the inside edges of the first "common step" at the corners, 1" towards the center of the stair. Use the OSNAP function for the proper angle of the line aligning with the 6-degree increment edges. 1" is the thickness of the finish stringer on this side.

• Next, select the new line of the first riser on the ground plane.
• Select copy with base point, select the top corner endpoint of the common stair solid, directly above the line.
• Paste the copied selection at the bottom corner of the common stair solid that is coplanar with the copied line.



• Create a new layer; Flared-Stringer, set to current
• Using the 3dface command, create polygon and tri based faces. Remember the previous tutorial about normal orientation. When selecting the vertex (endpoint) selections of the individual faces, use CCW for the normal facing (visible) and CW for the normal backfacing (not visible), directions





• Turn Off the layer: stringer-Layout
• Create a block from the newly created faces. Choose the base point as shown in the diagram above, Convert selection to block and name the block "Inside_common_Strg"
• Use the array command to array the "Inside_common_Strg" block by the same method used previously.
• Select the first four blocks and erase.
• The rest of the blocks use the move command and just the base point to place them in the correct z axis alignment



Using basic geometry and trigonometric relationships, with no calculations, we now have a "mesh" object that accurately models the helix form of the inside finish stringer. Only unfortunate part is we still need to check our work. An error within the accuracy setting whether system measure (inches), precision, selection and the OSNAP can cause the "appearance" of coplanar vertices. Only to find out at the top of the stringer the blocks is off noticeably caused by an unnoticed offset of vertices by .05" multiplied 15 times=.75". For those of that use the beloved Imperial system of measurement it is advisable to use the CAD generic or engineering units of measure. 16ths (.0625) are not as accurate as .0001 increments of any measure.

The Flared Stringer
Each step segment changes in both dimension and rotation there for each segment is different and the repetition of a block does not work. The length of the edges of the faces are longer then the common stringer, causing the faceting of the smoothed object to be different and more noticeable. Each step segment needs modeling individually and with a "mid" set of vertices to aid smoothing.
We are using the jig (stair solid) to define the outside limits. This means the jig needs to be off to fully see the newly modeled stringer in a shading mode. The explanation; you don't want to have to snap to the flare arc center, extend a series of congruent arcs past a snap point that lie with the plane of the riser.

• Set the current layer to "flare- construction"
• Make sure the "midpoint" function is selected in the OSNAP settings.
• In a similar fashion to the previous stringer, extend construction lines into the stair jig solid. This time add a set aligned with the midpoints.
• You may need a reference mark / points to fit the stringer mesh to the starter stair. Now is a good time, if your modeling needs require it, although to avoid tunnel carpal syndrome it's not covered in this tutorial.

 

• Select the new flare stringer-construction lines. Copy with base point and choose the midpoint of the 5th riser.
• Paste the copied selection at the mid point first lower edge of the common stringer mesh/block, again paste the selection at the end point directly below the last past point. Now we have the snap points for the flare stair faces.

 

• Create the faces for each step segment, as done previously, on a new layer "flare-stringer". The flared portion of the finish stringer is finished, subdivided mesh for better smoothing, and aligned with the common inside stringer mesh.



The Outside Stringer
We will create the outside stringer. Methodology will be similar to the creation of the inside stringer. We need to add to the faces to the stair segments, similar to the flared stringer, because a single face projects too far onto the tread. This stringer needs to stop base molding top-bottom and project vertically above the tread nosing. We will use geometry and CAD functions to avoid lengthy calculations similar to a stair builder or master finish carpenter.

• Set additional angles for the "Polar Settings"
>3.oo for the middle face lines & vertices
>6.00 for the common riser angle
>-1.5 (358.50) for the reference lines to create the base molding stop face.
• At the bottom of the first riser, on layer-stringer-layout, draw a polyline at 0 degrees 1.5 inches long & one directly above it-top of riser. This is the width of this stringer.
• Select the bottom polyline and array using the reference cross-center -6 degrees 1 time. This array line is a reference for the common stair pitch for creation of the molding stop cut.
• Draw 2 3d polylines from the riser top and bottom edge points.
• Draw 2 additional polylines from the riser endpoints to the mid points of the previous polys. The mid points of the new lines define the edge of the molding stop face cut.
• Switch the UCSII to "front".
• Starting from the mid point of the first tread draw a polyline 90 degrees (vertically) 3.2" long. 3.2"= 1/2 of total rise or the rise at middle of a tread. This polyline is the reference edge for the faces of the stringer segment.

 

• Optional- Rotate the new polylines about a world z-axis defined by the vertical edge of the first riser, using the "reference" function of the rotate command. Aligning the mid point (bottom line) to intersect with the outside stair circle / arc.
• Finish filling in the poly construction lines, using the polar functions to set the correct angles of the lines and lengths to 1.5".
• Switch the UCSII to front
• Select the top lines and copy with base point

 

• Right click and select paste. Hover over the base-piont, setting up the paste's reference point, and move 90 degrees polar and 2.5" in distance, hit enter. We now have our reference frame for the faces of the outside stringer.

 

• Switch UCSII to "top" & create a new layer; outside-stringer, set it to current
• Create the new faces for the stringer step segment, then draw a new block using the lower left top face endpoint as the base point.
• Finish creating faces for the extended stringer and base molding stop cut.
• Select the new block and array typical of the previous step segment arrays. Move the blocks into the proper vertical z-axis alignment using the blocks base points.



The finished stringer meshes rendered in viz/max



Parting Thoughts
Complex Stair Modeling

The stairway used AutoCAD for modeling. Any CAD program that has the ability to create faces in 3D can accomplish this, including Viz/Max & others using this methodology. For example the max platform you would; use the array tool, create faces using the construction lines, if needed create groups instead of blocks, extrude faces for the stair solid and use the 3d snap tool. AutoCAD just has more precision built in up front due to its nature. Viz/max has the capabilities but just not as obvious due to its free form nature and general use.

The tutorial is detailed and apparently a very complex series of steps. It is not that complex in practice, compared to some other options for modeling any part of the staircase, this method has greater control, accuracy, and efficiency. With familiarity of the commands and confidence in the geometry, this part of modeling the stair can take 20 minutes maybe even less.
The intent of the tutorial is to emphasize and reinforce the basic concepts. The handrail modeling is challenging enough to explain with out having to deal with explanations of the array, specific angles, geometric relationships and so on. The general approach of modeling the handrail uses the same methodology but has a few new factors to consider.

Modeling of the handrails using Cad Modeling for 3dviz Applications is next.

Cheers
WDA