HyperMesh and BatchMesher

Spotweld Interface

Spotweld Interface

Previous topic Next topic No expanding text in this topic  

Spotweld Interface

Previous topic Next topic JavaScript is required for expanding text JavaScript is required for the print function  

The spotweld feinput translator reads weld information from an ASCII file, such as a Master Weld File.

HyperMesh supports multiple formats for master weld files through weld templates.  The weld template is specific for a given format.  The spotweld translator registers the template through a spotweld configuration file.  The currently supported master weld file format templates and the configuration file can be found in the spotweld_format directory.  In order to use a different format you must create a weld template and add its name and path to the configuration file.   Existing weld templates can be copied and modified to support the new format.

The outline of a generic master weld file is provided below:

Point ID
Layer information (the number of thickness it connects 2T/3T/4T. Max layers supported 4T)
Spotweld location (X, Y, Z)
Connector part IDs (HyperMesh Component/Part IDs)
The delimiter between fields can be ":", ",", " ".
ASCII files can have comments beginning with the characters # or $, or there can be blank lines in between.

The spotweld translator reads information from the master weld file and stores it in the database.  At each of the weld locations, an HM_POINT is created.

 

 

Weld Template and Master Weld File Example


The example below helps create a weld template for specific formats.

Master Weld File:

#Weld format 1.

#Point Id::  T::        X::        Y::        Z::        PID1::        PID2::        PID3::        

        1::      2::        2.000::        3.000::  4.000: :         12::        14::        20::

 

Weld Template:

int num

header

{

    type "SPOTWELDS"

    set mark

    find "[0-9]+::"

    rewind

    set num = 0

    if

    {

        do 1000000

        {

            if

            {

                isdigit

            }

            then

            {

                set num = sum(num, 1)

            }

            readln null

        }

    }

    set numrecords = num

    set numrequests = 9

    requests "ID/T/X/Y/Z/PID1/PID2/PID3/PID4"

    set numcomponents = 1

    components "Value"

}

record

 if

    {

        do 1000000

        {

            if

            {

                isdigit

            }

            then

         isalpha

            }

     readln null

        }

    }

    read request // ID

    qfind "::"

 set mark

    read request  //T

 rewind

 read num

    qfind "::"

    read request // X

    qfind "::"

    read request // Y

    qfind "::"

    read request // Z

    do num

    {

        qfind "::"

        read request // PID

    }

    set num = diff(4, num)

    do num

    {

        read constant 0 // fake PID

    }

    readln null

}

 

 

See Also:

Connectors

Master Connectors File

Multiple Weld File Format