NX Automatic Dimensioning: The Short Version
NX automatic dimensioning means having Siemens NX, NXOpen rules or an AI assistant place the dimensions on a 2D drawing. inteliScience, NX and NXOpen specialists delivering nearshore from Romania, runs two customer projects on it: drawings, views and first dimensions work, roughly 40 percent is automated by our estimate, and tolerances and surface symbols remain hard.
The Problem: Placing a Dimension Takes Seconds, Choosing It Takes Judgement
When an NX customer’s design team ranked AI use cases with us, one request was unusually concrete: automatic horizontal and vertical dimensioning of 2D drawings. A good request, because it can be measured, and one where “automatic” means three different things: native NX, rule-based NXOpen code or an AI assistant.
Placing a dimension in NX Drafting is a few clicks. Deciding that this distance, from this edge, in this view, with this tolerance, is what the machinist and the inspector need is the actual work, and it carries design intent. A 2023 paper from the University of Western Macedonia describes commercial CAD bluntly: systems place dimensions “without strictly adhering to standard dimensioning rules”, with overlaps, repetitions and misplacement, so the generated set is “the starting point for a manual improvement”.
We see the same thing.
Templates, view types and the master model are covered in our NX drawing automation whitepaper. This article starts where the views are on the sheet and asks only about the dimensions.
What NX Gives You Natively
Native NX does not decide which dimensions a drawing needs. It removes clicks: type inference, fixed directions, chain, baseline and ordinate sets, hole callouts from features, PMI carried into drafting views. Every one of these still needs someone to pick the references.
| NX Drafting tool | What it automates | What stays with the drafter |
|---|---|---|
| Rapid Dimension | Infers linear, radial or angular type from the selection | Every reference and placement |
| Linear Dimension, Horizontal or Vertical method | Fixes the direction; chain and baseline sets group a row | Which features, from which edge |
| Ordinate Dimension | Positions from one origin with margins, several sets per view | The origin, which is a datum decision |
| Hole Callout and Hole Table | Callout text from the hole feature; one table for many holes | Which holes go into the table |
| Feature Parameters | Pulls sketch dimensions and hole and thread callouts into a view | Cleanup, because sketches reflect modelling |
| Inherit PMI | Shows the model’s PMI in the drafting view, associatively | Authoring good PMI first |
The customer’s question sits in the second row. The NXOpen API lists Horizontal and Vertical as measurement methods next to Inferred, Point-to-Point, Perpendicular, Cylindrical and Hole Callout, plus a dimension set method with the values Chain, Baseline and None. The direction is solved. Which edges, from which reference, is not.
Feature Parameters, an older Drafting command you may have to find with Command Finder, produces many dimensions at once, but they describe how the sketch was built, not how the part is inspected. Our clear recommendation: if your models carry PMI, inherit it; sketch dimensions are no shortcut to a finished drawing.
Why Dimensioning Is Hard to Automate
Because a correct dimension set is a functional statement, not a geometric one. A bracket can be dimensioned correctly in several ways, and only one matches how it locates, how it is machined and how it is inspected. Rules encode part of that; the rest lives in the designer’s head.
Design intent and the choice of reference
A bearing seat is dimensioned from the shoulder the bearing sits against, not from the nearest edge. Choosing that reference is choosing a datum, and geometry alone does not say which face locates the part. The result of a wrong choice is complete, clean and functionally wrong, and it passes a visual check.
Redundancy and tolerance stack-up
ISO 129-1:2018 is explicit: “Only the dimensions necessary to unambiguously define the nominal geometry (nominal model) shall be presented”, each of them once. An algorithm that dimensions every edge breaks this on the first view. The scheme also decides accumulation: five chained dimensions at ±0.1 mm let the last feature move up to ±0.5 mm relative to the first; five baseline dimensions from one datum keep each within ±0.1 mm. For generated drawings we prefer baseline or ordinate from a declared datum over chains: the stack-up is answered by construction.
Placement and clutter
ISO 129-1 wants dimensions “in a view or section which shows the relevant feature(s) most clearly”. Picking that view is a decision; spacing, no crossing extension lines and no text over geometry follow. In our projects, placement takes more code than creating the dimension.
Company rules on top of the standard
ISO 129-1 sets general principles for presenting dimensions and tolerances on 2D drawings, excludes the application of tolerances and points to ISO 14405-1 for tolerancing principles. The rest is company practice: preferred datums per part class, ordinate or baseline per process, what the general tolerance note (ISO 2768-1 in many DACH title blocks) covers. We described how to turn such guidelines into executable company design rules in NX.
Tolerances and surface texture symbols
A tolerance states function: a fit, a stack-up, an inspection method. Surface texture adds a process decision, and its standard is in transition: ISO 21920-1:2021 cancelled and replaced ISO 1302:2002 and made the maximum rule the default acceptance rule. The Siemens support knowledge base carries an article titled “Surface Finish symbols from ISO 21920 standard, missing in NX 2412”, so check what your release draws before automating a single symbol.
What Rule-Based NXOpen Automation Adds
Rules turn the native tools into a pipeline. For a known part class, code recognises the features, fixes a datum per view, creates horizontal and vertical dimensions from it, groups them into baseline or ordinate sets and places them by a spacing rule. Deterministic and testable, until a part leaves its class.
The API call is the small part, as this VB.NET skeleton shows; everything that makes the dimension correct is decided before it runs.
' Skeleton: one horizontal (or vertical) dimension in a drafting view.
' The references and the origin come from your rules, not from this code.
Dim builder As LinearDimensionBuilder = _
workPart.Dimensions.CreateLinearDimensionBuilder(Nothing)
Try
builder.Measurement.Method = _
DimensionMeasurementBuilder.MeasurementMethod.Horizontal ' or .Vertical
' builder.DimensionSet.Method takes DimensionSetMethod.Chain, .Baseline
' or .None. References go in via FirstAssociativity.SetValue(...) and
' SecondAssociativity.SetValue(...): record one dimension as a journal
' to get the exact arguments for your NX release.
builder.Origin.OriginPoint = placementPoint ' from your spacing rule
Dim newDimension As NXObject = builder.Commit()
Finally
builder.Destroy()
End Try
The rules must settle the datum per part class and view, the feature types that always get dimensioned, the set type, the spacing, and what happens when no rule applies. Our answer to the last never changes: skip and report, never guess. This is NX automatic dimensioning at its most reliable, for part families with stable geometry. It does not generalise across a mixed part spectrum.
Where AI Helps, and Where Our Projects Stand
AI helps with the judgement rules cannot express cleanly: reading the model and the house guideline, telling a locating hole from a clearance hole, proposing which dimensions a view needs and from which reference. NXOpen executes the proposal, rules check it, a human releases the drawing. The model never places dimensions by guessing coordinates.
NXOpen then creates native, associative NX objects from the assistant’s proposal. For PMI we have shown exactly that: dimensions and hole callouts created by the AI stay movable, editable and attached to the geometry. How a written guideline drives such proposals is described in our AI-generated PMI experiment. Rules kept in a wiki are queried live through its API, and the function can run behind a button or in batch instead of a chat.
Where our projects stand, plainly. inteliScience has two customer projects working on automatic 2D dimensioning. Drawing creation, views and first dimensions work. We estimate the current degree of automation at roughly 40 percent of the dimensioning, and rising. That is our own estimate, not a benchmark; your number depends on your parts and on how explicit your rules are. Tolerances and surface finish symbols are the hard part.
Siemens approaches from the modelling side: the closest of the three AI capabilities listed for the December 2025 Designcenter NX release predicts annotation planes and model views for PMI. Choosing a drawing’s dimensions is not on the list, and drafting is not a focus area of the September 2026 Early Access Program for Designcenter 2612.
| Dimension class | Example | Our rating today |
|---|---|---|
| Overall dimensions | Length, width, height of a plate | Automatable today |
| Hole callouts | Thread, counterbore, depth | Automatable today, from the feature |
| Hole and pattern positions | Hole grid, bolt circle | Rule-based, once a rule fixes the datum |
| Horizontal and vertical feature positions | Steps, pockets, slots | Rule-based, per part class |
| Feature sizes | Keyway width and depth | Rule-based, per feature type |
| Functional distances | Bearing seat to shoulder | Needs a human, AI can propose |
| Size tolerances and fits | H7 bore, ±0.02 mm | Needs a human, AI can propose |
| Geometric tolerances and datums | Position, flatness | Needs a human |
| Surface texture symbols | Ra on a sealing face | Needs a human, AI can propose |
| Layout and spacing | No overlaps, readable order | Rule-based, then review |
These ratings come from our current projects, not from a general classification. We would advise against automating tolerances before the reference scheme is stable: a tolerance on the wrong reference is worse than none, because it looks deliberate.
This works on pilot drawings. What is missing for production: rules encoded per part class, a datum scheme a checker can verify, tolerance proposals a human confirms, associativity that survives model changes, and hosting in the EU, in Germany or on-premise. inteliScience closes that gap with nearshore NX and NXOpen engineers in Romania, one hour ahead of CET, starting with the Drawing and Documentation Assistant for Siemens NX.
How to Measure the Degree of Automation in a Pilot
Count, on your own drawings. Regenerate drawings you already released and trust, then compare dimension by dimension: placed, accepted, corrected, missing, and the drafter’s time to finish. Agree pass thresholds per dimension class before the pilot starts.
- Reference set. Five to ten released drawings of one part class that your checkers consider correct.
- Required dimensions. Count them per class on each reference drawing, tolerances and surface symbols included.
- Placed dimensions. Generate the drawings from the same models and count again.
- Review marks. A drafter marks every generated dimension: accepted, moved only, wrong reference, redundant, missing.
- Degree of automation. Accepted divided by required, per class, never only as one overall number.
- Correction time. Minutes to finish the generated drawing against minutes to dimension it by hand.
- Associativity. Change the model once, update, and count retained dimensions, the ones NX keeps after losing their geometry reference.
- Thresholds. Per class, signed off by the checker who releases drawings today.
Items 2, 3 and 7 are counting, which is what code is for. This journal lists the work part’s dimensions by class, with toleranced and retained counts; run it on the reference and the generated drawing. If your views inherit PMI, check on your release which part holds those dimensions.
' Dimension inventory for the work part (NX journal, VB.NET).
Option Strict Off
Imports System
Imports System.Collections.Generic
Imports NXOpen
Imports NXOpen.Annotations
Module DimensionInventory
Sub Main(ByVal args() As String)
Dim theSession As Session = Session.GetSession()
Dim workPart As Part = theSession.Parts.Work
Dim lw As ListingWindow = theSession.ListingWindow
lw.Open()
Dim byClass As New SortedDictionary(Of String, Integer)
Dim total As Integer = 0, toleranced As Integer = 0, retained As Integer = 0
For Each d As Annotations.Dimension In workPart.Dimensions
total += 1
Dim key As String = Classify(d)
If byClass.ContainsKey(key) Then byClass(key) += 1 Else byClass.Add(key, 1)
If HasOwnTolerance(d) Then toleranced += 1
If d.IsRetained Then retained += 1 ' lost its geometry reference
Next
lw.WriteLine("Drawing part: " & workPart.Leaf)
For Each entry As KeyValuePair(Of String, Integer) In byClass
lw.WriteLine(" " & entry.Key.PadRight(12) & entry.Value.ToString())
Next
lw.WriteLine(" total=" & total & " toleranced=" & toleranced & " retained=" & retained)
End Sub
Function Classify(ByVal d As Annotations.Dimension) As String
If TypeOf d Is BaseHorizontalDimension Then Return "horizontal"
If TypeOf d Is BaseVerticalDimension Then Return "vertical"
If TypeOf d Is OrdinateDimension Then Return "ordinate"
If TypeOf d Is BaseHoleDimension Then Return "hole"
If TypeOf d Is BaseDiameterDimension Then Return "diameter"
If TypeOf d Is BaseRadiusDimension Then Return "radius"
If TypeOf d Is BaseAngularDimension Then Return "angular"
Return "other"
End Function
Function HasOwnTolerance(ByVal d As Annotations.Dimension) As Boolean
Select Case d.ToleranceType
Case ToleranceType.None, ToleranceType.Basic, ToleranceType.BasicNotToScale, _
ToleranceType.Reference, ToleranceType.DiameterReference, ToleranceType.NotToScale
Return False
Case Else
Return True ' bilateral, unilateral, limits, limits and fits
End Select
End Function
Public Function GetUnloadOption(ByVal dummy As String) As Integer
Return Session.LibraryUnloadOption.Immediately
End Function
End Module
Counts are a filter, not the verdict. The verdict is item 4, because a generated drawing can carry the right number of dimensions on the wrong references.
Start with one real drawing
The fastest route to an honest number for NX automatic dimensioning on your parts is one session with one drawing. Bring a released drawing, its model and your dimensioning guideline. We rate every dimension against the classes above; you leave with an estimate for your part spectrum and the first reference of the pilot’s acceptance set. Pick the part class that fills your drafting week, not the showpiece: the showpiece shows what automation cannot do, the routine part what it saves. What else to bring, and whom to invite, is in our NX AI workshop checklist.
Frequently Asked Questions
What is NX automatic dimensioning?
It means having Siemens NX place the dimensions on a 2D drawing with little manual picking. Natively, NX infers dimension types, reads hole callouts from features and inherits PMI. NXOpen rules add complete sets for known part classes; an AI assistant proposes dimensions from the model and your guideline, and a human releases the drawing.
Can NX dimension a drawing automatically without programming?
Partly. Rapid Dimension, chain, baseline and ordinate sets, hole callouts, hole tables, Feature Parameters and Inherit PMI all reduce manual work. None of them decides which dimensions the part needs or which reference they are measured from.
How much of the dimensioning can be automated today?
In our two current customer projects, roughly 40 percent by our own estimate, and rising. Overall dimensions and hole callouts are easy; tolerances and surface texture symbols are hard. Measure your own number on your own drawings.
Rule-based NXOpen vs AI dimensioning: which should we start with?
Rule-based, if your parts form stable families and your rules fit in tables: deterministic and cheap to test. AI-assisted, if the part spectrum is mixed and the rules are prose with gaps; the AI proposes, a reviewer confirms. Both need written datum rules first.
How much does an automatic dimensioning pilot cost?
It depends on the number of part classes, how explicit your rules are, and whether tolerances and surface symbols are in scope. We scope a pilot at a fixed price after analysing one of your real drawings, not from a price list.
Next Step
Bring one released drawing, its model and your guideline, and we will show you, dimension by dimension, which share can be automated on your parts.
Book a strategy call about automatic dimensioning of your NX drawings
Related Topics
- NX drawing assistant for single parts
- NXOpen automation for part families
- Model-based definition or the 2D drawing
References
- Kakoulis, K. G., Konstantinidis, P., Manavis, A., Kyratsis, P., “A System for Automatic Dimensioning of Mechanical Drawings”, International Journal of Modern Manufacturing Technologies, Vol. XV, No. 3, 2023, doi 10.54684/ijmmt.2023.15.3.67: https://ijmmt.ro/download-paper/vol15no32023/8_Konstantinos%20G.%20Kakoulis.pdf (retrieved 2026-09-29)
- ISO 129-1:2018, Technical product documentation (TPD), Presentation of dimensions and tolerances, Part 1: General principles, clauses 4.1.1 and 4.2 (preview): https://cdn.standards.iteh.ai/samples/64007/426c238f9dbe454eb17901d1d32bfc90/ISO-129-1-2018.pdf and scope at SIS: https://www.sis.se/en/produkter/standardization/technical-drawings/general/ss-iso-129-12018/ (retrieved 2026-09-29)
- ISO 21920-1:2021, Geometrical product specifications (GPS), Surface texture: Profile, Part 1: Indication of surface texture, foreword (preview): https://cdn.standards.iteh.ai/samples/72196/5012ce84af1a4629a79764a48401a1db/ISO-21920-1-2021.pdf (retrieved 2026-09-29)
- ISO 2768-1:1989, General tolerances, Part 1: Tolerances for linear and angular dimensions without individual tolerance indications (ISO catalogue entry): https://www.iso.org/standard/7748.html (retrieved 2026-09-29)
- Siemens support knowledge base, “Surface Finish symbols from ISO 21920 standard, missing in NX 2412” (PL8837031, login required): https://support.sw.siemens.com/en-US/okba/PL8837031/Surface-Finish-symbols-from-ISO-21920-standard,-missing-in-NX-2412/index.html (retrieved 2026-09-29)
- Siemens Community, “Improve Dimensioning using Ordinate Dimensions in Drafting”: https://community.sw.siemens.com/s/article/improve-dimensioning-using-ordinate-dimensions-in-drafting (retrieved 2026-09-29)
- Siemens Community, “Automatic Dimensions and Placement in NX Drafting”: https://community.sw.siemens.com/s/article/automatic-dimensions-and-placement-in-nx-drafting, and CADabout, “Siemens NX Jet Hints: Feature-based Dimensioning in NX Drafting” (7 October 2016): http://cadabout.ru/2016/10/07/siemens-nx-jet-hints-feature-based-dimensioning-in-nx-drafting/ (retrieved 2026-09-29)
- NXOpen .NET Reference (NX 2022.1 mirror): DimensionCollection, BaseLinearDimensionBuilder, DimensionMeasurementBuilder.MeasurementMethod, DimensionSetBuilder.DimensionSetMethod, OriginBuilder, OrdinateDimensionBuilder, RapidDimensionBuilder, HoleTableBuilder, Dimension, Annotation, ToleranceType: https://nxopencsdocumentation.thescriptingengineer.com/NX2022_1/NXOpen.Annotations.DimensionCollection.html (retrieved 2026-09-29)
- NX Journaling, “Detecting & Cleaning broken dimensions/Symbols” (IsRetained on dimensions): https://www.nxjournaling.com/content/detecting-cleaning-broken-dimensionssymbols (retrieved 2026-09-29)
- Siemens Designcenter blog, “AI enabled design: What’s new in Designcenter NX, December 2025 release” (28 January 2026): https://blogs.sw.siemens.com/designcenter/ai-enabled-design-whats-new-in-designcenter-nx-december-2025-release/ (retrieved 2026-09-29)
- Siemens, “Welcome to the September 2026 Early Access Program for Designcenter” (Designcenter 2612): https://resources.sw.siemens.com/en-US/presentation-welcome-to-designcenter-early-access-program/ (retrieved 2026-09-29)

