Appendix C – Step-by-step instructions for Rhinoceros®
for digitizing and model creation techniques

Abbreviations used herein:

TIP – tip of the digitizer arm
RFP – right foot pedal
LFP – left foot pedal

If asked to 'at the command line enter...', ensure that Rhinoceros® is ready for a new command (not already processing a command) and type the exact phrase given, then press the ENTER or RETURN key on the keyboard. 'Select' means click the appropriate box with the mouse so that a tick appears in the box, 'deselect' means to click the box so there is no tick in it.

'Menu:' refers to the pull-down menus at the top of the Rhinoceros® screen. Select the menu title given, and then select the (sub-)entry/-ies given after the arrow(s) -->.

For most commands, icons are available in Rhinoceros®. In the standard workplace setup, only a few are visible. These are referred to in the text. To make others available, refer to the in-program help.

Commands are not case sensitive in Rhinoceros®, thus 'points' and 'Points' are equivalent.

Note for users of earlier versions of Rhinoceros than 3.0 SR4: As opposed to Rhinoceros 3.0® SR4 and later versions, earlier versions do not automatically repeat the 'digsketch' command. It is necessary, after digitizing a curve or point(s), to press the left foot pedal (LFP) once to repeat the command. Also, any version before Service Release 4 (SR4) will not support polygon mesh creation via the 'meshfrompoints' command.

Note for users of more recent versions of Rhinoceros (4.0 and updates): Rhinoceros 4.0 has a slightly different user interface, therefore some commands are available from a different 'Menu' than in earlier versions. The basic functions have not changed, and all techniques described herein can still be used.

Digitizing preparations

To begin digitizing it is recommended to open a new file via the 'New' icon. This displays a selection of template files with varying units. For this study, the 'centimeters.3dm' template was used for all objects. This sets the scale of the coordinate axes as centimeters. Digitizing distance for curves should be selected accordingly. Open the file properties page (Menu: File --> Properties), select 'Units' and set the tolerances to values suitable for the task.

Example values:

Absolute tolerance: 0.01 units (0.001 for small bones)
Relative tolerance: 0.1 percent
Angle tolerance: 0.1 degree

Tolerances should be at least an order of magnitude higher than the smallest value used in any operation on the data. Joining surfaces, e.g., requires distances smaller than 0.01 mm as the surfaces themselves are a theoretical 0.01 mm thick. Thus, absolute tolerance should be set to 0.001 mm. Angle tolerance should be equally low, as joining lines between surfaces otherwise will show as kinks.

It is possible to create a new custom template file that includes appropriate tolerance settings. See the Rhinoceros® help file for details on how to save a file as a template.

Digitizing coordinates, (re-)calibration with and without moving the digitizer or specimen

Initial setup and initial calibration: Before digitizing, mark three coordinates on the specimen.

1. Place the digitizer so it can reach all three coordinates.
2. Connect the digitizer to Rhinoceros® (Menu: Tools --> 3-D Digitizer --> Connect, or enter 'digcalibrate' in the command line), select Digitizer type (Rhinoceros® suggests the Faro Digitizer; if using a different one, press 'f' and RETURN, then the first letter for your type of digitizer, confirm selections with RETURN). Rhinoceros® 4.0 offers a selection menu instead.
3. When asked to 'Enter origin with digitizer' in the command line, place the tip of the digitizer (TIP) on the mark for the origin (O1) on the specimen and press the right foot pedal (RFP).
4. When asked to 'Enter X-Axis with digitizer' in the command line, place TIP on the mark for the x-axis (X1) on the specimen and press RFP.
5. When asked to 'Enter Y-Axis with digitizer' in the command line, place TIP on the mark for the y-axis (Y1) on the specimen and press RFP.
6. When asked to 'Enter origin in Rhinoceros® (...)', press RETURN

Now the digitizer is ready for digitizing curves or points. The origin of the displayed coordinate system in Rhinoceros® coincides with O1 on the bone; the X-axis in Rhinoceros® runs in the direction of X1. Note that the coordinate system is automatically transferred into a Cartesian system. Therefore, the Y-axis in Rhinoceros® runs only roughly in the direction of Y1.

