RhinoWorks plug-in allows users to control their Rhino models parametrically. The main expressive power of RhinoWorks is constraints and driving dimensions as their particular case. A constraint specifies geometric and dimensional properties of one or more shapes. Applying constraints forces geometric bodies to change their shapes or/and position in 3D space. With RhinoWorks you obtain full parametric control of any model, including ones imported from other CAD systems.
The figure below shows the plug-in running inside Rhino.

The RhinoWorks plug-in satisfies all constraints and driving dimensions automatically, and so makes a consistent model and keeps design intent. You can then modify the model by varying the parameters of its driving dimensions, such as shortening distances and changing angles.
RhinoWorks toolbar provides you a possibility to create constraints for your objects. The RhinoWorks Manager panel allows you to navigate through the list of created constraints and edit their parameters.
The plug-in is designed to run on Windows 2000/XP/Vista/7 with Rhinoceros 4.0 SR5b or newer installed. If you do not have Rhino on your computer, download the fully functional evaluation version (which is the same as the commercial version except that it only saves 25 times) here: download.rhino3d.com/rhino/4.0/evaluation/download.
Download the evaluation version of the RhinoWorks plug-in from DrivingDimensions.com website: DrivingDimensions.com/download.
Run the setup application that will install the plug-in on your computer automatically. Once the plug-in installed, just run the Rhino. The plug-in will be loaded and its toolbar will also appear automatically.
You can access the plug-in's tools through the RhinoWorks toolbar or by typing the corresponding commands at Rhino's command prompt.

