0% found this document useful (0 votes)
11 views

NX CAM On-Machine Probing - Settings Guide

The document discusses the settings file for on-machine probing cycles in NX CAM. It describes the structure, encoding, location and available keys of the settings file, which contains settings for prefiltering cycles based on controller names and additional machine filters. It also describes the structure, encoding, location and available keys of metafiles and JSON files used for probing cycles.

Uploaded by

davidmason377338
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views

NX CAM On-Machine Probing - Settings Guide

The document discusses the settings file for on-machine probing cycles in NX CAM. It describes the structure, encoding, location and available keys of the settings file, which contains settings for prefiltering cycles based on controller names and additional machine filters. It also describes the structure, encoding, location and available keys of metafiles and JSON files used for probing cycles.

Uploaded by

davidmason377338
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

On-Machine Probing Settings

This is a documentation about all relevant settings and customizations of OMP

Contents
Settings.................................................................................................................................................................................... 3
Structure ............................................................................................................................................................................. 3
Encoding .............................................................................................................................................................................. 3
Place .................................................................................................................................................................................... 3
Available keys...................................................................................................................................................................... 3
"loglevel": “”.................................................................................................................................................................... 3
"dbAliasControllerNative": “” ......................................................................................................................................... 3
"dbAliasControllerMRL": “” ............................................................................................................................................. 3
“controllers”: {} ............................................................................................................................................................... 4
"machine_filter": {} ......................................................................................................................................................... 4
Sample................................................................................................................................................................................. 5
Metafile ................................................................................................................................................................................... 6
Usage................................................................................................................................................................................... 6
Structure ............................................................................................................................................................................. 6
Encoding .............................................................................................................................................................................. 6
Place .................................................................................................................................................................................... 6
Number of metafile............................................................................................................................................................. 6
Available settings ................................................................................................................................................................ 6
"cycle_file_name": “” ...................................................................................................................................................... 6
"localization_file_name": “” ........................................................................................................................................... 7
"valid_for_feature": [] ..................................................................................................................................................... 7
“cycledata”: {} ................................................................................................................................................................. 7
"cycle_purpose": {} ......................................................................................................................................................... 8
"controller": {} ................................................................................................................................................................. 8
"tooltip": {} ...................................................................................................................................................................... 8

© Siemens
Sample................................................................................................................................................................................. 9
JSON File................................................................................................................................................................................ 11
Usage................................................................................................................................................................................. 11
Structure ........................................................................................................................................................................... 11
Encoding ............................................................................................................................................................................ 11
Place .................................................................................................................................................................................. 11
Number of json files .......................................................................................................................................................... 12
Available keys.................................................................................................................................................................... 12
"parameters": {} ............................................................................................................................................................ 12
“messages”: {} ............................................................................................................................................................... 12
"ncparameters": {} ........................................................................................................................................................ 13
Sample............................................................................................................................................................................... 14

© Siemens
Settings
The settings file is read one time when initializing NX CAM. It contains settings for prefiltering the cycles based on
controller names or additional machine filter logics.

Structure
The file has a structure of a json file, also the extension is “.json”. The content can be defined and modified with a
plausible text editor.

Encoding
The file encoding must be UTF-8.

Place
The “settings.json” file has to be placed in the settings folder: “…/probing_cycles/settings”.

Available keys
The setting keys for the changeable values are predefined.

The possible settings are:

"loglevel": “”
Level of the output in the NX log file. Possible values are “debug”, “info”, “warn” and “error”.

"dbAliasControllerNative": “”
DB Alias name of the controller information stored in the machine database file entry in a NX CAM ASCII based
library environment. This DB Alias is defined in the “dbc_machine_ascii.def” file in the NX CAM
“resource/library/machine/ascii” folder. Default value is “Control”. It is used to prefiltering the cycles based of its
value. For example, it reads out the DB Alias value of the current selected machine and tries to match it with the
defined controllers in the “controllers” section.

