pub struct WallAttr {
pub elem: ElemId,
pub opening_area: f64,
pub opening_weight: f64,
pub slit: WallSlit,
pub openings: Vec<WallOpening>,
pub finish_intensity: f64,
}Expand description
壁要素(ElementKind::Wall/Shell)の壁属性
(壁自重(固定荷重)の開口、柱際スリット、および
剛性計算の開口低減・耐震壁判定に用いる個別開口寸法。RC 規準)。
Fields§
§elem: ElemId§opening_area: f64開口面積の合計 [mm²]。壁自重から ρ·t·開口面積·g を控除する。
openings(個別開口)が非空の場合はそちらの面積和を優先し、
本フィールドは無視される(total_opening_area 参照)。
opening_weight: f64開口部(サッシ等)の重量 [N]。控除後に加算する。
slit: WallSlit耐震スリット。由来する壁版の super::WallPlate::slit を写したもので、
意味も添字の規則も同じである。いずれかの辺が切れていれば耐震壁として
成立しない。
openings: Vec<WallOpening>個別開口の寸法リスト。非空の場合、開口の面積評価(自重控除・
開口周比 r0・開口低減率 r)と耐震壁検定の開口供給はこのリストを
優先する。空の場合は従来どおり opening_area(合計面積のみ)で評価する。
finish_intensity: f64仕上げ・増打ちの面荷重強度 [N/mm²]。由来する壁版の
super::WallPlate::finish_intensity を写したもので、意味も同じである。
躯体の自重は含まない。
壁エレメントになる壁版もこの重さを持つため、要素経由の自重算定
(squid_n_load::story_gen::self_weight_calc)が読む。写し忘れると、
入力された仕上げ・増打ちが壁エレメントの壁だけ黙って落ちる。
Implementations§
Source§impl WallAttr
impl WallAttr
Sourcepub fn total_opening_area(&self) -> f64
pub fn total_opening_area(&self) -> f64
開口の合計面積 [mm²]。個別開口 openings が非空ならその面積和、
空なら opening_area を返す(全消費側はこのメソッドを経由すること)。
Sourcepub fn opening_dims(&self) -> Option<Vec<(f64, f64)>>
pub fn opening_dims(&self) -> Option<Vec<(f64, f64)>>
個別開口の (l0, h0) ペア列。個別開口が未入力(面積のみ)なら None。 面積ゼロの開口は除外する。
Sourcepub fn opening_dims_for(
&self,
mode: MultiOpeningMode,
) -> Option<Vec<(f64, f64)>>
pub fn opening_dims_for( &self, mode: MultiOpeningMode, ) -> Option<Vec<(f64, f64)>>
複数開口の取り扱い(mode)適用後の (l0, h0) ペア列。
個別開口が未入力(面積のみ)なら None(消費側は opening_area で評価)。
Sourcepub fn total_opening_area_for(&self, mode: MultiOpeningMode) -> f64
pub fn total_opening_area_for(&self, mode: MultiOpeningMode) -> f64
複数開口の取り扱い(mode)適用後の開口合計面積 [mm²]。
包絡モードでは包絡矩形の面積となるため、生の面積和
(total_opening_area、自重控除用)とは異なり得る。
Sourcepub fn openings_for_mode(&self, mode: MultiOpeningMode) -> Vec<WallOpening>
pub fn openings_for_mode(&self, mode: MultiOpeningMode) -> Vec<WallOpening>
複数開口の取り扱い(RC 規準)を適用した開口リスト。
Equivalent: 個別開口をそのまま返す(等価開口への統合は消費側の式)。Envelope: 位置(offset)を持つ開口全体の包絡矩形 1 つに置換。 位置不明の開口は包絡できないため個別のまま残る。Auto: 包絡可能(WallOpening::can_envelope、l<1.5h または l<1m)な開口対が なくなるまで繰り返し包絡開口を作成し、残った開口を返す (包絡できなくなった時点の開口状況で『等価開口とする』と 同様の判定を行う扱いに対応。等価開口への統合は消費側)。