SketchUp Rubyについてお探しですね。
広告
SketchUpでモデリングを自動化!Ruby APIで作業効率を劇的アップさせる方法
建築やプロダクトデザインで使われている3Dソフト「SketchUp」。
便利なんだけど、同じような作業を何度も繰り返したり、複雑な形を作ったりするのに時間がかかって大変…なんて思ったことありませんか?実は、SketchUpには「Ruby API」っていう超便利な機能が隠されていて、プログラムを使えば面倒な作業を一瞬で終わらせることができるんです。
今回は、プログラミングが初めての人でも大丈夫!SketchUp Ruby APIの基本から、実際に図形を自動で作るところまで、わかりやすく解説していきます。
SketchUp Ruby APIって何?プログラムで作業を自動化するとこんなにラク
SketchUpの魅力って、マウスでサクサク操作できるところだけじゃないんです。
実は「Ruby」っていうプログラミング言語を使って、自分だけのオリジナル機能を作れちゃうのも大きな特徴なんですよ。
SketchUp Ruby API(エーピーアイ)は、プログラムでSketchUpを動かすための仕組みのこと。
手作業だと何十分もかかるような繰り返し作業も、プログラムを書いておけば一瞬で完了します。
最初はちょっと勉強が必要だけど、一度覚えてしまえばめちゃくちゃ役に立ちますよ。
自動化するメリットはたくさんあります。
たとえば、階段を作るときに段数を計算して一段ずつ配置していくのって大変ですよね。
手作業だと計算ミスしたり、位置がズレたりすることもあります。
でも、プログラムで数式をきちんと書いておけば、何度やっても正確な形が一瞬で作れるんです。
しかも、あとから「やっぱり幅を変えたい」ってなっても、数値を変えてもう一度実行するだけ。
最初からやり直す必要がないから、修正がとってもラクなんです。
それだけじゃありません。
Ruby APIを使えば、図形を作るだけじゃなくて、モデルの中の情報を集計したり、外部のデータと連携したりもできます。
たとえば、モデルの中にある窓の数を自動で数えてExcelファイルに書き出したり、逆にテキストファイルから寸法を読み込んで自動で壁を立ち上げたり。
こんなふうに、SketchUp Ruby APIをマスターすれば、普段の設計作業全体がグッと効率的になるんです。
まずは準備!Rubyコンソールを開いて使ってみよう
SketchUp Ruby APIを始めるのに、高いソフトを買ったり難しい設定をしたりする必要は全然ありません。
SketchUpには最初から「Rubyコンソール」っていう開発用のツールが入ってるので、すぐに始められます。
WindowsでもMacでも、上のメニューから「拡張機能」か「ウィンドウ」を選んで「Rubyコンソール」をクリックすれば、プログラムを入力する画面が出てきます。
ここが、あなたの実験場になりますよ。
Rubyコンソールを開いたら、まずはプログラミングの定番「Hello World」を表示してみましょう。
下の入力欄に「puts “Hello World”」って打ってEnterキーを押してみてください。
すると、上の画面にその文字が表示されるはずです。
すごく簡単だけど、これがSketchUpにプログラムで命令を出せたっていう証拠なんです。
最初はこういう短いコマンドを試しながら、Rubyの書き方やSketchUpの動きに慣れていくのがおすすめです。
本格的にプログラムを書くようになると、1行や2行じゃ足りなくなってきます。
そうなったら、「Visual Studio Code」みたいな無料のテキストエディタを使って、「.rb」っていう拡張子のファイルを作ってプログラムを書くのが一般的です。
作ったファイルをSketchUpで読み込むには、Rubyコンソールで「load “ファイルの場所”」って入力すればOK。
こうすれば、エディタで快適にコードを書いて、SketchUpですぐに試すっていう流れがスムーズにできるようになります。
実際に作ってみよう!プログラムで3D図形を自動生成
準備ができたら、いよいよSketchUp Ruby APIの本領発揮、「3Dモデルを自動で作る」ことに挑戦してみましょう。
プログラムで図形を描くには、まずSketchUpの今開いているデータ(モデル)にアクセスして、その中の「エンティティ」っていう図形の集まりを取得する必要があります。
Rubyでは「Sketchup.active_model.entities」っていう命令を使うと、この図形の集まりにアクセスできます。
ここから、線とか面とか立体とかを追加していくのが基本的な流れです。
今回は入門編として、「四角い面を作って、それを押し出して箱にする」っていうプログラムを作ってみます。
まず、四角形の4つの角の位置(座標)を決めて、「add_face」っていう命令で面を作ります。
面ができたら、今度はその面に対して「pushpull」っていう命令で押し出し処理をします。
これだけの短いコードを書いて実行すると、画面上にピッタリ正確な箱が自動で現れるんです。
感動しますよ!
実際に使えるプログラムにするには、「グループ化」っていうのが大事になってきます。
SketchUpを手で操作するときも、図形同士がくっつかないようにグループ化しますよね。
プログラムで作るときも同じです。
エンティティを取得した後に「add_group」っていう命令で新しいグループを作って、その中に図形を作るようにコードを書き換えます。
こうすれば、プログラムで作った図形が他のモデルを壊すことなく、独立したオブジェクトとして安全に作られるようになります。
もっと便利に!実務で使えるテクニックと勉強の進め方
簡単な図形が自動で作れるようになったら、次はもっと便利な機能を追加してみましょう。
おすすめなのが「ユーザーインターフェース(UI)」を付けること。
「UI.inputbox」っていう命令を使うと、数値を入力するダイアログボックスが簡単に作れます。
たとえば、さっきの箱を作るプログラムで、幅・奥行き・高さを固定の数値じゃなくて、ダイアログで入力できるようにすれば、どんなサイズの箱でも一瞬で作れる便利ツールの完成です。
よく使うプログラムは、毎回Rubyコンソールから読み込むんじゃなくて、SketchUpのメニューからワンクリックで実行できるようにすると超便利です。
「UI::Command」とか「UI.menu」っていう機能を使えば、自分だけのメニュー項目を追加して、そこに作ったプログラムを紐付けられます。
こうすれば、自分専用にカスタマイズした機能がSketchUpに完全に組み込まれて、普段の作業スピードがめちゃくちゃ上がりますよ。
最後に、SketchUp Ruby APIをもっと深く学ぶためのコツを紹介します。
最初はエラーが出て「なんで?」ってなることもあるけど、以下のポイントを意識しながら勉強すると、確実にレベルアップできます。
・公式のAPIドキュメント(英語だけど)を見て、命令の使い方を調べる習慣をつける
・世界中の開発者が集まるSketchUpのフォーラムで、過去の質問や解決方法を見てみる
・他の人が公開しているプラグインのコード(.rbファイル)を読んで、書き方を真似してみる
こういう方法を組み合わせながらコツコツ続けていけば、最初は簡単な自動化ツールから始まったあなたのスキルも、いつか複雑な設計システムを作れるプロレベルまで成長できるはずです。
ぜひ今日からRubyコンソールを開いて、自動化の第一歩を踏み出してみてください!
広告