"dbAliasControllerMRL": “”
DB Alias name of the controller information stored in the attribute of a machine ICO in a NX CAM MRL library
environment. This DB Alias is defined in the “dbc_inclass_mach.def” file in the NX CAM
“resource/library/machine/inclass” folder. Default value is “DBA_401133”. It is used to prefiltering the cycles
based of its value. For example, it reads out the DB Alias value of the current selected machine and tries to
match it with the defined controllers in the “controllers” section.

© Siemens
“controllers”: {}
Dictionary for defining all possible controller names and regular expressions to match the values of the ASCII or
MRL machine controller entries. It has already predefined controller names and regular expressions and can be
extended for missing controller names. The controller names are referenced in the meta file of each cycle.
▪ “controller_name”: []
A unique identifier of a controller name which is referenced in a meta file of a cycle e.g. “Sinumerik”.
The value is a string JSON array which contains regular expression to match controller names in the ASCII
or MRL attribute values e.g. to match values like “sinumerik 840D” or “S840D” as valid values for
“Sinumerik” controller based cycles.

"machine_filter": {}
Dictionary for additional NX CAM machine-based filtering of cycles. It allows to filter cycles based on conditions
of the current selected machine in NX CAM. For example, if you don’t want to show specific cycles for robotic
machines you can filter all cycles when the machine machine type value is robotic (“MDM0301” or
“MDM0401”).
▪ “conditions”: {}
Conditions which need to be fulfilled for applying the “cycles” filter. Each condition consist of a DB alias
name from the “dbc_machine_ascii.def” as a key and a regular expression as a value to be applied to
each DB alias entry of each machine in the machine database. For example, if you want to have a
condition for all robotic machines you can add { “Type”: “MDM0301|MDM0401” }.
▪ “cycles”: []
Array of regular expression strings for the cycle names to filter. If the all specified conditions are applied,
all cycle names are filtered based on the regular expressions in this array. For example, if you want to
hide all cycles when the defined condition is applied you can use “.+” as value of this array.

© Siemens
Sample
{
"loglevel": "debug",
"dbAliasControllerNative": "Control",
"dbAliasControllerMRL": "DBA_401133",
"controllers": {
"Sinumerik": [
"(?i)Sinumerik",
"([Ss])?([8][0-9][0-9])([Dd]?)",
"(?i)SolutionLine",
"(?i)PowerLine",
"(?i)Siemens"
],
"Heidenhain": [
"(?i)Heidenhain",
"(?i)[Tnc)[ ]?([4-9]([0-9][0-9])?)"
],
"Fanuc": [
"(?i)Fanuc"
],
"Okuma": [
"(?i)Okuma"
],
"Mitsubishi": [
"(?i)Mitsubishi"
],
"Mazak": [
"(?i)Mazak"
],
"Haas": [
"(?i)Haas"
],
"Renishaw": [
"(?i)Renishaw"
],
"Blum": [
"(?i)Blum"
]
},
"machine_filter": [
{
"conditions": {
"Type": "MDM0301|MDM0401"
},
"cycles": [
".+"
]
}
]
}

© Siemens
Metafile
Each cycle needs its own metafile containing necessary information for validating the cycle and displaying the user-
defined name, description, and tooltip with possible translations. Without a metafile the cycle will not be displayed in
NX!

Usage
The metafiles are read automatically after selecting the NX feature(s) in the OMP operation dialog.

Structure
The metafile has a structure of a json file, however the file extension is always “.meta”. The content can be defined and
modified with a plausible text editor.

Encoding
The file encoding must be UTF-8. Especially when having different language presentations in the file please be aware of
the encoding settings! The translation keys must correspond with the NX language nomenclature.

Place
For defining an OMP cycle a “.py” and a “.meta” file is mandatory. Having a “.json” file is optional. All the files of a cycle
should be placed into the folder: “…/probing_cycles”. The name of these files must be the same and always must start
with “omp_”.

For example:

omp_sample_cycle1.py

