2.3.6.1.9. Key "ThreadGroupRx_xx" - Thread configuration

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

From V11, the thread mapping is set exclusively 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]*)

The search for a match group is carried out in ascending order. The system then checks whether the thread is available in one of the specified tables, separated by the specified decimal separator (see below). If a table with the searched thread is found, exactly this table is used. Otherwise, another suitable thread group is searched for. If a CADENAS thread matches a group but cannot be created with the data of this group in Inventor, the search continues to the next group. If none of the groups match, a corresponding error message is displayed.

Each group must have at least the keys ThreadGroupRx and ThreadGroupTable.

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

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

  • ThreadGroupTable is the name of the corresponding table in thread.xls.

    All ThreadGroupTable* keys support multiple semicolon-separated (;) table names.

    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=,
    

By default, the decimal separator for floating point numbers is a dot "." (if the key is missing, this character is used). This setting can be overwritten with the global key ThreadsDecimalMark. In addition, the separator can be set individually for each thread group using the fixed ThreadGroupDecimalMark_xxx (where xxx is the thread group ID).

If the Inventor designation is different from the CADENAS designation, the key ThreadGroupName can optionally 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.

    There must be exactly one matching line available in ifadeskinv.cfg that begins with "ThreadDesignationMap_***=" and has the value pairs separated by ";". These value pairs are then 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 the inner and outer thread is to be different, the keys ThreadGroupNameForInnerThread and ThreadGroupNameForOuterThread must be used instead of ThreadGroupName.

If there are special tables for internal and external threads, the keys ThreadGroupTableForInnerThread and ThreadGroupTableForOuterThread must be used instead of ThreadGroupTable.

The self-explanatory keys ThreadGroupTableForConic and ThreadGroupTableForNotConic are also available as alternatives. Such a key can contain a direct reference to a table in thread.xls or a reference to a table name in ifadeskinv.cfg.

If the threads in the table are sorted by class, then the corresponding class name for the inner and outer thread can be set using ThreadGroupClass_innerthread and ThreadGroupClass_outerhread. If neither key is used, then no class name is set. If only one class name is to be set, both must be set regardless. In this case, the second key remains empty.

The thread pitch transferred to Inventor can be set independently of the thread name (special case ST thread). The key ThreadGroupPitch is used for this purpose. However, this does not affect the variables %pitch and %invpitch.