Model Based Definition (MBD)
Model based definition (MBD) refers to the process of dimensioning and annotating the model in the Part Studio so the model contains all the data needed to define a product, With MBD, the model becomes the source authority that drives all engineering activities. This model may further be used downstream by suppliers and across organizations.
MBD data works in conjunction with the Inspection table, where MBD data can be added, viewed, and exported for each part in a Part Studio.
MBD is not intended to replace Drawings. MBD is intended to capture and extend a model's Product manufacturing information (PMI) and Model-based enterprise (MBE) information for additional or alternative downstream usage.
Some features of MBD:
-
Dimension and annotation metadata embedded in the model in the Part Studio.
-
Improve real-time collaboration on the model in the Part Studio.
-
Provide a single source of truth for engineers across the organization.
-
Link to downstream processes like Coordinate measuring machine (CMM) inspection.
Tolerances define the permissible range of values for a specified sketch dimension or Feature parameter, such as Extrude depth, Revolve angle, or Hole diameter. Not all sketch dimensions or Feature parameters can use tolerances.
Tolerances are available in FeatureScript, and can be used in custom features. See Custom features for more information, and refer to FeatureScript for additional documentation.
The Dimension context dialog is used to edit sketch and feature dimensions and add tolerances. Double-clicking a dimension in a sketch or an MBD dimension in the graphics area accesses this dialog. See Editing MBD dimensions.
-
Click the tolerance icon (
) to add a tolerance to the dimension. -
Once a tolerance is set, click the dropdown arrow (
) to set the Tolerance parameters:
-
Precision - Use the dropdown to select a unit precision, either Workspace precision or another precision value from the dropdown list; 0 to 6 decimal places.
-
Tolerance type - Select a tolerance type from the dropdown list. Options are: Default, No tolerance, Symmetrical, Deviation, Limits, Min, Max, Basic,
Hole and sketch diameter tolerances also offer Fit, Fit with tolerance, and Fit (tolerance only) options. See the Hole feature for more information.
With Default selected, tolerances are based on Default tolerances. See Onshape default tolerances library and Default tolerances library for further information.
-
Deviation - Available for the Symmetrical Tolerance type. Enter a deviation value.
-
Upper - Available for the Deviation and Limits Tolerance types. Enter the upper tolerance value.
-
Lower -Available for the Deviation and Limits Tolerance types. Enter the lower tolerance value.
-
Standard - Available for the Fit, Fit with tolerance, and Fit (tolerance only) Tolerance types. Select the ANSI or ISO standard from the dropdown list.
- Fit type - Available for the Fit, Fit with tolerance, and Fit (tolerance only) Tolerance types. Select User defined, Clearance, Transition, or Interference from the dropdown list.
- Hole class - Available for the Fit, Fit with tolerance, and Fit (tolerance only) Tolerance types. Select a Hole class option from the dropdown list.
- Shaft class - Available for the Fit, Fit with tolerance, and Fit (tolerance only) Tolerance types. Select a Shaft class from the dropdown list.
-
-
-
Click the checkmark icon (
) to accept the values entered in the context dialog. -
Click the x icon (
) to exit the context dialog without any changes. -
Click and drag by the dialog's handle (
) to move the dialog to a new location on-screen. Let go of the mouse to place it in its new location.
The following sketch dimensions can use tolerances:
-
Distance between 2 lines
-
Distance between two points
-
Distance between sketch geometry and a plane
-
Diagonal distance
-
Diameter
-
Angle
-
Direct distance
-
Linear distance
-
Radius
The following sketch dimensions cannot use tolerances:
-
Single line distance
-
Arc length
-
Centerline dimensions
See Sketch tool dimensions for more information.
-
Draw the sketch entity, and enter any values in the on-the-fly value inputs.
-
Double-click on the dimension (first image below). The Dimension context dialog opens (second image below):
-
To add a tolerance to the dimension, click the Tolerance options icon (
; first image below), and then click the dropdown arrow (
; second image below):
-
Enter The Precision and Tolerance type, with specified values:
-
Click the checkmark (
) to accept the sketch dimension:
The following Feature options can use tolerances:
-
Extrude
-
Solid/Surface/Thin - Depth
-
Solid/Surface/Thin - Offset distance
-
Solid/Surface/Thin - Second end position - Offset distance
-
Thin - Thickness 1
-
Thin - Thickness 2
-
Thin - Mid plane - Thickness
-
-
Revolve
-
Solid/Surface/Thin - One direction/Symmetric/Two directions - Revolve angle
-
Thin - Thickness 1
-
Thin - Thickness 2
-
Thin - Mid plane - Thickness
-
-
Fillet
-
Radius
-
-
Chamfer
-
Distance (Equal distance)
-
Distance 1, Distance 2 (Two distances)
-
Distance and angle (Distance, Angle)
-
-
Hole
-
Diameter (Simple/Counterbore/Countersink)
-
Distance (Depth: Simple/Counterbore/Countersink)
-
Diameter (Counterbore/Countersink diameter)
-
Distance (Counterbore depth)
-
Angle (Countersink angle)
-
Distance (Tapped depth)
-
Distance (Tap drill diameter)
-
-
Create a feature that accepts a tolerance (Extrude in this example).
-
Click the Tolerance options icon (
) to the right of the parameter:
-
Click the dropdown arrow (
) to the left of the parameter:
-
Enter The Precision and Tolerance type, with specified values:
-
Enter any other Feature settings and click the checkmark (
) to accept the Feature. -
Ensure the Inspection table (
) is open to see the Feature's dimension value with the tolerance:
Removing a feature's tolerance does not remove the dimension from the model, as it is still a valid dimension.
Tolerance options can be used in conjunction with configurations.
-
Click the Tolerance options icon (
) to make the configuration's option value tolerant:
-
Click the dropdown arrow icon (
) to the left of the parameter in order to set the tolerance Precision and Type.
See Configurations for more information.
Tolerance options are automatically used in conjunction with the Compare mechanism. When comparing 2 history entries, select the Feature to compare (Extrude 1 in the example below). Comparisons between differing Tolerance options in the entries are outlined in yellow:
Extrude: Depth tolerance options compared between two history entries
See Compare for more information.
Images below are from iOS. The workflow is the same for both iOS and Android.
Sketch dimension tolerances:
-
Double-tap the dimension on-screen.
-
Click on the Tolerance options button at the lower right corner of the Android Dimension context dialog to set the dimension as tolerant:
-
In the Tolerance options dialog, enter the Precision and/or Tolerance type and click the checkmark to accept the options:
Feature dimension tolerance:
Feature dimensions can be set and edited in the same way as on the desktop platform:
Tolerance options for the Extrude: Depth value
Tolerances can only be viewed on the desktop platform, not Android, since the Inspection table is available only on desktop.
Currently on iOS and Android you cannot set a tolerance Precision and Type for a Hole feature's Depth parameter if its Termination is Up to Entity or Up to next. Additionally, on iOS you cannot set a tolerance Precision and Type for a Hole feature's Diameter parameter. Use a Desktop platform or Android device (in the case of Diameter) to set tolerances for these parameters.
Driving MBD sketch and feature dimensions can be edited directly from the graphics area.
-
Open the Inspection panel (
) to display the MBD dimensions in the graphics areas (left image below). -
Double-click on the driving dimension that is associated with a sketch (right image below):
The Dimension context dialog opens with context placed on the dimension value. Simultaneously, the Sketch dialog opens:
-
Using the keyboard, enter a numeric value or use the up/down arrows to increment the value in the Dimension context dialog. As this value is adjusted, the sketch is updated dynamically.
If entering a value numerically, press the tab key to see the sketch value update.
-
Press Enter on the keyboard or click the checkmark (
) in the Dimension context dialog to close this dialog:
-
Press the checkmark (
) in the Sketch dialog to accept the new sketch value.
The edited sketch dimension that adjusts the model's dimension
-
Open the Inspection panel (
) to display the MBD dimensions in the graphics areas (left image below). -
Double-click on the driving dimension that is associated with a feature (right image below):
The Dimension context dialog opens with context placed on the dimension value. Simultaneously, the associated Feature dialog opens (Extrude in this example):
-
Using the keyboard, enter a numeric value or use the up/down arrows to increment the value in the Dimension context dialog. As this value is adjusted, both the model and the value in the Feature dialog are updated dynamically.
If entering a value numerically, press the tab key to see the value update in the Feature dialog.
-
Press Enter on the keyboard or click the checkmark (
) in the Dimension context dialog to close this dialog:
-
Press Enter on the keyboard again or click the Feature dialog checkmark (
) to close this dialog:
The edited feature dimension that adjusts the model's dimension
To delete an annotation:
-
Select the annotation in the graphics area:
-
Press the Delete key.
-
The annotation is deleted from the graphics area and Inspection table.
If the annotation is a sketch or feature dimension:
-
The dimension's Tolerance options values are deleted.
-
The Tolerance options icon (
) is deselected. -
The dimension value in the sketch or Feature dialog is not deleted.
-
Annotations cannot be deleted if:
-
The annotation is derived.
-
The annotation is created in a custom feature where the parameter is made tolerant but the tolerant toggle is not made available for user input.
In either case the following message is displayed:
-
Driven dimensions cannot be edited. Double-clicking on a driven dimension opens the Dimension context dialog, but values in the dialog cannot be edited.
-
Derived dimensions cannot be edited. Double-clicking on a driving or driven dimension from a derived part does not open the Dimension context dialog.
-
To cancel out of the Dimension context dialog, press the Esc key. If editing a feature dimension, the Dimension context dialog and Feature dialog close simultaneously. If editing a sketch dimension, only the Dimension context dialog closes. The sketch dialog must be manually closed (clicking the x icon).
-
Alternatively, with both the Feature dialog and Dimension context dialog open, the value in the Feature dialog can be selected and edited, which updates both the Dimension context dialog and model dynamically. Once edited here, pressing Enter closes both the Feature dialog and the Dimension context dialog simultaneously.
-
The location of the model dimension and location of its corresponding sketch dimension are not locked together. They are independent:
The model's width dimension is located below the model (left) but above the sketch (right)
-
In Pause regeneration mode, the model's dimension cannot be edited or deleted. However, you can still edit the feature or toggle a dimension's tolerance on or off. Changes take effect after clicking the Regenerate features and exit checkmark on the Paused regeneration banner.
-
Configurations work as expected. However, the dimension in the Dimension context dialog is not surrounded by a dashed orange outline to indicate it is configured. Configured sketch dimensions cannot be edited.
MBD data can be exported to Step file format. The following settings are recommended:
-
Enable the Export models oriented Y axis up checkbox.
-
Depending on the size of your model, you may need to enable the Use custom annotation text height for MBD export and select an appropriate Annotations text height to correspond to your model size.
Original model in Onshape
Exported model with the "Use custom annotation text height for MBD export" option disabled
Exported model with the "Use custom annotation text height for MBD export" enabled and set to 10 mm.
When exported, Geometric tolerances with multiple Tolerance frames have Upper text combined with the top frame, and Lower text combined with the bottom frame.
The following provides MBD examples when working with Feature and dimension tolerances:
Depth dimension:
Offset distance dimension (with a composite part):
Thin extrude (Thickness 1 and Depth dimensions):
Revolve (Revolve angle dimension):
Revolve (Thickness 1 and Revolve angle dimensions):
Fillet (Radius dimension):
Since default tolerances always use linear or angular dimensions, adding a dimension using the Inspection panel's Dimension tool (
) with a Default tolerance type always generates a linear or angular tolerance value, even if the face is a fillet. For this reason, it is recommended to apply fillet tolerances from the feature dialog, and not from the Inspection panel.
Dimensioning a fillet face: From the Fillet feature dialog (driving) and from the Inspection panel (driven)
A Chamfer is defined as a distance to angle or distance to distance between a face and an edge. The Chamfer width dimensions are specified as the distance from an edge to the virtual sharp. The display for virtual sharps is added to the dimensioned edge, including a dashed curve.
-
Tolerances are not disabled When a tangent measurement is used, since they can work in certain cases, and especially when accounting for the specified tolerance.
-
In situations where two chamfer measurements are used (Two distances or Distance and angle), the user does not have to create tolerances for both. Tolerances can be added to only one parameter, if required.
Equal distance Chamfer type displays 2 Distance tolerance values, which are reflected in the table, even though there is only one distance tolerance option in the dialog:
Two distances example:
Distance and angle example:
For cases where the chamfer results in a variable distance (for example, if the chamfer is applied to a cylinder face that is perpendicularly connected to another cylinder), try selecting tangent for the Measurement, to make the distance uniform along the edge:
Non-uniform chamfer using an Offset measurement displaying a Nominal value error.
Uniform chamfer using a Tangent measurement results in a Nominal value without error.
If a tolerance is placed on a hole feature, it can be displayed in the Inspection table.
Some things to keep in mind:
-
Hole dimensions are only visible as rows in the Inspection table. There are no dimensions placed in the graphics area. This is done so as not to clutter the graphics area with callouts.
-
Before hole dimensions are visible in the Inspection table, another callout (a datum, for example) must be placed on the part.
-
Only one set of dimensions (Diameter, Distance, and/or Angle) are shown per hole feature. Patterned holes or additional holes in the same feature are not dimensioned separately.
-
The custom Tip angle dimension is not currently supported and does not create a row in the Inspection table.
-
Cross-highlighting works as follows:
-
Distance (Depth) is not cross-highlighted because there are no faces at either end of the hole, and edges are not currently supported for MBD.
-
Diameter, Distance (Counterbore depth), and Angle (Countersink angle) cross-highlights a single face.
-
Hole dimensions are visible in the Inspection table after a Datum is added to one of the part's faces.
Axis distance dimensions between center circles:
Thickness is displayed in the Inspection table as a Distance row.
Thin extrude (Thickness 1 dimension):
Thin revolve (Thickness 1 dimension):
MBD errors do not create annotations or row entries in the Inspection table, unless an adjustment to the model is made that invalidates an existing annotation row entry.
Errors are displayed in red, similar to other Onshape errors:
Error generated when extruding from or into a solid. The annotation does not generate a row entry in the Inspection table.
If the geometry is altered so as to invalidate a specified annotation, its corresponding annotation is red in the graphics area, and highlighted red in the Inspection table, signaling an error. For example, The top face of the box was moved .5 in., resulting in the measured value (3.5 in.) differing from the specified value (3.0 in.):
Error examples
-
A reference is missing for this annotation - Occurs when a reference is missing. For example, Part A is extruded up to the face of part B, and a tolerance is added to the Offset distance of the Part A extrusion.
-
Both faces must be from the same part - Model definitions are valid only on a per-part basis. For example, you cannot dimension the distance from a face on Part A to a face on Part B.
-
MBD annotations must always be associated with faces. Edges and vertices cannot currently be referenced.
-
Model definitions are valid only on a per-part basis. Composite parts are also valid. For example, you can dimension the distance between 2 faces on Part A or 2 faces on Part B, but not between a face on Part A and a face on Part B. To do this, first create a composite Part C from both Part A and Part B. You can then dimension the distance between these 2 faces.
-
Hovering over the Type row in the Inspection table cross-highlights the dimension in the graphics area.
-
When altering geometry of a part, all associated model definitions are highlighted orange:
-
If a part or Part Studio is derived via the Derived feature, all model definitions are read-only and cannot be edited. You can still move annotations, and driven dimensions are still updated if the derived geometry is altered; however, the underlying model definitions can only be adjusted in the source Part Studio, and then updated in the Derived Feature. See Derived for more information.