コンポーネントの構成

このコンポーネントは,ReadBeam2 を拡張したもので,Rhinoレイヤーからの読み込みに加えて,Grasshopper上で別の方法(プログラムによる生成など)ですでに作った梁・ばね要素のジオメトリと属性(材料番号・断面番号・角度・座屈長さ・材端ピン・配筋番号・ばね剛性)を,そのままリストとして受け取れます。2つの経路(Rhinoレイヤー読み込みとGrasshopper直接入力)は同時に使うこともでき,最終的にすべての要素をまとめて,ReadBeam2 と同じ節点分割処理(部材の端点・交点・ばね端点から節点を作り,その位置で要素を分割する処理)にかけます。ユーザーテキストのキー名はすべて既定値に固定されており,ReadBeam2 のように名前を変更することはできません。
入力データは以下の通りです。すべて省略可能ですが,beam・layer(beam) のどちらか一方は接続しないと梁要素が得られません。
- beam : Grasshopper上ですでにある梁要素の線(Line/Curve)のリスト。ここに入れた本数だけ,下のmat〜jointの各リストも同じ本数で対応させる必要があります(1本だけ与えて全要素に適用する,という省略はできません)。
- mat : beamの各要素の材料番号(int)のリスト。省略時は全要素0。
- sec : beamの各要素の断面番号(int)のリスト。省略時は全要素0。
- angle : beamの各要素のコードアングル[°]のリスト。省略時は全要素0°。
- Lby : beamの各要素の局所y軸座屈長さ[m]のリスト。省略時は分割後の部材長さがそのまま使われます。
- Lbz : beamの各要素の局所z軸座屈長さ[m]のリスト。省略時は分割後の部材長さがそのまま使われます。
- joint : beamの各要素の材端ピンコード(0=i端ピン,1=j端ピン,2=両端ピン。それ以外の値は「ピン無し」として扱われます)のリスト。
- bar : beamの各要素の配筋パターン番号(int)のリスト。省略時は全要素0。
- spring : Grasshopper上ですでにあるばね要素の線のリスト。
- E : springの各要素の剛性値を格納したDataTree。1本のばねにつき $[k_{xt},k_{xc},k_{yt},k_{yc},k_{zt},k_{zc},m_x,m_y,m_z,\text{angle}]$ の10個の値を1枝として与えます(ReadSpring や ReadBeam2 のE出力と同じ形式)。
- layer(beam) : Rhino上で梁として読み込みたいレイヤー名のリスト。beamと同時に指定すると,両方の要素が合流します。このレイヤーから読む要素のユーザーテキストのキー名は mat, sec, angle, joint, lby, lbz, bar, ele_wx, ele_wy, ele_wz, wickX, wickY に固定されています。
- layer(spring) : Rhino上でばね要素として読み込みたいレイヤー名のリスト。ユーザーテキストのキー名は kxt, kxc, kyt, kyc, kzt, kzc, mx, my, mz(剛性)と angle(コードアングル。ここは他と異なり整数として読まれるので注意),Nta, Nca, Qyta, Qyca, Qzta, Qzca, Mxa, Mya, Mza(許容耐力)に固定されています。
- rigid & pin value : $[$剛性値,ピン値$]$(既定値 $[10^{12}, 0.001]$)。材端ピンを表現する際の剛・ピンの剛性値です。
出力データは以下の通りです(出力の形式は ReadBeam2 と共通です)。
- beam : 節点分割後の要素の線(Line)のリスト。Rhinoレイヤーから読んだ要素(分割前の番号順)のあとに,Grasshopper直接入力の beam(分割前の番号順)が続き,そのうえで全体をまとめて交点・端点で分割した結果です。