2.2.1.2.  Apply and use own categories

Categories must be applied in the block [Categories].

The configuration file ifacecommon.cfg already contains standard categories that cannot/should not be changed. However, these categories can be used in any CAD-specific configuration file.

Example for the use of standard categories "is3d" in the pool path key:

poolPath(is3d)=$CADENAS_DATA/pool/solidworks

Custom categories are created in the CAD-specific configuration files (e.g. ifugnx.cfg) in the [Categories] block.

These can the be used in as many other blocks of the CAD specific configuration files.

Example 1:

The following is an example from the configuration file ifugnx.cfg. First, the categories nx4, nx5, nx6, nx7, nx75 and nx80 are defined. These are then used to assign the appropriate template.

[Categories]
nx4=GetObject("iface.contextservice").GetVariable("UserApp").cadVersion="400"
nx5=GetObject("iface.contextservice").GetVariable("UserApp").cadVersion="500"
nx6=GetObject("iface.contextservice").GetVariable("UserApp").cadVersion="600"
nx7=GetObject("iface.contextservice").GetVariable("UserApp").cadVersion="700"
nx75=GetObject("iface.contextservice").GetVariable("UserApp").cadVersion="750"
nx80=GetObject("iface.contextservice").GetVariable("UserApp").cadVersion="800"
tcActive=GetObject("iface.contextservice").GetVariable("UserApp").GetObject
("iface.teamcenter").isTeamcenterActive()

[CreationOptions]
TemplateName(nx4,isMMDoc)=$CADENAS/iface/unigraphics/shared/nx4/seedparts/ups_seed_mm.prt
TemplateName(nx4,isInchDoc)=$CADENAS/iface/unigraphics/shared/nx4/seedparts/ups_seed_in.prt
TemplateName(nx5,isMMDoc)=$CADENAS/iface/unigraphics/shared/nx5/seedparts/ups_seed_mm.prt
TemplateName(nx5,isInchDoc)=$CADENAS/iface/unigraphics/shared/nx5/seedparts/ups_seed_in.prt
TemplateName(nx6,isMMDoc)=$CADENAS/iface/unigraphics/shared/nx6/seedparts/ups_seed_mm.prt
TemplateName(nx6,isInchDoc)=$CADENAS/iface/unigraphics/shared/nx6/seedparts/ups_seed_in.prt
# etc.

The same for Solid Edge in the configuration file ifsolidedge.cfg looks like this:

[Categories]
st1=GetObject("iface.contextservice").GetVariable("UserApp").cadVersion="100"
st2=GetObject("iface.contextservice").GetVariable("UserApp").cadVersion="200"

And for Pro/E in the configuration file ifproewildfire.cfg like this:

[Categories]
wf3=GetObject("iface.contextservice").GetVariable("UserApp").cadVersion="3"
wf4=GetObject("iface.contextservice").GetVariable("UserApp").cadVersion="4"
wf5=GetObject("iface.contextservice").GetVariable("UserApp").cadVersion="5"
wf6=GetObject("iface.contextservice").GetVariable("UserApp").cadVersion="6"
wf34=(GetObject("iface.contextservice").GetVariable("UserApp").cadVersion="3") 
 OR (GetObject("iface.contextservice").GetVariable("UserApp").cadVersion="4")
wf567=(GetObject("iface.contextservice").GetVariable("UserApp").cadVersion="5") 
 OR (GetObject("iface.contextservice").GetVariable("UserApp").cadVersion="6") 
 OR (GetObject("iface.contextservice").GetVariable("UserApp").cadVersion="7")

Example 2 Example

FileName is handled differently from company to company. Often a maximum file name length is defined or a special PDM system only supports a limited length. Others want to see their ID in the FileName, whereas others can do without the material, etc.

The following is a little example of how the ERP_PDM_NUMBER can be set - if available and how to define the fallback if it is not available.

FileName(isCreaOptNotSet,is3dpart)=?_FORMAT_0("<GENNAME>")
 .toFileName("_").add(".ipt").value()

FileName(isCreaOptNotSet,is3dpart,hasAttr(ERP_PDM_NUMBER))=
 ?_FORMAT_0("<ATTR(ERP_PDM_NUMBER)>").toFileName("_").add(".ipt").value()