Model viewing, basic drawing structure and dimensions recommended practices

From WikiSTEP

Jump to: navigation, search

Contents

Introduction

This document describes the recommended practices for implementing the draughtingrelated capabilities model viewing, basic drawing organization, and associative dimensions.

It documents the common approach for the implementers related to AP214 and to AP203 with the corresponding modular extensions.

All instance diagrams presented within this document refer to instances defined within the Part 21 file examples included within section 4.

Scope

The information presented in this document covers how a STEP implementation would support:

  • the definition of a projection of a styled model onto a view (i.e., viewing pipeline);
  • the layout of views on a sheet;
  • the organization of sheets in drawings;
  • annotation elements used for presenting dimensions;
  • the linkage of dimension annotation to the corresponding numerical values;
  • the association of the dimension annotation elements to geometric elements.

Fundamental concepts

Particular concepts of interest within the scope of this recommendation are described within the following sections.

Model viewing

The model viewing capability deals with projecting a model that may contain geometric, as well as three-dimensional planar annotation elements, onto a two-dimensional view. The concept to represent the model is draughting_model.

As depicted in Figure 1 (an instance diagram of the entities involved in the camera model), the result of projecting the three-dimensional potentially styled model is a camera_image. As an item of a presentation_view, a camera_image maps a camera_model onto its designated viewport (a planar_box). The camera_model is the source part of the projection mapping; it contains the information needed to create the projection from a three-dimensional representation to a two-dimensional picture of that representation, to which it is associated by camera_usage.

A camera_image_3d_with_scale is a subtype of camera_image that includes a derived scale. The scale is given by the ratio between the size of the viewport and the size of the view_window (a planar_box) of the view_volume of the camera_model.

Each camera_model is either a camera_model_d2 or a camera_model_d3. A camera_model_d3 captures the projection information to create a mapping from a three dimensional representation to a planar projection of that representation. A camera_model_d3_with_hlshsr is a subtype of camera_model_d3 that indicates, via his hidden_line_surface_removal attribute, whether a removal of hidden lines and surfaces shall be performed.

Camera model instances.gif
Figure 1. Camera model instances

A view_volume is defined in the view_reference_system of the camera_model that uses the volume. It is either a truncated pyramid or a parallelepiped. The contents of this volume are projected onto the planar_box defined by the view_window that is then mapped onto the viewport.

If the type of projection is parallel (as shown in Figure 2), the projection is made parallel to the line from the projection_point (i.e. from where the items are viewed) to the geometric center of the view_window, and the view_volume is a parallelepiped.

Parallel viewing pipeline.gif
Figure 2. Parallel viewing pipeline

If the type of projection is central, the view_volume is a truncated pyramid emanating from the projection_point.

The view_plane_distance is a signed distance along the z-axis of the axis2_placement indicated by the view_reference_system. This distance positions the origin of the view_window. Front_plane_distance and back_plane_distance define the front and back end of the view_volume. The geometry of the projected representation can be clipped at the front plane (with front_plane_clipping set to TRUE), back plane (back_plane_clipping) and against the planes which are the sides of the view_volume (view_volume_ sides_clipping).

Entities and Attributes

Name Explanation
draughting_model The representation of the shape of a product for the purpose of draughting.
name A unique name.
items The elements of the draughting_model. Each item shall be a mapped_item, styled_item, axis2_placement or a camera_model.
context_of_items Same as context of the geometric shape.
camera_image The result of projecting two- or three-dimensional geometry.
name Due to no requirement defined, it is recommended to instantiate with an empty string.
mapping_source A camera_usage.
mapping_target A planar_box onto which the view window is projected.
presentation_view It is a picture that is the result of the projection of a draughting_model. It needs to be placed onto a presentation_area.
name Inconsequential name of the view.
items The elements of the view. In our context this includes the camera_image, the axis2_placement_2d that is the origin of

the view, as well as all annotation_occurrences that are defined and depicted in the view.

