スポット溶接インターフェース

spotweld feinput translatorは、マスター溶接ファイルなどのASCIIファイルから溶接情報を読み込みます。

HyperMeshは溶接テンプレートを通じ、複数のフォーマットのマスター溶接ファイルをサポートします。溶接テンプレートは、与えられたフォーマットに特化します。spotweld feinput translatorは、スポット溶接設定ファイルを通して、テンプレートを登録します。現在サポートされるマスター溶接ファイルフォーマットテンプレートと設定ファイルは、spotweld_formatディレクトリにあります。異なるフォーマットを使用するには、溶接テンプレートを作成し、その名前とパスを設定ファイルに追加する必要があります。既存の溶接テンプレートをコピーし、編集することで、新しいフォーマットを作ることができます。

一般的なマスター溶接ファイルの概要:
  • ポイントID
  • レイヤー情報(2T/3T/4Tを結合する厚みの数。最大レイヤーは4T)
  • スポット溶接位置(X, Y, Z)
  • コネクターパートID(HyperMesh コンポーネント/パートID)
  • フィールド間の区切り文字には、":", ",", " "が使用できます。
  • ASCIIファイルには、#または$で始まるコメント行や空白行を含めることができます。

スポット溶接トランスレータは、マスター溶接ファイルから情報を読み込み、それをデータベースに保存します。各溶接位置には、HM_POINTが作成されます。

例:溶接テンプレートとマスター溶接ファイル

以下の例は、特定のフォーマットの溶接テンプレートを作成するのに活用できます。
#Weld format 1.
#Point Id::  T::        X::        Y::        Z::        PID1::        PID2::        PID3::        
        1::      2::        2.000::        3.000::  4.000: :         12::        14::        20::
図 1. マスター溶接ファイル
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
}
図 2. Weld Template