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.
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")
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()