Siemens NX Engraving: Resolving DXF Geometry Selection Failures

David Krause13 min read
Other TopicSiemensTroubleshooting
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

The Siemens NX CAM Engraving operation refuses imported DXF curves by design and exposes only Notes, Labels, and Symbols in its geometry selector. This article explains why, and documents three field-validated workarounds for engraving Adobe Illustrator logos and arbitrary polylines through Planar Mill, Surface Contour, and automation journals.

Overview

The Engraving operation in Siemens NX5 through NX10 is purpose-built for drafting text annotations, not for arbitrary model geometry. When a user imports a logo from Adobe Illustrator as a DXF, the resulting curves arrive as UF_spline_type, UF_line_type, or UF_circle_type objects inside the part file. Launching the Engraving operation and trying to window-select that geometry produces an empty selection set because the underlying UF_OPER call only enumerates UF_draft_note_entity_t, UF_draft_label_entity_t, and UF_draft_symbol_entity_t entities.

This article documents:

  • The architectural reason behind the NX engraving operation's text-only filter
  • The canonical planar text engraving workflow using Drafting + Manufacturing
  • Three field-proven workarounds for engraving imported DXF geometry
  • Tool recommendations and feeds/speeds for fine engraving
  • DXF import pre-flight to minimize downstream failures
  • A troubleshooting matrix keyed to common symptoms
  • Verification and toolpath validation steps
Note: Siemens PLM at no public point has shipped an image-engraving capability inside the Engraving operation. Customer demand has historically been light, and NX CAD/CAM teams have built logos and signatures through Surface Contour + Curve/Point drive for over a decade. Treat those workflows as the long-term solution.

Why the Text Engraving Operation Will Not Accept Curves

The Engraving operation in NX5 (and carried forward through NX10) is bound to annotation geometry. Internally, the operation calls UF_OPER_ask_geom_id_array only against draft entity types. Imported DXF entities arrive in NX as model geometry:

  • UF_spline_type - splines
  • UF_line_type - line segments
  • UF_circle_type - arcs and circles
  • Composite curve containers

These are not drafting entities. The selection dialog filters them out because the operation cannot translate a UF_spline_type directly into a stroke pattern without an intermediate character decomposition. Therefore, attempting to select a logo curve chain inside the Text Engraving operation is unsupported by design.

The single exception: if the DXF contains true drafting text (TEXT entities), the importer places them as NX Notes. Those Notes will be selectable from inside the Engraving operation. Adobe Illustrator by default exports curves as splines, not as text - so a logo almost always fails this filter.

Architectural constraint: The Engraving operation decomposes each character of a draft note into a single stroke offset by the tool radius. The operation needs a closed/decomposable character outline produced by the font shaper. Splines from a DXF have no character semantics, so the operation has no rule for toolpath ordering.

Configuration Prerequisites

Before launching the Engraving operation or its workarounds, ensure the following are in place:

Item Requirement Notes
NX License NX Manufacturing / Mach bundle Engraving belongs to the mill-turn machining bundle
Active Application Manufacturing, with PROGRAM, TOOL, GEOMETRY, METHOD parent nodes defined Required for any operation
Drafting Module Licensed Required for planar text workflow
DXF/DWG Translator Licensed Maps DXF layers to NX layer categories
Font Availability Single-stroke (engraving) fonts loaded E.g., ENGRAVING_5PT, ROMULUS, or Hershey-style fonts
Post Processor Built and tested for the target control Engraving uses simple G01/G02 moves plus ramps

Workflow A: Planar Text Engraving (The Supported Path)

