Move parts list callout leader location

The parts list autoballoon function can be a great time-saver. Unfortunately, it often picks undesirable locations when attaching the leader arrow to the component of interest. The leader locations are easily moved, but when working quickly or on a cramped drawing it can be easy to unintentionally pick the edge of a neighboring component. When the parts list updates, the callouts update and you are left with a component that has no callout.

Expressions: query existing expressions

Expressions are used extensively in NX; they are the parameters of your parametric model. If you write journal code, chances are good that you will need to deal with expressions sooner or later. The code below illustrates how to access all of the expressions in the work part and it shows how to use several key properties and methods of expression objects. When run, the journal will write information about each expression in the current work part to the information window.

Create Interpart Expression

The following journal was submitted by user macaber8. The code checks the current work part for the existence of a certain (interpart) expression; if the expression is not found it is created. The code illustrates finding an expression object given a name and creating an interpart expression.

Thank you macaber8 for sharing your code!

Report Missing Parts List Balloons

When working with a parts list on an assembly drawing, it can be difficult to determine if each item in the list has an associated callout balloon on the drawing. NX offers no command to report those items that have missing callouts; the usual course of action is to print a copy of the drawing and manually working through the parts list marking off those items for which you find a balloon. Frank Berger (of GTAC) has recognized this shortcoming and has written a journal that when run will report which items in the list have no corresponding balloon callout.

Using VectorArithmetic.Vector3

The NXOpen.VectorArithmetic Namespace has three classes: Matrix3, Quaternion and Vector3. The
example journal below shows the ease that the vector3 object can be created and used. The code
ask the user to select a datum plane and a datum axis and then creates a point on the datum plane
at the intersection point with the datum axis direction. The journal will not work if the datum plane
normal is perpendicular to the datum axis.