omp_sample_cycle1.meta

omp_sample_cycle1.json

If the naming is not matching or the files are placed into different locations, the system will not recognize the cycle!

Number of metafile
Each cycle can only have one metafile.

Available settings
The keys for the changeable values are predefined.

The possible keys are:

"cycle_file_name": “”
The name of the python file with the cycle code. Only the name and file extension are required here, not the full
path of the file!

© Siemens
"localization_file_name": “”
The name of the possible json file with the cycle parameters. Only the name and file extension are required
here, not the full path of the file!

"valid_for_feature": []
A list of names of the features for which this cycle is valid for. These feature types are predefined values based
on the geometry selection in NX CAM. The system will prefilter the cycles accordingly to the selection in NX CAM
and present a list of valid choices. For example, if the user selects two faces that form an outer rectangular
corner all cycles with the feature “OUTER_RECTANGULAR_CORNER” in this list are pre-filtered by the OMP
operation.
Possible values:
• PLANAR_FACE
• INNER_CYLINDER
• OUTER_CYLINDER
• INNER_RECTANGLE
• OUTER_RECTANGLE
• SLOT_GROOVE
• RIDGE_RIB
• INNER_RECTANGULAR_CORNER
• OUTER_RECTANGULAR_CORNER
• INNER_NOT_RECTANGULAR_CORNER
• OUTER_NOT_RECTANGULAR_CORNER
• TWO_PARALLEL_INNER_CYLINDER
• TWO_PARALLEL_OUTER_CYLINDER
• UNDEFINED

The type UNDEFINED should be used in each case if none of the predefined types are valid for a newly created
cycle.

“cycledata”: {}
The main key for containing the cycle information.
o "subtype": {}
A short specification for the cycle with translation keys will be displayed in the “Specification” column of
the NX table. The English value must be defined, all other language values are optional.
o "display_name": “”
The name of the cycle will be displayed in the “Name” column of the NX table. Only one name is
possible, no translation options are available.
o "comment": {}
Optional data for the describing the cycle. Only for internal use.

© Siemens
"cycle_purpose": {}
A brief description for the cycle with translation keys will be displayed in the “Description” column of the NX
table. The English value must be defined, all other language values are optional.

"controller": {}
Key for containing additional data about the possible controller.
o "controller_manufacturer": ""
The manufacturer of the controller which can execute the cycle. If the chosen machine in NX is not
compatible with the cycle, it will not be displayed. If this value is not set, the cycle will be displayed in
NX regardless of the machine.
o "controller_type": ""
Type of the controller (additional information). Does not influence the filtering or displaying of the cycle.
o "controller_version": ""
Version of the controller (optional information). Does not influence the filtering or displaying of the
cycle today.

"tooltip": {}
o "image": ""
The name of the image which should be displayed when hoovering over the cycle name. Should not
have the full path, just the image name with the extension. The image must be placed into the folder:
“…/probing_cycles/images/128/”. The desired file extension is .bmp.
o "headline": {}
The displayed headline of the tooltip-box with translation keys. The English value must be defined, all
other language values are optional.
o "image_text": {}
The displayed description inside the tooltip-box with translation keys. The description can have a longer
text for explaining the cycle purpose. The English value must be defined, all other language values are
optional.

- "nx_version": ""
The versions of NX which are compatible with the cycle calculations. Does not influence the filtering or
displaying of the cycle today."cycle_version": ""
The version number of the cycle (optional information). Optional data.
- "author": ""
The author of the cycle. Optional data.
- "change_history": []
List of changes made on the cycle (optional information).