context_of_items A two-dimensional representation context.
camera_model_d3_with_hlhsr A camera_model that contains the information to create a projection. This subtype of camera_model indicates whether hidden line and hidden surface removal shall be performed.
name Due to no requirement defined, it is recommended to instantiate with an empty string.
view_reference_system An intermediate three-dimensional coordinate space in the coordinate space to be projected (see Figure 1).
perspective_of_volume A pointer to a view_volume that is the information required to determine how to project the geometry. It is defined in the view_reference_system.
hidden_line_surface_removal A value of TRUE indicates that hidden lines and surfaces shall be removed during projection.
view_volume Defines the volume that is projected onto the presentation_view.
projection_type Parallel or central
projection_point The location from which the items are viewed. For a parallel projection, this point indicates a line from itself to the geometric center of the view_window.
view_plane_distance This distance positions the origin of the view_window.
front_plane_distance For a parallel projection, this is the distance to the front of the parallelepiped.
front_plane_clipping A boolean flag indicating whether to clip the projection against the plane given by the front_plane_distance.
back_plane_distance For a parallel projection, this is the distance to the back of the parallelepiped.
back_plane_clipping A boolean flag indicating whether to clip the projection against the plane given by the back_plane_distance.
view_volume_sides_clipping A boolean flag indicating whether to clip the projection against the sides of the view_volume.
view_window A rectangular extent on the view plane. The draughting_model is mapped onto this planar_box, which is then mapped to the viewport of the camera_image.
planar_box A rectangular box and its location in a two-dimensional coordinate system.
name Due to no requirement defined, it is recommended to instantiate with an empty string.
size_in_x The extent in the x-axis direction.
size_in_y The extent in the y-axis direction.
placement The position and orientation of the bottom-left corner of the rectangular box.

Basic drawing organization

The capability described here allows placing views on drawing sheets and attaching basic organizational information to the sheets. An instance diagram of the entities involved in this area is shown in Figure 3.

The anchor for drawing organization is the entity drawing_definition. Drawing_definition gives an identifier for the organizational number of a drawing and specifies a label for the categorization of a drawing. For a drawing_definition, multiple drawing_revisions may exist. A revision of a drawing includes revisions of sheets that are part of the drawing. This usage is modeled through the use of drawing_sheet_revision_usage. A drawing_sheet_revision is a sheet with an assigned revision identifier. The items of a drawing sheet include an axis2_placement_2d that is the origin of the sheet, mapped_items that place presentations on the sheet, and a planar_box that defines the size of the sheet. Drawing sheets may also contain annotation_occurrences that are defined and depicted in the sheet.

The construct applied_presented_item together with presented_item_presentation is used to link a given drawing revision with the description of the items presented in the drawing.

Drawing structure instances.gif
Figure. Drawing structure instances

Entities and Attributes

Name Explanation
presentation_size Used to define the size of a presentation_view or presentation_area.
unit The representation that is being assigned a size. In our scope this is the drawing_sheet_revision.
size A planar_box that describes the size of the unit attribute.
drawing_definition Identifies a set of drawing revisions.
drawing_number The organizational number assigned to the drawing (identifier).
drawing_type A label used to categorize the drawing. Due to no requirement defined, it is recommended to instantiate with an empty string.
drawing_revision A revision of a drawing.
revision_identifier The identifier of the drawing revision, usually a letter revision designator.
drawing_identifier The identifier of a drawing (a pointer to the drawing_definition).
intended_scale Optional: a text description of the intended scale – for information only.
draughting_title A brief text string describing the contents of the drawing.
items The sheets or revisions to which the description applies.
language A label to define the language of the description.
contents The text description.
applied_presented_item Assigns an item to a presentation_representation or a presentation_set
items The set of assigned items. Within our scope, this set only includes product_definitions.
presented_item_presentation The association of a presentation with the item for which its is the picture.
presentation The presentation.
item The presented item.
drawing_sheet_revision A revision of a drawing sheet.
name The organizational name assigned to the drawing sheet.
items The elements of the sheet. In our context this includes the axis2_placement_2d that is the origin of the sheet,

mapped_items that place presentations on the sheet, and a planar_box that defines the size of the sheet.

context_of_items A two-dimensional representation context.
revision_identifier The organizational identifier assigned to the drawing sheet.
drawing_sheet_revision_usage Relates the revision of a sheet with the revision of a drawing.
area The drawing_sheet_revision.
in_set The drawing_revision.
sheet_number An identifier indicating the position of the sheet in the overall sequence of sheets defining the drawing.

Associative dimensions

