IT活用による建設産業の成長戦略を追求する「建設ITジャーナリスト」家入 龍太
イエイリ・ラボ体験レポート
Vol.49
Shade3Dプログラミングセミナー
【イエイリ・ラボ 家入龍太 プロフィール】
BIMやi-Construction、IoTなどの導入により、生産性向上、地球環境保全、国際化といった建設業が抱える経営課題を解決するための情報を「一歩先の視点」で発信し続ける建設ITジャーナリスト。「年中無休・24時間受付」をモットーに建設・IT・経営に関する記事の執筆や講演、コンサルティングなどを行っている。
公式ブログはhttps://ieiri-lab.jp

建設ITジャーナリスト家入龍太氏が参加するFORUM8体験セミナーのレポート。
新製品をはじめ、各種UC-1技術セミナーについてご紹介します。製品概要・特長、体験内容、事例・活用例、イエイリコメントと提案、製品の今後の展望などをお届けしています。

はじめに

建設ITジャーナリストの家入です。フォーラムエイトの製品ラインアップの中でも、統合型3Dコンテンツ制作ソフト「Shade3D」は、幅広いユーザーと用途を誇っています。その守備範囲は、小中学生のプログラミング教育からCGアニメのモデリングやレンダリング、さらには建築・土木のプロが使うBIM(ビルディング・インフォメーション・モデリング)やCIM(コンストラクション・インフォメーション・モデリング)と連携した図面作成やモデルチェック、VR(バーチャルリアリティー)との連携までをカバーしています。

非常に魅力あふれるソフトのため、Shade3Dについては当コーナーでもたびたび取り上げています。Up&Comingの124号(2019年新年号)では、単体のソフトとしての機能や基本的な活用方法について紹介しました。130号(2020年盛夏号)では、フォーラムエイトの様々な土木設計用ソフトや、リアルタイムVRシステム「UC-win/Road」などとの、3ds形式によるデータ連携による幅広い活用法について紹介しました。

そして、今回のテーマは「プログラミング」です。プログラミングというと、ベテラン技術者は「FORTRAN」や「C言語」などのように、コードを1行ずつ書いていく作業を思い浮かべる人が多いでしょう。しかし、2020年度から小学校、2021年度から中学校で必修となったプログラミング教育では、まとまった命令や出力のコマンドをマウス操作によって「ブロック」単位で並べたり、積み重ねたりする「ブロックUIプログラミングツール」が使われています。今回のセミナーも、この方式によるプログラミングを学びます。

▲ブロックUIプログラミングツールの命令イメージ。ひとまとまりの命令をマウスで並べたり、積み重ねたりしてロジックを表現する   ▲ブロックUIプログラミングツールの出力イメージ。グラフィカルに出力を定義でき、わかりやすい

製品概要・特長

130号で紹介した時、Shade3Dの最新版は「Ver.20」でしたが、このセミナーが開催された時には「Ver.21」に上がっていました。

新たに追加された機能としてはまず、2D図面ツールがあります。このツールが搭載されたことで、Shade3Dは単にCGやモデリングなど3Dのイメージを制作するだけでなく、縮尺や寸法が重要な設計ツールとしても使いやすくなりました。

このほか、WEB上などで3Dモデルを扱うオープンソースのファイルフォーマット、「glTF」の入出力に対応(Professional版のみ)したり、メジャーツールで「絶対座標」を表示する機能が追加されたりしました。

さらに新しい「Ver.21.1」では、別売りオプションとして「BIM /CIM設計照査ツール(Professional版のみ)も搭載されました。

フォーラムエイトの「UC-1設計シリーズ」や「3D配筋CAD」などで設計した3Dモデルを「IFC形式」で書き出し、設計照査を行うものです。

手軽に3Dモデリングが行えるShade3DがIFC形式に対応したことで、他社のBIM/CIMソフトともデータ連携できるようになりました。国土交通省が推進する「i-Construction」の世界でも、Shade3Dの存在感が高まりそうです。