Recalibration: To calibrate the digitizer back to the Cset1 (O1,X1,Y1) proceed as follows:

1. In the command line, enter 'digcalibrate' or choose 'Menu: Tools --> 3-D Digitizer --> Calibrate'
2. Proceed as above, starting with step 3.

The digitizer is now recalibrated to the original coordinate set Cset1.

Using several sets of coordinates: When using several sets of coordinates, it is important to mark each set on the bone as well as in Rhinoceros® to avoid mixing them up. We found it easiest not to add text or change object names, but connect each set with a polyline and change the color of each X point. X1 was left unchanged (black), X2 changed to white, X3 to red etc., following the default order of colors in Rhinoceros® layers. If this simple convention is kept, recalibration takes less time than with any other method, while mix-ups can be avoided.

In order to use several sets, mark all sets on the bone, calibrate the digitizer to Cset1 as above, and then proceed as follows:

1. In the command line, enter 'point'.
2. Place the TIP on O2, press and release RFP. Watch the screen to note where the point appears. If necessary, shift the view using the 'pan' tool.
3. Press [space] or RFP to repeat the 'point' command. Repeat 2. to digitize X2 and Y2, note where they are on the screen. Press ESC after digitizing Y2.
4. At the command line enter 'Polyline'.
5. On the screen, with the mouse select X2, O2, and Y2 in this order, press ENTER. To facilitate this, make sure that 'OSnap' is on and set to 'Points'. See Rhinoceros® help for the use of 'OSnap'. A polyline will appear with O2 at the meeting point of the two sections.
6. On the screen, select X2 (make sure the other points are deselected), press F3 and change the color of X2.
7. Repeat 2. to 6. until all sets have been digitized.

To calibrate the digitizer to a different set (e.g., set 2), make sure the second set of coordinates has been digitized as points as described above. Place the digitizer so it can reach all three point of the set to calibrate to and proceed as follows:

1. At the command line enter 'digcalibrate'
2. When asked to 'Enter origin with digitizer' in the command line, place TIP on the mark for the origin (O2) of this set on the specimen and press the right foot pedal (RFP).
3. When asked to 'Enter X-Axis with digitizer' in the command line, place TIP on the mark for the x-axis (X2) on the specimen and press RFP.
4. When asked to 'Enter Y-Axis with digitizer' in the command line, place TIP on the mark for the y-axis (Y2) on the specimen and press RFP.
5. When asked to 'Enter origin in Rhinoceros® (...)', use the mouse to select O2 in Rhinoceros®. To facilitate this, check that 'Osnap (points)' is on.
6. When asked to 'Enter X-Axis in Rhinoceros® (...)', use the mouse to select X2 in Rhinoceros®.
7. When asked to 'Enter Y-axis in Rhinoceros® (...)', use the mouse to select Y2 in Rhinoceros®.

The digitizer is now calibrated to Cset2.

Digitizing and editing curves, points and pointclouds

Neighboring curves must be of similar length and should be roughly parallel. Large differences in length or distance produce artifacts. Also, curves may not cross each other.

Digitizing points: The digitizer must be properly connected and calibrated before data can be gathered.

1. At the command line enter 'points' or click the appropriate icon in the 3d digitizing toolbar.
2. Place TIP at the desired location for the point and press RFP
3. To digitize more than one point, repeat 2.
4. To end data collection, press 'Esc'.

Digitizing point clouds: A point cloud is a group of points that can be digitized in one continuous motion and is automatically grouped in Rhinoceros®. Ungrouping works best via the 'explode' command.

The digitizer must be properly connected and calibrated before data can be gathered.

1. At the command line enter 'pointcloud' or click the appropriate icon in the 3d digitizing toolbar. It is also possible to enter 'digsketch' and select the appropriate options.
2. Choose the desired sampling density by pressing 'd', [ENTER], and entering the number followed by [ENTER].
3. Place TIP at the desired location for the point and press and keep pressed RFP.
4. Move TIP across area for which points are to be digitized.
5. Release RFP to end point data collection.
6. To digitize more than one point cloud, repeat 2. to 4.
7. To end data collection, press 'Esc'.