© Siemens
Sample
File name: omp_sample_cycle1.meta
{
"cycle_file_name": "omp_sample_cycle1.py",
"localization_file_name": "omp_sample_cycle1.json",
"valid_for_feature": [
"TWO_PARALLEL_INNER_CYLINDER",
"SLOT_GROOVE"
],
"cycledata": {
"subtype": {
"english": "MY FIRST SAMPLE CYCLE",
"german": "…some German texts...",
"french": null,
"italian": null,
"spanish": null,
"portuguese": null,
"czech": null,
"polish": null,
"korean": null,
"simpl_chinese": null,
"trad_chinese": null
},
"display_name": "SAMPLE PROBE 001",
"comment": null,
"cycle_purpose": {
"english": "It is a sample cycle for probing",
"german": "..some German texts ...",
"french": "…some French texts…",
"italian": "…",
"spanish": null,
"portuguese": null,
"czech": null,
"polish": null,
"simpl_chinese": null,
"trad_chinese": null
}
},
"controller": {
"controller_manufacturer": "Heidenhain",
"controller_type": null,
"controller_version": null
},
"tooltip": {
"image": "image_for_my_sample_cycle.bmp",
"headline": {
"english": "SAMPLE | PROBE 001 | SAMPLE OF MY CYCLE",
"german": null,
"french": null,

© Siemens
"italian": null,
"spanish": null,
"portuguese": null,
"czech": null,
"polish": null,
"korean": null,
"simpl_chinese": null,
"trad_chinese": null
},
"image_text": {
"english": "The description of my sample cycle ………..",
"german": null,
"french": null,
"italian": null,
"spanish": null,
"portuguese": null,
"czech": null,
"polish": null,
"korean": null,
"simpl_chinese": null,
"trad_chinese": null
}
},
"nx_version": "2306",
"cycle_version": "001",
"author": "Siemens",
"change_history": []
}

© Siemens
JSON File
Each cycle can have an optional json file for containing necessary information of NX parameters, NC parameters and
other translations.

Usage
The json file must have the same path and name as the cycle file in the file system and will be read automatically when a
Cycle base class is initialized. The data are accessible by the variable: “_localization” of the Cycle base class. For the
handling of the json data the Localization class is responsible.

While defining the cycle parameters, each parameter can be localized automatically, if it has the proper values in the
json file.

For example:

• self._localization.get_ncparameter_value_translated("CycleDescription")
• self.add_parameter_localized("MyParameter1", ParameterType.DOUBLE, 0.0,
ParameterLock.LOCKED, ParameterVisibility.HIDDEN)

Also, the json data can be useful when defining the NC parameters for the post-processor. The comment attribute of a
“NCParameter” can be settled via the json file.

Structure
The file has a structure of a json file, also the extension is “.json”. The content can be defined and modified with a
plausible text editor.

Encoding
The file encoding must be UTF-8. Especially when having different language presentations in the file, please be aware of
the encoding settings! The translation keys must correspond with the NX language nomenclature.

Place
For defining an OMP cycle a “.py” , and a “.meta” files are mandatory. Having a “.json” file is optional. All the files of a
cycle should be placed into the folder: “…/probing_cycles”. The name of these files must be the same and always start
with “omp_”.

For example:

omp_sample_cycle1.py

omp_sample_cycle1.meta

omp_sample_cycle1.json

If the naming is not matching, or the files are placed into different locations, the system will not recognize the cycle!

© Siemens
Number of json files
It is possible to have multiple json files for a cycle, if the cycle has parent class(es) with own modules. In that case, the
json files should have the same name as the module and be placed in the same directory. Kommentiert [AK1]: Ist already described two lines
above. Just make a warning box to highlight it better.
Available keys
The keys for the changeable values are predefined.

The possible keys are:

