こんにちわ。
このフォーラムやたくさんのブログのおかげで、Fusion360 のモデリングにもやっと慣れてきました。
素晴らしい3DCADだと思います。
ただ、せっかくAUTODESKさんのCADなので、やはりAuto LISP で自動モデリングしたいです (≧∇≦)/
scad-cljでモデリングして
.stl → .obj → Tスプライン → 自動修復 → BRep に変換
して編集するのに疲れました。
Pythonもいいですが、歴史的にもこういうのはLISPでやるのが王道だと思うので!
gnrrさん こんにちは
Fusion360のスプリクト・アドインは、過去にJavaScriptを対応言語として
外した経緯がある為、新たな言語を追加するような気がしないのが本音です。
他のCADでマクロ(主にVBA)を少し行ってきた身としては、プログラミング言語の
ハードルより、ソフトのオブジェクト構造の理解の方が大きく感じます。(簡単なものの場合です)
一昔前とは異なり、日本でもPythonは市民権を得た雰囲気があり、日本語での
情報も入手しやすいです。(本屋でもPython入門書籍が多数置いてあるようになりましたね)
私自身OpenSCADの経験が無いため細かな事はわかりませんが、有志の方が
OpenSCADライクな記法でモデリング出来る「fscad」と言うものを公開しています。
(python用のフレームワーク)
scad-cljでモデリングして
.stl → .obj → Tスプライン → 自動修復 → BRep に変換して編集するのに疲れました。
OpenSCAD(scad-clj)では、ポリゴン系のフォーマットでしかエクスポート出来ないと
思いますので間違いなく手間です。Brepを直接作り上げた方が処理自体も速いと思いますし
それだけの機能をFusion360APIは備えていると思いますよ。
情報ありがとうございます!
なんと JS まで切り捨てるとは、さすが AUTODESK さんです。
しかし、それもおそらくは Auto LISP を実装するためあってのことではないかと ヽ(^o^)丿
(Pythonは組み込み言語にするのが楽というのが一番の理由とは思いますが)
Open SCAD 自体には独自の記法があって、でもそれがとても使いにくいので、JSやPythonなど他の言語バインディングが作られています。scad-clj もその類でして Clojure というLISP方言のDSLで書けるものです。
このDSLが結構書きやすいので使っているのですが、(Fusion360 に Auto LISP神が復活するまでは)おっしゃるように Python でやってみようと思います。
fscad すごいですね。生の Open SCAD 記法に慣れている人ならこれで解決しそうです。
このコードを参考にすれば scad-clj っぽい記法で書けるようにできるかもですね(>ω<)
Fusion360のAPIのPythonは、"SWIG" と言うものを利用し実現しているようです。
https://ja.wikipedia.org/wiki/SWIG
これを "組み込み" と呼ぶものかどうかわかりませんが・・・。
javascriptは対応言語として外されましたが、javascriptで開発を続けている方もおられます。
https://github.com/hanskellner/Fusion360Image2Surface
詳しくはわからないのですが、呼び出し部分のみPythonで処理自体はjavascript
だろうと思います。
SWIG、知りませんでした。
てっきりPython標準の組み込み機能を使っているものと思っていましたが、そうではなかったのですね。
Auto LISP のよかったところは LISPで書けるということが大きいですが、その他にも AutoCADのコマンドラインをREPLのように使って描画オブジェクトを覗いてS式を評価したり、そのときの変数値で座標確認用の線を引いたりできるところだったと思います。
しかしよく考えると Fusion360 + Python でも Spyder が使えるので REPLはついていますし、さらに変数ウォッチやブレークまでできるので、デバッグはAuto LISPより楽かもしれませんね。
コードを見ているうちにPythonも少し思い出してきたので、もうこれでいいかと思ってきました(ちょ、)
たくさんの情報、ありがとうございました!
試したことは無いのですが、Spyder経由ではなくても
こちらに記載されている方法でテキスト コマンドとして操作できるようです。
https://adndevblog.typepad.com/technology_perspective/2015/12/fusion-360-text-command.html
これ、スゴいです!
Fusion360 で直接REPLでデバッグできるなんて、まさに理想の環境です。
(こんな3DCAD、他にあるんでしょうか…)
今やっているscad-cljのモデリングをさっさと終わらせて、次のは Fusion360 + Pythonに移行します。
素晴らしいドキュメントを紹介いただき、ありがとうございました!
お探しの情報が見つからないときは、コミュニティで質問しましょう。困っている人がいたら、情報を教えてあげましょう。