This is the canonical Siemens-recommended workflow for text engraving on a flat face. It uses Drafting to host the text, then Manufacturing to cut it. The approach has been stable from NX5 through NX10, with only minor UI refinements in NX6.

  1. Switch to Drafting. Application → Drafting.
  2. Create a sheet. Right-click the part node and select New Sheet. Confirm sheet name (e.g., Sheet 1) and size (typically C for A2 or B for A3).
  3. Toggle Display Sheet off. On the Drafting toolbar, click Display Sheet to dismiss the sheet border. The graphics window now behaves like Modeling while Drafting remains the active application.
  4. Create the text block. Insert → Annotation → Text. Place an origin on or near the part, select a single-stroke font (e.g., ROMULUS, ENGRAVING_5PT, or ISOCPEUR), and enter the engraving string. Single-stroke fonts are mandatory; closed-counter fonts like ROMAN produce toolpath anomalies.
  5. Return to Manufacturing. Application → Manufacturing.
  6. Create the Engraving operation. In the Operation Navigator, pick the program/tool/method/geometry set. Create Operation → mill_planar → Engraving (Planar Text). Choose a 2D planar face as the geometry.
  7. Select the draft text. When the selection dialog prompts Select Text, click the text block created in step 4. In NX5, the dialog asks for text Left, Right, or On the geometry; NX6 and later collapse this to a single selection.
  8. Configure the operation.
    • Depth = 0.005" to 0.015" per pass
    • Multiple depths via the Passes toggle
    • Engage motion = Ramp (preferred for engraving)
    • Steep angle = 90° for vertical walls
    • Cut direction = typically Climb
  9. Generate toolpath. Click Generate then Generate Tool Path (or Generate and Simulate).
  10. Post-process. Output CLS, then post with the configured Post Builder post.

NX5 vs NX6+ Operation Differences

Feature NX5 NX6 and Later
Text selection prompt Asks for text Left, Right, or On the curve Single Select Text prompt
Multiple depth cuts Supported Supported
Ramp engage moves Supported Supported
Default behavior on shaded splines Filters to drafting entities only Same
Steep angle audit Manual Auto-warns on out-of-steep moves

The NX6 simplification removed a usability hurdle for new users but did not extend the supported geometry types.

Workflow B: Engraving Imported DXF Geometry

When the engraving source is geometry (curves, splines, polylines from Illustrator → DXF), three field-validated workarounds exist. Pick based on face geometry:

Workflow Selection Drafting Text Only? → Use Engraving Op (Workflow A) No Imported DXF Curves Choose by target face geometry Workaround 1 Planar Mill + ON Boundaries (flat face) Workaround 2 Surface Contour + Curve/Point Drive (3-D surface) Workaround 3 Automation Journal (.tcl loop) (high-volume)

Workaround 1: Planar Mill with ON Boundaries (Flat Faces)

This is the most direct substitute when the engraving target is a planar face and the source is a curve chain.

  1. Create a mill_planar operation of type Planar Mill.
  2. Set Boundary Type to ON and chain the DXF curves as boundaries.
  3. Set Cut Pattern to Standard Drive. This follows the chain in order and repositions between chains via clearance plane.
  4. Set Floor using a negative stock offset into the part to create the engraved recess (typically -0.005" to -0.010").
  5. Tool diameter should match the visual line width of the engraved result.

Why this works: Standard Drive walks the chain in order and re-positions to the next chain through clearance - exactly mimicking text-stroke behavior. The floor offset into the part produces the recessed line.

Workaround 2: Surface Contour with Curve/Point Drive (3-D Surfaces)

For engravings on free-form surfaces, use surface contouring driven by the curves.

  1. Create a mill_contour operation of type Surface Contour.
  2. Set Drive Method to Curve/Point.
  3. Click each DXF curve to drive the toolpath. To avoid repeat window-clicking on hundreds of curves, chain the geometry with the Connected Curves intent and use MB2 to add additional chains into one selection set.
  4. Apply Depth of Cut Per Pass and Multiple Stepover for layered engraving.
  5. Use a ball mill or conical engraver as the cutter.

Field note: NX7.5 users reported that without Connected Curves intent, each curve must be clicked individually, which becomes prohibitive above a few dozen curves. The journal approach below addresses that.

Workaround 3: Automation Journal (High-Volume / Image Engraving)

For production runs with hundreds of curves, write a CAM Automation Journal (.tcl) that loops through DXF curve objects and emits tool moves per curve. This is the most scalable approach and is what experienced NX power users adopt for image-style work.