3次元CADらしくなったShade3Dですが、一般のBIMやCIMのソフトなどに比べるとリーズナブルな価格です。最新版の「Ver.21」ではCG初心者向けの「Basic」が2万1,780円(サブスクリプション1年目の価格。税込)、モノづくりで精度を追求する人向けの「Standard」が5万2,800円(同)、そしてプレゼン品質のCG向けの「Professional」が10万7,800円(同)となっています。2年目以降は半額以下で使えるのも、これまでのバージョンと同じです。

Shade3DはSTEPやIGESなど製造業系のデータと、IFCなど建設業系のデータを読み書きできます。今、建設業は人手不足対策として、部材のプレハブ化や工場での自動加工などが増えています。Shade3Dによる両業界間のデータ交換は、ますます活用が増えていきそうです。

▲Shade3DのVer.21、Ver.21.1で追加された新機能の数々   ▲Shade3Dの最新版、「Ver.21.1」に対応した別売りの「BIM/CIM設計照査ツール」。IFC形式の3Dモデルを読み込んで設計照査結果を出力する

体験内容

1月13日の午前9時半から午後4時半まで、Zoomによるオンラインセミナー形式で「Shade3Dプログラミングセミナー」が開催されました。講師を務めたのは、Shade開発グループの御厨啓補さんです。

冒頭の30分ほどでShade3Dの製品説明や基本操作、バージョンアップの動向などについて解説した後、10時以降はプログラミングの実習を行いました。

プログラミングといっても、FORTRANやC言語のようにテキストでコードを1行ずつ書いていく従来の方式ではありません。「命令ブロック」と「出力ブロック」を重ねたり、並べたりしてプログラムを作っていくのです。

そして最終的には、Shade3D上で図形や3Dモデルなどを発生させたり、並べたり、色を変えたりといった自動処理を行わせることが目標です。そのため、(1)基本操作、(2)基礎的なプログラミング、(3)Shade3Dの機能を用いたプログラミングと、3段階に分けてゆっくり実習が行われました。

 
▲1月13日にオンラインで開催された「Shade3Dプログラミングセミナー」
 の画面
(1)基本操作

まずはプログラムを組んでいくための画面を出すところから始まりました。Shade3Dのメニューに「スクリプト」というのがありますので、そこから「ブロックUIプログラミングツール」を選びます。するとShade3Dの画面に加えて、プログラムを組み立てていくためのウィンドウが立ち上がります。両方の画面を同じサイズで並べてから作業はスタートしました。


▲プログラミングを行うウィンドウ(左)とShade3Dの画面(右)を並べてからスタート

続いて、プログラムを構成するブロックの種類と並べ方の解説です。「命令ブロック」はデータを入力したり、形状を選んだりするもので、上に凹、下に凸のついた形をしています。ブロックの上に日本語で「カメラのズーム」や「メッセージを表示」などまとまった処理を表す名前が書かれていますので、従来のプログラミング言語よりもずっとわかりやすいです。

一方、「出力ブロック」は、横方向に凸がついているブロックです。数値を指定したり、つながるブロックに値を渡したりします。

プログラミング作業では、これらのブロックをメニューから選び、ドラッグアンドドロップによって上から順番に並べていきます。まるで、CADソフトで作図していくとき、「CAD部品」を並べていくような感覚です。命令ブロックの中に出力ブロックを入れる形でプログラムは組まれていきます。例えば、「メッセージを表示」という命令ブロックの中に、メッセージの文字列をしている出力ブロックを入れるといった使い方です。

▲処理手順に従って縦に並んだ「命令ブロック」の中に、
 文字列や数値などを定義する「出力ブロック」が入っている

プログラム実行されたとき、結果の出力方法は主に3つあり、メッセージとして画面に表示する、ダイヤログボックスを表示する、3Dモデルや図面として表示する、という方法があります。