Digitizing open curves: The digitizer must be properly connected and calibrated before data can be gathered.

1. At the command line enter 'digsketch' or select 'Menu: Tool --> 3D Digitizer --> Sketch Curve'.
2. In the command line deselect 'Points' by pressing 'p' followed by ENTER and similarly select 'Curves' and deselect 'Closed Curves'. Choose the distance at which points are to be placed on the curves by Rhinoceros®. Note that this distance depends on the scale of the template file you chose! Usually, 0.1 to 0.7 proved to be acceptable values, for very large objects with hardly any sudden curvature changes even a value of 1 is acceptable (using the centimeter template; change value accordingly if using other templates). Enter the value by changing the 'Point Spacing' value.
3. Place TIP at the desired starting location for the curve and press and keep pressed RFP.
4. Move TIP along the intended path of the curve
5. When TIP has reached the end location release RFP.
6. To digitize more than one closed curve repeat 3. to 5.
7. To end data collection, press 'Esc'.

Digitizing closed curves: The digitizer must be properly connected and calibrated before data can be gathered.

1. At the command line enter 'digsketch' or select 'Menu: Tool --> 3D Digitizer --> Sketch Curve'.
2. In the command line deselect 'Points' by pressing 'p' followed by ENTER and similarly select 'Curves' and select 'Closed Curves'. Choose the distance at which points are to be placed on the curves by Rhinoceros®. Note that this distance depends on the scale of the template file you chose! Usually, 0.1 to 0.7 proved to be acceptable values, for very large objects with hardly any sudden curvature changes even a value of 1 is acceptable (using the centimeter template; change value accordingly if using other templates). Enter the value by changing the 'Point Spacing' value.
3. Place TIP at the desired starting location for the curve (a point on the seam line) and press and keep pressed RFP.
4. Move TIP along the intended path of the curve
5. When TIP has almost reached the starting location again (1 to 2 mm gap) release RFP.
6. To digitize more than one closed curve repeat 3. to 5.
7. To end data collection, press 'Esc'.

Note: A small gap should be left between the start and end of a curve to guarantee a smooth connection at the seam. Failure to do so can lead to overlap, which produces artifacts on the lofted surface. Also, the start and end points should not show shift along the seam line, as this also leads to artifacts.

Editing kinks and artifacts out of curves: This option should be used sparingly and can produce massive artifacts!

1. Rotate a viewport so that the viewplane is as parallel to the main orientation of the curve as possible. This means that the curve ideally will lie flat on the viewplane.
2. At the command prompt enter 'CPlanetoView' to make the construction plane parallel with your view.
3. Select the curve to edit
4. Turn edit points on by clicking the icon at the lower left in the toolbar
5. Carefully select points and drag them to adjust the curve. Watch the changes in several viewports with different directions to avoid introducing deformations in the third axis.

Joining open curves into closed curves: Make sure the curves ends are close to each other. To 'match' several curves sets, always select the first and second curve in the same order to achieve equally directed closed curves with seam points aligned in one row.

1. At the command line enter 'match'
2. Select the first curve near the end that is supposed to be connected to the other curve. If only one of the curves is to be adjusted by Rhinoceros®, this curve must be the one that stays unchanged.
3. Select the second curve near the end that is supposed to be matched to the first curve. If only one of the curves is to be adjusted by Rhinoceros®, this second curve must be the one that gets changed.
4. In the match dialog box, select the appropriate options. We recommend selecting 'curvature', 'average curve' and deselect 'join'. 'average curve' adjusts both curves instead of only curve 2, leading to the distortion being more spread out but lesser in degree, reducing artifacts.
5. Repeat this process until all contact points have been matched.
6. At the command line, enter 'join', then select the curves near the contact point.