"parameters": {}
The dictionary with all the parameter data needed for the NX calculations.
▪ Parameter_key: {}
The key of the parameter, an unique identifier for later parameter handling. Can be specified freely.
• “uiName”: {}
The name, which will be displayed in the NX window, with possible translation keys. The English
value must be defined, the other language values are optional and can be defined with “null”.
Supported translations keys: “english”, “german”, “french”, “italian”, “spanish”, “portuguese”,
“czech”, “polish”, “korean”, “simpl_chinese” and “trad_chinese”.
• "uiEnum": {}
If this parameter can only have values from a predefined list, these can be defined here with
translation keys. The English value must be defined, all other language values are optional. The
possible values should be placed into a list for each language key.
• "uiToolTip”: {}
Tooltip information is displayed when hoovering over the parameter name in the NX window.
o “image”: “”
The name and extension of the tooltip image. Should not contain the full path, just the
image name with the extension. The image must be placed into the folder:
“…/probing_cycles/images/128/”. The desired file extension is “.bmp”.
o “description”: {}
The displayed description inside the tooltip-box with translation keys. The description
can contain a longer text for explaining the parameter. The English value must be
defined, all other language values are optional.

“messages”: {}
Dictionary for storing additional translations for the cycle.
▪ Message_key: {}
A unique identifier of a text value with possible translation keys. Can be named freely. The English
translation value must be defined, all other language values are optional.

© Siemens
"ncparameters": {}
Dictionary for all parameters needed by Manufacturing Output Manager (MOM) and the post-processor.
▪ Parameter_key: {}
A unique identifier of the parameter with possible translation keys for the parameter handling.
Generally, the “comment” value of a NCParameter is defined here. The parameter can be named freely.
The English translation value must be defined, all other language values are optional.

© Siemens
Sample
File name: omp_sample_cycle1.json
{
"parameters": {
"MyParamter1": {
"uiName": {
"english": "Center in axis Z",
"german": null,
"french": null,
"italian": null,
"spanish": null,
"portuguese": null,
"czech": null,
"polish": null,
"korean": null,
"simpl_chinese": null,
"trad_chinese": null
},
"uiToolTip": {
"image": "myparameter1.bmp",
"description": {
"english": "It is very good parameter",
"german": null,
"french": null,
"italian": null,
"spanish": null,
"portuguese": null,
"czech": null,
"polish": null,
"korean": null,
"simpl_chinese": null,
"trad_chinese": null
}
}
},
" MyParamter2": {
"uiName": {
"english": "Move to clearance height",
"german": "Fahren auf sichere Höhe"
},
"uiEnum": {
"english": [
"No",
"Yes"
],
"german": [
"Nein",
"Ja"
]

© Siemens
},
"uiToolTip": {
"image": null,
"description": {
"english": "Definition of how the touch probe is to move between the
measuring points",
"german": "Festlegen, wie das Tastsystem zwischen den Messpunkten
verfahren soll"
}
}
}
},
"messages": {
"Sample1": {
"english": "My sample text",
"german": null,
"french": null,
"italian": null,
"spanish": null,
"portuguese": null,
"czech": null,
"polish": null,
"korean": null,
"simpl_chinese": null,
"trad_chinese": null
}
},
"ncparameters": {
"CycleDescription": {
"english": "ROT OF 2 STUDS",
"german": "ROT 2 ZAPFEN",
"french": "ROT AVEC 2 TENONS",
"italian": "ROT 2 ISOLE",
"spanish": "GIRO BASICO 2 ISLAS",
"portuguese": "ROT. DE 2 ILHAS",
"czech": "ROT ZE 2 CEPU",
"polish": "OBROT 2 CZOPY",
"korean": "ROT OF 2 STUDS",
"simpl_chinese": "ROT OF 2 STUDS",
"trad_chinese": "ROT OF 2 STUDS"
},
"Q268": {
"english": "1ST CENTER 1ST AXIS",
"german": "1. MITTE 1. ACHSE",
"french": null,
"italian": null,
"spanish": null,
"portuguese": null,
"czech": null,
"polish": null,
"korean": null,

© Siemens
"simpl_chinese": null,
"trad_chinese": null
},
"Q269": {
"english": "1ST CENTER 2ND AXIS",
"german": "1. MITTE 2. ACHSE",
"french": null,
"italian": null,
"spanish": null,
"portuguese": null,
"czech": null,
"polish": null,
"korean": null,
"simpl_chinese": null,
"trad_chinese": null
}
}
}

© Siemens

You might also like