> 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.1-model/3.1.14-orientate-element.md).

# 3.1.12: 要素の方向設定

「**Orientate Element**」コンポーネントを使用すると、「**Element Type**」配下のドロップダウンリストから要素タイプを選択して、梁とシェルの方向を設定できます。

## **梁の方向設定**

Karamba3Dでは、梁またはトラスのローカル座標系のデフォルトの方向は次の規約に従います:

* ローカルX軸（赤）は梁軸であり、開始ノードから終了ノードに向かって指します。
* ローカルY軸（緑）はローカルX軸に垂直で、グローバルXY平面に平行です。これにより、ローカルX軸がXY平面に垂直でない限り、ローカルY軸が一意に指定されます。垂直の場合、ローカルY軸はグローバルY軸に平行に選ばれます。鉛直性のデフォルト基準は、軸方向の単位ベクトルのZ成分が指定された値以上であることです。この値は [「karamba.ini」](/jp/2-hajimekata/2-getting-started-1/2.4-user-settings.md) ファイルの**Settings**配下の「**limit\_parallel**」プロパティで変更できます。
* ローカルZ軸（青）はローカルX軸とY軸から派生し、右手系の座標系を形成します。
*

```
<figure><img src="../../.gitbook/assets/OrientateBeam.png" alt=""><figcaption><p>図3.1.14.1: ローカル梁座標系の方向の制御</p></figcaption></figure>
```

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

ローカル座標系は、ローカルに定義された荷重の方向および要素の断面の向きに影響します。ローカル座標系を設定するには「**Orientate Beam**」コンポーネントを使用します（図3.1.14.1参照）:

* 「**X-axis**」入力はベクトルを受け付けます。ローカルX軸は、その指定されたベクトルとの角度が90度未満になるように方向付けられ、梁のグループの一貫した方向付けが可能になります。
* ローカルY軸は、ローカルX軸と「**Y-axis**」入力に接続されたベクトルによって定義される平面内にあります。Y軸が梁軸に平行な場合は適用できません。
* 「**Y-axis**」入力にベクトルが供給されていない場合、または指定されたY軸が適用できない場合、梁のローカルZ軸はローカルX軸と「**Z-axis**」入力に接続されたベクトルによって定義される平面内にあります。
* 「**Alpha**」は、ローカルX軸周りのローカルZ軸の追加の回転角（度単位）を表します。

梁の方向を制御するために、「**Orientate Beam**」コンポーネントは2つの方法で適用できます:

1. **フロースルー**: 「**LineToBeam**」コンポーネントと「**Assemble**」コンポーネントの間に挿入します。変更はそこを通過するすべての梁要素に適用されます。シェル要素については、出力は「**Null**」となります。
2. **エージェント**: 「**BeamId**」入力でIDによって梁を指定し、結果として得られる梁エージェントを「**Assemble**」コンポーネントの「**Elem**」入力に直接接続します。この方法では、正規表現を使用して要素を選択できます（セクション [3.1.13](/jp/3-konpnentorifarensu/3.1-model/3.1.15-select-beam.md) 参照）。

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

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

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

## **シェルの方向設定**

シェルの場合、ローカル座標系のデフォルトの方向は図3.1.14.2で確認できます。次の規約が適用されます: 要素法線がグローバルX方向に平行でない限り、ローカルX軸はグローバルX方向に平行です。その場合、ローカルX軸はグローバルY方向に指します。ローカルZ軸は常にシェル要素に垂直であり、その方向は基となるメッシュ面の頂点の順序に依存します: Z軸が自分の鼻に向かって指している場合、面の頂点の順序は反時計回りです（回転の右手の法則を忘れない方法については \[12] の図6.17を参照）。

![図3.1.14.2: ローカルシェル座標系のデフォルトの方向](https://147116332-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fz9HWyQapP9tu9mJjh5O9%2Fuploads%2Fgit-blob-287d7eb692e9fa810d2303c65a916e1ccd79d043%2Fshelldefaultorientation.PNG?alt=media)

「**Orientate Shell**」コンポーネントを使用すると、シェルを構成する面のローカルX方向とZ方向を制御できます: 「**X-Oris**」および「**Z-Oris**」入力は、各メッシュ面に1つずつ、方向ベクトルのリストを想定します。ベクトルの数が面の数と一致しない場合、最長リストの原則が適用されます。実現不可能な方向（例: 要素の平面内にある規定のzベクトル）は無視されます。

「**Orientate Shell**」コンポーネントの適用に関しては、「**Orientate Beam**」コンポーネントと同じ2つのオプション（「**フロースルー**」または「**エージェント**」）が存在します。

<figure><img src="https://147116332-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fz9HWyQapP9tu9mJjh5O9%2Fuploads%2Fgit-blob-53184002fa19c3c91ba012415c0928bdf99d7309%2FOrientateShellComponent_3.1%20(1).png?alt=media" alt=""><figcaption><p>図3.1.14.3: ユーザー定義のローカルシェル座標系の方向</p></figcaption></figure>

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

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