Skip to main content

Module axis_gen

Module axis_gen 

Source
Expand description

通り芯(AxisGroup)の自動生成。

柱が立つ平面位置から X 方向・Y 方向の通り芯を作る。通り芯は構造計算に用いない 識別用のデータであり、生成は準備計算の一部ではなく利用者が明示的に実行する 操作(モデルタブの「柱位置から自動生成」)である。

生成規則:

  1. 対象は柱(線材のうち両端の水平距離が crate::geom::VERTICAL_TOL_MM 未満のもの=crate::geom::is_vertical_pair)の材端節点のみ。梁・ブレース・ 二次部材・壁は対象にしない(通り芯を「柱が立つ位置」と定義する)。剛床代表節点は 要素が接続しないため自然に対象外となる。
  2. 追加先グループは幾何で突き合わせる。離れを測る向きがグローバル X 軸に沿う 平行芯グループ(AxisGroupKind::plan_dirAxisPlanDir::X)があれば そこへ追加し、なければ X グループ(原点 (0,0)・方向角 270°)を新設する。 Y 方向も同様(新設時の方向角は 0°)。離れはそのグループの原点・方向角で測るため、 取り込んだグループの符号規約にそのまま従う。
  3. クラスタリングは離れの昇順に AXIS_TOL_MM の許容差で行う。
  4. 既存優先。同一グループ内に許容差以内の通りが既にあれば、その位置には 新しい通りを作らない(AxisSource::Manual の通り=手動作成・ST-Bridge 取り込み・利用者が改名したものを保護する)。
  5. 採番は離れの昇順に、そのグループ内で未使用の最小の正整数 n を用いて {グループ名}{n} とする。

既存の AxisSource::Auto の通りは毎回破棄して作り直す。 AxisGroupKind::Other のグループ(円弧芯・放射芯・作図芯)は対象外で、 そのまま保持する。

Constants§

AXIS_TOL_MM
同一の通りとみなす離れの差 [mm]。

Functions§

generate_axes
柱位置から通り芯を自動生成し、適用後の Model::axes の全量を返す。