# Conceptual .tcl loop: emit motion per curve in selected set
set op [UF_OPER_ask_operation_by_name "ENGRAVING_OP"]
set geoms [UF_OPER_ask_geom_id_array $op]
foreach obj $geoms {
  set type [UF_OBJ_ask_type $obj]
  switch -- $type {
    "UF_spline_type" {
      set params [UF_CURVE_ask_spline_params $obj]
      # tessellate, sample NURF knots, emit G01 moves
      # ... CLS output logic ...
    }
    "UF_line_type" {
      set ends [UF_CURVE_ask_line_data $obj]
      # emit G01 from [lindex $ends 0] to [lindex $ends 1]
    }
    "UF_circle_type" {
      # emit G02/G03 arc
    }
    default {
      # skip unsupported
    }
  }
}
Note: Siemens does not ship image engraving as a stock feature because customer demand has historically been limited. Surface contouring with curve/point drive is the documented substitute and the path used by NX power users for image work. See the broader Siemens NX documentation library at docs.sw.siemens.com for current catalogs.

Tool Selection for Fine Engraving

Engraving tools fail by snapping or chipping when plunged. Field-tested recommendations from Siemens manufacturing power users:

Tool Type Diameter Use Case Notes
Ball mill 1/16" (0.0625") General-purpose text Standard, robust, forgiving
Ball mill 1/32" (0.0312") Fine logos Reduce ramp angle to ≤ 1°
Ball mill 1/64" (0.0156") Hairline text Spindle ≥ 30,000 RPM required
4-sided pyramidal .001" - .010" tip Micro-engraving 5° - 15° included draft angle
Conical engraver 30° or 60° included V-carved text Produces constant-width grooves

Starting Feeds and Speeds

Tool RPM Feed (IPM) Stepover Notes
1/16" ball 12,000 10 0.005" - 0.010"
1/32" ball 18,000 6 0.003" - 0.005"
1/64" ball 30,000 3 0.001" - 0.002"
4-sided .005" tip 40,000 2 0.001"

Always use ramp engagement at ≤ 5° to load the tool gradually. Plunging into a flat face with a 1/32" ball is a guaranteed snap.

Safety: Tool engagement below the original stock is the most common operator-side root cause of engraving failures. Verify ramp angle and engage direction before dry-running the toolpath.

DXF Import Best Practices

Adobe Illustrator DXF outputs frequently produce downstream engraving failures. Apply these pre-flight steps before importing into NX:

  1. Convert all paths to polylines with maximum chord deviation ≤ 0.0005". Illustrator defaults to higher deviation, which produces faceted engraving output.
  2. Explode blocks so each path is selectable downstream.
  3. Delete duplicate geometry using Illustrator's Path → Simplify or the Remove Brushes filter.
  4. Scale to physical units. DXF commonly ships in inches but Illustrator may export in mm depending on R12 compatibility settings - confirm by inspecting a known reference.
  5. Re-anchor at a single origin to ease boundary chaining in NX.
  6. Import via File → Import → DXF/DWG and map cut lines to a unique layer category, e.g., LAYER_ENGRAVE. This dramatically simplifies boundary selection later.
Critical: Illustrator outputs .ai curves as splines, not as TrueType text. NX imports splines as spline bodies, which the Engraving operation cannot select. The DXF layer name is the single biggest lever you have at import time - tag every cut line explicitly.

Troubleshooting Matrix

Symptom Probable Cause Resolution
Only Notes / Labels / Symbols listed in the selection dialog DXF arrived as geometry, not text Switch to Planar Mill + ON Boundaries (Workaround 1)
All curves imported but selection reverts to single curve per operation Multiple unchained geometries Chain with Connected Curves + MB2, or use automation journal
Toolpath lifts between characters excessively Operate in Planar text with Lift engage Set engage to Ramp, disengage to Off
Tool snaps at start of cut Plunge into face Switch to Ramp engage at 3° - 5°
Text appears mirrored Wrong plane orientation or text direction Verify WCS in geometry set; rotate text about Z
Engraving depth inconsistent across letters Bottom stock offset on same face as floor Use floor surface offset or separate geometry for floor
Toolpath missing characters Font has closed loops (e.g., e, a) that NC post ignores Use single-stroke fonts; avoid ROMAN or COMPLEX
Operation fails to generate any toolpath Empty drafting text selection Confirm the text entity was selected, not its leader line
Engraved output faceted DXF chord deviation too high Re-export from Illustrator with chord ≤ 0.0005"
Toolpath misaligned from DXF origin Layer offset not respected on import Re-import with origin-on-design-WS option enabled
Cutter pushes through stock on first loop Ramp engages from below floor Invert ramp direction; verify engage starts above stock

Verification Procedure