Associative dimensions establish a link between the calculated size of a dimension and the presentation of this value and the element(s) from which the dimension value is calculated.

Geometric dimension representation instances.gif
Figure 4. Geometric dimension representation instances

Instance diagrams depicting the entities involved defining a geometric locational dimension are shown in Figure 4 and Figure 5. A dimensional_location specifies that a spatial constraint between two identified portions of a given geometric shape exists. This constraint is represented as a measure. The concept for identifying portions of shape is a shape_aspect. Dimensional_location is a subtype of shape_aspect_relationship. The portion of shape specified by a shape_aspect is given by the elements of the shape_representation that is linked to it.

Geometric locational dimension measurement representation instances.gif
Figure 5. Geometric locational dimension measurement representation instances

The dimension given implicitly by the relationship of the respective shape_aspects can be linked to an explicit non-geometric representation. Such a representation is shape_dimension_representation. A shape_dimension_representation describes the geometric representation of a dimension of or between shape_aspects with a value. Being part of that representation, the value needs to be instantiated as a measure_representation_item.

The two representations related to the location_dimension are associated via the entity dimensional_characteristic_representation.

Entities and Attributes

Name Explanation
dimensional_location Describes a spatial constraint between two shape_aspects.
name Due to no requirement defined, it is recommended to instantiate with an empty string.
description Due to no requirement defined, it is recommended to instantiate with an empty string.
relating_shape_aspect The first shape_aspect.
related_shape_aspect The second shape_aspect.
shape_aspect An identifiable portion of the shape of a product.
name Due to no requirement defined, it is recommended to instantiate with an empty string.
description Due to no requirement defined, it is recommended to instantiate with an empty string.
of_shape The product_definition_shape of which the entity is an aspect.
product_definitional If a value of TRUE is given, than it is asserted that the shape_aspects are on the physical boundary of the product_definition_shape.
shape_dimension_representation A representation of a dimensional_location or dimensional_size.
name Due to no requirement defined, it is recommended to instantiate with an empty string.
items The measure_representation_items that represent the dimension. There shall be at most two items. The value component of these items shall be positive.
context_of_items Same as context of the geometric shape.
dimensional_characteristic_representation Associates the implicit definition of a dimension with an explicit non-geometric representation.
dimension The implicit geometric dimension.
representation The explicit non-geometric representation.

Presentation of a dimension

A combination of annotation curves, symbols and text are used to present dimensions. The grouping of such elements is achieved via the usage of the entity draughting_callout.

Typically the dimension information is separated in a callout capturing the description of the measure information via text and symbols and a callout capturing the dimension, projection, and leader curves.

For draughting callout which collects the dimension, projection or leader curves a specific subtype corresponding to the type of the presented dimension is used.

The table below shows the available dimension types:

dimension callout type description subtype of
angular_dimension presents a value of an angular distance measure (e.g. to specify a circle segment) dimension_curve_directed_callout
curve_dimension presents a value of distance between two elements measured along a curved path or the length of curved element dimension_curve_directed_callout
diameter_dimension presents a value of the diametrical size of a circular element dimension_curve_directed_callout
leader_directed_dimension presents some dimension, e.g. hole characteristics, directed by a leader curve leader_directed_callout
linear_dimension presents a value of distance between two elements, measure along a linear path or the length of a linear element dimension_curve_directed_callout
ordinate_dimension presents a dimension value directed by a projection curve projection_directed_callout
radius_dimension presents a value of radial size of a circular element dimension_curve_directed_callout

Dimension_curve_directed_callout, leader_directed_callout, projection_directed_callout are subtypes of draughting_callout without additional attributes. These subtypes have associated constraints that ensure that e.g. a leader_directed_callout actually contains a leader_curve.

General scheme for the presentation of a dimension.gif
Figure 6. General scheme for the presentation of a dimension

The related draughting callout represents the annotation text and symbology to present the measure information of a dimension. The two callouts are related by the entity dimension_callout_relationship with the attribute name set to 'primary'. A secondary presentation of the measure representation may be associated with an additional dimension_callout_relationship with the name attribute set to 'secondary'.

The related callout for the measure information annotation may either be a plain draughting_callout or the subtype structured_dimension_callout may be used to indicate that the presentation of the dimensional information is structured in individual elements (e.g. dimension value text and tolerance text) that need to be identified and distinguished.

