powered by CADENAS

Manual

Manual

2.3.5.1.9.  Key "ThreadGroupRx_xx" - Thread configuration

The configuration file ifadeskinv.cfg controls how the thread designation is translated from PARTsolutions to Inventor.

As of V11 the thread mapping is exclusively set via ifadeskinv.cfg.

Threads are categorized in groups, which can be specified by regular expressions. Each group consists of key word and unique number.

Example:

ThreadGroupRx_10=M(\d+)(\.0*)?$
ThreadGroupRx_20=M(\d+ *\. *\d+)$
etc.

Another example: Thread mapping for M-threads which have a "x" in the name (e.g. M24x1)

ThreadGroupRx_30=M([0-9]+\.*[0-9]*) *x *([0-9]+\.*[0-9]*)

A search for a matching group is performed in ascending order. Subsequently it is checked whether the thread is available in one of the given tables separated by the specified decimal separator (see below). If a table with the searched thread is found, exactly this is used. Otherwise it is searched for another matching thread group. If a CADENAS thread matches a group, but can not be created with the data from this group in Inventor, then searching continues with the next group. If none of the given groups is matching, a respective error message is displayed.

Each group has to have at least the keys ThreadGroupRx and ThreadGroupTable.

  • ThreadGroupRx contains the regular expression (see examples above).

    ThreadGroupRx is applied for the CADENAS thread designation. If the expression matches the CADENAS thread designation is transferred one-to-one to Inventor, where it is searched in the thread.xls.

  • ThreadGroupTable is the corresponding table's name in the thread.xls.

    All ThreadGroupTable* keys do support several table names separated by ";".

    If there are tables with different decimal separators, then simply copy a group and adjust table name and separator (and other entries if needed).

    ThreadGroupRx_70=ST(.+)
    ThreadGroupName_70=ST\1x%round(%pitch,1)
    ThreadGroupTable_70=THREADTBL_ISO_FORMING
    ThreadGroupClass_innerthread_70=6g
    ThreadGroupClass_outerhread_70=6g
    ThreadGroupDecimalMark_70=.
    
    ThreadGroupRx_71=ST(.+)
    ThreadGroupName_71=ST\1x%round(%pitch,1)
    ThreadGroupTable_71=THREADTBL_ISO_FORMING2
    ThreadGroupClass_innerthread_71=6g
    ThreadGroupClass_outerhread_71=6g
    ThreadGroupDecimalMark_71=,
    

The decimal separator for floating-point numbers is "." by default (if the key is missing this is used). This setting can be overwritten with the global key ThreadsDecimalMark. In addition, for each thread group the separator can be individually set via constant ThreadGroupDecimalMark_xxx (where xxx is the thread group ID).

If the Inventor designation name shall be different from the CADENAS designation name, then the optional key ThreadGroupName can be set.

Available variables for the creation of ThreadGroupName:

  • %dia = thread diameter

  • %pitch = pitch

    A formatting string in "printf" nomenclature can be prefixed to the system variables (%pitch, etc.).

    Example:

    %5.3gpitch

  • %invpitch = 1 / pitch

  • \1, \2, .... : The matched strings

Available functions for the creation of ThreadGroupName:

  • %ThreadDesignationMap_??? (??? stands for any but unique name): Changes thread diameters to values which can be handled by Inventor.

    In the ifadeskinv.cfg exactly one matching line has to be available, which starts with "ThreadDesignationMap_???=" and has value pairs separated by ";". These value pairs then are used for the mapping. The values of a value pair are separated by ",".

    Example:

    ThreadDesignationMap_UNx=0.06,0; 0.073,1; 0.086,2; 0.099,3; 0.112,4; 0.125,5; 0.138,6; 
     0.164,8; 0.19,10; 0.216,12

  • %round: Returns a rounded value for the pitch. You can set the precision as second parameter optionally.

[Note] Note

Only constants or variables are supported as arguments for functions currently.

If the name for inner and outer thread shall be different, then the keys ThreadGroupNameForInnerThread and ThreadGroupNameForOuterThread have to be used instead of ThreadGroupName.

If there are special tables for inner and outer thread, then instead of ThreadGroupTable the keys ThreadGroupTableForInnerThread and ThreadGroupTableForOuterThread have to be used.

Furthermore the self-explaining keys ThreadGroupTableForConic and ThreadGroupTableForNotConic are available as an alternative. Such a key can contain a direct reference to a table in the thread.xls or a reference to a table name in the ifadeskinv.cfg.

If the threads are sorted by classes in the table, then via ThreadGroupClass_innerthread and ThreadGroupClass_outerhread the respective class names for inner and outer thread can be set. If both keys are not used then no class name is set. If only one class name shall be set, regardless, you have to set both. Then the second key has to be empty.

The pitch send to Inventor can be set independently of the thread name (special case ST threads). For this serves the key ThreadGroupPitch. However, this does not affect the variables %pitch and %invpitch.