▲メッセージとして表示する方法 ▲メッセージボックスとして表示する方法 ▲図形として表示する方法

これらのブロックは、CADで図形をコピーしたり削除したりするのと同じ要領で、複製や削除することができます。初めはコードを書かないプログラミングとはどんなものなのかと思っていましたが、だんだん分かってきて楽しくなってきました。

(2)基礎的なプログラミング

基本がちょっと分かってきたところで、今度は思い通りの処理や出力をさせるために簡単なプログラミングを行いました。例えば画面に「こんにちは」という文字列や、円周率の数値などを表示させるプログラムです。

次は少し進んで、画面から数値などを入力して、それを出力に反映させます。そこで登場するのがダイヤログです。ダイヤログに関するブロックは、ツールボックスの「UI」の中にあります。

▲円周率の数値を画面に表示させるプログラム。「π」が定数で用意されており、コンパクトにプログラミングできる   ▲様々なダイヤログボックス用のブロック。
 自分でカスタマイズして作ることも可能

さらにダイヤログボックスで入力したデータを計算するためのブロックもあります。例えば数値演算ブロックは、計算ツールの中にあり、ブロックの真ん中にある逆三角形の部分をクリックすると「+、-、×、÷、^(指数演算)」を選べるようになっています。

このほか計算結果によって処理を変える「条件分岐」や、ループ処理を行う「繰り返し」、サブルーチンのように複雑な計算処理を行う「関数」など、少しずつ複雑なブロックの組み合わせ方を、プログラミングの処理結果を見ながら学んでいきました。

(3)Shade3Dのプログラミング

いよいよShade3Dの作図機能を制御するプログラミングです。3次元空間に球体や円柱、直方体などの3D形状を表示するための命令ブロックとして「球体の作成」や「直方体の作成」などが用意されており、それぞれ表示位置や大きさの数値を指定する出力ブロックが内蔵されています。

Shade3Dのプログラミングではこのほか、図形の「移動、回転、拡大縮小」や「材質の設定」、「Pythonスクリプトによるプログラミング」も学びました。最後に集大成として、円錐と円柱からなる樹木のモデルを高さや本数などを指定して、3D空間上に整列表示される「スクリプト」を作って、実習は終了しました。

▲横軸に土被り厚、縦軸にボックスカルバートの左右壁の合計厚をプロットしたデータ   ▲さらにデータの種類を増やして、X軸、Y軸を入れ替えて多数のグラフを表示させたところ

イエイリコメントと提案

Shade3Dは高機能ながら、以前はホビーユーザー向けのソフトとして進化してきました。現在は建築・土木や製造業などのプロユーザーも新たに獲得するため、図面やBIM/CIMへの対応などの機能を追加し、進化を続けている真っ最中と言えそうです。

人手不足に悩む建設業界では、現場で鉄筋や型枠などの素材を手作業で一つ一つ組み立てていく生産方式から、工場で工作機械を駆使して効率的に生産するプレハブ化へと変わりつつあります。そんな中、求められるのは建設業と製造業をつなぐ3次元CADです。

その点、Shade3Dは建設業と製造業のどちらにも対応でき、PythonやグラフィカルUIスクリプトで小回りの利くカスタマイズが行え、かつプロ向けの3次元CADとしてはかなりの低価格という点で、時代のニーズに合ったソフトと言えるでしょう。

一方、これまでホビーユーザーを中心に培ってきたコミュニティーやスクリプトなどのソフトウエア資産も、うまく活用していくことができればと思います。これまでのボランティア的な助け合い文化を引き続き応援していきたいですね。

さらにプロユーザーがホビーユーザーに対してスクリプト開発業務などを手軽に受発注できる仕組みなどを作れば、双方がWin-Winのコミュニティーが実現するのではないでしょうか。



前ページ
    
インデックス
    
次ページ
(Up&Coming '21 春の号掲載)
戻る
Up&Coming

FORUM8

LOADING