In this document it is assumed that dimension information is placed on the view – as opposed to be placed on the drawing sheet – thus it is recommended that the involved draughting_callouts shall be founded in the corresponding presentation_view.

The discussion of the callout for the dimension now exemplarily focuses on a linear_dimension. The approach is similar for the other dimension callout types listed in the table above.

Instances related to the callout of a dimension.gif
Figure 7. Instances related to the callout of a dimension

A linear_dimension is a subtype of draughting_callout that presents the value of a dimension via a dimension curve. The contents of a linear_dimension are projection_curve and dimension_curve items. An instance diagram depicting the entities that may be related to a linear_dimension is shown in Figure 7.

The projection_curve and dimension_curve entities represent curves with a style assignment.

A projection_curve is a subtype of annotation_curve_occurrence that models a projection line resulting from projecting a point, curve or surface from an image of the product shape to a point outside that image. Figure 8 is an instance diagram that depicts the entities that are related to a projection_curve.

Instances related to a projection curve.gif
Figure 8. Instances related to a projection_curve

A dimension_curve is a subtype of annotation_curve_occurrence that, along with related terminator symbols, presents the direction and extent of a dimension measure. To mark the start- and end-point of a dimension extent, dimension_curve_terminator symbols are used. A dimension_curve_terminator is a subtype of terminator_symbol. Dimension_curve_terminator.role specifies either origin or target, depending on whether the symbol corresponds to the beginning or end of a dimension.

The item styled by a dimension_curve_terminator is a defined_symbol, which is defined by a pre_defined_terminator_symbol.name taken from the list {'blanked arrow', 'blanked box', 'blanked dot', 'dimension origin', 'filled arrow', 'filled box' ,'filled dot' ,'integral symbol', 'open arrow', 'slash', 'unfilled arrow'}.

Figure 9 is an instance diagram that depicts the entities that are related to a dimension_curve.

Instances related to a dimension curve.gif
Figure 9. Instances related to a dimension_curve

The two callouts, one explicitly presenting the measurements, the other directing the information to the shape, are linked via the entity dimension_callout_relationship.

A dimension_callout_relationship is a subtype of draughting_callout_relationship. The dimension_callout_relationship.name of the relationship can either be 'primary' or 'secondary'. 'Primary' is used if the related_draughting_callout presents the measurement in the primary unit of measure.

Entities and Attributes

Name Explanation
draughting_callout Presents product requirements or information used to interpret a drawing.
name Contents vary depending on the subtype being instantiated.
contents Any combination of annotation curves, symbols and text.
structured_dimension_callout Presents type, value, tolerance, and units information associated with a dimension.
linear_dimension Presents a value of distance between two elements or the length of a linear element.
dimension_curve An annotation_curve that – along with related terminator symbols – presents the extent and direction of a measurement.
name Due to no requirement defined, it is recommended to instantiate with an empty string.
styles The style applied to the curve.
item The underlying curve.
projection_curve An annotation_curve that results from projection.
dimension_curve_terminator A symbol representing the beginning or end of a dimension_curve.
name Due to no requirement defined, it is recommended to instantiate with an empty string.
styles The styling of the symbol. This style only includes color characteristics.
item The symbol used.
annotation_curve The related dimension_curve.
role Either .ORIGIN. (start terminator) or .TARGET. (end terminator).
defined_symbol An implicitly defined symbol.
name Due to no requirement defined, it is recommended to instantiate with an empty string.
definition The implicit description of the symbol, either a pre-defined or externally defined symbol.
target Scaling, placement and orientation of the symbol.
dimension_callout_relationship Relates the presentation of the dimension (dimension_curve and projection_curve) to the presentation of the associated information (e.g. text presenting measurement and tolerances).
name If specifications are in the primary unit of measure then ‘primary’; else 'secondary'.
description Due to no requirement defined, it is recommended to instantiate with an empty string.
relating_draughting_callout The dimension.
related_draughting_callout The dimension callout.

Associativity of dimension value to visual presentation in callout

Associativity between dimension value and its presentation in the callout.gif
Figure 10. Associativity between dimension value and its presentation in the callout

