Showing results for 
Search instead for 
Do you mean 

How to use NX Open?

As someone who has been using NX for design purposes for many years, and who is very new to both VB and Journaling, I would like to understand a thing about journaling.


The question is, do you (active NX Open Users) record a journal for something that you want to achieve automatically, and then tweak the already generated VB Code, or do you start typing everything in the journal editor from the very beginning (looks very cumbersome) and create the full code for your goal?


In general, how do the users use this tool?


Re: How to use NX Open?

A good starting place would be the following documents in the online help:


Getting Started with NX Open


Getting Started with NX SNAP


SNAP is a subset of NX Open that is wrapped to make the interaction more simplified.

Re: How to use NX Open?

In general, both :-)

There are also examples in the "Solutions" database (

and in the install folder (%UGII_BASE_DIR%\UGOPEN\SampleNXOpenApplications)



Ken Akerboom Sr CAx Systems Engr, Moog, Inc.
Production: NX10.0.3.5 MP5 + patch/TC11.2
I'd rather be e-steemed than e-diseaseled

Re: How to use NX Open?

I use SharpDevelop to develop my journals, with the ability to compile them into DLLs and EXEs.

The code completion is very useful and the syntax check is handy too.

I usually record a simple journal of a single action to get a feeling for the methods and properties that need to be used.

I then create the full functional program in the IDE of SharpDevelop.

Since I am still doing everything in VB.NET, I use version 4 of SharpDevelop, because version 5 only supports C#.

Stefan Pendl, Systemmanager CAx, HAIDLMAIR GmbH
Production: NX10.0.3, VERICUT 8.0, FBM, MRL 3.1.4 | TcUA 10.1 MP7 Patch 0 ( | TcVis 10.1
Development: VB.NET, Tcl/Tk    Testing: NX11.0 EAP, NX12.0 EAP

How to Get the Most from Your Signature in the Community

Re: How to use NX Open?

I am not a vb programmer. I don't understand vb, but I can hack an existing program pretty well.

I always start with a sample program or boiler plate to get the structure I need. For example, editing the object selected in the ONT. 

Then I record a journal of what I want to automate, get the names of the builders and parameters that I need, and merge that in to my program. 

Mark Rief
Retired Siemens

Re: How to use NX Open?

I typically write programs from scratch, or I modify existing programs; I don't use recorded journals even as a starting point. I find that recording journals is useful mainly for finding functions and seeing examples of how they are called. 


I never write code in the journal editor. I don't write code very often, and I use several different languages, so I'm always forgetting the details of syntax. So I need a good IDE that will help me get things right. I use either Visual Studio or SharpDevelop. Both are free.


I mostly write either VB or C# code calling SNAP functions. SNAP does a large fraction of what I typically need, but not 100%, so I call NX/Open functions when I have to. SNAP and NX/Open are designed to be mixed painlessly.




Re: How to use NX Open?

Please correct me if i am wrong but Snap requires an additional licence to be purchased, but NX Open does not, am i right?


Secondly, with Snap, automation tasks can be done only for the modeling environment, but NX Open can be used for every module,is that correct?

Re: How to use NX Open?

If you only want to replay Journals, then you don't need a license.

If you want to turn your Journal into an executable (DLL or EXE), then you need a license.

Also Mini-SNAP is available for free.

Generally SNAP can be seen as a set of wrappers to make live easier, or as a future replacement for GRIP.

Stefan Pendl, Systemmanager CAx, HAIDLMAIR GmbH
Production: NX10.0.3, VERICUT 8.0, FBM, MRL 3.1.4 | TcUA 10.1 MP7 Patch 0 ( | TcVis 10.1
Development: VB.NET, Tcl/Tk    Testing: NX11.0 EAP, NX12.0 EAP

How to Get the Most from Your Signature in the Community

Re: How to use NX Open?

[ Edited ]

Stefan's answer is correct. A few additional points, though.

A SNAP license costs a lot less than an NX/Open "authoring" license (last time I looked, anyway).

The goal of SNAP is to make simple things easy, mostly by simplifying functions, and by providing good documentation and sample code.

The SNAP functions do more than just modeling. For example, they also cover things like:

1. Vector arithmetic (adding, subtracting, dot and cross products, etc.)

2. Coordinate systems, and mapping between them

3. Object properties (colors, line widths, etc.)

4. User defined attributes

5. Topology of bodies (faces, edges, loops, vertices, etc.)

6. Layers and categories

7. Assemblies (reading, but not writing)

8. User interface creation (with or without Block Styler)

9. Global variables like workPart, WCS, units, tolerances, etc.

8. Database cycling

10. Some math stuff (linear solvers, eigenvalues, etc.)

11. Geometric calculations (weights, lengths, areas, distances)


But, still, SNAP is fairly narrow (no CAM, no CAE, no drafting), and I often find myself using a mixture of SNAP and NX/Open functions. This works fine.

Every time you use a SNAP function instead of an NX/Open function, you'll save some time/effort, but if that doesn't happen very often, then the main value of SNAP is as a learning tool. And you could use MiniSnap for the learning, anyway (which is free).

And, if you want to write code in C++, or Java, or Python, then SNAP won't help you (though the SNAP documentation might still be valuable). SNAP only works with .NET languages (VB, C#, F#, IronPython, etc.)


Disclaimer: I was involved in developing SNAP, so I'm probably biased (though I try not to be). But I use it quite a lot myself, so I can see its weaknesses as well as its strengths. I won't get a pay raise if you buy a SNAP license  Smiley Wink.