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.

Placing a dimension break

When manually placing a dimension gap symbol (a symbol that creates a small break in a dimension line), it can be difficult to get the proper placement because the gap symbol has no visible geometry and therefore gives no useful feedback during the placement process. However, if you move the symbol after placing it (as you will likely need to), a small, temporary rectangle is drawn (overlay graphics) to show the outline of where the gap will be placed. Why the rectangle isn't shown when initially placing the symbol seems to be a bit of an oversight - one that we can correct with a bit of code.