Note: In Rhinoceros 2.0®, it is possible to use the 'join' option in the 'match' options dialog. This does not work for Rhinoceros 3.0® as the curve can only be joined in one place with this option, while the second contact point will remain open.

Rebuilding curves: Especially curves closed using the 'match' command have a very uneven distribution of their edit points. This tends to produce artifacts on lofts using these curves. In order to equally distribute the points on a curve the 'rebuild' command can be used.

1. At the command line enter 'rebuild'
2. Select the curve you want to rebuild. If several curves are to be rebuilt to the same standards (same number of points), these curves can be selected at the same time.
3. Select the appropriate options. Usually, the same number of points that the curve already possesses should be chosen. However, reductions of 50% may be tolerable.
4. To rebuild more than one curve, repeat 1. to 3.

Curves of similar length can be selected and rebuilt in groups.

Lofting surfaces (open and closed)

A flat, 'open' surface resembles a sheet of paper, a closed surface open at the ends forms a tube and a closed surface with closed ends results in a 3D body. It may be necessary to lower tolerances in the file properties to shorten computing time for lofting. Usually, this will not significantly reduce the accuracy of the lofted surface.

Selecting curves automatically and manually for a loft (for all lofting options): Rhinoceros 3.0® may sorts curves into the proper order when a group of curves is selected at the same time (automatic selection). This can be done by dragging a box over the curves with the mouse. Dragging from left to right will select only those curves that are completely within the dragged box, dragging from right to left will select all curves that are entirely or partially in the box. Rhinoceros 3.0® will also attempt to sort curve directions and adjust the seam line. Remember to de-select all other elements such as coordinates.

If the loft contains both curves and points (start and end of closed lofts), the automatic sorting will usually fail, especially in Rhinoceros 3.0® SR4 and Rhinoceros 4.0®. If automatic sorting does not work (i.e., the resulting surface curves back onto itself or shows other defects), curves must be selected manually. Here, the potential for mistakes is quite large, and care must be given to the following points.

- All curves must be clicked with the mouse at the same end. Otherwise, version of Rhinoceros® earlier than 3.0 may attempt to form a surface that connects two opposite ends.
- All curves must have the same direction (must have been digitized or later edited to have the same direction). Rhinoceros 2.0® does not automatically sort curve directions, while later versions usually sorts them correctly.
- Curves must be selected one by one from one end of the bone to the other, otherwise the surface will fold back onto itself.
- For closed lofts, the end points must be selected first and last, with the curves in between in proper order.

Lofting a flat surface: An open, flat loft requires as a minimum two curves.

1. At the command line enter 'Loft'
2. Select the appropriate curves
3. Press ENTER
4. Select the lofting options desired in the options box (see below)
5. Press ENTER
6. Click 'Shade all viewports' and check the surface for accuracy.

Lofting a closed surface open at one or both ends: A closed surface requires closed curves. If an end is supposed to be closed, a point is required at that end. This method lets Rhinoceros® automatically adjust the seam points and directions of the curves; if the curves were digitized as advised above this should be free of problems.

1. At the command line enter 'Loft'
2. Select the appropriate curves and the endpoint (if appropriate)
3. Press ENTER
4. Check that the selected curves all have the same direction (arrow at seam line); switch directions of odd curves
5. Select the lofting options desired in the options box (see below)
6. Press ENTER
7. Click 'Shade all viewports' and check the surface for accuracy.

Lofting a body (a closed surface closed at both ends): A closed surface requires closed curves. A point is required at each end. This method lets Rhinoceros® automatically adjust the seam points and directions of the curves; if the curves were digitized as advised above this should be free of problems.

1. At the command line enter 'Loft'
2. Select the appropriate curves and both endpoints, starting with one endpoints, then selecting the curves in correct order, and selecting the second endpoint last.
3. Press ENTER
4. Check that the selected curves all have the same direction (arrow at seam line); switch directions of odd curves
5. Select the lofting options desired in the options box (see below)
6. Press ENTER
7. Click 'Shade all viewports' and check the surface for accuracy.
8. Select 'Analyze --> Mass Properties --> Volume' and compare the given volume with a rough estimate to ensure that the loft actually resulted in the correct 3D body. Sometimes, the body will be open at some point and the surface folded back unto itself – the 3D body is hollowed out; this will result in a minuscule volume!

