NXKnowledge

NX Open Programmer's Guide > User Defined Objects > UDO Overview

UDO Overview

User Defined Objects (UDOs) let you add custom objects inside NX for objects that don't already exist natively. You define the UDO's stored data and its behavior in NX.

Warning: the libraries containing a UDO's class and defined behaviors (callbacks, properties) must be present in the NX session before opening a part containing that UDO — NX gives no warning by default about missing libraries. These required libraries can be auto-loaded during system initialization (see Automatic Loading at Startup).

Customized data types

  • UDO Name — a UDO class name specifier.
  • Free Form Data — integers, doubles, and strings.
  • Convertible Data — lengths, areas, and volumes.
  • Links to NX Objects — five different link types.

Behavior callbacks

  • Display — draws the UDO via primitive shapes (points, lines, arcs, curves, facets). If not implemented, the UDO is invisible.
  • Attention Point — defines where temporary notes/numbers are placed on the object (e.g. after Menu→Information→Object). Recommended to reuse the same method as Display.
  • Fit — defines the UDO's boundaries, evaluated during Menu→View→Operation→Fit. Recommended to reuse the same method as Display.
  • Selection — defines the screen regions used to select the UDO. Recommended to reuse the same method as Display, so the same points that are drawn are also the ones used to hover/select — otherwise you can end up with invisible-but-selectable points. Note: adding/removing the UDO class from the Type list of the class selection dialog is a separate step from implementing this callback; implementing it alone does not make the UDO selectable.
  • Update — lets the UDO update when its linked object(s) go through update (execution depends on link type used).
  • Delete — lets the UDO clean up when its linked object(s) are deleted (execution depends on link type used).
  • Edit — invoked when the user edits the UDO (Menu→Edit→User Defined Object, or MB3 right-click → Edit).
  • Information — invoked via Menu→Information→Object when the UDO is selected.

Properties affecting behavior

  • Is Occurrenceable — whether the UDO displays in an assembly, or only when its containing part is the displayed part.
  • Allow Owned Object Selection — whether objects owned by this class can be selected.
  • Warn User Flag — whether to warn when a part loads containing UDOs of an unregistered class. This warning fires at most once per session, even with multiple unregistered classes.

Additional points of interest

  • UDO Status — indicates whether the UDO is out of date and why.
  • UDO Features — UDOs can also be features (participate in the feature/history model).

Source: https://docs.sw.siemens.com/en-US/doc/209349590/PL20220512394070742.nxopen_prog_guide/genid_udo_overview_66_3929 · retrieved Tue Jul 07 2026 00:00:00 GMT+0000 (Coordinated Universal Time)