コミュニティ
Fusion - 日本語
製品テクニックや情報を共有、質問、解答したり、情報を検索など使い方は様々です。お役立てください。
キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Auto LISP はいつごろ サポートされますか?

6件の返信6
返信
メッセージ1/7
gnrr
376 件の閲覧回数, 6 件の返信

Auto LISP はいつごろ サポートされますか?

こんにちわ。

 

このフォーラムやたくさんのブログのおかげで、Fusion360 のモデリングにもやっと慣れてきました。

素晴らしい3DCADだと思います。

 

ただ、せっかくAUTODESKさんのCADなので、やはりAuto LISP で自動モデリングしたいです (≧∇≦)/

 

scad-cljでモデリングして

.stl → .obj → Tスプライン → 自動修復 → BRep に変換

して編集するのに疲れました。

 

Pythonもいいですが、歴史的にもこういうのはLISPでやるのが王道だと思うので!

6件の返信6
メッセージ2/7
kandennti
次のアカウントへの返信: gnrr

gnrrさん こんにちは

 

Fusion360のスプリクト・アドインは、過去にJavaScriptを対応言語として

外した経緯がある為、新たな言語を追加するような気がしないのが本音です。

 

他のCADでマクロ(主にVBA)を少し行ってきた身としては、プログラミング言語の

ハードルより、ソフトのオブジェクト構造の理解の方が大きく感じます。(簡単なものの場合です)

一昔前とは異なり、日本でもPythonは市民権を得た雰囲気があり、日本語での

情報も入手しやすいです。(本屋でもPython入門書籍が多数置いてあるようになりましたね)

 

私自身OpenSCADの経験が無いため細かな事はわかりませんが、有志の方が

OpenSCADライクな記法でモデリング出来る「fscad」と言うものを公開しています。

(python用のフレームワーク)

https://forums.autodesk.com/t5/fusion-360-api-and-scripts/fscad-a-framework-for-programmatic-cad-in-...

 


scad-cljでモデリングして

.stl → .obj → Tスプライン → 自動修復 → BRep に変換

して編集するのに疲れました。


OpenSCAD(scad-clj)では、ポリゴン系のフォーマットでしかエクスポート出来ないと

思いますので間違いなく手間です。Brepを直接作り上げた方が処理自体も速いと思いますし

それだけの機能をFusion360APIは備えていると思いますよ。

 

メッセージ3/7
gnrr
次のアカウントへの返信: kandennti

情報ありがとうございます!

なんと 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 っぽい記法で書けるようにできるかもですね(>ω<)

 

メッセージ4/7
kandennti
次のアカウントへの返信: gnrr

Fusion360のAPIのPythonは、"SWIG" と言うものを利用し実現しているようです。

https://ja.wikipedia.org/wiki/SWIG

これを "組み込み" と呼ぶものかどうかわかりませんが・・・。

 

javascriptは対応言語として外されましたが、javascriptで開発を続けている方もおられます。

https://github.com/hanskellner/Fusion360Image2Surface

詳しくはわからないのですが、呼び出し部分のみPythonで処理自体はjavascript

だろうと思います。

メッセージ5/7
gnrr
次のアカウントへの返信: kandennti

SWIG、知りませんでした。

てっきりPython標準の組み込み機能を使っているものと思っていましたが、そうではなかったのですね。

 

Auto LISP のよかったところは LISPで書けるということが大きいですが、その他にも AutoCADのコマンドラインをREPLのように使って描画オブジェクトを覗いてS式を評価したり、そのときの変数値で座標確認用の線を引いたりできるところだったと思います。

 

しかしよく考えると Fusion360 + Python でも Spyder が使えるので REPLはついていますし、さらに変数ウォッチやブレークまでできるので、デバッグはAuto LISPより楽かもしれませんね。

 

コードを見ているうちにPythonも少し思い出してきたので、もうこれでいいかと思ってきました(ちょ、)

 

たくさんの情報、ありがとうございました!

メッセージ6/7
kandennti
次のアカウントへの返信: gnrr

試したことは無いのですが、Spyder経由ではなくても

こちらに記載されている方法でテキスト コマンドとして操作できるようです。

https://adndevblog.typepad.com/technology_perspective/2015/12/fusion-360-text-command.html

メッセージ7/7
gnrr
次のアカウントへの返信: kandennti

これ、スゴいです!
Fusion360 で直接REPLでデバッグできるなんて、まさに理想の環境です。

(こんな3DCAD、他にあるんでしょうか…)

 

今やっているscad-cljのモデリングをさっさと終わらせて、次のは Fusion360 + Pythonに移行します。

素晴らしいドキュメントを紹介いただき、ありがとうございました!

お探しの情報が見つからないときは、コミュニティで質問しましょう。困っている人がいたら、情報を教えてあげましょう。

フォーラムに投稿  

Autodesk State of Design & Make Report