Using the various 'Loft' options: A variety of options is available in the loft dialog box:

For 'Style', there are:

Normal - Uses chord-length parameterization in the loft direction. This is usually the best option to choose.
Loose - results in a smother surface, but allows the surface to move away from the curves. This option should be used as rarely as possible, as it will significantly change the external appearance of smaller bones.
Tight - Uses square root of chord-length parameterization in the loft direction which results in the surface sticking closely to the curves. This option tends to result in sharp changes of direction near the articular ends of bones.

For 'Simplify', there are:

Do not simplify - preferred option.
Rebuild with control points - Rebuilds the shape curves before lofting. This is especially helpful if the curves change direction in small intervals a lot which can produce artifacts.
Refit within units - Refits the shape curves to a tolerance value before lofting. Use same as the previous option.

Troubleshooting: If the surface does not look correct, check the following:

- Have all curves necessary been selected? Have all necessary end points been selected? If not, delete the surface and loft again.
- Do all curves have the same direction? If not, delete the surface and loft again and change the directions.
- Does any one curve show excessive differences from its neighbors (erroneous curve)? If so, delete the surface and loft again without the troublesome curve. Alternatively, rebuild curves with the 'rebuild' command, each with a number of points intermediate between the original number and that of the other curve.
- Do all curves look OK but the surface has odd wrinkles and twists? If so, delete the surface and try various 'Simplify' options of the loft dialog in a new loft. Or try rebuilding curves near the artifacts of the surface, and then loft again. Also, try adjusting the 'seam line' visible during lofting setup by dragging the points on all curves so that the seam line has no kinks.

Editing and joining surfaces and bodies

Some helpful Rhinoceros® commands are given a short description here - for a tutorial on editing and combining surfaces please refer to the in-program help.

Joining bodies smoothly in Rhinoceros® can be difficult, so we advise against using multiple bodies whenever possible. Check that the tolerance levels are set to suitable values. Remember that you can copy and paste bodies, so that one body can be deleted when used as a cutting object and still become part of the final assembly.

Joining two bodies:

1. At the command line enter 'BooleanUnion' or select the icon from the toolbar at the left of the screen.
2. Select both bodies
3. Press ENTER

Subtracting one body from another:

1. At the command line enter 'BooleanDifference' or select the icon from the toolbar at the left of the screen (right-click BooleanUnion and select the second icon in the pop-up box)
2. Select the body from which to subtract the other body and press ENTER
3. Select the body to subtract and press ENTER.

Intersecting two bodies: results in only the overlap being preserved.

1. At the command line enter 'BooleanIntersection' or select the icon from the toolbar at the left of the screen (right-click BooleanUnion and select the third icon in the pop-up box)
2. Select the bodies to intersect and press ENTER

Creating a surface from a curve:

1. Select the curve
2. At the command line enter 'patch' and press enter.
3. As trimmed surfaces cannot by joined and tend to be difficult to use for cutting both surfaces and bodies we recommend to deselect 'trim automatically' in the dialog box.
4. Click OK.

Using a surface as a cutting object to trim surfaces or bodies:

1. At the command line enter 'Split' (keeps the cut of pieces as separate objects) or 'Trim' (deletes the cut off pieces).
2. Select the object to split/trim. If trimming, click the part that should remain.
3. Select the cutting/trimming object.
4. Press ENTER.

Creating a curve on a surface (for 3D model creation, can also be used as a cutting object)

1. Select the surface.
2. Select 'Curve-->Free-Form-->Interpolate on Surface'.
3. Click on the surface at the start of the curve.
4. Click close to this first point in order to get tight control of the direction of the curve start.
5. Add more points to describe the surface.
6. Place the last clicks near each other to control the curvature exactly at the end of the curve.
7. Press ENTER.

Next Section