CADって何ぞやという話です。 まあこれを聞いてくれている方の中にもねCADって名前知ってるけどよくわからんよっていう方も
いると思うんで基本からざっくりとお話ししていきます。 CADっていうのはコンピューターエディットデザインの略で
コンピューターを使って設計をするためのソフトのことです。 まあ設計者にとっては包丁みたいなもんで欠かせないツールなんですけど
我々は本当にこれなしでは仕事ができません。 どういうことをやるかというと基本的にはパソコンの画面見ながらマウスとかキーボードで
いろいろ操作をしてですね。 寸法を入力したりしながら3Dの立体形状を作り上げていくとそういうソフトですね。
私も機械設計者なんでね。 仕事中はずっとCADとにらめっこしながらあでもないこうでもないモデリングをして
自分の設計を進めるなんてことをしてたわけです。 最近はあんまり機械設計やってないんですけど機械設計者はそういうことをしてると。
プライベートでもね私はCADを使ってまして3Dプリンター用のデータを作る時とか自分のものづくりを進める時とかは基本的にはCADで
3Dモデルを作って設計してますと。 ちなみに私が個人的にお勧めしているのはシェパー3DっていうCADでしてこれ
iPad専用のCADアプリで これがあれば
iPad上でねまるで絵を描くかのようにどこでもいつでも3Dモデルが作れちゃうと いうことなんでまぁこれも過去に喋ってますけどめちゃくちゃいいんでね
おすすめですよシェパー3D iPadでどこでもものづくりができるということなんです ということでちょっと話しとれましたけど
ここからちょっと大事な話をするとですね 一口に
3D CAD 3Dモデルを作れるソフトウェアだよと言っても実は3D CADの中にも種類がいろいろあってですね
すごくざっくり大きく分けると2種類あるんですよ それがヒストリカルCADというものと
ノンヒストリカルCADというものです通称ノンヒスなんて言いますけどこっちの方は これ名前の通りですねヒストリカルっていうのは歴史だから履歴があるCADのことです
どういうことかというとですね例えば最初にこうCADの中で四角い箱 豆腐みたいですね作りましたと次にじゃあその豆腐に穴を開けていきますよと
でその豆腐の角を丸めましたと言うとですね部品っぽい形ができるんですけど ヒストリカルCADの場合はこういう今までそのモデルを作って変更した操作っていうのが
全部記録として残っています だから後からあの穴ちょっと位置ずらしたいなぁとか思った時は履歴を遡ってその開けた穴の
工程だけを修正できるとサイズを変えたり位置を変えたりね こういう履歴を遡ってタイムマシーンを戻るみたいにして戻って
モデルの修正ができるというのはヒストリカルCADというものです 機械設計の設計変更の連続だから後からそのピンポイントで変えられるよっていう
そういうふうになっているのがすごく大事なのね で一方でノンヒストリカルCADというものもあってこれは履歴を持たないCADなんですよ
変更してきた履歴今までどういうふうにモデルを作ってきたかっていう歴史みたいな データが残ってないのね3Dモデルの中に
でイメージとしてはこう粘土をこねていくような感覚に近いと いちいちさここをへこましてここを膨らましてみたいな履歴って履歴というかまあ粘土
いじってるとそんなこと考えてやってないじゃないですか順番とかね 結果そのいろいろいじった形でも曲線ができたりとかそのフィギュアとかね
デザイン的なね流線形の形ができるとそういう類のCADなんですけども 3D CGみたいなこの衣装性の高い局面を作るのに非常に向いているんですよ
ノーヒスのCADっていうのはですねまあ非常にこう 芸術的な造形が得意だということですね履歴が残らないからいろんな複雑な操作ができると
製造業ではまあヒストリカルCADが主流です まあ結構ね四角いものに穴開けたりっていうロジカルにねこうものを設計していくから
履歴があるの結構大事なのよね ノーヒストリカルCADでも一応ね機械向けのCADっていうのもあって
アイCADって呼ばれるやつがまあ具体的にはそうなんだけど まあそれは履歴がないその今までいじってきた履歴がない分軽いからね非常に
大規模な製造が作れるよみたいなそういうCADがあるんですよアイCADね 私はねアイCAD使ったことなくて私はソリッドワークスっていうCADと
あとキャティアっていうCADを今まで使ってきたからあまりわかんないんだけども 基本的にはずーっとヒストリカルCADを使ってきましたと
まあこの辺りは業界によっていろんなCADの種類があってより好みがあるという感じなんですけど まあそういう2種類のCADがあるよっていうふうに思ってもらえばまずは良くって
CADで作る3Dモデルってその3DCGっていうのとはまたちょっと用途が違うわけですよ
何が違うかというとものづくりのCADで作る3Dモデルっていうのは寸法がとても大事なのね
見た目がそれっぽければ ok っていう世界ではなくて寸分のくりなく全部の寸法をちゃんと定義していかなきゃいけないものを作りたいわけだから
だから基本的にはモデリングの考え方も独特でさ プリミティブな立体を組み合わせて形を作っていくという手法をとります
プリミティブなんですよ最もプリミティブ なんか最近だとねこの言葉って自鳴したし最近でもないけど
でしか聞かないような気もするんだけど プリミティブっていうのがやっぱ製造業のねCADのことですよ
簡単に言えば丸とか四角っていうめちゃくちゃ原始的な形を積み上げていったり 足したり引いたりしながら複雑な形を作っていくっていうこと
まあこれがプリミティブな立体の組み合わせっていうことね まず四角い箱を書きましたそこに丸い穴を開けました
端っこを切り欠きましたみたいな 積み木みたいなもんだと思ってもらえばいいんだけど
これを組み合わせたり引き算したりしながら部品の形を作っていくっていうのが 製造業で使われるCADの操作なんですよ
それを画面を見ながらですねマウスでポチポチ操作してここに四角形を作ってここに 丸を作ってみたいにやっていくのが一般的なCADの使い方です
これは普通のあり方なんですけど しかしですね今日私が話したいのはそっちじゃないCADなんですね
私が今注目しているのはプログラマブルCADというものです 世の中にはね今説明したようなマウスでポチポチやって立体を作るんじゃなくて
プログラムで形を描くとそういう3D CADが存在するんですよ マウスじゃなくてキーボードでコードを書いて数式とか命令文で立体形状を定義していくとそういうCADですね
いやいやいやいや支部長さんと ただでさえ3Dモデリングって専門的なのにそこでさらにプログラミングとかもう地獄ですかと
言いたい気持ちすごくわかります 死ぬほど使いにくそうでしょプログラムで3Dモデルを作りましょうっていうと
だって全然直感的じゃないじゃん ねえそのマウスだったらここってさあそのマウスカーソルでピッて指定してそこに穴開けるとか
できるんだけどプログラムと全部高高度で記述しなきゃいけないと覚えなきゃいけない お作法もたくさんあるんですね
いやいやなんでこんなめんどくさいことするの一体どんなメリットがあるんだっていう 話ですよね
ただねやっぱ当然ですけどメリットありますってか実はあのこのプログラマブルキャドっていう概念 自体は別に全然新しいものではないんですよ
歴史上を遡るとそもそもキャドの例明記 1960年から70年あたりには
gui グラフィックユーザーインターフェイスねつまりこのマウスとかでウィンドウ操作するみたいな概念がなかったから
コンピューターで何が形状を定義しようと思ったらですねコマンドを打つしかなかったんですよ つまりある意味でキャドの原点っていうのはこうプログラマープルだったわけですね
プログラムで書くっていうのがもともと原点だったと その後に gui っていうのが発達してマウスでグリグリ操作できるような今のキャドが
主流になっていくんだけどさプログラムで形を書くっていうアプローチ自体はずっとそれでも 残り続けてきたわけですよ
その流れが途絶えることなくずっと続いていてそのオープンソースの プログラマブルキャドが出てきたりとか
まあそれが根強く3 d プリンターのコミュニティで使われてたりとか あとは人気の音あのプログラム言語パイソンで書けるものが出てきたりとかまぁ最近
だとウェブ上で動くものなんかも登場してきていると つまりプログラマブルキャドっていうのは
gui のマウスでポチポチやるキャドとは別の流れとしてずっと進化し続けてきた 分野ではあるんですよね
具体的にどういうツールがあるかというのは後ほど紹介しますけどそういうプログラマブル キャドがあるとなんでそんな子難しいそうなものがまだまだ使われているのかと
一体何のメリットがそのマウスでポチポチするものよりもあるのかという話なんだけど 一番はやっぱりね寸法の制御なんですよ
プログラムでこのモデルの形を定義しているから あとから寸法をパラメーターとして変更するのがめちゃくちゃ簡単なのね
いわゆるパラメトリックデザインっていうやつなんだけど 例えば高さをじゃあ100ミリの箱を作ったとします
それを150ミリに変えたい場合ってプログラム上で数値を一箇所書き換えるだけで すぐその箱の高さがポッと変わるんですよ
でそれに連動してねそこの寸法の変化に連動して空いてた穴の位置とか切り欠きのサイズも 全部自動で更新されるということがプログラムで定義してからできるわけ
GUIのCADでもまあ似たようなことができるんだけど 結構ねこのモデルの作り方とかで左右されたり
うまくこう追随していかなかったりするのね プログラマブルCADではこの寸法を変えた時の挙動っていうのをかなり柔軟に確実に
定義できるっていうのがすごくポイントなんですよ この特性を生かした事例って結構あってさ
例えばウェブページとかに主要な寸法だけ入力するフォームみたいのを組んでおいて そこに幅いくつですよ高さいくつですよ
穴の数いくつで穴形いくつですよみたいな そういうパラメーター的に数値を入力するとその場ですぐ3Dモデルが作れますよ
自動でそのサイズのモデルができますよみたいな仕組みを作れちゃうんですね プログラマブルCADでちゃんと形を定義しておけば
これを実際にいろんな形に生かしている人たちはいて 前にも確かこの番組の中で紹介したんだけど
ジジョグっていうものがあるんですよね 障害者向けの生活補助用の機器で 日常生活を不自由なく過ごすために生活を助けるっていう道具
それがジジョグなんだけど そのジジョグ自体を3Dプリンターで作ってるっていう活動をしている人たちがいるんですよね
でその活動の中で自分の体に合ったサイズの道具が欲しいなってなった時に このプログラマブルCADを使っているんですよ
いろいろこう握りやすいね持ち手が作りたいとするじゃない ただやっぱ人のさ手の大きさなんて千差万別でしょ
でね障害を持っている方とかって握力が極端に弱かったりするわけ だから形状が結構大切サイズがしっかり一致しているものがすごく大事なんだけど
やっぱり市販品などでそんなフィットしたものあまりないじゃん だけどプログラマブルCADでちゃんとそのジグのね
ジグというかジジョグの形状とか寸法が定義してあれば 実際じゃあ定規で手の長さ測ってそこに値を入力すればですね
その人用のサイズの3Dモデルが破綻なくすぐパッとできると それをダウンロードして3Dプリンターで印刷すればその人用の道具がすぐ手元にできますよね
生成できますよねっていうそういう仕組みの中でプログラマブルCADとかが使われてたりするわけですよこれすごいいいですよねこれってやっぱ通常のCADではできない
プログラムで記述している特有の挙動ですよね だからそういうサービスを作ればですねCADの操作とか3Dモデル作れないよって人でも
自分専用の道具っていうのを簡単に手に入れることができるわけです こんな感じでGUIでマウスでポチポチするCADとプログラマブルCADっていうのは
それぞれいろいろと利点があってね GUIでやるだったら直感的にわかりやすいから誰でも使えるよと
プログラマブルCADだとさっき言ったようにパラメトリックデザインっていうのができて 寸法制御すごくしやすいですよねと
そういう感じでそれぞれの利点を取ってうまくすみ分けができていたんですよ どっちかと言ったらプログラマブルCADの方がすごくマイナーで
これ知る人も知るみたいな存在なんですよね 設計者の中でもプログラマブルCADを触ったこともないっていう人も多いと思うし
存在を知らないっていう人も結構いると思います そのぐらいのやっぱ知名度のものなんですけど
さてここからですね私が感じるプログラマブルキャドの可能性について語っていきたいと思います
でまぁもういきなり結論から言うんだけど私が一番可能性を感じているのは設計情報の管理なんですよ
これがやっぱプログラマブルキャドにすごく私が期待していること
どういうことかっていうと物の形状物の形をプログラムで記載できるっていうのがプログラマブルキャドだという話をさっきしたんですけど
そのこれ物の形をさコードで管理できるということはソフトウェアの世界で使われているGitっていう仕組みを使って
そのまま形状の変更管理に使えるってことなんですよ
Gitを知らない人のためにざっくり説明するとGitっていうのはプログラムのソースコードの変更履歴を管理するっていうための仕組みで
ソフトウェアの分野ではもう超超超超定番のツールでございます
何がいいかというと誰がいつどこでなぜ変えたかみたいなものが全部記録に残るんですね
しかも前のバージョンと今のバージョンの差分が一目で分かって
ここの行このタイミングで追加されましたねここ削除されましたねみたいなやつがすごく追えるんですよ
何か問題があったら過去のプログラムの方に戻せたりすると
チームでね1個のものを同時に開発してても変更がぶつかった時にここ競合してますよみたいな
この人はここ変えてこの人はここ変えてこれをマージするっていうんだけど
くっつけるとちょっと矛盾あるよねみたいなことも教えてくれると
なのでそういう仕組みがあるから1個のものをですね複数の人が開発できるというのがギットの仕組みなんだけど
ソフトウェアの世界ではもうこれなしには開発できないレベルで普及してます
でこのもうソフトウェアで洗礼されたギットという仕組みをプログラマブルキャドを使えば
そのものの形に適用できるんじゃないかというのが私の期待なんですね
なんでそういうふうに期待してるかというと
今の通常のキャドだからマウスでポチポチするようなキャドって
このね形状の変更管理がマジで難しいんですよ
特にチームで設計している場合はとても難しい
誰がどういう理由でこの形状をいつ変えたのかっていう記憶がシステマティックに残せないんですよね
もちろん会社ごとにルールはあると思いますよ
それこそPDMっていう上流の管理システムで
図面と一緒に設計の変更情報みたいなのを管理してたりはするんだけど
ただそれもここが変わりましたよっていう情報は残しても
そこがなぜ変わったのかとかどこの部品と一緒に変わったのかみたいな
そういう組み合わせみたいなものを定まったフォーマットで
3Dモデルに紐づけていくのがすごく難しいんですよ
そこはもう会社ごとにきっちりルールを作らないと
なかなか管理できないっていう部分なんですね
これ地味ながら本当に難しい問題で
私もこれで今まで何度痛い目を見たかわからないんですよ
例えばとある部品を見てたら流用しようかなと
これ他の機械でも使われてるけどこの部品自分の設計にも使おうかな流用しようかなって思って見てたら
なんか謎の穴が開いてるわけね
このタップは何のために開いてるんだろうみたいな穴が開いていて
いつ開いたんだろうって履歴を見ると5年前におそらく追加で穴が開いてると
ただなぜこの穴が追加されたのかの理由がどこにも資料が残ってなくて誰も知らないと
現場に言ってもこれいつ使ってるんだろうねみたいな感じで本当に誰も知らない
当時の担当者はもう移動している設計のメモも残ってないと
理由を調べても完全に闇の中みたいな部品の変更とか部品の形状っていっぱいあるわけ
結果どうなるかというと誰も理由がわかんないから怖くて変更できないということが
製造業の現場では本当に多くあるんですよ
だから使ってもいない穴とかを開け続けてるっていう人もいる可能性があるんですね
だって誰が必要かわかんないからなくせる理由がないわけですよ
まあその穴1個だったらいいんだけどこういうね
よくわかんない変更とか形状みたいなやつが多分山ほどあって
それがある種のこの呪いみたいになってるんですよね
私はそういう変更できない穴を呪いの穴って呼んでるんだけど
RPGの呪いの装備みたいな感じで一度こう装着したら戻せないみたいなね
外せないみたいなそういう意味でそういう呪いの穴って呼んでるんだけど
そういう呪いの形状みたいなものが製造業にはベッコリいろんなところについてるわけね
その理由ってのは上手に設計情報の管理ができてないからなんですよ
じゃあもうCADのデータの中に変更理由を残せばいいじゃんと思うじゃないですか
これもねなかなかやっぱ難しいんですよもちろんやってる人もいるんですよ
具体的に言ったら3D CADの履歴ねさっき言ったヒストリカルの部分
これモデルのツリーって言うんだけどそこにどうでもいい平面
形には関係ない基準の平面みたいなのを追加してそいつを非表示にして
その平面の名前をメモにするみたいなちょっと無理矢理なんだけど
そういう形でツリーを使ってこここういうふうに変更しましたみたいなコメントを残すみたいな方法も一応あるっちゃあるんですよ
別に推奨はされてないと思うんですけど人によっては親切でコメントを振っていったりするわけね
それこそプログラムにさコメントアウトしてそこにメッセージ残すみたいな
そういう形で変更理由を逐次つけていってる人もいるんだけど
それはあくまでも個人の親切だし人によってもやり方バラバラで統一したフォーマットがないと
とにかく物理的な形3D CADのデータとその形状の変更理由とかを
ひも付けで管理する確立された方法がないんですね
それ故に製造業の世界では設計の世界では無駄な管理構想が発生したりとか
無駄に資料を設計者が作らなきゃいけなかったりとか
コミュニケーションロスみたいなやつが多々発生していると
これが物理的なものづくりの世界のリアルなんですよ
そのロスの部分は設計者が気を使いながら色々気を揉みながら資料を用意したりとか
自分のローカルにメモを取っておいたりとかね
色んな方法でみんな対策しているわけですよ
非常に泥臭い対応が行われてるんですね
でもこれがもしもプログラマブル CADで作られた3D形状であれば
ソフトウェアの分野で何十年もかけて洗練されてきた仕組みを
そのまま物理的な形状に適用できるわけGitっていうね
ここめちゃくちゃいいと思うのよ
これがプログラマブル CADの一つの可能性だと思うんですよね
今の話だと全然生成AI関係ないんだけど
ここからちょっと絡んでくるんだけど
それプログラマブル CADでGit管理 形状のGit管理ができると何がいいかといったら
差分が秒で分かることがいいんですよ
前回と今回の違い 古いバージョンと新しいバージョン
古い部品と新しい部品の違いが全部プログラムのコードで差分として出るから
これ一目瞭然じゃないですか
この出た差分についてを生成AIにレビューさせることができると
そういう使い方ができるんですね
するとどういうことができるかというと
設計変更の審査とかレビューを生成AIで自動化できる可能性があるんですよ
ちょっと今図面の存在を無視してますけど
AIが形状の変更をレビューできる可能性があると
これはプログラムで記述してて差分が取れるからね
これが設計者にとってはめちゃくちゃでかいことだと思うんですよ
まず生成AIが設計の実務で輝く場ってどこかといったら
やっぱ差分を見てその差分が何かっていうのをアウトプットしたり
その差分についてレビューするっていうことだと思うんですよね
私の持論を言わせてもらうと
正直生成AIでゼロから3Dモデルを作ってもらうっていうのは
まだ活用としては正直きついと思うんですね
キャッチーですよすごく
すごくキャッチーなのは分かるんだけど
3Dモデルを生成AIで作りましたとか
画像から3Dモデルができましたみたいなのって
すごく話題になるし分かりやすいんですよ
ただやっぱねからのっていう問いには答えられないんですよね
このからのっていうのは私がもう一個の番組
落ち着きAIラジオの方で語ってる話なんだけど
AI関連のトピックっていろんな驚きトピックあるんだけど
そのトピックに対して本当に意味があるのかどうかを見分ける方法
その問いがからのなんですよ
だからこれすごいですよこんなことができましたよって言ってるのに対して
心の中でからのって言ってその答えがポンって返ってくるやつは
使えそうって感じだけど
その先が見えないやつはやっぱパフォーマンス的なんですよねまだまだ
特にね3Dモデルを生成AIで作りましたっていうのは
からのっていう問いに対してその先がまだないんですよ
これをどうしようみたいな部品とりあえずできました
3Dプリンターに印刷しておきますかぐらいでしか発展がないわけ
だからこれ取り組みとしては大事なことだし私も注目してるしやってるんだけど
その取り組みが本当に実務に対するベクトルになってるか
そっちの方向向いてるかって言われたらやっぱ全然疑問があるわけですよ
まだまだパフォーマンスの域を出てないよねと正直そう思うわけね
だって生成AIで作るよりも自分で作った方が全然早いですからね
もちろんCADが使えない今までそういう技術に触れてこなかった人が
形を作って3Dプリンターで印刷して遊ぶっていうのであれば別にいいんですけど
実務の話してますからプロフェッショナルが使うって考えた時に
それを生成AIで行う意味ってあんま今のところないんですよね
何度も言うけどこういう取り組みも大事だから私もやるんだけど好奇心で
実務に活かせるかといったらまだそこに至ってないし
その先があるかっていうのもすごく見えない部分ではあるんですよ
そうやっていろいろ考えた時に
実務において実務領域において何が生成AIの得意とする
輝けるところなのかなって思ったら
1から3Dモデルを作るんじゃなくて今あるモデルの変化点
ここを捉えてレビューするっていうのは
今この瞬間においても生成AIが価値を発揮しやすい分野だなと
これすごく個人的に思ってるのね
ただ変化点を生成AIが自動で捉えることができないのよ
3Dモデルがボンボンって2つあるだけでは
だからそこの変化点を明確に捉えるためには
やっぱプログラマブルキャドで作られた3Dモデルっていうのが
すごく相性がいいんですよね
作られたというか記述されているモデルね
それは相性がいいよね
それだって文字で書かれてるわけだからね
AIによる設計変更レビューとかっていうのが
プログラマブルキャドで作った部品に対しては
めちゃくちゃやりやすいし
多分結構クリティカルな指摘してくれると思うね
これがやっぱり実務領域において
キャドかける生成AIで私が可能性を感じる部分ですよ
生成AIがこの部品のこここういうふうに変わっていますよ
というだけでもいいし
こういうふうに変わってるからこういう可能性がありますよ
こっちの部品と整合性取れてませんよとかね
そういう変化点を全て記述してレビューをしてくれるだけで
だいぶ設計のチョンボってなくなると思うんですよね
やっぱ不具合って変化点からしか出ませんから
私はこの言葉あんまり好きじゃないんだけど
嫌いな上司が言ってた言葉だからね
でも確かにそうなのよ
不具合っていうのは変化点からしか出ないの
今成り立っているものは成り立っているわけだから
それを変えた時にやっぱ何か不具合が出ると
だから変化点に対してすごくレビューをしていくのが大事なのね
この変化点をAIに捉えやすくするために
やっぱプログラマブルキャドっていうのが
だいぶ効いてくるんじゃないかなと思う
そこにすごく可能性を感じているんですね
なんかねプログラマブルキャノン使いにくい
とっつきにくいからさ
このとっつきにくさ
この厚い壁を突破するクリティカルなツールが一つ出てくれば
一気に負けると思うんだよな
確実にじわじわだけど
生成アイが登場したことによって
プログラマブルキャノンって最注目されてきてるなっていうのは
そんなすごく騒がれてるわけじゃないけど
それは感じるよね
というのでとにかくね
今日言いたいことはプログラマブルキャノンぜひとも触ってみてほしいですね
いやうんとはもう
触るって言われても
どう触ればいいの?と思った
そこのあなた
安心してください
次のチャプターで用意しております
プログラマブルキャノンってね
ただで使えるんですよ
オーダーメイド試験機ならお任せ
グラフテスターズデザイン株式会社
さてここからはですね
具体的なプログラマブルキャドのツールを紹介していきましょう
今回はねプログラマブルキャドの中でも代表的な3つを紹介します
全部無料で使えるオープンソースなんで
気になったら今から
もうこの番組を聞き終わってから
否聞いてる最中
もう我慢できないって言ったら
飛び出してでもね使うことができますよ
でも最後まで聞いてほしいですけどね
話は最後まで聞きましょうというところで
ちょっと3つツールを紹介します
まず1つ目
OpenSCADというものです
これはもうプログラマブルキャドの代表格といって
良い存在なんですけど
2010年にマリウスキンテルさんという方が開発してリリースした
そういうキャドなんですけど
これオープンソースのプロジェクトなんですよ
2010年当時はですね
GUIで操作するキャドが主流だったんですけど
あえてスクリプトだけで形を作るというアプローチに
こだわって作られたのがこのOpenSCADですね
このマニアックで尖った作りからですね
3Dプリンターのメーカーコミュニティの中で
グワッと広がったという経緯があります
OpenSCAD何が良いかと言ったら
まず無料ですぐインストールして使えるということです
オープンソースですからね
タダで使えます
そしてめちゃくちゃ軽いということですね
別にPCのスペックとかほぼ気にしなくて良くて
何でもほぼほぼ
今のパソコンであれば動くレベルです
ただちゃんと3Dモデルが動くビューアーみたいなやつもありますから
キャドとしてはちゃんと機能しますし
3Dモデルもクルクル回せるし
左側にプログラムを変えて形を変えていく部分があると
そういうキャドですね
プログラムどういうプログラムを書かなきゃいけないかというと
言語はC言語というものをベースにした独自のスクリプト言語を使っています
ただ独自の言語かって聞くんだけど
これだけ聞くとそこまで煩雑ではありません
Cって聞くとまたCかって聞く人もいるかもしれないんだけど
特にプログラム挫折した経験ある人はね
Cだとポイント渡しとかっていう脳を焼く概念とかいっぱい出てくるんだけど
そういうものは出てこないと
独特のC言語の脳を焼くような話は出てこなくて
割とシンプルな記述で3Dモデルを作っていくことができます
もちろんお作法というかルールは覚える必要があるけどね
歴史が長い分ネットにも情報たくさん落ちてるし
本もあります
KISOからのオープンエスキャドという本がね
今ちょうど私の手元にあってこれ読んだんだけどさ
ちょっと古いんだよね
情報そんなに変わってないけど本自体はね
平成28年出版と
ちょっと古い本なんだけど
この本を読んだら十分に使えるようになりましたので
情報も豊富だし
ただで使えると
プログラマブルキャドっていうものをちょっと触ってみたいなと思う人にはですね
非常におすすめのキャド
それがオープンエスキャドでございます
続きまして2つ目を紹介するんですけど
それがキャドクエリーというものです
これはPythonのライブラリーとして動くプログラマブルキャドです
Pythonみんなご存知ですよね
今世界で最も人気があると言われているプログラム言語の一つですね
AIのコーディングとかにもよく使われてて
社会人のたしなみに近いような
そんな感じのプログラム言語ですよね
プログラムといえばPythonみたいな
今でこそちょっと落ち着いてはいるけどさ
コロナ期間とか
もうなんかみんなリスキリングだリスキリングだつって
とにかくプログラムを学ぼうつってPythonみんな学んでた気がしますね
それぐらいやっぱ人気の言語の中で使える
それがキャドクエリーというものです
PythonのライブラリーだからPythonのコードで書けちゃうということなんですよ
もともとはフリーキャドっていう
これまた有名なキャドがあるんだけど
これは普通にGUIで操作するキャドなんだけど
そのフリーキャド上のAPIに構築されていたのが
もともとキャドクエリーだったんだけど
このバージョンが2.0っていうのに上がってからですね
オープンカスケードっていうキャドのカーネル
ちょっと難しいこと言ってるけど
キャドを動かすエンジンみたいなやつがあって
それを直接ラップする形で進化したんですよ
ちょっと難しい言い回ししましたけど
つまりもともとフリーキャドっていうソフトありきで動いてたものだったんですけど
Pythonのプログラム単体というかそれだけで動くようになったんですね
それで一気にまた使われるようになったのがキャドクエリーというものです
正直言うとさっき紹介したOpenSCadよりも
このキャドクエリーPythonのキャドのほうが
ものづくり特に機械設計には向いてます
その一番の理由がステップファイルが使えることですね
これめちゃくちゃ重要なポイントなんでちょっと解説させてもらうと
OpenSCadはSTLのファイルしか出力できないんですよ
STLっていうのは3Dモデルの形状を三角形のメッシュというもの
ちっちゃい三角形の集合体で3Dモデルの形を再現するっていうフォーマットなんですよね
3Dプリンター界隈ではちょうど定番
3Dプリンターで印刷する3DモデルっていうのはSTLっていう形式がほぼほぼなんだけど
これやっぱり実情としてはやっぱり劣化コピーなんですよ
近似的な形を三角形の組み合わせで作っているという形だし
後からSTLをモデルとして編集しようと思うと結構大変なのよね
一方でこのSTLっていうファイルは
形状を数学的な方程式で厳密に定義してあるフォーマットで
局面は局面としてそのまま局面で保持されている
一時その三角形の組み合わせで禁じされていないわけですよね
だから後から修正することができるわけ
形としてしっかり定義されているフォーマットだからね
製造業においては他のCADと連携したりとか
なんかデータを提供しようと思ったとき
基本的にはステップファイルっていうのが基準になります
だからステップファイルが書き出せるCADクエリっていうのは
実務との親和性がもう段違いなわけですよ
もしも実務でプログラマブルCADを使おうと思ったら
やっぱりCADクエリがいるかなと思うわけ
さらにCADクエリはさっきもちょっと名前出したけど
オープンカスケードっていうそういうCADのカーネル上で動いているので
これがすごい高性能な3Dモデリングエンジンなんですよ
これのおかげでフィレットつまりエッジ尖ってる部分に丸みをつけるとか
面取りをするとか円柱から中身くり抜くみたいな
そういう複雑な処理を高速にやってくれるんですよ
面取り系の処理とかってオープンエスキャドだと結構つらいんですよね
そういう機械設計で絶対使うよねみたいな要素を
全部でCADクエリ含んでいるんですよ
さらにCADクエリアセンブリの機能もあって
複数の部品を組み合わせて干渉をチェックするみたいなこともできますから
つるつる話しましたけど要するに
ものづくりに必要な機能が一通り揃っているということです
周辺ツールもいっぱいあって
CQエディターっていう専用のエディターがあったりとか
あとPythonを触ったことがある人は分かると思うけど
Jupyter Notebookっていうそういう形式でも動きますから
これ試してこういう形でこれ試してこういう形でっていうのを
ノートブック形式というか履歴を残しながら
徐々に作っていくようなことができるわけですね
これ結構Jupyter Notebook系が便利ですから
これできるのいいですね
しかもJupyter上でビューアーとかも出せるから
形状の目視確認みたいなやつもちゃんとPython上でできるわけですよ
あとはテキストエディターとして有名なVS Codeっていうものの
拡張機能もちゃんとありますんで
とにかく便利ツールみたいなものがいっぱい用意されているわけですね
ただちょっとPythonの環境構築が若干面倒だったりはするんだけど
そんなのは頑張って調べれば一方でできることだから
障壁にはならないかなと思います
あとちょっと気になるのは
ちょっとLLMとの相性が若干微妙な気がしていて
なんかこのCADクエリ用のプログラムを生成AIに書かせても
なんだろうねうまくいかないわけじゃないんだけど
思った通りの形にならないことが結構多いんですよ
一方でOpenSCADのコードの方が直感的に素直にいく感じがするんですよね
歯車とかもそうだけど
これなんでだろうね
世の中にはやっぱCADクエリのコードよりも
OpenSCADのコードの方が多いのかなと
学習データが多かったのかなとも思うんだけど
ここだけがちょっと気になる部分かな
同じような指示をしても
明らかにCADクエリ用のプログラムの方が
クオリティ低い気がするんだよね
ちょっと比較した感じ
これに関してはもうちょっとプロンプトを工夫しながら
試していかないとわからないけど
僕の個人的な感覚としては
OpenSCADの方がLLMとの連携がうまくいくなっていう感じがしますね
でもやっぱCADクエリPythonだから
他の仕組み組み込んだりとか
いろいろと細かく自由が利くわけですよ
これもでかいポイントですね
総合力でやっぱCADクエリが一番ベタで強いかなと
触っておいて損はないかな
Pythonの勉強もできるしね
そういうプログラマブルCADでございます
さて最後に私が最もワクワクしている分野の話をさせてください
プログラマブルCADを活用した未来の話ですね
それ何かというと
AIエージェントとの連携ですよ
まずAIエージェントって何って話なんだけど
皆さんが普段使っているであろうチャットGPTとかGeminiとか
ああいうチャット型のAIって
基本的には人間が質問してAIが答えて
またそれに対して人間が質問してっていう
そういうキャッチボールでやり取りするじゃないですか
でもこのAIエージェントっていうのはちょっと違って
ゴールを与えたら
あとはAIが自律的に考えて
必要な作業を自分で判断して
勝手にいろんなツールを使いながら働いてくれるみたいな
人間がいちいち指示を出さなくても
いろんな作業をしてくれるよっていうのがAIエージェントです
そんなAIエージェントで最近話題になっているのが
オープンクローというツールなんですね
これはローカルの環境
つまり自分のパソコンの中に専用のAIエージェントを
構築できるというツールです
自分のパソコンの中に構築するからさ
自分のパソコンの中に入っているデータとかリソースを
自律的に使っていけるのね
だからこのファイル操作してほしいとか
このツール使ってほしいみたいなやつを
AIが巧みに操作しながら
いろんな作業をしてくれるということで
まさに相棒だよね
パートナーとしてのAIが来たよみたいな感じで
すごく界隈では騒がれています
ただセキュリティ的に結構怖い部分があって
例えばAIエージェントが暴走して
勝手にメール全部消しちゃったとか
漏らしてはいけない情報を外にバンバン出しちゃったとか
そういう話もありますね
意図しない行動をして
思わぬデータが消えちゃったよみたいなことがあると
だからOISOのところ
自分のメインPCには入れづらいツールではあるんですよ
できれば隔離したところで動かしておきたいと
私は今どうしているかというと
ラズベリーパイっていう
シングルボードコンピューターがあるんですけど有名な
この中にAIエージェントを入れて今運用しています
ラズパイは自分のメインPCとは
完全に隔離された環境だから
比較的100%安全ではないんだけど
比較的安全にそういうAIエージェントを運用できるので
だから私はラズパイに閉じ込めています
今それで運用してるんだけど
すごいやっぱいいですよ
AIエージェント
オープンクローってエビみたいなやつ
ロブスターなのかながモチーフになってるんだけど
なんかロゴのね
私はこのAIエージェントにロブスターから取って
ロブ子と名付けてですね
いろいろと性格を設定しながら
今パートナーとして育ててる段階なんですよ
本若ぽっちゃり系秘書としてですね
ロブ子ちゃんを今ね懸命育てているんですけど
やっぱねこれ意外とね
今までAIって本当にツールって感じだったけど
AIエージェントになるとやっぱパートナー感がね
ちょっと湧いてくるんですよね
なんかAIエージェントとしての
なんかアイデンティティを持ってるというのかな
全然言うこと聞いてくれなかったり
暴走することもあるんだけど
愛着湧いてくるんですよ
今はこうDiscordっていうチャットツールに
常駐させていて
そのDiscordチャンネルの中で話しかければ
すぐロブ子ちゃんが反応してくれて
作業してくれたりとか
定期的にちょっと雑談つぶやいてるみたいな
そういう設定も入れてますね
今だと自分の副業も含めた
タスク管理を手伝ってもらったりとか
ちょっとPodcastの制作もちょっとずつだけど
手伝ってもらっていて
これがねやっぱ結構パートナーに近い運用が
でき始めてる感覚があるんですよね
やっぱね独自にこう構築してみて
すごいいいなと
流行ってる意味わかるなってすごく思いましたね
今後こういうAIエージェントの活用が
さらに流行っていくだろうし
一家制のブームじゃなくて
もっと民主化されて
誰もが便利に使えるようになるような方向で
動いていくのはもう確定路線ではあるんですね
で ここからが本題なんだけど
この手のAIエージェントのいいところって
自分のローカルPCにいることなんですよ
私の場合はラズパイの中にAIエージェントいますから
そのラズパイの中に入ってるツールとかファイルを
使わせることができるんですよ
ここがねミソなの
話をプログラマブルキャドの話に戻すんだけど
さっき紹介したOpenSCADあるじゃないですか
さっきの話で
OpenSCADの特徴の一つが
めちゃくちゃ軽いことだよっていうお話をしたんですけど
どれくらい軽いかというとですね
ラズパイでも動くんですよ
ラズパイ4以降であれば
OpenSCADというプログラマブルキャドを
ラズパイ上で動かすことができちゃうわけですよ
ラズパイにインストールできるキャドってすごいですよね
これはまさにプログラマブルキャドだからできるゲートなんだけど
もう一つ重要なことがあって
このOpenSCADはね
ターミナルから操作できるんですよ
ターミナルっていうのは
プログラマーがよく使ってる黒い画面で
緑の文字がバーって流れてるような
黒くて怖い画面なんだけど
あそこからコマンドを打って
OpenSCADを操作して
コードをコンパイルしたりとか
3Dモデルとか
その3Dモデルの画像みたいなものを
出力できるんですよ
ソフトウェア立ち上げてGUIを操作しなくても
ターミナルから直接操作できるようになってると
それが一体何なのかというとですね
勘のいい人は見えてきたんじゃないかなと思うんですけど
つまりAIエージェントが直接
OpenSCADをツールとして動かすことができるんですよ
AIエージェントもOpenSCADも
ラズパイに入っちゃってるし
OpenSCADはターミナルで動かせるからさ
AIにこのツール使ってってお願いすることができます
ターミナルからコマンドで操作するっていう作業は
AIエージェントがめちゃくちゃ得意なことなんですよね
逆に人間が使うようなGUI
グラフィカルなインターフェースって
AIにとっては邪魔なんですよ
ボタンがどこにあるとか
メニューの回想がどうとかって
そういうのは非常にAIにとっては扱いづらい情報になるわけ
でもコマンドだったら完璧と
黒い画面にこのコードパンって打てば
そのソフトウェアの機能が使えるということなんで
そういう環境がOpenSCADにはちゃんと整っているから
計らずもOpenSCADは
AIエージェントが使うCADツールとしては結構ね
条件が揃っていてかなりいいなと思ってます
だからAIエージェントにCADを持たせることができるわけですね
この全部の条件をうまく満たしているのが
Raspi×OpenSCAD×AIエージェントの組み合わせなんじゃないかなと思います
これ安心してCADの作業が
エージェントに頼みやすい環境が構築できていると
ぶっちゃけAIエージェントにCADを使わせるんだったら
さっき紹介したPythonのCADクエリでもいいんだけど
さっきも言ったときにちょっとコーディングの品質が気になる部分があるし
やっぱりOpenSCADの方がCADクエリに比べて
圧倒的に軽いんですよね
だからAIエージェントにRaspi上で使わせるCADツールとしては
やっぱOpenSCADの方がいいんじゃないかなと個人的には思うわけね
だからOpenSCAD×AIエージェントって
結構厚い組み合わせになるんじゃないかなと思うんですよ
例えばちょっとAIエージェントに
ちょっとこういうものを作りたいんだけどってお願いすれば
勝手にCADを使って形作ってくれて出力してくれるみたいなね
それかもう形をインプットするんじゃなくて
困りごとでもいいかもしれない
こういうことで困ってるんだけどって言えば
じゃあそれを解決するものを作りますねって言って
検討から設計までやってくれるみたいなことも
やらせることってできると思うし
さらにエージェントを増やせば
例えばエージェントAとエージェントBっていうのがあるとして
こいつらで相談させたりとか設計をレビューさせて
形をブラッシュアップさせる
AI同士で形をブラッシュアップさせていくっていうこともできるだろうし
完成したCADモデルを自動でGitHubとかに上げて
人間が見て審査するみたいなこともできると思います
ちょっとそうなってくると
AIが設計の分野に入ってきたなっていうか
ものづくりの分野にガッツリ入ってきたなって思いますよね
サポーターというか半分プレイヤーとして
AIエージェントがものづくりに参加してくるみたいな
もしかしたらそんな未来がもうすぐそこまで来てるかもしれないという話ですよ
これって別に夢物語を言ってるわけじゃなくて
今言ったことって仕組みとしてはもう全然実現できることなんですよ
ただやってみた結果としてケチョンケチョンになる可能性はあるんだけど
一応仕組みは作れると
だからこの部分設計変更しといてって
AIに言えば
AIが形状を変更したこのコードを書いてですね
それでプルリンク出すみたいなことができるだろうし
AI同士でさっきも言ったように
デザインレビューみたいなのをやらせるってこともできると思う
だからAIエージェントがキャドを持つっていうことは
そういう設計とか開発の開発フローの中
物理的なものづくりの中に
AIが結構プレイヤーに近い形で入ってこれることができると
そういうことが実現できるかもしれない世界が来てるわけね
これを実現するためには
やっぱり既存のGUIのキャドじゃダメで
プログラマブルキャドである必要があるんですよ
だから私はプログラマブルキャドに
すげえ期待をしているというか
この分野結構熱いんじゃないかなと思っているということですね
だからもうAIエージェントと一緒に
物作りをするという未来が来る
作れる可能性があるんですよ