> For the complete documentation index, see [llms.txt](https://manual.karamba3d.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://manual.karamba3d.com/jp/3-konpnentorifarensu/3.7-export/3.8.3-export-model-to-saf.md).

# 3.8.3 SAFへのモデルのエクスポート

SAFは「Structural Analysis Format」の略で、構造モデルの交換用のExcelベースのオープン形式です。詳細は <https://www.scia.net/en/innovations/structural-analysis-format-saf> を参照してください。

Karamba3DのSAFエクスポーターは以下のSAF機能をサポートします:

* 梁、スラブ、板、シェルのエクスポート。
* [IDEA Statica](https://www.ideastatica.com/) などの要素および接続の設計のための梁およびトラスの結果の包含。
* 荷重および荷重ケース、集中ジョイントおよび線ジョイントなどのエクスポート。

図3.8.3.1は、動作中の「Export Model to SAF」コンポーネントを示しています。Karamba3Dモデルを入力として受け取り、SAFモデルを含むxlsxファイルを出力します（ページの下部にあるサンプル定義「SAF\_SimpleCanopyExport.gh」参照）。ユーザーが **Filepath** を指定しない場合、SAFのxlsxファイルは「Karamba3DModel.xlsx」という名前でデスクトップに保存されます。

場合によっては、エクスポートされる荷重ケースをモデル内で利用可能なもののサブセットに制限したい場合があります。エクスポートする荷重ケースおよび荷重ケースの組み合わせの名前を指定するには、「**LCases**」入力プラグを使用します。デフォルトでは、モデル内のすべての荷重ケースおよび荷重ケースの組み合わせがエクスポートされます。[Load-Case-Combinations](/jp/3-konpnentorifarensu/3.2-load/3.2.5-load-case-combinations.md) のセクションのヒントでは、荷重ケースおよび荷重ケースの組み合わせをデフォルトリストから除外する方法を説明しています。

大きなモデルのエクスポートには時間がかかる場合があります。これが、プロセスを開始するために入力プラグ「**Export?**」に「True」値を供給する必要がある理由です。

<figure><img src="https://147116332-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fz9HWyQapP9tu9mJjh5O9%2Fuploads%2Fgit-blob-3b9333abfb24be882a4e15905101e7beb959659c%2FCanopy_SAF_export%20(3).png?alt=media" alt=""><figcaption><p>図3.8.3.1: 「Export Model to SAF」コンポーネントを使用した梁モデルのエクスポート。</p></figcaption></figure>

サブメニュー「**Project Info**」および「**Model Info**」を使用して、SAFファイルに含まれる詳細情報を指定できます。個々の入力の説明については、<https://www.saf.guide/en/stable/getting-started/project-and-model-specifications/README.html> を参照してください。図3.8.3.1に表示されているバリューリストは、コンポーネントを右クリックしてコンテキストメニューから「Expand ValueLists」を選択することで作成できます。

サブメニュー「Export Options」には、SAFエクスポートを制御するさらなる入力が含まれます:

* **「LSeg」**: 1次元要素の断面力をエクスポートする場合、この入力は結果セクション間の最大距離を指定します。デフォルト値は「-1」: 負の数値はKaramba3Dモデル設定が使用されることを意味します。後者は「ModelView」コンポーネントの「Render Settings」および「Length/Segment」配下で指定できます。
* 「**MaxFaces**」: 曲面はそのメッシュに基づいてエクスポートされます: 各メッシュ面はサーフェスに対応します。非常に細かいメッシュの場合、これにより作成に長い時間がかかる過度に大きなSAFファイルにつながる可能性があります。「**MaxFaces**」入力は、サーフェスごとの面の最大数を設定します。その数を超えるサーフェスはエクスポートされません。
* **「Version」**: これにより、使用するSAFのバージョンを指定できます。デフォルトは「2.3.0」です。すべてのプログラムが最新バージョンのSAFをサポートするわけではありません。執筆時点では、DlubalのRFEM 6はSAF 1.0.5をサポートしています。
* 「**CroSecConv**」: 異なるFEプログラムへの断面のエクスポートは、その正確な命名が標準化されていないため、面倒な場合があります。「CroSecConv」入力プラグを使用して、エクスポート用の断面名の変換テーブルを指定できます。ファイルは、次の形式の人間が読める形式のCSVファイルであることが期待されます: 「;name;alias-name」。例については、Karamba3Dインストールフォルダーの「CrossSections」フォルダーの「CrossSectionNameAliases.csv」を参照してください。複数のエイリアス名がある場合、最初のものがカウントされます。

### サーフェスのエクスポート

サーフェスおよび面荷重をコンパクトなエンティティとしてエクスポートする機能は、DAStVのような他の線ベースの形式と比較してSAFの主な利点を表します。

平面サーフェスは、直線、円弧、スプラインによって境界付けられる場合があります。これらのサーフェスには任意の穴を含めることができます。このジオメトリデータをSAFに伝えるには、構造モデルに含めるためにKaramba3D Mesher（[こちら](/jp/3-konpnentorifarensu/3.8-utilities/3.8.1-mesh-breps.md) 参照）を使用します。このメッシャーは、基となるサーフェスでメッシュを補完するため、クリーンなエクスポートデータを可能にします。図3.8.3.2は、サンプルファイル「SAF\_FlatSurfaceWithHoleExport.gh」の結果を示しています。

集中荷重または支点がサーフェスの曲線境界に配置されている場合、インポート時にエラーが発生する可能性があります。その理由は、支点または集中荷重の位置をサーフェスのわずかに外側に位置させる数値的な不正確さにあります。そのような場合、点をわずかに内側に移動して、それらの点をメッシュの包含点としてMeshBrepsの「IPts」入力プラグに供給するようにしてください。

<figure><img src="https://147116332-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fz9HWyQapP9tu9mJjh5O9%2Fuploads%2Fgit-blob-9c809ac322f998db18e9ff6ed7135fc906bb4ef3%2FFlatSurfaceWithHole.png?alt=media" alt=""><figcaption><p>図3.8.3.2: SAF_FlatSurfaceWithHoleExport.gh - スプライン境界と穴を持つ平面サーフェスのエクスポート。</p></figcaption></figure>

SAFのxlsxファイルにエクスポートしてSCIA Engineerにインポートすると、図3.8.3.3に示すようにクリーンなジオメトリが得られます。

<figure><img src="https://147116332-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fz9HWyQapP9tu9mJjh5O9%2Fuploads%2Fgit-blob-f4b4b9a39e3e3e644682f363148a089affc1089f%2FImportedSurface.png?alt=media" alt="" width="355"><figcaption><p>図3.8.3.3: 図3.8.3.2で作成されたSAFファイルをSCIA Engineerにインポートしたもの。</p></figcaption></figure>

曲面の場合、個々のメッシュ面はサーフェスとしてエクスポートされ、過度の計算時間とファイルサイズにつながる可能性があります。「Export Options」配下の「**MaxFaces**」入力は、メッシュ面のデフォルトの最大数を2000に設定します。より大きなメッシュの場合は、この値を変更してください。

### 面荷重のエクスポート

Karamba3Dでは、サーフェス上の分布荷重はMeshLoadsを使用してモデル化できます。サーフェスと同様に、サーフェス上に作用する平面MeshLoadsは、サーフェス境界データのみを構成するクリーンなSAFエクスポートに適しています。サーフェスと同様、条件は、MeshLoadのメッシュが「MeshBreps」コンポーネントを使用して作成されたことです - これにより、メッシュが基となるBrepと接続されたままになるためです。基となるサーフェスのないメッシュを使用することもできます - 各メッシュ面は単一の面荷重としてエクスポートされます。これは、曲面で指定された荷重にも適用されます。図3.8.3.4は、任意に配置された面荷重を持つエクスポートされたモデルを示しています。

<figure><img src="https://147116332-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fz9HWyQapP9tu9mJjh5O9%2Fuploads%2Fgit-blob-e4f1959bfbb44e867ba4f324c30cb6db3361287b%2Fexportedsurfacewithload.png?alt=media" alt="" width="375"><figcaption><p>図3.8.3.4: SCIA Engineerにインポートされた、穴を持つ平面サーフェス、自由に配置された面荷重、支点。</p></figcaption></figure>

Karamba3DでのMeshLoadsは、SAFの「SurfaceActionFree」とは異なる動作をします。後者はサーフェスのみに適用されます。ただし、MeshLoadsは、荷重分布範囲内にある場合、梁に線荷重も引き起こす可能性があります。現在、Karamba3DのSAFエクスポーターはすべてのMeshLoadsを「SurfaceActionFree」としてエクスポートします。図3.8.3.1のように梁に分布荷重を作成したい場合は、3.8.3.5で示され、「SAF\_SimpleCanopyExport.gh」で例示される回避策を適用する必要があります。そこでは、梁に作用するMeshLoadsを最初に選択し、線荷重に分解します。再組み立てされたモデルをエクスポートできます。

<figure><img src="https://147116332-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fz9HWyQapP9tu9mJjh5O9%2Fuploads%2Fgit-blob-76e6472fa52b316e282a634dd857022852821cb3%2FMeshLoadSAF_1.png?alt=media" alt=""><figcaption><p>図3.8.3.5: MeshLoadsを梁および集中荷重としてエクスポートするための回避策。</p></figcaption></figure>

{% file src="/files/nEjofQxGYl6tXR3lGoXj" %}

{% file src="/files/26JmRESay1MgGCIxfkPz" %}
