Post on 10-Feb-2018
transcript
7/22/2019 NX 8.5 MachiningKnowledgeEditor
1/233
Machining Knowledge Editor Training 8.5 i
Machining Knowledge Editor Training
7/22/2019 NX 8.5 MachiningKnowledgeEditor
2/233
ii Machining Knowledge Editor Training 8.5
Proprietary and restricted rights notice
This software and related documentation are proprietary to Siemens Product Life-
cycle Management Software Inc.
2012 Siemens Product Lifecycle Management Software Inc. All Rights
Reserved.
All trademarks belong to their respective holders.
7/22/2019 NX 8.5 MachiningKnowledgeEditor
3/233
Machining Knowledge Editor Training I
CHAPTER 1 Whats new 1New in NX 8.0.1 2
External functions 2
Operation Parameters in Add-ons 2
Feature Recognition 2
New in NX 8.0.2 3
Function IT_Class_Iso (nominal, _upper, _lower) 3
New in NX 8.5 4
MKE User Interface Enhancements 4
Installed default Machining Rule Library 7
Migration of existing pre-NX 85 Machining Rule
Library 8
Feature Recognition improvements 8
CHAPTER 2 Machining Knowledge EditorConcepts 13
Best machining practice definition. 14
Machining Rule concept 16
RuleLibrary 17
Starting the Machining Knowledge Editor 18
Loading the Rule Library 20
The Machining Knowledge Editor User Interface 21
Tree View 23
Selecting nodes 23
Activating nodes 24
Renaming nodes 25
Ordering nodes 25
Copying nodes 25Undo 26
Deleting nodes 26
Table View 27
Selecting nodes in Table View 27
Commands in Table View 27
Table View Toolbar 27
Sorting cells 29
Editing cells 29
7/22/2019 NX 8.5 MachiningKnowledgeEditor
4/233
II Machining Knowledge Editor Training
Rule View 31
Conditions Tab 32
Constants Tab 33
Materials Tab 33
Machines Tab 33
Explanations Tab 33
Image Tab 33
Add-on Tab 34
Conditions concept 36Application Criteria 36
Tool Attributes 39
Less Worked Feature Attributes 40
Operation Attributes 41
Expression syntax | Functions 43
Functions 44
Constants concept 46
Scope of a Constant 47
Constant Command Icons 47
Using Constants in Expressions 47
Finding Rules based on criteria 48
Find in all Rule Conditions 48
Using TableView autofilter 48
Using TableView Filter Column 49
Testing the Rules 50Check Validity 50
Testing in NX with Create Feature Process 50
Reading the Information window and the
MSAnalysis.lis 50
Rules for multiple More Worked Features 52
CHAPTER 3 How Operation Selection works 53
Machining Knowledge Editor and NX 54
Examples of operation sequences 56
STEP1HOLE and STEP1HOLE_THREAD in 4
operations. 56
Finding a solution using elementary rules 58
Information Window 62
7/22/2019 NX 8.5 MachiningKnowledgeEditor
5/233
Machining Knowledge Editor Training III
CHAPTER 4 MKE Exercises: Hole Making 65Creating a new RuleLibrary file 66
Copying an existing RuleLibrary file 66
Creating a new RuleLibrary file. 67
Creating a first Rule 69
What this example intends to explain 69
Explanatory picture 70
Conditions 72
Constants 76
Materials and Machines 76
Testing the MachiningRule 77
Detailing the MachiningRule with Add-ons 79
Creating a second MachiningRule 84
What this example intends to explain 84
Creating a third MachiningRule 85What this example intends to explain 85
Explanatory picture 85
Conditions 85
Constants 86
Materials and Machines 86
Explanation 86
Defining a competing MachiningRule 88
What this example intends to explain 88Explanatory picture 89
Conditions 89
Constants 90
Materials and Machines 90
Explanation 90
Working with in-process geometry 92
What this example intends to explain 92
Explanatory picture 92
Conditions 92
Constants 93
Materials and Machines 93
Explanation 93
Hole Milling 94
What this example intends to explain 94
Explanatory picture 95Conditions 95
7/22/2019 NX 8.5 MachiningKnowledgeEditor
6/233
IV Machining Knowledge Editor Training
Thread Milling 96
Using functions 96
What this example intends to explain 96
Explanatory picture 97
Conditions 97
Constants 98
Materials and Machines 98
Explanation 98
Explanatory picture 99Conditions 99
Constants 100
Materials and Machines 100
Explanation 100
Using TableView to query the
MachiningRuleLibrary 100
What this example intends to explain 100
Using Find and Replace functions 101
Additional stuff 102
What this example intends to explain 102
CHAPTER 5 Machining Features from oppositedirections 105
When both sides of a hole need chamfering 105
What this example intends to explain 105
Creating a rule for the bottom chamfer 106
Defining the conditions 106
Testing the rule 107
Drilling a deep hole from opposite directions 109
Adding a face attribute prior to Find Features... 109
Testing the value of a Feature Attribute 110Adding MACHINE_TWO_SIDED to the
customization 111
Creating a rule to split a feature 113
Using Knowledge Fusion for post create
features 114
Automating 2-sided machining using KF functions 114
Checking for tool availability 118
7/22/2019 NX 8.5 MachiningKnowledgeEditor
7/233
Machining Knowledge Editor Training V
Summarizing three different ways to machine fromopposite directions 119
CHAPTER 6 External Functions using TCL 121
External Function declaration in the Machining
Knowledge Editor 121
External Function TCL body definition 124MOM__boot {} and MOM__halt {} 124
TCL code 126
Testing external function calls 127
Using TCL functions in the MachiningRule
condition 127
More TCL System Functions 128
GetPartAttribValue 128
GetExprValue 128
GetProgRootAttribValue 128
Calling an external application 129
Example interface to Microsoft Excel from TCL 129
Limitations 130
CHAPTER 7 MKEditor Exercises: Turning 133Feature Based Turning 134
Feature Recognition 134
Operation Selection 136
Machining Knowledge Editor 137
CHAPTER 8 Wire EDM 141Recognition of WEDM Features 142
PDW feature creation 143
PDW feature identification 144
Defining rules for WEDM features in the MKE 144
Rule Add-on 144
WEDM resource (tool) 145
WEDM operation types 145
7/22/2019 NX 8.5 MachiningKnowledgeEditor
8/233
VI Machining Knowledge Editor Training
CHAPTER 9 Feature Mapping147
Using Feature Mapping -case 1 148
Using Feature Mapping -case 2 148
Example 148
Mapping to Hole or Pocket feature types? 150
Creating a mapping rule 152
Conditions 152
Identification or Recognition 153
Feature Identification 153
Feature Recognition 154
CHAPTER 10 Feature Teaching 155
What is Feature Teaching ? 156
When to teach a Feature Type 156
How to teach a Feature Type 157
PMI Support in Feature Teaching 157
Use case 1: Create a new feature type and a new
recognition rule 158
Use case 2: Create a new recognition rule for an existing
feature type 158
Use case 3: Modify an existing recognition rule forexisting feature type 159
Defining the features position and orientation 159
Starting Machining Knowledge Editor in admin
mode 159
CHAPTER 11 Operation Rule Teaching 161
What is Operation Rule Teaching ? 162
When to teach an Operation Rule ? 162
How to teach an Operation Rule. 162
CHAPTER 12 Color and Attribute Features 163
Face color and attribute recognition 164
7/22/2019 NX 8.5 MachiningKnowledgeEditor
9/233
Machining Knowledge Editor Training VII
Defining a Recognition Rule for the new FeatureType 167
Face attribute value 171
Machining Direction of C&A Features 171
Machining Rules for a Color & Attribute
feature 172
Cut Levels 173
CHAPTER 13 Customization View 175
Customization view 176
Default Customization 177
CAM Configuration dependent customization 178
Tools, Machines,Part Materials, UDEs 178
Operation Types 179
Features 179Additional Customization 179
NX Version upgrades 180
Set as Cutter Diameter, Set as Cutter Length 180
CHAPTER 14 TCIN for FBM 183
Teamcenter Integration for NX Compatibility 184
Configuration 184
Mixed mode configurations 185
Commands Load Local... and Save Local... in
managed mode 186
Configuring the Teamcenter data 187
The FBM OOTB content kit: 187
Machining Knowledge structure in Teamcenter 188
Managing templates from multiple NX versions in
one TC database 190
MKE customization 190
Teamcenter Preferences 190
CAM template import 193
7/22/2019 NX 8.5 MachiningKnowledgeEditor
10/233
VIII Machining Knowledge Editor Training
CHAPTER 15 Machining Knowledge CustomizationProject 195
OOTB content 196
An explanation of the OOTB Rules 196
What do all these achievable... constants mean? 196
Discussion of some other constants... 199
Modify the OOTB or Start from Scratch? 200
Workflow in a customization project 200
Analyze your products for manufacturing
features 201
What comes OOTB 201
How to add features that are not standard. 202
Analyze your operation sequences 202
205
Analyze your tool libraries 205
What comes OOTB. 205
How to add tools that are not standard. 205
Implement Knowledge 206
Maintain Knowledge 207
Using Knowledge Fusion (KF) in Feature Based
Machining 207
CHAPTER 16 Appendices 209
A: Glossary of Terms 210
B: Naming conventions for Manufacturing
Features 210
C: Definition of the standard STEPPED
features 211
D: Definition of the standard non-STEPPED
features 214
E: Tips and Tricks 222
Choosing priority for the MACHINING_RULE 222
How to use the MACHINING_RULE conditions 222
7/22/2019 NX 8.5 MachiningKnowledgeEditor
11/233
1
CHAPTER 1 Whats new
This chapter contains references and explanations of new Feature Based Manufac-
turing functionality.
7/22/2019 NX 8.5 MachiningKnowledgeEditor
12/233
New in NX 8.0.1
2 Whats new
New in NX 8.0.1
External functions
See Functions on page 44.
Operation Parameters in Add-ons
For details, please see Operation Attributes on page 41.
Feature Recognition
Feature recognition has been improved such that for all recognized features found
in a single run (the new features found after you press the Find Features button)
the feature directions are aligned as much as possible. This means that if a feature
has multiple directions the main direction of a feature is aligned with other features
which may not have an alternative direction. So if you have 2 STEP1HOLE fea-tures (which can be machined from 2 sides) and a single STEP1POCKET fea-ture the main direction of the hole features will by aligned with the direction of the
pocket feature. Prior to NX8 this was not always the case. This behavior is also
implemented in NX755.
7/22/2019 NX 8.5 MachiningKnowledgeEditor
13/233
Whats new 3
New in NX 8.0.2
New in NX 8.0.2
Function IT_Class_Iso (nominal, _upper, _lower)
This function has been changed slightly in NX 8.0.2: when the 2nd and 3rd param-
eters are equal, the function returns value undefined.
For instance: IT _Class_ISO (10,0,0) will now return undefined instead of an
integer value. Consequently the rule will not be rejected.
This change enables us to select a tool with a specific diameter with no tolerance.
The tool diameter selection query generally has this form:
tool.Diameter >= mwf.Diameter + mwf.Diameter_lower
tool.Diameter = 9
Now when both the _upper and _lower are defined to be 0, the IT_Class_ISO func-
tion will not reject the rule (as it did before), and the desired tool is selected.
This behaviour is needed, for instance, for the pre-drill operation for tapping, when
the thread feature has attribute THREAD_TAPPED_DRILL_SIZE defined. In the
tapping rule we can specify the Less Worked Feature diameter as follows:
lwf.Diameter = mwf.THREAD_TAPPED_DRILL_SIZE
lwf.Diameter_lower = 0.0
lwf.Diameter_upper = 0.0
7/22/2019 NX 8.5 MachiningKnowledgeEditor
14/233
New in NX 8.5
4 Whats new
New in NX 8.5Ofcourse your first reference is the NX 8.5 Help. Paragraphs below are supplemen-
tary about the MKE.
MKE User Interface Enhancements
Improved Menu and Toolbar
New entry Open and Update... . This will read a source file and willupdate its customization against a selected cam configuration. It replaces the
previous marker in the View > Options dialog where Update upon Load is
taken out.
New command Toggle Label, only active when the Customization Tree
is active. (See New tab controls on page 5.) It toggles between database
name and display name of classes and attributes. This is especially necessarywhen working with the new Manufacturing Resource Library (MRL) which has
coded database names without any meaning for the user, and where we rather
work with the display names. An example screenshot where you can see the
Display Names (left) and the corresponding Database Name (right) is below:
7/22/2019 NX 8.5 MachiningKnowledgeEditor
15/233
Whats new 5
New in NX 8.5
New tab controls
New tab control for Customization Tree view which replaces the previous com-
mand View > Customization.
7/22/2019 NX 8.5 MachiningKnowledgeEditor
16/233
New in NX 8.5
6 Whats new
New tab control for Functions
Tree view.
Note that we added new system func-
tions for String querying.
Note also important when doing
FBM using the new
VolumeBased25D operation is func-
tion WorkpieceHas3dBlank which
returns TRUE or FALSE. It is used inall rules using FLOOR_WALL
machining in the NX85
machining_knowledge.xml.
Starting Machining Knowl-
edge Editor in admin mode
You can modify the shortcut starting the MKE as depicted below.
This will unlock the possibility to show and edit the generated Feature Recognition
Rules source code for the features that were taught. (Not for the standard features.)
7/22/2019 NX 8.5 MachiningKnowledgeEditor
17/233
Whats new 7
New in NX 8.5
Large tool database support Instead of the long flat lists
we can now select a rules
tool class and operation
class from a tree structure.
You can select any level inthe tree, which opens the
possibility to create a singleMachining Rule using mul-
tiple tool classes.
CommandsSet as Cutter
DiameterandSet as Cutter
Length can be issued on
any level in the tree. The
value will be inherited by
the lower levels.
Full pathname in the title
When MkEditor.exe is started with option -admin the full path to the loadedsource file is in the dialog title.
Installed default Machining Rule Library
The installed machining_knowledge.xml which has the definition of the out-of-the-
box machining rules is reworked and uses the new VolumeBased 2.5 D operations
in cases where previously Face_Mill_Area or Planar_Mill was used. The new oper-
ation templates that are used are in the machining_knowledge.prt template and the
name is FLOOR_WALL.
7/22/2019 NX 8.5 MachiningKnowledgeEditor
18/233
New in NX 8.5
8 Whats new
Migration of existing pre-NX 85 Machining Rule Library
Rules using machining_knowledge.FACE_MILL_AREA are migrated to
machining_knowledge.FLOOR_WALL if this exists in the operation template set.
Feature Recognition improvements
Alternative Directions
A feature can have an alternative direction from which it optionally could bemachined. There are several new rules which determine if a feature has an alter-
native direction:
1. Customization: it the feature is a customization feature (known in the customi-
zation) then the user can specify in the customization if the feature has an alter-
native direction or not.
2. If the parametric recognizer finds multiple alternatives then the feature has an
alternative direction (unless the customization says otherwise)3. If the feature is a through feature but blocked from both sides then the user
should decide how to machine the feature and thus the feature has an alternative
direction. The main direction is the direction with the largest distance between
the feature and the blocking geometry.
4. If the feature is a through feature but blocked from just a single side then the
feature has no alternative direction . The feature should be machined from the
7/22/2019 NX 8.5 MachiningKnowledgeEditor
19/233
Whats new 9
New in NX 8.5
free direction.
5. If the feature is a tapered thread feature then the feature has no alternative direc-
tion.
6. If the feature is a full thread then the feature has an alternative direction.
7. If the feature is not a full thread feature but the thread depth is greater than or
equals to the feature depth then we consider the thread a full thread and thus the
feature has an alternative direction.
Machining Access Direction
Although with the alignment of the feature directions the feature recognition results
are improving already (and reducing the need to recognize features in multiple
runs) there are still situations where you need to recognize features from a certain
direction. Therefor in NX85 the Machining Access Directions functionality is
extended.
In NX85 this functionality is extended to allow more advanced feature filtering
based on machining access direction. In addition to a single vector the following
types are now also supported:
N i NX 8 5
7/22/2019 NX 8.5 MachiningKnowledgeEditor
20/233
New in NX 8.5
10 Whats new
Specify Vector. Allows feature filtering based on multiple access direction vec-
tors. All features that match one of these vectors are returned.
Towards Point / Away from Point. Allows feature filtering based on a point.
Only features with a direction towards or away from the specified point will be
returned.
Towards Axis / Away from Axis. Allows feature filtering based on an axis. Only
if the feature direction is perpendicular to this axes the feature are returned.
New in NX 8 5
7/22/2019 NX 8.5 MachiningKnowledgeEditor
21/233
Whats new 11
New in NX 8.5
Selection IntentNX85 has full support for selection intent. This allows the user to select the appro-
priate geometry using the standard NX selection intent controls. Main reason for
this (small) change is that by doing so the geometry selection is more in line with
the rest of NX (since NX75 the user was already able to select multiple faces/edges/
curves/points with the Select Geometry UI component)
Feature Recognition progress bar support
Feature Recognition uses the standard NX progress bar which gives an indication
of how far the recognition/identifation has pro-
gressed.
New in NX 8 5
7/22/2019 NX 8.5 MachiningKnowledgeEditor
22/233
New in NX 8.5
12 Whats new
7/22/2019 NX 8.5 MachiningKnowledgeEditor
23/233
Machining Knowledge Editor Training V8.5- Concepts 13
CHAPTER 2 Machining Knowledge EditorConcepts
The first chapter explains the concepts behind the Machining Knowledge Editor.
Best machining practice definition.
7/22/2019 NX 8.5 MachiningKnowledgeEditor
24/233
g
14 Machining Knowledge Editor Training- Concepts
Best machining practice definition.
There are many ways to machine, for instance, a
counter bore hole. You can choose a different pro-
cess depending on the features diameters, its
depths, the ratio depth/diameter, the quality of the
cylindrical surface, the tolerance of the diameters,
and more.
Three different approaches for a counter bore hole with their pros and cons aresummarized in this picture.
The choice for a machining process will generally also be influenced by:
different workpiece material
different machine tool
Best machining practice definition.
7/22/2019 NX 8.5 MachiningKnowledgeEditor
25/233
Machining Knowledge Editor Training V8.5- Concepts 15
blind hole instead of a through hole
And consider what you would do if
you did not have the preferred tooling or...
you had to machine 10.000 of these holes per month.
This is only one feature type. What applies to counter bore holes, also applies to
most other features: generally there will be alternative ways to have them manufac-
tured. It is the process planners task to select machining operations that are both
economical and produce a part that meets the tolerances.
A companys best machining practice defines their methodology of machining cer-
tain manufacturing features. It defines, for a set of machining features, which oper-
ations should be used, which tools should be used, and in which order these should
be applied. The best practice is defined by sets of Machining Rules.
In addition to the day-to-day advantage of generating fast, reliable and reproduciblesolutions, having a best practice also serves as a vehicle for standardization.
The Machining Knowledge Editor, in short MKE, is the authoring tool in which
you can define your companys best machining practise.
Machining Rule concept
7/22/2019 NX 8.5 MachiningKnowledgeEditor
26/233
16 Machining Knowledge Editor Training- Concepts
Machining Rule concept
A Machining Rule defines how a manufacturing feature (More Worked Feature)can be machined starting from another feature (Less Worked Feature) using a tool
of a certain class.
In general, a Machining Rule corresponds with a single manufacturing operation
(e.g. drilling a hole or milling a pocket) and will describe:
when this operation is allowed
what result can be achieved (which shape is created, which tolerances can be
achieved)
which tool is necessary (which type is required, what dimensions are required)
which start shape needs to be there.
For brevity, in this chapter, when we talk about a Rule we actually mean a
Machining Rule.
The command Create Feature Process... in NX will start reasoning backward,
using Rules, from the final feature (More Worked Feature) to the blank feature
(Less Worked Feature). This is the most import thing to keep in mind when imple-
menting your companys machining knowledge in the MKE.
RuleLibrary
7/22/2019 NX 8.5 MachiningKnowledgeEditor
27/233
Machining Knowledge Editor Training V8.5- Concepts 17
RuleLibraryRules are always grouped in a RuleLibrary. Three different RuleLibraries, with dif-
ferent purposes, are used in NX:
1. The Machining Knowledge library, which is used by the Create Feature Pro-
cess... command. This RuleLibrary defines the best practice to manufacture fea-
tures.
2. The Feature Mapping library, which is used by the Find Features... command.
This RuleLibrary defines how a feature of one type can be changed (mapped,
transformed) into a feature of another or the same type. This functionality can
be used to transform external or modeling features (User Defined Features) into
manufacturing features and vice versa. Frequently this functionality is used to
interprete the color of a feature. For instance when a yellow color means that a
feature is threaded. See Feature Mapping on page 147.
3. Feature Recognition library, which is used by the Find Features... command
to find the features in the part models. Starting with NX 8 admin users will beable to interactively define their recognition rules. For now, these are outside the
scope of this tutorial.
In the Machining Knowledge Editor you will see 3 different Tabs for the 3 different
families of Rules you can define. The names of the Tabs are fixed.
Starting the Machining Knowledge Editor
7/22/2019 NX 8.5 MachiningKnowledgeEditor
28/233
18 Machining Knowledge Editor Training- Concepts
In addition to the 3 RuleLibraries, there is a
4. Functions tab with the available FunctionLibraries. It has a pre-configured
FunctionLibrary called System Functions. The default installation also has a
pre-configured FunctionLibrary Sample Functions. All functions in these
libraries are based on TCL command language. See External Functions using
TCL on page 121.
5. Customization tab is new here since NX 8.5. It displays all the customization
objects as defined in the currently loaded machining_knowledge source
file.(Previously this was accessed using View -> Customization.)
Editing machining and mapping rules does not require any knowledge or skills in a
particular programming language like C or C++.
The Machining Rules are used by the inference engine which is dedicated to
searching a solution to machine manufacturing features. Machining Rules are the
elementary process steps and the application of a Machining Rule will generally
result in a single NX operation object. The inference engine will be discussed inHow Operation Selection works on page 53.
Starting the Machining Knowledge Editor
Every user can view and edit the Rules. Protection can be arranged by setting spe-
cial file permissions on the relevant files/directories or are handled by Teamcenter
when you are working in managed mode.
The Machining Knowledge Editor is opened from the start menuPrograms > UGS
NX Version > Manufacturing Tools > Machining Knowledge Editor.
Activity: Open the Machining Knowledge Editor
Start the application
From the menu bar, choose View > Options
Inspect tab Exchange Adapter
Inspect tab TCIN. When you work in managed mode, you must check activeUse Teamcenter Integration. In managed mode, the 2-tier or 4-tier connection
parameters must be set. Further details can be found in TCIN for FBM on
Starting the Machining Knowledge Editor
7/22/2019 NX 8.5 MachiningKnowledgeEditor
29/233
Machining Knowledge Editor Training V8.5- Concepts 19
page 183. When not in managed mode, you will be reading and writing to the
file system which is the default mode of operation.
Cancel the Settings dialogue.
Loading the Rule Library
7/22/2019 NX 8.5 MachiningKnowledgeEditor
30/233
20 Machining Knowledge Editor Training- Concepts
Loading the Rule Library
The first step is to load a RuleLibrary. Either use File > Open in the main menu, or
click on the Open icon in the toolbar. This will open a dialog in which an .xml file
can be selected and opened.
Note This screenshot is taken when working in native mode.
By default, the dialog will open in the directory defined by the environment vari-
able UGII_CAM_MACHINING_KNOWLEDGE_DIR.
You can open multiple .xml files in the Machining Knowledge Editor. This makes it
easy to copy data between libraries.
Activity: Load a Machining Knowledge Library
Open the machining_knowledge.xml which is the out of the box (ootb) library
with machining rules.
The Machining Knowledge Editor User Interface
7/22/2019 NX 8.5 MachiningKnowledgeEditor
31/233
Machining Knowledge Editor Training V8.5- Concepts 21
The Machining Knowledge Editor User Interface
The Machining Knowledge Editor User Interface consists of three sections:
1. The Tree View showing the RuleLibrary tree. The Tree View is mainly used
for finding and activating nodes, and for starting specific commands.
The Tabs controls allow to switch between modes for Machining Rules and
Feature Recognition Rules and Feature Mapping Rules.
2. The Table View showing only the activated nodes. Nodes are activated by
clicking the small rectangular in the Tree View.
The Table View is mainly used for finding and filtering on Rules.
3. The Rule View showing the component data of a selected Rule.
This view is used to define a MachiningRule.
The Machining Knowledge Editor User Interface
7/22/2019 NX 8.5 MachiningKnowledgeEditor
32/233
22 Machining Knowledge Editor Training- Concepts
The display of the Tree View and Table View can be tog-
gled from the pull-down menu View. From the sub menuselect the name of the view. This will toggle the display
of the view. When checked active, it is displayed.
Activity: Change the visibility of the views
Toggle the visibility of the views with the View entry in the main menu.
Display all views again.
Generally you will need both the Tree View and the Table View when working with
the Machining Knowledge Editor, so keep these settings checked.
Tree View
7/22/2019 NX 8.5 MachiningKnowledgeEditor
33/233
Machining Knowledge Editor Training V8.5- Concepts 23
Tree ViewThe Tree View lists the Rules in a tree format. The Tree View is mainly used for
finding and activating nodes, and for starting specific commands.
Activity: Navigating the tree move through the tree use the arrow-up, arrow- down, Home, End, Page Up,
and Page Down keys.
Sections of the tree can be expanded or collapsed by clicking with the left mousebutton on the +/- sign shown in front of the node name.
Sections of the tree can be expanded or collapsed by using the left and the right
arrow keys on the keyboard.
Selecting nodes
Most commands are executed on one or more nodes in the Tree View or Table
View. If a command is started from the Tree View, only the selected nodes will be
used as input for the commands.
Tree View
7/22/2019 NX 8.5 MachiningKnowledgeEditor
34/233
24 Machining Knowledge Editor Training- Concepts
In the Tree View all nodes of the project can be selected. In the Table View only the
activated nodes can be selected (as these are the only nodes which are displayed inthe Table View).
Selected nodes will be highlighted in the views where the nodes are visible. Nodes,
which are (de)selected in one view (e.g. Tree View), are also (de)selected in the
other view (Table View).
Activity: Selecting Nodes in the Tree View click MB1 on a node (active or not active) for single select.
Control + click MB1 to modify the selection. The node will be added or removed
from the current selection.
Shift+MB1 allows multiple selection. All nodes starting from the previously
selected node will be added to the current selection.
Shift+Up or Shift+Down allows multiple selection. A new selection will be
started from the first node where the shift was pressed.
Activating nodes
Only activated nodes are visible in the Table View.
The status (activated/deactivated) is shown with the check box in front of the node.
Activity: Activating Nodes in the Tree View
Click with the left mouse button on the check box in the Tree View to toggle the
status of the node. If the node is part of a selection, all other nodes will be set to
the same activation status regardless of their current status.
Press the space bar to inverse the status of the node. If the node is part of a
selection, the status of all other nodes will also be inversed from their current
status.
All children of a node can be activated from the Tree View popup menu by exe-cuting theActivate Children command.
Tree View
7/22/2019 NX 8.5 MachiningKnowledgeEditor
35/233
Machining Knowledge Editor Training V8.5- Concepts 25
All nodes can be deactivated from the Tree View popup menu by executing the
Deactivate Allcommand.
Renaming nodes
In the Tree View a node can be renamed by first selecting it, followed by another
mouse click on the name of the node or by pressing F2. This will start the editing
mode indicated by the box around the name. The changes can be cancelled by
pressing the Esc button. The editing mode will be closed when clicking outsidethe editing box.
Activity: Rename a node
Rename the MillDrill node into DrillMill.
Ordering nodesIn the Tree View nodes can be moved by making a selection, dragging this selection
with MB1 pressed within the Tree View on one of the other nodes, and releasing
MB1. This will move all selected nodes to a position below the node that the selec-
tion was dragged on.
Activity: Moving nodes within the Tree View
Move some of the nodes within the Tree View.
Copying nodes
In the Tree View, nodes can be copied by making a selection in the Tree View,
dragging this selection with MB1 pressed on the RuleLibrary parent node, and
releasing MB1. This will copy all selected nodes and add them at the end of the
tree. All data related to a node will be copied to the new node. This enables toquickly create a new Rule from an existing Rule.
Activity: Copy a node
Copy some of the nodes within the Tree View.
Rename these nodes.
Tree View
7/22/2019 NX 8.5 MachiningKnowledgeEditor
36/233
26 Machining Knowledge Editor Training- Concepts
Undo
All commands can be undone by Ctrl+Z or by Edit > Undo.
Deleting nodes
In the Tree View nodes can be deleted by making a selection, and pressing the
Delete button or by selecting Delete from the popup menu. This will delete all
selected nodes.
Activity: Delete a node
Delete the nodes that were created in the previous exercise.
Table View
7/22/2019 NX 8.5 MachiningKnowledgeEditor
37/233
Machining Knowledge Editor Training V8.5- Concepts 27
Table ViewThe Table View shows the data of activated nodes in an Excel style tabular repre-
sentation. The Table View is mainly used for finding and filtering nodes.
Selecting nodes in Table View
Nodes in the Table View can be selected in one of the following ways:
MB1 on the beginning of a row is single select. If the mouse is moved while the
MB1 is pressed (and you should see an arrow cursor), multiple lines will be
selected.
Control + MB1 on the beginning of a not-selected row modifies the selection.The node will be added to the current selection.
Control + MB1 on the beginning of a selected row modifies the selection. The
node will be removed from the current selection.
Shift+MB1 on the beginning of a row allows multi selection. All nodes from the
previous selected node will be added to the current selection.
MB1 on the top left Cell will select all rows in the Table View.
Commands in Table View
Node specific commands can be started from the popup menu of the Table View.This popup menu only appears when using MB3 on the beginning of the row.
Table View Toolbar
The Table View toolbar contains the following settings and commands for the Table
View:
Table View
7/22/2019 NX 8.5 MachiningKnowledgeEditor
38/233
28 Machining Knowledge Editor Training- Concepts
Page Setup of Table View: Pops up the Page Setup window for the Table View.
In this window the setup of the Table View can be changed.
Export Table View to Microsoft Excel: Saves the content of the Table View to
an MS Excel file format.
Zoom in Table View by 20%: does what it says.
Zoom out Table View by 20%: does what it says.
Reset Zoom: Resets the zoom of the content of the Table View to 100%
Replace: Searches the column for entries containing the search string
and replaces the search string with the replacement string. The search
string does not support wildcards.
Filter: Hides all rows that do not have data matching the search stringin the selected column. To display all rows again, the filter button has
to be pressed again. If a cell is selected instead of a column, then the data of this
cell is used to preset the search string for filtering the column containing the
cell. The search string supports wildcards:
* replacing zero or more characters
? replacing exactly one character
; separating elements of a vector
Table View
7/22/2019 NX 8.5 MachiningKnowledgeEditor
39/233
Machining Knowledge Editor Training V8.5- Concepts 29
Autofilter: Activating the AutoFilter adds a new row to the TableView
just below the top row with the column names. Clicking with the mousein one of the fields in this AutoFilter row shows a menu with all different values
in the column. Selecting one of the values will show only the rows with that
value and filter out all rows with other values. Upon deactivating the AutoFilter
the AutoFilter row is removed and the filters are reset, i.e. all rows are shown
again.
Toggle Freeze rows/ Toggle Freeze columns: moves the selected rows/
columns to the first positions, where they will remain visible whenscrolling through the Table View. Pressing the button again will restore the nor-
mal display of the rows/columns.
Hide rows / Unhide rows: Will hide the selected rows. Unhide rows
will show all hidden rows again.
Hide columns / Unhide columns: Will hide the selected columns.
Unhide columns will show all hidden columns again.
Activity: Using some Table View commands
Activate all Rules.
In the name column find the nodes starting with Tap by using the filter
Tap*
Use the filter wildcards command on the name column to display all rows that
have S1H at the beginning, at the end, or somewhere in the string.
Use the freeze/hide commands.
Use the Autofilter command to filter on the OperationClass and the OutputFea-
tures column values.
Sorting cells
In the Table View the rows can be sorted by attribute by clicking on the name of thecolumn.
Editing cells
In the Table View the attributes of nodes can be edited. Cells are:
white, if the value in the cell can be edited,
Table View
7/22/2019 NX 8.5 MachiningKnowledgeEditor
40/233
30 Machining Knowledge Editor Training- Concepts
light gray, if the value in the cell is read-only,
dark gray, if the attribute does not exist for the node.
The Table View displays both single value attributes (for example the name
attribute), and vector attributes (for example the OutputFeatures and the Product-
Materials attribute).
Several cells, either single value or vector values, in one column can be set to the
same value by:
select one Cell having the value you want to copy, 10 in the example screenshot.
select a corner of that Cell such that the cursor shape changes to a small rectan-
gular.
drag that corner of the Cell over the other Cells
Several single value cells, not necessarily in one column, can be set to the samevalue by:
Select several cells
Ctrl-click in one of the fields that you want to change
Edit the value of the last selected cell and press Enter; the values of all selectedcells are changed to the new value.
Activity: Editing Cells
Activate all Rules.
In the Table View click on the name column to order the data.
Change the priority of all the TAPPING operations to 10 using the twodescribed methods.
Rule View
7/22/2019 NX 8.5 MachiningKnowledgeEditor
41/233
Machining Knowledge Editor Training V8.5- Concepts 31
Rule ViewThe Rule View shows the data of a selected Rule. This is shown in a set of tabs,
which are described later, and six Rule Definition Components. These are:
Name. Contains the name of the Rule.
OperationClass (oper.). Contains the class of the operation that is to be generated
based on this Rule. Pressing the F8 key in the field will pop-up the hierarchy with
operation classes. Select one item from the list, type the value manually, or use a
copy/paste sequence. The operation class and its parameters determine the motions
of the tool during the operation.
The display color will change when a valid OperationClass is defined. This also
applies for the feature classes and the tool classes. The classes and related informa-
tion are defined in the customization belonging to the RuleLibrary.
There is a special class DummyOperation that can be used to change one feature
type into another feature type. Rules of this class have no tool class.
Priority. Contains a numerical value which determines the relative priority of the
Rule, compared to other Rules producing the same More Worked Feature. The pri-
ority defines which Rule will be tried first, when there are more Rules that can
machine the same feature. Generally, we give Rules that correspond to cheap
operations (like drill operations) a higher priority than Rules that correspond to
expensive operations (like reaming operations). This way we can be sure the sys-
tem will try cheap Rules first and when these can not be applied, try the next moreexpensive Rule etcetera.
OutputFeatures (mwf.). Contains the class of the Output Feature that is produced
by the operation when the Rule is applied. This corresponds to the shape of the fea-
ture at the end of the operation. Pressing the F8 key in the field will pop-up a scrol-
lable list with feature classes. Select one item from the list, type the value manually,
or use a copy/paste sequence. When the Rule produces multiple features, they are
separated by commas.
Rule View
7/22/2019 NX 8.5 MachiningKnowledgeEditor
42/233
32 Machining Knowledge Editor Training- Concepts
InputFeatures (lwf.). Contains the class of the Input Feature that is expected by
the operation before the Rule is applied. This corresponds to the shape of the fea-ture at the beginning of the operation. Pressing the F8 key in the field will pop-up a
scrollable list with feature classes. Select one item from the list, type the value man-
ually, or use a copy/paste sequence. When the Rule consumes multiple features,
they are separated by commas.
Resources (tool.). Contains the class of the tool that is used by the operation when
the Rule is applied. Pressing the F8 key in the field will pop-up a scrollable list with
tool classes. Select one item from the list, type the value manually, or use a copy/paste sequence.
When you locate the mouse pointer in any of the above fields you get a short help
text.
In addition to the six Rule Definition Components, there are seven Tabs containing
more detailed aspects of the Rule Definition. These are described in the following
sections.
Conditions Tab
This tab shows the conditions pertaining to the Rule. Conditions are used to
describe specifics of the Rule, like when a Rule can be applied, which specific tool
should be selected, operation parameters etc. All conditions are interpreted as logi-
cal expressions and must be true. If one or more conditions are false, the Rule will
be rejected.
The conditions are described in an easy, Visual Basic style, text based editing envi-
ronment. This allows for free text editing (manual typing, delete, insert, copy, paste,
etc.) with support for standard windows shortcuts:
TABLE 1. Shortcuts for condition editing
Ctrl + A Select all text.
Ctrl + X Cut selected item.
Ctrl + C Copy selected item.
Ctrl + V Paste
Home Goes to beginning of current line.
Ctrl + Home Goes to beginning of document
Rule View
7/22/2019 NX 8.5 MachiningKnowledgeEditor
43/233
Machining Knowledge Editor Training V8.5- Concepts 33
For more details please refer to Conditions concept on page 36.
Constants Tab
This tab shows the constants that can be used within conditions to improve consis-
tency and readability. Constants can be used instead of hard-coded values in
expressions. See Constants concept on page 46.
Materials Tab
This tab shows the list of materials that are defined as part materials within NX. A
Rule can be made valid for selected materials. By checking the All Materials
check box, a Rule will be valid for any material, also for materials that will be
added in the future.
Machines Tab
This tab shows the list of machines that are defined within NX. A Rule can be made
valid for selected machines. By checking the All Machines check box, a Rule will
be valid for any machine, also for those that will be added in the future.
Explanations Tab
Contains a free textual explanation of the Rule.
Image Tab
You can add a picture to the Rule. The image can have as format .jpeg or .jpg. Use
the commandAdd Image... that is available in the popup menu of the Image tab.
End Goes to end of current line.
Ctrl + End Goes to end of document.
Shift + Home Highlights from current position to beginning of line
Shift + End Highlights from current position to end of line
Ctrl + Left arrow Moves one word to the left at a time
Ctrl + Right arrow Moves one word to the right at a time.
TABLE 1. Shortcuts for condition editing
Rule View
7/22/2019 NX 8.5 MachiningKnowledgeEditor
44/233
34 Machining Knowledge Editor Training- Concepts
The picture appears in the Image Tab.
Add-on Tab
This Tab enables the creation and editing of what we have called Rule Add-ons.
Depending on the Rules Operation Class, different types of Rule Add-ons can be
defined.
Examples of Add-on Object Types for a Drill Rule are:
Cycle - enables definition of the cycle type and its specific parameters
Start of Path Events - like Approach Markers, opstop and many more
End of Path Events -
Knowledge Fusion (KF) - all parameters of the Rules Operation Class can be
defined via KF if desired.
If you have quotes inside the kf expression like in this example, use a backslashso the expression will pass the Check Validity command:
kf.Maximum_Depth_Distance =
"ug_oper_askfeatureattributevalue(\"HOLE_DEPTH\", NUMBER)"
Example of Add-on-Types for a Groove_OD Rule for turning is:
Geometry Parent, class Containment (is mandatory)
Example of Add-on-Types for an Internal_Trim Rule for Wire EDM is:
Geometry Parent, class Wedm_Geom (is mandatory)
Examples of Add-on-Types for a Cavity_Mill Rule are:
Geometry Parent, class Mill_Area
Rule View
7/22/2019 NX 8.5 MachiningKnowledgeEditor
45/233
Machining Knowledge Editor Training V8.5- Concepts 35
CutLevel, class ZlevelBase
NcmLocalEngage, class EngageRetract_Default
Examples of Add-on-Types for a Thread_Milling Rule are:
Geometry Parent, class Hole_Boss
Conditions concept
7/22/2019 NX 8.5 MachiningKnowledgeEditor
46/233
36 Machining Knowledge Editor Training- Concepts
Conditions concept
A condition is a logical expression which can evaluate to TRUE orFALSE.
We distinguish four categories of Conditions:
Application Criteria see page 36.
Tool Attributes see page 39.
Less Worked Feature Attributes see page 40.
Operation Attributes see page 41.
Although NX does not know these categories, it is good to keep them in mind
and organize the condition in these four categories.
Application Criteria
Application criteria state when a Rule may be applied. In general, application crite-ria are related to the size and quality of the More Worked Feature. Examples are:
The roughnesses that can be achieved: e.g. drilling is only allowed until a cer-
tain roughness, otherwise reaming/boring should be used.
The size tolerances that can be achieved: e.g. drilling is only allowed until a cer-
tain diameter tolerance, otherwise boring or reaming should be used.
The shape of the feature: e.g. drilling with a straight drill will finish the shape
only when there are no chamfers.
The size of the feature: e.g. drilling is only allowed when the feature is not too
deep or too large, otherwise another operation type should be used.
A Rule can only be applied to a feature when all its application criteria are TRUE.
When the expression evaluates to FALSE, evidently the Rule may NOT be applied.
An example of an application criterion for using a twist drill is
:
Conditions concept
7/22/2019 NX 8.5 MachiningKnowledgeEditor
47/233
Machining Knowledge Editor Training V8.5- Concepts 37
REM Application Criteria
mwf.DEPTH / mwf.DIAMETER_1 < 6$$ Feature is too deep for DRILL cycle
Each line in this example has a different function. The first line starting with
REM is considered as remark and does not have any effect on the behavior of the
program. The programmer can use remarks to include short explanations or obser-
vations. It is advised to add remarks so others can understand the behavior of the
Rule and the reason for the conditions. There can be several lines of remarks fol-
lowing each other, but each line needs to start with REM .
The second line
mwf.DEPTH / mwf.DIAMETER_1 < 6
is the actual condition. In this case defining that the DEPTH attribute of the mwf
(More Worked Feature) should be smaller than 6 times the DIAMETER_1 of the
mwf. When applied to a manufacturing feature, with its actual parameter values for
DEPTH and DIAMETER, this condition is false, the Rule will be rejected and the
system will continue evaluating the next Rule.
The third line starting with $$ defines the message that will be output when the con-
dition is false and thus the rule is rejected. This message is part of the messages that
users will see if they want to analyze why a certain solution was found. As a conse-
quence, these messages should be clear enough for the users to be able to under-
stand why a Rule was not used. When the Rule is denied because of this condition,
the text prefixed with $$ will be printed in the Information window (if displayed)
and to the MSAnalysis.lis file on the $TEMP directory.
In the above examples, DEPTH and DIAMETER_1 are attributes of
STEP1HOLE. In order to obtain a complete list of attributes you can use inexpressions, type mwf followed by a dot . and select one from the list.
When the editor recognizes valid entries, it will display them in a different color.
These colors are defined in the Preferences.xml that can be found in the
MACH\machining_knowledge_editor directory.
Another example of an application criterion is:
Conditions concept
7/22/2019 NX 8.5 MachiningKnowledgeEditor
48/233
38 Machining Knowledge Editor Training- Concepts
IT_class_ISO(mwf.DIAMETER_1, mwf.DIAMETER_1_UPPER,
mwf.DIAMETER_1_LOWER) >= 11
$$ Feature's tolerance class cannot be achieved with this Rule
In the IT-class system for tolerancing dimensions, a low value denotes a tighter tol-
erance than a high value. So if the IT class of an actual feature is 7, it is too tightly
toleranced to be drilled. Then this application criterion will evaluate to FALSE and
the Rule will not be applied.
In the above example,
IT_Class_ISO( ) is a functiondelivering an integer number as
result. When placing the mouse
over the function text, a tool tip
will appear explaining the func-
tion, see left.
The default values for _upper and _lower bandwidths of dimensional parameterslike the DIAMETERare in file mach\resource\feature\metric |
english\feature_tolerances.xml.
When _upper and _lower bandwidth have the same value, i.e. the tolerance is zero,
then the function returns undefined. The rule will not be rejected on this test.
In order to obtain a complete list of functions you can use in expressions, press F8
and select one from the list.
Some other examples of rather common Application Criteria are:
mwf.SIDE_ROUGHNESS_1 > 12.5
$$ Features side roughness cannot be achieved
mwf.DIAMETER_1 < 63
$$ Feature's diameter is too large
mwf.DEPTH_TOP_CHAMFER > 0.01
$$ Feature must have a top chamfer
Conditions concept
7/22/2019 NX 8.5 MachiningKnowledgeEditor
49/233
Machining Knowledge Editor Training V8.5- Concepts 39
Tool Attributes
The Tool Query defines the size of the tool that will be used for the operation.
Examples are:
The diameter of the tool should be corresponding to the diameter of the mwf:
e.g. the drill diameter should be smaller than the maximum toleranced size of
the mwf diameter but should be larger than the minimum toleranced size.
The tool should be long enough: e.g. the length of the drill should be larger than
the depth of the hole.A Rule will have one or more expressions to specify tool attributes like:
tool.Diameter >= mwf.DIAMETER_1 + mwf.DIAMETER_1_LOWER
tool.Diameter mwf.DEPTH
The expressions above were entered using copy and paste, see screenshot below.
In the above example, Diameter, and FluteLength are attributes of
TWIST_DRILL. In order to obtain a complete list of attributes you can use inexpressions, type tool followed by a dot . and select one from the list.
The text printed, when one of these conditions evaluates to FALSE, says Conflict in
one of the tool size specifications. That would happen, for instance, if we had mis-
takenly entered something conflicting like:
tool.POINT_ANGLE = 120 AND tool.POINT_ANGLE = 118
Note The operator AND is equivalent to putting the expressions on separate lines.
A Rule should not be rejected based on conditions defining tool Attributes. When
the cutting tool of the class is not available, the Rule will not be applied and NX
will try the next Rule. In that case, the $$text will not be displayed.
NX will try to use the tool with the biggest Cutter Diameter that is still smaller than
the maximum as specified by the expressions. As a consequence, the lower limit
only needs to be defined when it is essential for a correct tool selection, like for drill
Conditions concept
7/22/2019 NX 8.5 MachiningKnowledgeEditor
50/233
40 Machining Knowledge Editor Training- Concepts
type operations. For milling operations a lower limit is most of the times not neces-
sary. For this to function, NX must know which attribute holds the size of the Cutter
Diameter. This is a trivial issue, but since the tool classification is free, it is neces-
sary to appoint one of the tools attributes to be the Cutter Diameter. This is done in
the Customization View with commandSet as Cutter Diameter...See Set as Cutter
Diameter, Set as Cutter Length on page 180.
Tool Sort Order
Generally, more than one tool of the desired class satisfies the tool query. It is
important to avoid choosing a too long and therefore unstable tool. Tools are
ordered by their length. For this to function, NX must know which attribute holds
the size of the Cutter Length. This is a trivial issue, but since the tool classification
is free, it is necessary to appoint one of the tools attributes to be the Length. This is
done in the Customization View with commandSet as Cutter Length.
Less Worked Feature Attributes
When defining Less Worked Feature attribute values we define the in-processgeometry. The screenshot above shows the drill point that exists before drilling the
hole.
If no Less Worked Feature is required, the class BLANK is used. This means the
operation does not need a defined starting geometry.
Note In general, there should be at least one operation with BLANK as LWF
for every MWF feature type. Otherwise there will be no complete solutionfound for a specific feature type.
In order to calculate the dimensions we need to be familiar with the feature classes
and their attributes.
To specify the dimensions of the drill point (class POCKET_ROUND_TAPERED) we
need following expressions:
Conditions concept
7/22/2019 NX 8.5 MachiningKnowledgeEditor
51/233
Machining Knowledge Editor Training V8.5- Concepts 41
lwf.DIAMETER_1 = mwf.DIAMETER_1 * 0.5
lwf.DIAMETER_2 = 0lwf.DEPTH = lwf.DIAMETER_1/2
In the above example, DIAMETER_1, DIAMETER_2 and DEPTH are attributes of
Less Worked Feature POCKET_ROUND_TAPERED. In order to obtain acomplete list of attributes you can use in expressions, type lwf followed by a dot
. and select one from the list.
When there is no expression for the LWF attribute, NX copies the correspondingvalue from the MWF. This works only if the attribute names match exactly. So, if
the DEPTH of the feature does not change, you do not need to enter the expression:
lwf.DEPTH = mwf.DEPTH
Also, you do not need to enter expressions like:
lwf.X_POSITION = mwf.X_POSITIONlwf.Y_POSITION = mwf.Y_POSITION
lwf.Z_POSITION = mwf.Z_POSITION
When the LWF is of class BLANK, we do not care about the LWF class and hencedo not need to specify any LWF attributes.
For readability, it is good practice to have lwf attributes on the left side of the equa-
tion.
Operation Attributes
The last category of conditions specifies attributes of the Rules operation. Exam-
ples are:
The operation should go deep enough
What is the control point on the tool
Conditions concept
7/22/2019 NX 8.5 MachiningKnowledgeEditor
52/233
42 Machining Knowledge Editor Training- Concepts
Above a screenshot with some examples of assignments to operation attributes. In
order to obtain a complete list of attributes you can use in expressions, type oper
followed by a dot . and select one from the list.
In MKE 8.0.1 you can use the + operator to concatenate any number of strings.
Examples are depicted below:
New in MKE 8.0.1 is the possibility to define operation parameters in Add-ons. Itwas already possible to define operation parameters in the rule's conditions with the
prefix oper.. If the same operation parameter is defined both in the condition tab
and in an Add-on and the values are conflicting then the Add-on will be rejected.
The main reason for having operation parameter assignments in an Add-on, rather
than in the condition tab, is the timing of the assignment. This is a little bit compli-
cated but it's sufficient to know that expressions in the Add-on are evaluated at the
very end of Create Feature Process, when the operation is selected and a tool isselected. Whereas the expressions in the Conditions tab are continuously re-evalu-
ated during the operation and tool selection process. This behavior may lead to
unexpected and undesirable results in situations where feature parameter ranges
and tool parameters are used to set operation attributes such as the operation name.
It is recommended to define the operation parameters in the Rules Add-ons, rather
than in the Rules Condition tab. This ensures that operation parameter assignments
will not influence the operation selection itself. In other words: a rule will never be
rejected due to an operation parameter assignment when the assignment is done in
the Rules Add-on.
Expression syntax | Functions
7/22/2019 NX 8.5 MachiningKnowledgeEditor
53/233
Machining Knowledge Editor Training V8.5- Concepts 43
Expression syntax | Functions
This section gives a short overview of the expression syntax including the operators
and functions that can be used within the expressions.
Note a - b + c is evaluated as (a - b) + c . It is advised to use brackets for clarity
and correct evaluation.
Table 2Operators
Operator Explanation
= equal
< smaller than
greater than
>= greater than or equal
< > not equal
+ addition(numbers or char strings)
- subtraction
* multiplication
/ division
^ power AND logical
OR logical
NOT logical
( left parenthesis
) right parenthesisIF THEN ELSE conditional expression
Expression syntax | Functions
F ti
7/22/2019 NX 8.5 MachiningKnowledgeEditor
54/233
44 Machining Knowledge Editor Training- Concepts
Functions
Press F8 while in the Conditions Tab to obtain a list of functions:
TABLE 3. Functions to be used in expressions
output function(argument) explanation
[degrees] ACOS (number) returns the arc cosine.
[degrees] ASIN (number) returns the arc sine.
[degrees] ATAN (number) returns the arc tangent.
[number] COS (degrees) returns the cosine.
[number] SIN (degrees) returns the sine.
[number] TAN (degrees) returns the tangent.
[integer] CEIL (number) returns the smallest integer >= input value.
[integer] CEIL_RANGE (number) The input value can be a range, bound sin-
gle or double sided.
IF (a
7/22/2019 NX 8.5 MachiningKnowledgeEditor
55/233
Machining Knowledge Editor Training V8.5- Concepts 45
In addition to the functions above which are hard-coded, see the system functions
defined in the Functions tab.
[integer] ToInt(string) converts a whole number in string format to
real
New in 8.0.1
[string] ToString(param,int) converts a real to a char string with (int)
decimals shown. More decimals are trun-
cated.
New in 8.0.1
TABLE 3. Functions to be used in expressions
output function(argument) explanation
Constants concept
C t t t
7/22/2019 NX 8.5 MachiningKnowledgeEditor
56/233
46 Machining Knowledge Editor Training- Concepts
Constants concept
Constants are objects with a name, a type and a value. We use them in conditions
instead of hard-coded values, for instance:
oper.Depth = mwf.DEPTH + constant.DEPTH_EXTEND
instead of
oper.Depth = mwf.DEPTH + 2
Using constants instead of hard-coded values eases the readability and maintain-
ability of expressions.
Another advantage of using constants is the possibility to vary the values for any
combination of machine / material. If there is no value specified then the default is
used.
Above screenshot shows a constant.Pre_Drill_Limit with a different value for
material ALUMINIUM.
A constant can be of datatype double, integer, or string.
Different constant values can be defined for metric and inch part files. Based on the
units used in the part file, NX will automatically select the correct values of the
constants.
If you define a constant value in metric (mm) only then NX will calculate the
english (inch) value by division by 25.4.
If you define a constant value in english (inch) only then NX will calculate the
metric (mm) value by multiplication with 25.4.
If you define a value for both english (inch) and metric (mm) unit systems then
-however- these values will be used by NX.
Constants concept
S f C
7/22/2019 NX 8.5 MachiningKnowledgeEditor
57/233
Machining Knowledge Editor Training V8.5- Concepts 47
Scope of a Constant
Preferably we declare a Constant globally, that is on the RuleLibrary level, withits default value and if applicable its values per machine / material combination.
We use the Constant locally in a Rules Conditions and when the value should be
different from the global value we can define the Constant locally at Rule level.
Constant Command Icons
Opens a dialog window to declare a new Constant and its default value.
Cuts selected Constant and saves it on the clipboard.
Copies selected Constant and saves it on the clipboard.
Paste from the Clipboard
Delete selected Constant
Edit selected Constant (alternative for double click)
These commands are also available in the pop-up menu of the list of constants.
Using Constants in Expressions
In order to obtain a complete list of Constants you can use in expressions, type
constant followed by a dot . and select one from the list.
It is possible to use a constant even before it is declared. However, the Check Valid-
ity command will stumble over this and you can declare afterwards.
Finding Rules based on criteria
Finding Rules based on criteria
7/22/2019 NX 8.5 MachiningKnowledgeEditor
58/233
48 Machining Knowledge Editor Training- Concepts
Finding Rules based on criteria
There are several ways of finding and searching within the Machining Knowledge
Editor. These options are described in the following section.
Find in all Rule Conditions
Use command Find in all Rule Conditions in the condition Tab or on the RuleLi-
brary, to activate (so theyre displayed in Table View) all Rules having the search
string.
Find/Replace
To search for any text in the conditions and replace that text. When at the end of the
Rules condition, the command asks if it should continue to search in the next Rule
unless the Wrap around search is checked active.
Using TableView autofilter
Use Table View to filter the RuleLi-
brary on any criteria, like Rules for
machining a feature of class
STEP1HOLE.
Finding Rules based on criteria
Using TableView Filter Column
7/22/2019 NX 8.5 MachiningKnowledgeEditor
59/233
Machining Knowledge Editor Training V8.5- Concepts 49
Using TableView Filter Column
You can search a selected column using the Wildcard search. For instance youcan find all activated Rules whos name starts with Chamfer:
Activity: Searching the Rules
Use the table view to find all Rules with the TAPPING OperationClass. Find all Rules that use the condition tool.Diameter < mwf.DIAMETER_1
Testing the Rules
Testing the Rules
7/22/2019 NX 8.5 MachiningKnowledgeEditor
60/233
50 Machining Knowledge Editor Training- Concepts
Testing the Rules
Check Validity
Once a Rule is complete, the Rule can be checked by compiling the Rule or some of
the conditions. Compilation of the Rule conditions can be done on different levels.
Typically this is done to test conditions on validity on the fly.
Select one or more lines in the conditions Tab and execute Check Validity
(selection) from the pop-up menu.
Select the Rule node in the RuleLibrary and execute Check Validity from the
pop-up menu.
If the compiler discovers mistakes these are indicated by bookmarks. Locate these
bookmarks and correct the mistakes with the help of the compilers error message.
Activity: Check Validity Select a Rule and check the validity of some of the conditions.
Select several Rules and check the validity of the Rules.
Testing in NX with Create Feature Process
Once a library has been saved, the Create Feature Process command in NX can beused to test the Rules. This can be done by selecting features in the NX Manufac-
turing Feature Navigator and starting the Create Feature Process from the popup
menu.
Reading the Information window and the MSAnalysis.lis
After each execution ofCreate Feature Process there will be a report in the Infor-
mation window and in the MSAnalysis.lis file on the %TEMP% directory.
At the beginning of the file, the used source file is mentioned, for instance:Knowledge library: C:\Program Files\UGS\NX
7.5\mach\resource\machining_knowledge\machining_knowledge.xml
When a Rule is denied because of a condition which evaluated to False, the $$text
after that condition will be printed. For instance:
Testing the Rules
mwf.Diameter 1 >= 10.0
7/22/2019 NX 8.5 MachiningKnowledgeEditor
61/233
Machining Knowledge Editor Training V8.5- Concepts 51
. a ete _ 0.0
$$ Rule denied because Diameter_1 of the feature is < 10.
Activity: Testing the RuleLibrary
Load a test model in NX
Switch to Manufacturing.
In the Feature Navigator, recognize features with the Find Features command
Start the Create Feature Process command on a feature.
Rules for multiple More Worked Features
Rules for multiple More Worked Features
7/22/2019 NX 8.5 MachiningKnowledgeEditor
62/233
52 Machining Knowledge Editor Training- Concepts
f p
It is allowed, for feature mapping rules only, to have multiple mwfs separated by
commas.
Attribute Rule.type [direct,composed,indirect] determines the applicability of theRule.
direct
mwfORmwfORmwf
Attributes in conditions are prefixed with mwf. Since only attributes can be
used that are in all mwf classes there can be no confusion.
composed
mwfAND mwfAND mwf
Attributes in conditions must be pre-fixed with mwf_1, mwf_2 etcetera.This is not yet supported in for operation selection rules.
It is supported in NX6 for feature mapping rules.
indirect
Rule will be filtered out in any case during Create Feature Process... command.
7/22/2019 NX 8.5 MachiningKnowledgeEditor
63/233
Machining Knowledge Editor Training V8.5- How it works 53
CHAPTER 3 How Operation Selection works
This chapter deals with the Operation Selection that was introduced in NX6. It
gives some background on how things work. NX CAM programmers do not neces-
sarily have to be aware of this.
What is Operation Selection?
Rulebased operation selection is a proven technology seamlessly integrated into
NX that helps you automatically create operations such as milling, drilling and tap-
ping from a generic template. Rulebased operation selection is also applicable to
Turning and Wire EDM operations.
It lets you select features such as holes, slots, and pockets from any source, includ-
ing features that are user defined, identified, recognized or tagged.
It applies best practice machining rules on the features while taking into account
any defined PMI.
Benefits of feature based Operation Selection are:
Standardize on best practice machining knowledge. The software finds the bestsolution for a machining task within a companys environment.
Save time with process automation.
Machining Knowledge Editor and NX
Machining Knowledge Editor and NX
7/22/2019 NX 8.5 MachiningKnowledgeEditor
64/233
54 Machining Knowledge Editor Training V8.5- How it works
There is a clear separation between the tool of the Subject Matter Expert, the
Machining Knowledge Editor (above the dashed line) and the NX Programmer.
Machining Knowledge Editor and NX
The Machining Knowledge Source is created using the MKE. NX can be config-
7/22/2019 NX 8.5 MachiningKnowledgeEditor
65/233
Machining Knowledge Editor Training V8.5- How it works 55
ured to use this source file. See CAM Configuration dependent customization onpage 178.
Examples of operation sequences
Examples of operation sequences
7/22/2019 NX 8.5 MachiningKnowledgeEditor
66/233
56 Machining Knowledge Editor Training V8.5- How it works
STEP1HOLE and STEP1HOLE_THREAD in 4 operations.
The command Create Feature Process... in NX will start reasoning backward,
using Rules, from the final feature (Output Feature) to the blank feature (Input Fea-
Examples of operation sequences
ture). This is the most import thing to keep in mind when implementing your com-
7/22/2019 NX 8.5 MachiningKnowledgeEditor
67/233
Machining Knowledge Editor Training V8.5- How it works 57
panys machining knowledge in the MKE.Observe that Spot_Drill and Drill_S1H and Chamfer_S1H are three elemental
operations that appear in the solution for both features. This is an essential concept:
elementary rules are defined only once and are applied whenever appropriate. This
sets aside the NX FBM solution to other systems or custom made solutions which
find solutions by definining the complete set of operations for every case that
needs to be automated. In NX FBM, a modification to a Rule will have effect in all
instances where the rule will be applied.
Finding a solution using elementary rules
Finding a solution using elementary rules
7/22/2019 NX 8.5 MachiningKnowledgeEditor
68/233
58 Machining Knowledge Editor Training V8.5- How it works
In this example we will follow the reasoning process that is followed when search-
ing for a solution for a feature of type STEP1HOLE with a diameter 12H7.
First the candidate rules will be selected. These are the rules that produce a feature
of type STEP1HOLE. By filtering the Table View on STEP1HOLE we can createthat list in the MKE. NX Operation Selection will create the same list internally.
Operation Selection will first try the candiate Rule with highest priority. We have
given the rules priorities such that the least expensive has the highest priority. In the
example this means that Drill_S1H is tried first. It cannot be applied because a
diameter tolerance of H7 is not achievable when using a twist drill.
That is one of the Rules application criteria. This road ends which is denoted by:
Finding a solution using elementary rules
7/22/2019 NX 8.5 MachiningKnowledgeEditor
69/233
Machining Knowledge Editor Training V8.5- How it works 59
Then the next expensive Rule, Drill_in_center_S1H is tried. Also this Rule will fail
for the same reason as Drill_S1H : a tolerance of H7 cannot be achieved with a
twist drill.
Finding a solution using elementary rules
7/22/2019 NX 8.5 MachiningKnowledgeEditor
70/233
60 Machining Knowledge Editor Training V8.5- How it works
We skip a few candiate Rules that are rejected and arrive at Ream_S1H. For this
Rule all conditions are true, and it is really applied which is denoted by a new node:
Finding a solution using elementary rules
7/22/2019 NX 8.5 MachiningKnowledgeEditor
71/233
Machining Knowledge Editor Training V8.5- How it works 61
The new node is an in-process feature of, again, type STEP1HOLE. The
Ream_S1H conditions will have loosened the tolerance on its diameter.
The in-process STEP1HOLE is the new target for the Operation Selection. And
what we have seen before happens again: the candidate list with Rules is tried in
order of priority, highest first.
We see that Drill_S1H is rejected because of a general application settings thatrejects drilling directly without centering first.
The second Rule is Drill_in_center_S1H. For this Rule all conditions are true, and
it is really applied which is denoted by a new node:
7/22/2019 NX 8.5 MachiningKnowledgeEditor
72/233
Finding a solution using elementary rules
7/22/2019 NX 8.5 MachiningKnowledgeEditor
73/233
Machining Knowledge Editor Training V8.5- How it works 63
With File > Utilities > Customer Defaults...you can activate the check box Display
Information...etc to have the file popping up after each Create Feature Process...
Finding a solution using elementary rules
7/22/2019 NX 8.5 MachiningKnowledgeEditor
74/233
64 Machining Knowledge Editor Training V8.5- How it works
CHAPTER 4 MKE Exercises: Hole Making
7/22/2019 NX 8.5 MachiningKnowledgeEditor
75/233
Machining Knowledge Editor Training 65
C MKE Exercises: Hole Making
Before proceeding, please make sure you have completed reading Machining
Knowledge Editor Concepts.
In this chapter you find exercises to create a number of example MachiningRules:
Drill
Tap
Ream
Drill-up
Thread Mill (to be done)
After completing these exercises you are well equiped to translate your com-
panys best manufacturing practices into MachiningRules that can be used by NX.
The exercises provide detailed instructions. It should be possible to follow thistraining off-line, self-paced.
Creating a new RuleLibrary file
Creating a new RuleLibrary file
The Rule Library file is an xml source file containing
7/22/2019 NX 8.5 MachiningKnowledgeEditor
76/233
66 Machining Knowledge Editor Training
y g
MachiningRules (tab Machining Knowledge)
FeatureRecognitionRules (tab Feature Recognition)
MappingRules (tab Feature Mapping)
a FunctionLibrary (tab Functions)
the Customization
We will focus on MachiningRules in this part of the Tutorial.
There are two options when creating a new RuleLibrary file:
1. Copy an existing RuleLibrary file. Advised when your new MachiningRuleLi-
brary will have a lot in common with the old MachiningRuleLibrary. This is for
example when you are going to add extra MachiningRules to an existing
MachiningRuleLibrary.
2. Create a new RuleLibrary file and start from scratch. You will still have the pos-
sibility to import rules from other libraries, using the commands MB3 >
Export/Import .
Copying an existing RuleLibrary file
This can be done in the following steps:
Go to the UGII_CAM_MACHINING_KNOWLEDGE_DIR directory.
Copy the file machining_knowledge.dat.
Rename the copy to train_machining_knowledge.dat.
Edit train_machining_knowledge.datand assign a new library name to the
MACHINING_KNOWLEDGE_LIBRARY entry.
Go to the configuration directory. Depending on the installation this is either theUGII_CAM_CONFIG_DIR directory or the UGII_CAM_CUSTOM_DIR
directory.
Creating a new RuleLibrary file
Copy the configuration file that is linked to the existing RuleLibrary.
Rename the copy to, for instance, train_feature_machining.datEdi h f h fi i fil Ch h
7/22/2019 NX 8.5 MachiningKnowledgeEditor
77/233
Machining Knowledge Editor Training 67
Edit the copy of the configuration file. Change the
MACHINING_KNOWLEDGE entry to point to the new
train_machining_knowledge.datfile that was created in the
UGII_CAM_MACHINING_KNOWLEDGE_DIR configuration directory.
Start the Machining Knowledge Editor.
Open the existing RuleLibrary file using command Open and Update. When
the NX Configuration Files dialog appears, select the .dat file that you createdand press the OK button.
Save the file with the new library name using the File > Save As command.
Creating a new RuleLibrary file.
This requires the following steps:
Go to the UGII_CAM_MACHINING_KNOWLEDGE_DIR configuration
directory.
Copy an existing file, like machining_knowledge.dat.
Rename the copy to, for instance, train_machining_knowledge.dat
Edit the copy of the configuration file. Assign a new library name to the
MACHINING_KNOWLEDGE_LIBRARY entry.
Go to the configuration directory. Depending on the installation this is either theUGII_CAM_CONFIG_DIR directory or the UGII_CAM_CUSTOM_DIR
directory.
Copy the configuration file that pointed to the original file in the
UGII_CAM_MACHINING_KNOWLEDGE_DIR.
Rename the copy to, for instance, train_feature_machining.dat
Edit the copy of the configuration file. The MACHINING_KNOWLEDGE
entry must point to the new file that was created in theUGII_CAM_MACHINING_KNOWLEDGE_DIR configuration directory, say
train_machining_knowledge.dat.
Start the Machining Knowledge Editor.
Choose File >New.
In the NX Configuration Files dialog box, from the Configuration Folders list,select the location for the configuration file:
Creating a new RuleLibrary file
- If you use a standard NX configuration, select UGII_CAM_CONFIG_DIR.
- If you have custom configurations, select UGII_CAM_CUSTOM_DIR.
- Or you can use Browse to select a configuration file from anywhere on the file
7/22/2019 NX 8.5 MachiningKnowledgeEditor
78/233
68 Machining Knowledge Editor Training
system.
From the Configuration Files list, select the file you copied and renamed, like
train_feature_machining.dat.
Select the unit system and click OK.
Save the file with a new name using the File > Save As command. The name
must be as defined in train_machining_knowledge.dat.
As we will start from scratch we need to create a new RuleLibrary file.
Activity: Creating a new RuleLibrary file
Create a file my_feature_machining.dat on the UGII_CAM_CONFIG_DIR
with a MACHINING_KNOWLEDGE entry pointing to MyRules.dat.
Create a file MyRules.dat on theUGII_CAM_MACHINING_KNOWLEDGE_DIR with a
MACHINING_KNOWLEDGE_LIBRARY entry pointing to MyRules.
Launch the MKE from the Start menu > Siemens NX 8.5 > Manufacturing Tools
> Machining Knowledge Editor.
Create a new RuleLibrary with File > New.
Use my_feature_machining.dat from the UGII_CAM_CONFIG_DIR.
Save the initial source file as MyRules.xml
Activity: Setting the Cutter Diameter and Cutter Length
Since we are working on a new source file, we must appoint one of each tools
attributes to be the Cutter Diameter.
Open the Customization View by pressing the Customization tab.
Expand the Drilling tree in the Tools tree.
Select node Drilling
Right-click Diameter attribute in the attributes list and selectSet as Cutter
Diameter ....
Creating a first Rule
The Diameter attribute in inherited by all
Drilling tools and is now used by the software
as the Cutter Diameter.
7/22/2019 NX 8.5 MachiningKnowledgeEditor
79/233
Machining Knowledge Editor Training 69
Select node Twist Drill
Right-click FluteLength attribute in the attributes list and selectSet as Cutter
Length....
The Flute Length attribute is specific for
the Twist Drill and is not further inherited.
It is now used by NX as the Cutter Length.
Do the same for classes TAP and CHUCKING_REAMER.
PressSave to file your edits.
Creating a first Rule
What this example intends to explain
The basics of creating a single MachiningRule
How to testthe MachiningRule
All conditions for this MachiningRule are presented here. Please keep in mind that
these are just examples, as is the MachiningRule itself. Especially conditions of cat-
egory Application Criteria are always customer specific.
Creating a first Rule
Explanatory picture
7/22/2019 NX 8.5 MachiningKnowledgeEditor
80/233
70 Machining Knowledge Editor Training
We start by defining a MachiningRule which describes how to drill a straighthole in full material using a twist drill. When creating a new MachiningRule, wehave to define the following items:
The More Worked Feature class, describing the shape of the end geometry.
The Less Worked Feature class, describing the shape of the starting geometry.
The cutting tool class.
The operation class describing the machining strategy.
In our example, this maps to the following:
More Worked Feature: a straight through hole corresponds to the feature classSTEP1HOLE.
Less Worked Feature: when starting from full material this corresponds to the
feature class BLANK.
Tool: the twist drill corresponds to the TWIST_DRILL cutting tool class. Operation: the drill motion is defined by the DRILLING strategy.
Activity: Create a MachiningRuleLibrary
Press the Machining Knowledge tab in the TreeView.
Move the mouse over MachiningKnowledge, right-click and chooseNew...
from the menu. Check class MachiningRuleLibrary and leave the amount to 1.
Press OK to create a new empty library.
Rename MachiningRuleLibrary* to TrainingRules.
Creating a first Rule
You now have created this:
7/22/2019 NX 8.5 MachiningKnowledgeEditor
81/233
Machining Knowledge Editor Training 71
Activity: Create a MachiningRule for Drilling a Step1Hole
Move the mouse over node TrainingRules, right-click and chooseNew... from
the menu.
Check class MachiningRule and leave the amount to 1.
Expand TrainingRules by clicking the + sign and select MachiningRule*.
Rename MachiningRule* to Drill_STEP1HOLE_Direct.
You now have created this:
Press F8 in the OperationClass field and select DRILLING in the operationclass tree.
Press F8 in the More Worked Features field and select STEP1HOLE from thelist.
Creating a first Rule
Click in the Less Worked Features field and enter the class name BLANK .(You
can select from the list as well.)
Press F8 in the Tool field and select TWIST_DRILL in the tool class tree.
Set the Priority = 3
7/22/2019 NX 8.5 MachiningKnowledgeEditor
82/233
72 Machining Knowledge Editor Training
Set the Priority = 3.
Conditions
By creating the MachiningRule, we only defined that you can drill a straight holewith a drill. But we did not yet define any such detail conditions as:
when we want to use this MachiningRule,
what size of tool do we want to use,
or how deep we want to drill.
Without these conditions, the system will use this operation for any hole indepen-
dent of size or quality, and will select any drill without regard of the size. In order to
create a useful Machini