Cancel
Showing results for 
Search instead for 
Did you mean: 

Knowledge fusion

Pioneer
Pioneer

What is  the use of knowledge fusion in NX and how to use it ?

14 REPLIES

Re: Knowledge fusion

Siemens Phenom Siemens Phenom
Siemens Phenom

Ramki --

That's a really broad question.  :-)

Knowledge Fusion (KF) is at the core of every seat of NX. 

The language used to create formulas in NX Expressions is KF.  And so every time an NX model updates, the KF engine is keeping track of any and all relationships between expressions.  All of the OOTB functions available in the Expressions dialog are created and consumed using KF.  This mechanism is open by design, and customer can fairly easily add your own functions to the Expressions environment as needed.

A number of tools like Product Template Studio (PTS) use KF internally to persistently store various kinds of rules and information within NX part files.  The custom user interfaces described by PTS are stored using a set of KF rules, for example.  Many of the process automation tools created by the KDA devellopment group leverage KF in similar ways.

Tools like Check-Mate leverage the language and rules engine of KF to perform model quality validation, evaluating checking rules either on model update, on part save, or on demand.  Similarly, the Requirements Validation application uses the engine to execute validation checks at the appropriate time during NX update and report back meaningful results.

The KF language can also be used like our traditional APIs to write NX automation applications as well, though for novice users, the more common languages (Visual Basic, C#, Python, Java, C++, etc.) may be more approachable.  For programmatic users, a "Knowledge Fusion Author" license will light up a number of programming and debugging tools inside NX.

Does that help?

Taylor Anderson
NX Product Manager, Knowledge Reuse and NX Design
Tel: +1 (602) 441-0683
taylor.anderson@siemens.com

Re: Knowledge fusion

Siemens Phenom Siemens Phenom
Siemens Phenom

Hi Ramki,

Apart from the precise and expert definition of KF from Taylor Anderson i would like to add some more experience i had with KF as a user.

I don't have the knowledge of NX-Open but have used KF at many occasions (for example just as in programming language you can utilize Loops/conditions etc for creating /editing/validating something). I remember i used it for a naive Gear Profile Creation program a long time back. But what really sets KF apart from other programming tools is ....the hybrid approach (you can create something using normal modeling commands and then adopt it as a KF feature inside the part navigator and further manipulate it taking advantage of the KF classes).

I am attaching one video (very old one but will surely give you a look into KF strengths).

This video is about how we can impart different colors to part family members. 

(view in My Videos)

Re: Knowledge fusion

Siemens Phenom Siemens Phenom
Siemens Phenom

Thanks, kapilsharma!

 

You're right...  It's easy to forget about things like KF "Adoption" when I've been doing this so long.  ;-)

"Adoption" in KF is somewhat similar to "Journaling" in the other API languages:

 

With Journaling, you can record a series of actions in NX, and save this sequence of operations as NX API language code (C#, Java, Visual Basic, Python or C++), either for future playback, if desired, or for use as the basis of a more involved piece of NX Open automation.

 

With KF the process involves creating a set of objects and then using the "Adopt Existing Object" command to create a set of KF rules describing these objects.  As you've described, the difference with KF is that these rules are first created inside the current NX session, where they can be adjusted and manipulated as desired, and then optionally exported as KF code that can be reused in various ways.

 

Both methods work very well.  Generally speaking, KF will be more useful in the quick creation of smart, associative objects that need to live and breathe as part of a parametric model.  The traditional APIs will be better for sequential kinds of automation tasks, and for cases where you don't want the automation to create persistent objects inside a part.

 

Although to be clear, there is a new capability in the NX 11 NX Open API for creating bona-fide "Features" using the API.  (And it doesn't use the older UDO architecture.)

Hope that helps!

 

Thanks for the reminder.

 

Taylor Anderson
NX Product Manager, Knowledge Reuse and NX Design
Tel: +1 (602) 441-0683
taylor.anderson@siemens.com

Re: Knowledge fusion

Siemens Phenom Siemens Phenom
Siemens Phenom

Thanks a lot Taylor,

I look forward to getting started with NX-Open too but no idea where to start with.

Best Regards

Kapil

Re: Knowledge fusion

Siemens Honored Contributor Siemens Honored Contributor
Siemens Honored Contributor

Hi Kapil,

 

Solution Center has an article titled "Getting Started with NXOpen : Index".  It contains links to 24 "Getting Started" articles that should give you a head start on NX Open programming.

 

The articles were written by Amy Webster and Frank Berger who are part of the GTAC NX Programming support team.  Good luck!

Regards, Ben

Re: Knowledge fusion

Siemens Phenom Siemens Phenom
Siemens Phenom

Thanks a lot Ben. I will go through it.

Have a good day.

Best Regards

Kapil

Re: Knowledge fusion

Creator
Creator

Good Morning Taylor,

 

I have an inquiry regarding three examples exist under section Knowledge Fusion Help and Best Practices because when I built the parts following the instruction from the help document, the part did not work as expected. Maybe I missed something.

 

1- How to Add Attributes

2- How to Add Child Rules

3- How to Adopt Features

 

For item 1 and 2, I have attached the part under the name KF Navigator Attributes and Child Rules. You will see that the window section doesn't subtract from the door when I applied the boolean operation using knowledge fusion.

 

For item 3, I have attached the part under the name How to Adopt Features. You will see when changing the value of the expression HoleDIA from 0.5 to 0.4 the edge blend doesn't change to chamfer. I noticed one important point in this operation. When I insert a new line in the box Parameter-Value Pairs References;{ug_refObject("Edge:C-132-77","")}; 

The value of 77 keeps changing when I change the value of HoleDia.

 

Thank You

{Raeed Kena}, {Mechanical / Civil Engineer}


Production: {NX11,CATIA,SOLIDWORK,ANSYS,AUTOCAD,TEAMCENTER}

Development: {Visual Basic Net} Testing: {NX12,ANSYS}

Re: Knowledge fusion

Siemens Phenom Siemens Phenom
Siemens Phenom

Hmmm...  Not sure exactly what you're missing, but these are working well for me.  :-/

 

2018-08-13_19-47-13.png

 

 

I guess the more fundamental question is, do you have a specific requirement for Knowledge Fusion on a project?  To be very honest, Knowledge Fusion is a tricky animal. :-)  We use it internally for a lot of things in NX (Expressions subsystem, Product Template Studio, Check-Mate, etc.) but as languages go, it's quite unique and pretty tricky to learn. We've found over the years that as a company we end up helping to troubleshoot an awful lot of the Knowledge Fusion projects out there...  Much like this post, in fact.  ;-)

 

Unless you have a specific need for it, I'd strongly recommend one of our APIs using a more standard language like Visual Basic or C# or Python, which will be FAR easier to learn, and for which there are almost limitless educational resources available online.

Make no mistake...  We have no plans to retire Knowledge Fusion -- it's still very core to NX -- but it's not our first recommendation these days for a new person diving into NX automation.  It's just not the easiest path.

 

Hope that helps a bit.  :-)

 

[EDIT] Oh...  and VERY clever thing you did with the images in those parts.  Cool idea.  :-)

Taylor Anderson
NX Product Manager, Knowledge Reuse and NX Design
Tel: +1 (602) 441-0683
taylor.anderson@siemens.com

Re: Knowledge fusion

Genius
Genius

Hi @TaylorAnderson   KF seems to be the tool with which users can work out customized features that are completely equal to those native ones such as Extrude, Revolve, Ruled surface .... Is this understanding correct? Thanks!