The toolbar buttons and commands are described below:
| Button | Command | Description |
|---|---|---|
![]() | LDDUpdate | Updates the model |
![]() | LDDFixation | Creates Fixation constraint |
![]() | LDDConcentricity | Creates Concentricity constraint |
![]() | LDDCoincidence | Creates Coincidence constraint |
![]() | LDDParallelism | Creates Parallelism constraint |
![]() | LDDPerpendicularity | Creates Perpendicularity constraint |
![]() | LDDTangency | Creates Tangency constraint |
![]() | LDDDistance | Creates Distance constraint |
![]() | LDDRadius | Creates Radius constraint |
![]() | LDDAngle | Creates Angle constraint |
![]() | LDDRigidSet | Creates a Rigid Set |
![]() | LDDAnimation | Animates the model |
![]() | LDDShowConstraints | Toggles displaying of constraints |
![]() | LDDOptions | Opens options panel |
![]() | LDDManager | OpensRhinoWorks Manager panel |
![]() | LDDHelp, LDDAbout | Help and About Box |
To create a parametric model, you add constraints and driving dimensions to 3D parts that already exist in the drawing. The constraints and driving dimensions are attached to the faces, edges and vertices of polysurfaces. To place a constraint, enter the command that corresponds to the desired type of constraint (or click the corresponding button on the RhinoWorks toolbar), and then select the surfaces, edges or vertices by clicking on them in Rhino's working area. Rhino does not represent vertices as separate objects, however RhinoWorks shows you special marker objects for them upon creation of the constraint.
Alternatively, for several types of constraints, it is possible to place constraints by reversing the order of steps: first select the geometric objects, and then enter the constraint command. In this case, the constraint is applied to the selected objects.
With RhinoWorks you can create constraints and driving dimensions between objects belonging to the same polysurface or belonging to the different ones. After updating the model the shape of polysurfaces and their relative positions are changed to satisfy the constraints and dimensions.
RhinoWorks constraints and dimensions can be created for the following types of geometric elements:
RhinoWorks constraints and dimensions (except the Rigid Set constraint) can not be created for other types of geometry, however your model can be modified with RhinoWorks even if there are NURBS surfaces, during its computations RhinoWorks can move these surfaces keeping their trims unchanged.
RhinoWorks provides the following types of constraints and driving dimensions:
Rhino command: LDDConcentricity
Supported elements: Point, Circle, Cylinder, Sphere, Torus, Cone.
This constraint keeps two elements concentric. Concentricity also implies coaxiality (share the same axis), such as for a pair of cylinders.
Rhino command: LDDCoincidence
Supported pairs of elements:
| Coincidence | Point | Line | Circle | Plane | Cylinder | Sphere | Cone | Torus |
|---|---|---|---|---|---|---|---|---|
| Point | x | x | x | x | x | x | x | x |
| Line | x | x | x | x | x | |||
| Circle | x | x | x | x | x | x | x | |
| Plane | x | x | x | x | ||||
| Cylinder | x | x | x | x | ||||
| Sphere | x | x | x | |||||
| Cone | x | x | x | x | ||||
| Torus | x | x | x | x |
This constraint keeps two elements aligned with each other.
Rhino command: LDDParallelism
Supported elements: Line, Plane, Circle, Cylinder, Cone, Torus.
This constraint keeps two elements parallel to each other.
Rhino command: LDDPerpendicularity
Supported elements: Line, Plane, Circle, Cylinder, Cone, Torus.
This constraint keeps two elements perpendicular to each other.
Rhino command: LDDTangency
Supported elements: Line, Plane, Circle, Cylinder, Sphere, Cone, Torus.
This constraint keeps one element tangent to another.
Rhino command: LDDDistance
Supported elements: Point, Line, Plane, Circle, Cylinder, Sphere.
This constraint keeps two elements the same distance apart. For spheres,
the distance is measured from their centers; for cylinders and circles,
the distance is measured from their axes (axis of a circle is a
line passing through the center of the circle perpendicular to the circle's plane);
Rhino command: LDDRadius
Supported elements: Circle, Cylinder, Sphere, Torus.
This constraint modifies radius of a shape. For a toroidal surface it is possible to specify the tube radius as well as the rotation radius.
Rhino command: LDDAngle
Supported elements: Line, Plane, Circle, Cylinder, Cone, Torus.
This constraint keeps two elements at a constant angle between each other.
For directional constraints, like Angle, Parallelism and Perpendicularity, the angle is measured from 0 to 180 degrees (in 3D between the directions of the objects). The direction of a cylindrical, conical or toroidal surface is the direction of its axis. The direction of a circle is the direction of the normal vector from its plane. Planar surfaces are handled in a different manner: the angle is measured between the object and the plane itself, and not its normal.
Upon the creation of a dimension (Distance, Radius or Angle), the plug-in computes the default value for its parameter after the dimension arguments are selected. This value is taken from the current geometric position of the selected objects and it is reported in the command prompt. To use this value for the newly created dimension, just press Enter when prompted for the value. The value can be changed later through the Constraint Properties panel.
Sometimes a default value cannot be computed, such as when a Distance dimension is created for intersecting planes.
By default, newly created constraints are applied immediately to the model; RhinoWorks moves the geometric objects to satisfy all constraints and driving dimensions. The constraints are added to the list of model constraints and can be managed through the RhinoWorks Manager panel. Alternatively, to edit or delete created driving dimensions one can use their icons in the working area (displaying of constraints in the working area must be turned on).
While placing an Angle dimension between a pair of objects, you can specify a third object, which is considered the axis of angle measurement. To do so, press the C key after selecting the first pair of objects. The third object is constrained automatically to be perpendicular to the first two. You can also use a planar face for the axis; in this case, the normal vector of the plane is considered the axis.
If the axis is specified, then the parameter of the angle dimension can take any value. (Note that when two parameters differ by 360 degrees, they are at the same angle.) Using the axis allows you to animate several revolutions of rotated parts. For instance, to rotate the part by two revolutions, specify 0 and 720 as start and ending animation parameters for the angle dimension.
Rhino command: LDDFixation
Allows you to fix objects in place. After applying this command, select the entities you want to fix, and then press Enter. Fixation prevents objects from moving during computations performed by RhinoWorks, but does not prevent you from moving them. Fixation can be applied to a whole polysurface, as well as to part of it, or to a single object. When you fix the planar face of a polysurface, the polysurface may slide along the plane or may rotate, if you fix a cylindrical face.
Rhino command: LDDRigidSet
Allows you to create a Rigid Set containing several geometric objects. Creation of a rigid set fixes the objects together. After applying this command, select the entities you want fixed together, and press Enter. Entire polysurface can be put into a rigid set as well as its sub-surfaces.
An object cannot be part of more than one rigid set.
Objects contained in the same Rigid Set are moved or rotated together; RhinoWorks cannot change their relative positions. You can, however, change their relative positions by dragging the objects apart.
Rigid sets allow you to attach simple geometric objects (e.g. points and lines) to more complex ones, such as polylines, curves and surfaces. When RhinoWorks moves a rigid set, it has to satisfy the constraints imposed on the simple geometry; thus, it also moves all the complex geometry contained in the same rigid set. This way you can control the position of curves, polylines and light sources.
Rhino command: LDDShowConstraints
Single click on the toolbar button toggles displaying of driving dimensions in the working area. Right-click toggles showing of names near the dimension's icon.
When displaying of driving dimensions is turned on corresponding icons are shown in the working area:
Rhino command: LDDManager
Displays the RhinoWorks Manager panel. RhinoWorks Manager allows you to view, edit and delete the constraints you created, and to manage the animation of the dimensions.
When you select a constraint in the RhinoWorks Manager, the objects linked with the constraint and the constraint icon are highlighted in Rhino's working area. Similarly, when you select geometry in the drawing, the related constraints are shown in boldface in the RhinoWorks Manager.
The color indicator located on top of the RhinoWorks Manager can be green, yellow, or red depending on the status of the constraints and dimensions. The Update Automatically checkbox at the bottom of the RhinoWorks Manager determines how the model is updated. If the Assembly Mode checkbox is enabled RhinoWorks does not change shapes of the polysurfaces, it changes their positions only.
The RhinoWorks Manager allows you to select several constraints at the same time using the Shift and Ctrl keys. You can also select all the constraints by pressing Ctrl+A. After you select multiple constraints, you can then animate them, or else remove them by pressing the Delete key (or choosing Delete from the context menu).
The RhinoWorks Manager is dockable. You can dock it to any side of the Rhino window by dragging it to the desired place.
To edit the properties of constraints and driving dimensions, follow these steps:
Alternatively, in order to open the Constraint Properties panel you can double-click the constraint icon in the working area (displaying of constraints must be turned on). >
The Enabled checkbox turns the constraint or driving dimension on or off.
Click the ruler buttons
to automatically insert values computed from the current position of related objects in
the drawing. The values are inserted into the corresponding fields of the Constraint
Properties panel.
To increment or decrement values, click the spinner buttons (up and down arrows next to each value). When the Update Automatically checkbox is turned on (found on the RhinoWorks Manager panel), changing values with the spinners recalculates the positions of the objects in the model. Mouse wheel also works for increment or decrement values of dimensions.
Clicking the Flip Side button changes relative positions of the constrained objects. If a plane is tangent to a cylinder, for example, clicking this button moves the cylinder to the other side of the plane.
The Constraint Properties panel is dockable, so you can dock it to any side of the Rhino window; simply drag it to the desired place.
You can copy and paste a part of your model preserving the constraints imposed on it. To do that just select the objects you want to copy and press Ctrl+C. After you press Ctrl+V the objects are inserted into the document and copies of their constraints are inserted into the Constraints Manager. To avoid a duplication of constraints' names the plug-in adds a numbered postfixes to them.
You can also export a part of a model into a .3dm file keeping the constraints and dimensions. To do that select the objects you want to export and execute the Export Selected... command from the File menu. Than you can import this file into another document with File/Import.
Note that if a selected object is linked by constraint with another object which is not selected this constraint is not copied or exported.
RhinoWorks offers two ways to update the model. One is automatic mode, and this is the default mode. The other mode is manual. You can switch between the two modes through the Update Automatically checkbox at the bottom of RhinoWorks Manager panel.
In automatic mode, parts are affected immediately as you apply constraints and dimensions. The model updates automatically after the following events occur:
After any of these actions occur, RhinoWorks recalculates the model and then moves the objects (or updates the shapes) to satisfy the constraints and dimensions.
Rhino command: LDDUpdate
When the Update Automatically checkbox is disabled, RhinoWorks recalculates the positions of the objects only when you click the Update button.
If some constraints or driving dimensions cannot be satisfied, an error message will appear.
The color of the status indicator on the top of RhinoWorks manager panel reports the following conditions:
indicates that all constraints and dimensions are satisfied. The green light appears following successful recalculations.
indicates that the status of constraints is unknown. In automatic update mode, the
yellow light appears when the model is first opened from a .3dm file. It also appears
when the model is modified by a Rhino command that does not involve a move, rotate, or
drag. When automatic updating is turned off, the yellow light appears after any
geometry or constraint is modified. To update the state of the model, double-click
the yellow light. (Alternatively, enter the LDDUpdate command or click the
button.)
indicates that RhinoWorks is now computing, after computation is finished
the model will be updated. You can hit Esc key in order to interrupt the
computations.
indicates that at least one constraint or driving dimensions is not valid. This light
appears when there is a contradiction between constraints or parameters of driving
dimensions, and so all constraints cannot be satisfied. To make the model
consistent (and change the light to green), remove the contradictory constraints,
or correct the parameters.
Constraints and driving dimensions in RhinoWorks Manager may receive different statuses depicted by colors
Normally in the automatic mode all constraints are satisfied and receive green color. However, if you create a contradictory constraint which can't be satisfied the constraint is marked with red color.
An important task which can be accomplished with help of RhinoWorks is creation of assemblies, i.e. models composed of several sub-parts which are positioned using the constraints.
In order to create an assembly create or import several polysurfaces and then position them with respects to each other by creation of Concentricity, Coincidence, Tangency and other constraints between their sub-surfaces. Then with help of Distance and Angle dimensions you can easily obtain different configurations of your assembly or animate it.
The scenario described above assumes that all parts of the assembly keep their shape. However, by default, RhinoWorks changes the shape of the polysurfaces in order to satisfy the constraints. In order make RhinoWorks to always keep the shape of the polysurfaces enable the Assembly Mode checkbox at the bottom of RhinoWorks Manager panel (or on the options panel).
You can use the plug-in to control the shape of complex surfaces created with enabled Record History option (such as extruded surfaces or lofts). To create a parametric loft surface follow these steps:
Now you can change the parameters of the dimensions to change the position of the profiles. After the profiles are moved by RhinoWorks plug-in the loft surface is automatically updated by Rhino.
Note that the surfaces constructed with history are not updated when you animate the model or use spinner buttons on the Constraint Properties panel. The surfaces are updated only when you apply the current animation frame to the model or finish modifying parameters with the spinner buttons. RhinoWorks rendering feature supports history however.
Rhino command: LDDOptions
RhinoWorks recognizes design intent patterns in the model. These patterns are preserved upon model modifications if they do not contradict user constraints. The set of recognized design intent patterns is controlled by the following options:
In order to switch RhinoWorks to assembly mode enable the Assembly Mode checkbox, for convenience this checkbox is also duplicated at the bottom of the RhinoWorks Manager panel.
If RhinoWorks is not in assembly mode it changes shapes of polysurfaces in order to satisfy the constraints, with help of the options you can control which types of basic sub-surfaces within a polysurface can be modified. If the Rigid cylinders checkbox is enabled RhinoWorks will keep all the cylindrical sub-surfaces unmodified. In this case these sub-surfaces can only be moved or rotated together with their trimming edges, but not extended or scaled. Similar options are provided for spherical, conical and toroidal surfaces.
RhinoWorks allows you to animate your 3D models by varying the parameters of a single and multiple driving dimensions.
To create an animation using a single driving dimension (distances, radii and angles only), follow these steps:
You can animate the model by varying the values of several driving dimensions at the same time:
Rhino command: LDDAnimate
When the LDDAnimate command is issued, all dimensions are animated according to the parameters specified by the Constraint Properties panel.
When single or multiple dimensions are animated, the Animation Control Panel appears. The panel controls the animation and lets you navigate through the frames.
The control buttons operate just the way you might expect:
Plays the animation. The direction of the animation depends on which button you click, backwards or forwards.
Pauses the animation at the current frame (available only while playing).
Displays the next frame backwards (or forwards) with each click; to scroll the animation backwards (or forwards), hold down the button.
Jumps to the beginning (or the end) of the animation
You can also drag the slider with a mouse to quickly navigate though animation frames.
Click the Backward checkbox to play the animation in reverse after the end is reached (cyclical mode). Click the Repeat checkbox to play the animation continuously, until you click the Pause button.
You can specify the duration of the animation with the Time option. Enter 0 (zero) to play back the animation at the fastest speed possible on your computer.
Clicking the Edit... button opens the Constraint Properties panel. Here you can modify the number of frames, and the start and end values of the constraint's parameter. Click Apply to apply the changes, or click Cancel to return to the state before the animation.
You can render the frames of the animation, saving them as a sequence of image files in BMP (bitmap), JPG, and other formats. To do so, follow these steps:
By default RhinoWorks uses the current renderer to create frames (the renderer set as the active one in the Render/Current Renderer menu of Rhino). If you select the Use viewport display option in the RhinoWorks Render dialog frames will be produced just by capturing the graphics of the current viewport. One can also specify a custom sequence of Rhino commands to be applied for each animation frame, to do that select the Use custom script option and type the commands in the edit box, use $file to refer the filename for the current frame. For example, the following script
_-Zoom _e
_-Save $file
saves a sequence of .3dm files representing individual frames (in order to make Save command work in this script one has to type 3dm in the Format field).
Rhino commands: LDDHelp, LDDAbout
Left-click this icon to open the About Box for the RhinoWorks plug-in. Here you can find information about the version of the product and your registration details.
Right-click the icon to open the help file. RhinoWorks help can be also accessed through the Help/Plug-ins/RhinoWorks menu.
Evaluation version of the RhinoWorks plug-in stops working after 30-days evaluation period is expired.
In order to continue using the plug-in after this period, please consider the possibility to buy a license key via our online store DrivingDimensions.com/store/Rhino or contact one of our resellers listed on DrivingDimensions.com/store/resellers page.
After you obtain the license key, follow these steps:
icon.Detailed description of all RhinoWorks commands are contained in the RhinoWorks Help file, which is accessible on your computer directly from Rhino using Help/Plug-ins/RhinoWorks menu item.
The RhinoWorks website, www.DrivingDimensions.com/Rhino/, contains many video tutorials and free models with constraints.
The Driving Dimensions user forums at www.DrivingDimensions.com/forum is the place where you can pose any questions and get answer from our support team and other RhinoWorks users.
Technical support is also available via email Rhino@DrivingDimensions.com.
© 2012 Menhirs NV. All rights reserved.