Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations waross on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

Future for NX Customization and learning 3

Status
Not open for further replies.

Kavith

Aerospace
Sep 19, 2013
7
IN
Hi Friends,
I am working in design of aerospace for almost 7 years. Also I am good in UGNX. Now I need have a change in my career path.
So, I thought of Learning UGNX customization. If you guys let me know how would be the future for the same, it would be good to make a better decision. Also if I want to start with customization, Please let me know would be the preferred S/W of (C++, C#, JAVA).

Thanks in advance for your replies :)

Regards
Kavith
 
Replies continue below

Recommended for you

Hi Friends,
I am working in design of aerospace for almost 7 years. Also I am good in UGNX. Now I need have a change in my career path.
So, I thought of Learning UGNX customization. If you guys let me know how would be the future for the same, it would be good to make a better decision. Also if I want to start with customization, Please let me know, which would be the preferred S/W of (C++, C#, JAVA).

Thanks in advance for your replies :)

 
I think Cowski will probably answer this question. He's the master when it comes to journaling and nx customization ;-)

Best regards,

Michaël.

NX7.5.4.4 + TC Unified 8.3
Win 7 64 bit (Intel(R) Xeon(R) CPU X5650 @2.67GHz)
24.0 GB
NVIDIA Quadro 4000 + NVIDIA Tesla C2050

 
NX customization is a large topic of which writing code is only a part. It would also cover things such as:
[ul][li]NX installation[/li]
[li]customer defaults setup: modelling options & drafting standards[/li]
[li]custom roles[/li]
[li]drawing and part templates[/li]
[li]menu customization[/li]
[li]environment/workflow setup[/li]
[li]creating reuse libraries[/li]
[li]plotter/printer setup[/li]
[li]several other items I'm forgetting right now[/li][/ul]

If you learn the Knowledge Fusion (KF) language, you can create your own associative "features" to use in NX.

As for writing code, the options used to be GRIP or C/C++. In more recent releases you also have the option of using Java or any .NET compliant language. If you are familiar with a certain language, I'd suggest sticking with it.

Other factors to consider:
[ul][li]Do you anticipate writing code for multiple platforms (Windows, Linux, Mac, etc)? If so, you may want to go with Java or a "standard" C++ variant.[/li]
[li]Working mainly with Windows based systems? Try a .NET language. It is a "managed" environment, which will make your life as a programmer easier.[/li]
[li]What do you know about Teamcenter (TC)? Customizing the TC environment is another avenue full of code-writing opportunities. I helped a company transition to a TC environment a few years ago. My duties mainly consisted of cleaning up the CAD files and loading them into TC, but there was talk of customizing the environment. If I remember correctly, Java was either the required (or highly recommended) language to use. I don't know if that has changed since then.[/li][/ul]

Best of luck in the next stage of your career!

www.nxjournaling.com
 
Hi Cowski,
That was indeed a great and valuable information.I have myself worked on Knowledge Fusion but never tried to delve into NXOpen. I know you have quite a good expertise in NXOpen. Do you have any recommendation on how should i proceed with the same?
Best Regards
Kapil Sharma
 
kapmnit123 said:
Do you have any recommendation on how should i proceed with the same?

You'll need a basic understanding of programming concepts such as variables, branching, looping, functions, etc. From there you will need to pick a language to work with and discover how that particular language implements those fundamental concepts (search the web for tutorials or go to your local library for a reference book). If NX supports a language you have used before, I'd suggest sticking with it; if you have no language preference, I'd suggest Visual Basic as it is (in my opinion) the most 'readable' and thus easiest to start with. All you need to write code is a text editor, such as notepad; but that is clunky and error-prone. Get an Integrated Development Environment (IDE) for your language of choice to make your life easier. Microsoft makes an 'express' version of their IDE's available for free (registration required for continued use) that are excellent for writing journal code. I suggest the VB express 2010 version (the 2010 version works well with the Siemens' supplied "code wizard"). After installing the IDE, you will need to copy a few files to setup the previously mentioned "NX code wizard", details are in the NX help files. The IDE really helps out by checking for syntax errors as you type and providing a list of available options (such as an object's properties and methods, required parameters for functions, etc).

Record a journal of a simple operation and examine the code to see what statements are necessary to perform that operation. Try modifying the code, add a loop to apply the operation to multiple objects, or add an 'if - then' branch to apply the operation to only certain objects. The journal recorder is the best teacher for learning/using the API. Much of what I do is: record a journal, clean up the code, tweak the code. If the operation you are interested in isn't supported by the journal recorder, look for example code at the GTAC solution site and peruse the API reference to see if there is another way to get at it. If/when you get stuck, ask for help here or at the GTAC languages forum.

This post grew longer than I intended, but I hope it points you in the right direction.
Happy coding!

www.nxjournaling.com
 
Thanks Cowski,
I do have a background of using C but i think it would be better to learn VB also.
Best Regards
Kapil
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top