After generating the toolpath, perform these validation steps before posting to the control:

  1. Visual toolpath check. Run Simulate Tool Path with the part loaded. Confirm the path traces every character or curve in order with no skipped segments.
  2. Gouge check. In Simulation, enable gouge check coloring and confirm no red marks on surrounding faces. Engraving at the wrong Z offset commonly gouges the floor outside the intended boundary.
  3. Steep angle audit. Verify all engage moves are ramps, not plunges. The Steep Angle field should report 90° engages with low ramp angle, not 0° (vertical plunge).
  4. Material removal simulation. Run a Material Removal Simulation with engraving depth stock and confirm the recess lands where expected.
  5. Post-process audit. Open the generated CLS in Edit CLS and verify GOTO positions, CIRCLE/POCKET cycles, and feed numbers match the planned parameters.
  6. Dry run on the machine. With DRY_RUN set on the control (or with the spindle disabled), air-cut the path to verify motion, clearance, and inter-chain lifts. Check for any near-collisions with the fixture or clamps.
  7. Witness cut. For new tools or new material, run a witness on scrap using the same parameters and inspect the result under magnification.
Verification gap: NX Engraving operation's auto-engage check prior to NX10 did not always catch the case where the engage ramp vector aligned with the cutter axis but exited through the floor surface. Always simulate, especially on thin webs.

NX Version Compatibility

NX Version Engraving Behavior Notes
NX5 Planar Text with Left/Right/On prompts Last version with three directional choices
NX6 Single text prompt; UI cleanup to ramp motion Usability improvement; no new geometry support
NX7.5 Same as NX6; users on this version report "select one curve at a time" limitations in workarounds Most field reports of "select with window" issues originate here
NX10 Same behavior; multi-axis engraving for 4/5-axis still limited Curve/point drive remains the substitute for image work
NX12 and later Improved surface contour drives; image engraving still absent from the Engraving operation Streamline-of-curve drive as an alternative

Version labels at a glance: NX1 in the new convention corresponds to UG v19 in the legacy numbering, so by that mapping today's NX would be the equivalent of UG v24 - a useful cross-reference when porting older workflows.

Engineering note on 4-axis engraving: Substituting one machine axis for a fourth-axis rotary output (cylinder engraving as in Mastercam) is not a stock capability of the NX Engraving operation. Use Surface Contour with axis substitution enabled in the geometry set, or wrap the operation in a journal that re-evaluates output position per rotary index.

Support and Documentation

For license, post-processor, and journal-related questions, use the official Siemens channels:

Frequently Asked Questions

Why does the NX Engraving operation only let me pick Notes, Labels, and Symbols?

Because the operation is hard-coded to accept drafting annotation entities. Imported DXF curves and splines are model geometry, not drafts, so the selection filter excludes them. This is by design in NX5 through NX10 and later versions - the operation decomposes a character into a stroke offset and has no rule for toolpath ordering over arbitrary splines.

Can NX engrave a logo drawn in Adobe Illustrator?

Not directly through the Text Engraving operation. Import the DXF and use Planar Mill with ON Boundaries (cut pattern Standard Drive) for flat faces, or Surface Contour with Curve/Point drive for 3-D surfaces. Both produce equivalent visual results when configured with the right floor offset and tool diameter.

What font should I use for engraving in NX?

A single-stroke drafting font such as ROMULUS, ENGRAVING_5PT, or ISOCPEUR. Avoid decorative fonts like ROMAN COMPLEX because their closed counter-shapes defeat NC toolpath generation and produce missing or doubled strokes.

What is the smallest tool NX engraving users typically run?

1/64" ball mills at 30,000 RPM are common in production; 4-sided pyramidal cutters go as small as .001" tip with 5° - 15° drafts. Always use ramp engagement at ≤ 5° and verify with a witness cut on scrap before running in production.

Does Siemens support 4-axis image engraving like Mastercam?

No - the NX Engraving operation does not perform axis substitution for 4-axis rotary engraving in stock form. Workaround: use Surface Contour with Curve/Point drive on a wrapped-cylinder surface, with axis substitution enabled in the geometry set.

How do I select many curves at once for an engraving operation?

Chain them with Connected Curves, then use MB2 to add additional sets into one chain. For very large numbers (300+ curves), an automation journal loops over the geom array and emits moves per curve - this is the fastest path for image-style work.

Back to blog