The shape_dimension_representation specifying the dimension value is mapped onto the structured_dimension_callout via a dimension_text_associativity entity. Dimension_text_associativity is a subtype of mapped_item and text_literal. The text_literal specifies the string to be used as an indication of the measure in the callout. That does not necessarily need to be exactly matching the numerical dimension value. An instance diagram depicting the entities that are related to a dimension_text_associativity is shown in Figure 10.

Entities and Attributes

Name Explanation
dimension_text_associativity A subtype of text_literal and mapped_item that maps a shape_dimension_representation onto the callout which presents the measurement.
name Due to no requirement defined, it is recommended to instantiate with an empty string.
literal The character string to present the measurement.
placement The location of the string within the coordinate system within which it is defined.
alignment The alignment of the string relative to its position. This could either be ‘baseline left’, ‘baseline centre’, or ‘baseline right’.
path The writing direction of the string. This could either be .LEFT., .RIGHT., .UP., or .DOWN..
font The font that will be used to present the string.
mapping_source A representation_map with the .mapped_representation being a shape_dimension_representation.
mapping_target The dimension callout.

Tolerance information

To specify the limits within which the value of a dimension may vary plus_minus_tolerance can be used. A plus_minus_tolerance may have a range either specified by a tolerance_value or limits_and_fits. Limits_and_fits is a pre_defined fit system for specifying the tolerances associated with the assembly of mating product features. Tolerance_value represents the plus-minus tolerances for a dimension. The range is derived by adding upper_bound resp. subtracting lower_bound from the nominal value of the dimension. An instance diagram depicting the entities that may be related to a plus_minus_tolerance is shown in Figure 11.

Instances depicting a dimension related to a plus-minus tolerance.gif
Figure 11. Instances depicting a dimension related to a plus-minus tolerance

Entities and Attributes

Name Explanation
plus_minus_tolerance Specification of limits within which a dimension may vary.
range A tolerance_value in the scope of this effort.
toleranced_dimension The dimension being toleranced.
tolerance_value A representation of plus-minus tolerances for a dimension.
upper_bound The value to be added to nominal dimension value to derive maximum.
lower_bound The value to be added to dimension to derive minimum.

Part 21 file examples

There is an example provided with associative dimensions and another example (derived from the first example) in which the same dimensions are modelled as non_associative.

Example with associative dimensions

A diagram depicting the geometric model used for this example, along with the view that includes different types of dimensions, is shown in Figure 12.

Associative dimension example.gif
Figure 12. Associative dimension example

Instance diagram for associative dimensions example

This section provides an overview of the structures used for the different capabilities defined in this complex example by combining the individual figures of the above descriptions.

Diagram for geometric location dimension.gif
Figure 13. Diagram for geometric location dimension
Diagram for associated structured dimension callout.gif
Figure 14. Diagram for associated structured_dimension_callout
Diagram for linear dimension.gif
Figure 15. Diagram for linear_dimension
Diagram for camera model.gif
Figure 16. Diagram for camera model
Diagram for basic drawing organisation.gif
Figure 17. Diagram for basic drawing organisation
Notes to the diagrams
Note 1 Complex entity since its a subtype of annotation_occurrence and draughting_annotation_occurrence.
Note 2 Complex entity since its a subtype of draughting_callout and draughting_elements.
Note 3 Complex entity since its a subtype of mapped_item and text_literal.
Note 4 Complex entity since its a subtype of dimension_curve_directed_callout and draughting_elements.
Note 5 Complex entity since its a subtype of annotation_curve_occurrence and draughting_annotation_occurrence.
Note 6 Complex entity since its a subtype of measure_with_unit and representation_item.
Note 7 Complex entity since its a subtype of terminator_symbol and draughting_annotation_occurrence.

Example with non-associative dimensions

In respect to the appearance of the drawing on the sheet this files represent the same model as above. The difference is that the logical structure that associates the presentation of the dimension to their numerical values and to the corresponding geometry is omitted. Dimensioning capability is restricted to the presentation of text, symbology and annotation curves in the drawing views.

Availability of implementation schemas

AP214

The AP214 DIS schema supports the implementation of the capabilities as described. The schema can be retrieved from http://www.cax-if.org.

AP203 with modular extensions

The short form for the associative dimensions extension, its corresponding long form, and the long form schema combining AP 203 and the associative dimension can be accessed via the WWW from: http://www.cax-if.org.

Personal tools