Dimensions and Models30 Sep, 2001 By: John E. Wilson
It is difficult to get excited about AutoCAD 2002, because it contains very little that is new, and it contains nothing new for creating or editing 3D wireframes, surfaces, or solid models. AutoCAD 2002 does, however, have a new feature that will benefit those of you who work with 3D solid models. We will explore that new feature, which involves dimensions in 2D drawings of 3D models, this month. While this new dimensioning feature is also useful to those who make pure 2D drawings, we will concentrate on its relationship with 3D solid models.
You will recall that AutoCAD has two commands for creating 2D multiview drawings of 3D solid models--SOLVIEW and SOLDRAW. SOLVIEW is an interactive command through which you specify the views that your drawing is to have, along with their scales and locations, and AutoCAD creates floating viewports for those views. Then, you invoke SOLDRAW to have AutoCAD draw 2D objects--lines, circles, arcs, and ellipses--that represent the edges and profiles of the solid model as seen within the viewports. (See "Third Dimension: Back To 2D," December 2000, for details about using these two commands in creating 2D drawings from 3D solid models.)
The SOLVIEW/SOLDRAW command combination works well to easily and quickly set up drawing views. Moreover, if you should ever modify your solid model, you can use SOLDRAW again to update the drawing views. You can create principal, auxiliary, and full-section drawing views. You cannot, however, create half, offset, or break-out section views.
Although there are no specific options for creating detail views and isometric views, such as those shown in Figure 1, you can employ SOLVIEW's UCS option to create them.
Figure 1. Dimensioning commands in AutoCAD 2002 recognize not only Model Space objects fully but also each floating viewport's scale and assign the correct value to all dimensions. All three views in this drawing were made by the SOLVIEW and SOLDRAW commands from a solid model.
The most time-consuming step in creating a 2D drawing from a 3D solid model has always been dimensioning the drawing views. The objects drawn by SOLDRAW are in Model Space, and because AutoCAD dimensioning commands have not been able to fully recognize Model Space objects from Paper Space, you had to go into Model Space through the floating viewport of each view to add dimensions. Furthermore, you had to use a different layer for the dimensions in each view and then selectively freeze the dimension layers so that they would appear only in the proper view. You also had to set scale factors to ensure that dimension objects--text, arrowheads, and so forth--had the same size as seen from Paper Space, regardless of the viewport's scale.
Even though AutoCAD provided some tools for establishing layers and scales for dimensions, dimensioning was tedious and error prone: you could forget to change layers when going from one viewport to another; you could inadvertently zoom or pan while you were within a viewport; and the viewport's User Coordinate System could be incorrectly oriented for dimensions. You also had to concentrate on, and often zoom in close to, one viewport at a time, which gave you a poor overall view of the drawing and made it easy to lose track of which objects you had dimensioned.
The dimensioning commands of AutoCAD 2002, unlike those in the previous releases, are able to fully recognize Model Space objects from Paper Space. This greatly simplifies dimensioning drawing views of 3D models: you do not have to go into Model Space to add dimensions; you do not have to use a unique layer for the dimensions in each view; you do not have to concern yourself with scale factors for arrowhead and text sizes, and you can conveniently skip between views as you add dimensions. The relationship between dimensions and objects is controlled by AutoCAD 2002's dimassoc system variable, which replaces the dimaso system variable used in previous AutoCAD releases. Dimassoc accepts a value of 0, 1, or 2, with the results shown in Table 1.
|Table 1. Dimassoc Values and Association Levels|
|Dimassoc Value||Association Level|
|There is no association between objects and their dimensions, and AutoCAD's dimensioning commands do not fully recognize Model Space objects from Paper Space. Also, each dimension is a collection of individual objects--lines, arcs, text, and so forth.|
|There is no association between objects and their dimensions. However, the components of each dimension are interrelated and comprise a single AutoCAD object. If you stretch a dimension line, for example, the dimension value changes to reflect the new dimension line's length. While AutoCAD's dimensioning commands do recognize Model Space objects from Paper Space, they do not compensate for viewport zoom levels. Thus, the dimension values for objects in a viewport having a zoom level of 0.5xp will be one-half the correct value.|
|Objects are associated with their dimensions. Therefore, if you modify the length of a line or the radius of an arc, the dimension components and the dimension value automatically update to match the modification. Also, AutoCAD's dimensioning commands fully recognize Model Space objects from Paper Space and they automatically compensate for differences in viewport zoom levels to assign correct values to dimensions.|
Even though dimensions are fully associated with their objects when dimassoc is set to 2, they are not parametric; dimensions merely report, rather than control, object sizes. As with all system variables, you can set the value of dimassoc from the command line. You can also set dimassoc to a value of 2 with the OPTIONS command. Select the User Preferences tab from the Options dialog box, and then click the "Make new dimensions associative" checkbox.
Existing dimensions are not affected by changes to dimassoc, so it is possible to have both associative and nonassociative dimensions in a drawing. The LIST command reports whether or not a dimension is associative. You can associate an existing dimension with its object through the DIMREASSOCIATE command. (Despite the name of the command, it still works even if the dimension and its object were never associated.) If a dimensioned object is erased and redrawn, you must use DIMREASSOCIATE to update its dimension. You can disassociate dimensions with the DIMDISASSOCIATE command. You will do this if you intend to send the file to someone who is using an earlier version of AutoCAD.
In creating a 2D drawing from a 3D solid, you will set dimassoc to 2, and then proceed to dimension the views created by SOLVIEW and SOLDRAW from Paper Space just as if you were working with a pure 2D drawing. SOLVIEW will automatically create layers, having names such as TOP-DIM and FRONT-DIM, for your use in dimensioning within the viewports, but you will probably not use them, and instead, set up a new layer for the dimensions of all of the drawing views. The dimensions you add are attached to the Model Space objects to the extent that if you should move a viewport, the associative dimensions move as well, even if they are not included in the move-selection set.
If you modify your 3D solid model, you can use the SOLDRAW command to update the drawing views. SOLDRAW will prompt you to select the views that are to be updated, erase the objects in those viewports, and redraw them. Unfortunately, all of the dimensions for those redrawn views will become disassociated, because the objects they were associated with no longer exist. Dimensions in unmodified portions of the model will be correct, even though they are no longer associative. You can choose to either reassociate these dimensions or leave them as they are. Dimensions for model geometry that has changed in size or location will have incorrect values or positions. You will need to associate those dimensions with the new objects through the DIMREASSOCIATE command or else erase the existing dimensions and then add new ones from scratch.
From the command line, DIMREASSOCIATE will ask you to select all of the dimensions that are to be reassociated. Then the command steps through each dimension selected, prompting you to either pick points for the dimension's extension lines, or to select an object--such as a line or circle--to associate with the dimension. As soon as you specify the parameters for a dimension, its extension and dimension lines move to accommodate the geometry and its dimension value changes to reflect the new size.
Using DIMREASSOCIATE to attach dimensions to newly drawn objects in viewports works well for linear and diameter dimensions, but reassociated radius dimensions often have an incorrect dimension value. In those cases, you will have to erase the original dimension and use DIMRADIUS to create a new dimension.
Most AutoCAD users will consider these new truly-associated dimensions to be an evolutionary, rather than a revolutionary, advancement. Even so, they will definitely make your work easier as you create 2D drawings from your 3D solid models.