見出し画像

SS7自動化に向けて③

続き
前回はコマンド実行のコードが分かりにくいということと、Python実行とコマンド実行のコードを少しずつ紹介しました。
個人利用のみであれば、Python実行の方がコードがわかりやすく、処理速度が早いのでオススメです。社内運用等考えると、それぞれのパソコンにPythonをインストールしたりと環境を整える必要があるため、処理速度が落ちますがコマンド実行でソフト化してしまうのがオススメです。

【断面算定】
さて本題の断面算定の処理ですが、鉄骨小梁については比較的簡単に処理できます。
処理内容について操作順に記載します。

①Python実行又はコマンド実行を利用して、入力データと結果データのcsv出力を行います。
②出力したcsvをPythonで処理できるよう読み込みます。(筆者は辞書化して読み込みましたが、データフレーム化した方がいいかもしれません。どちらでもそんなにこの後の処理は変わりません。)
③検定比一覧からNG箇所を探します。
④NG部材の断面を用意しておいた鋼材リストからより性能の高い部材に変更します。
⑤変更した部材断面でcsvを再度出力して、ss7で読み込みます。

以上の処理をNG部材が失くなるまで繰り返します。
なぜ検定比から断面性能を逆算して部材を出さないのかというと、実務者の方なら分かると思いますが、鉄骨部材はfbが最大値取れていないと、検定比がとんでもないことになります(笑)
例えば、細幅のH100等を初期値として入力すると、その時のfbが考慮されてしまい、断面性能で部材を選定すると想定よりかなり大きい部材になってしまいます。
したがって、筆者は上記の様な処理としています。

鉄骨部材は鋼材リスト用意しておけばパラメータを1つとして考えられるため、比較的用意に処理できます。
大梁や柱などについても検定比の読み込みで調整が必要ですが、基本的な処理は同じです。

筆者のプログラムでは、断面算定をする前に、部材の振り分けをしてそれぞれ個別に検討していますが、その処理はただの複製だけなので省きます。

鉄骨小梁の断面算定の処理

鉄骨小梁の処理で22行です。(データフレーム等にする処理は除く。)
これが大梁になると仕口等の検定比のパラメータが増える関係で、50行程度必要となりました。
ちなみに現在書いてる途中ですが、RCの小梁だと300行程度になりました(笑)
ちょっと長過ぎるので、整理して処理を簡単にできないか検討中です…
RCの処理は鉄骨と同じようにするとコード自体も長くなってしまうので、もう少し検討が必要な気がします…

最後に
とりあえず、ここまでの記事でSS7自動化に向けたプログラム作成の紹介の第一弾は終了です。
データフレームにする処理や部材整理の処理については、単純にPythonを利用したデータ整理であり、紹介しても面白くないので省きました(笑)

筆者も構造設計者なので、全てを自動でやろうとは考えていませんが、昨今の物価高にも関わらず中々設計料が上げられない中で、仮定断面など利益にならない業務を効率化できたらと思い開発しています。
今後はRCの断面算定や層間変形角などの断面算定以外の部分も開発していく予定です。
また、開発できたら紹介しようかなと思います。

ちなみに、SS7で出力したcsvを操作する場合、文字コードの関係で上手く読み込めないかと思います。ここで最初に躓きました…
もし、ご自分でコード書きたい場合は"cp932"で指定してあげると上手くいきます。

ソフト化できましたら、また告知します。

この記事が気に入ったらサポートをしてみませんか?