最近話題の、生成Aiをさわり始めた。
プログラムコードも教えてくれるようで、試してみました。
以前から、Fusion360のPythonスクリプトには興味はあったのですが、手を付けていませんでした
Pythonの入門情報はたくさんみつかりますが、Fusion360用のスクリプト言語は、どんなコードなのか?
とりあえず、生成Aiに聞いてみました。
Copilot
生成Aiは、「ChatGTP」が有名ですが、他にも、「Google Bard」や「bing」も有名です。
さらに最近「Microsoft Copilot」もWindows10でも利用できるようになったようです。
「ChatGTP」や「Google Bard」は、ログインが必要ですが、「Copilot」はログインの必要がないので気軽に試す事ができます。
Copilot 起動
起動は簡単です。
まずは、「Microsoft Edge」ブラウザを起動します。
右上の「Copilotアイコン」をクリックすると、開きます。
一番下の「何でも聞いてください」に質問を入力するだけで、回答してくれます。
ただし、すべて正確とはかぎらないし、質問の内容によって、回答も変わるので
なるべく、事細かく質問したほうがいいです。
質問のしかたによっては、参照サイトのリンクを紹介してくれる場合もあります
おそらく、その質問に対して、上位のアクセス数のサイトを紹介するようです。
Q:Fusion360で、pythonスクリプトを利用する方法は?
手始めに、「Fusion360で、pythonスクリプトを利用する方法は」の質問をしてみます。
Fusion 360でPythonスクリプトを利用する方法について説明します。
1.スクリプトの新規作成:
・Fusion 360を起動し、ツールタブから「スクリプトとアドインを実行」を選択します。
・「作成」をクリックし、Pythonを選択してスクリプト名、説明、作成者を入力します。
・作成したスクリプトは「マイスクリプト」に追加されます。
2.スクリプトの内容を確認する:
・再度「スクリプトとアドイン」のダイアログを開き、作成したスクリプトを選んで「編集」をクリックします。
・スクリプトの内容を確認できます。
・以下はサンプルスクリプトの一部です。このスクリプトは単純なメッセージボックスを表示するものです。
import adsk.core, adsk.fusion, adsk.cam, traceback
def run(context):
ui = None
try:
app = adsk.core.Application.get()
ui = app.userInterface
ui.messageBox('Hello script')
except:
if ui:
ui.messageBox('Failed:\\n{}'.format(traceback.format_exc()))
このスクリプトはFusion 360を起動した際に「Hello script」というメッセージボックスを表示します。スクリプトの編集や応用については別の記事で詳しく説明されています12。
Fusion 360でPythonスクリプトを活用して、さまざまなモデリングや設計作業を効率的に行えることを楽しんでください!🚀
こんな回答がでました。
数秒で、Pythonスクリプトが出てきたので、おどろきでしたが、最後のコメントでは参考にしたサイトのアドレスがリンクされています。
ChatGTP 3.5
試しに、無料版「ChatGTP」にも聞いてみます。
Q:Fusion360で、pythonスクリプトを利用する方法は?
Fusion 360は、Autodeskによって提供される3D CAD/CAM/CAEソフトウェアで、Pythonスクリプトを使用してカスタマイズすることができます。以下は、Fusion 360でPythonスクリプトを使用する一般的な手順です。
- Fusion 360を起動: Fusion 360を起動し、対象のプロジェクトを開きます。
- スクリプトパネルを開く: Fusion 360の画面上部にある「スクリプトとアドイン」パネルを開きます。これには、スクリプトの作成、実行、および管理を行うための機能が含まれています。
- 新しいスクリプトの作成: スクリプトとアドインパネルで、「新しいスクリプト」ボタンをクリックして新しいPythonスクリプトを作成します。
- スクリプトの編集: 開いたスクリプトエディタで、Pythonコードを編集します。Fusion 360 Python APIを使用して、CADデータの作成、変更、分析などの操作を行うことができます。
- スクリプトの実行: スクリプトエディタで編集が完了したら、実行ボタンをクリックしてスクリプトを実行します。これにより、スクリプトがFusion 360内で選択した操作を実行します。
- デバッグとエラーの解決: スクリプトの実行中にエラーが発生した場合、エラーメッセージを確認し、問題を解決します。デバッグのために、コード内にprint文を挿入することもできます。
- スクリプトの保存: スクリプトが期待通りに機能する場合、必要に応じて保存して再利用できます。
注意事項:
- Fusion 360 Python APIの詳細なドキュメントやサンプルコードは、Autodeskの公式ウェブサイトやコミュニティフォーラムから入手できます。
- Fusion 360が頻繁にアップデートされるため、APIの変更があるかもしれません。最新のドキュメントを確認し、適応してください。
- Fusion 360でPythonスクリプトを使用するには、Fusion 360のサブスクリプションが必要な場合があります。
こちらは、文章のみの回答でした。
試しに、続けて、スクリプトコードも要求してみます。
Q:サンプル、スクリプトをだして・・
Fusion 360のPythonスクリプトの例を示します。以下は、単純なスクリプトで、新しいスケッチを作成し、直線を描くものです。このスクリプトはFusion 360のAPIを使用しています。
import adsk.core
import adsk.fusion
import traceback
def run(context):
ui = None
try:
# Fusion 360のUIオブジェクトを取得
app = adsk.core.Application.get()
ui = app.userInterface
# 新しいドキュメントを作成
design = app.activeProduct
root_comp = design.rootComponent
# 新しいスケッチをXY平面に作成
sketches = root_comp.sketches
xy_plane = root_comp.xYConstructionPlane
sketch = sketches.add(xy_plane)
# 直線を描く
lines = sketch.sketchCurves.sketchLines
start_point = adsk.core.Point3D.create(0, 0, 0)
end_point = adsk.core.Point3D.create(10, 0, 0)
lines.addByTwoPoints(start_point, end_point)
except:
if ui:
ui.messageBox('Failed:\n{}'.format(traceback.format_exc()))
# Fusion 360にスクリプトを登録
def stop(context):
ui = None
try:
app = adsk.core.Application.get()
ui = app.userInterface
# スクリプトが正常に終了した場合のメッセージ
ui.messageBox('Script "SimpleSketch" has stopped.')
except:
if ui:
ui.messageBox('Failed:\n{}'.format(traceback.format_exc()))
このスクリプトは、Fusion 360で新しいスケッチを作成し、そのスケッチ上に始点が原点、終点が (10, 0, 0) の直線を描きます。このスクリプトは非常に基本的な例であり、Fusion 360のAPIを使用して様々な操作を行うことができます。
スクリプトを実行するには、Fusion 360内でPythonスクリプトを作成し、上記のコードを貼り付け、実行してください。スクリプトエディタの実行ボタンをクリックするか、スクリプトとアドインパネルから実行できます。
こちらは、内部的には参照しているとは思いますが、参考サイトなどはでませんね。
スクリプト例は、追加質問だったからかもしれませんが、コメント文も日本語で追加されていて、
Pythonスクリプトは、初めてですが、とても参考になりそうです。
Google Bard
なんか、面白いので、ついでに「Bard」にも同じ質問をしてみます。
Q:Fusion360で、pythonスクリプトを利用する方法は?
Fusion360でPythonスクリプトを利用するには、以下の手順に従います。
- Fusion360を起動し、[ツール]タブの[スクリプトとアドイン]をクリックします。
- [作成]をクリックし、[Python]を選択します。
- スクリプト名、説明、作成者を入力し、[作成]をクリックします。
- スクリプトエディタで、Pythonコードを記述します。
- スクリプトを実行するには、[実行]をクリックします。
以下に、Pythonスクリプトの基本的な例を示します。
import adsk.core
import adsk.fusion
def main():
# 現在のドキュメントを取得します。
doc = adsk.core.Document.getActiveDocument()
# 新しい点を作成し、その座標を設定します。
point = adsk.core.Point3D.create(0, 0, 0)
# 新しい円柱を作成し、その中心と半径を設定します。
cylinder = adsk.fusion.Cylinder.create(point, 10, 10)
# 円柱をドキュメントに追加します。
doc.addComponent(cylinder)
if __name__ == "__main__":
main()
このスクリプトは、新しい円柱を作成します。円柱の中心は原点にあり、半径は10です。
Fusion360のPython APIには、Fusion360の機能を操作するための多くのコマンドがあります。APIのドキュメントを参照して、これらのコマンドの詳細を調べることができます。
Fusion360でPythonスクリプトを使用すると、以下のようなことができます。
- 複雑なモデリング操作を自動化します。
- ユーザーインターフェイスを拡張します。
- レポートや分析ツールを作成します。
Pythonスクリプトは、Fusion360の機能を拡張するための強力なツールです。
「Bard」も、参考サイトの指定はなかったですが、サンプルスクリプトも出してくれました。
Pythonスクリプトは分かっていませんが、上の2つとは、ちょっと使い方が違うように見えます。
スクリプト検証
Copilot
ChatGTP 3.5
Google Bard
上の2つは、正常に動作しましたが、「Bard」のサンプルでは無反応でした。
Autodeskのドキュメントを眺めてみましたが、よくわからないけど、引数が違う気がします。
もしかすると、違うところから、学習したのかもしれません。
いずれにしても、円柱はちょっと難易度の高い例題だったのかもしれませんね。
生成Aiを使ってみて・・
やっぱりすごいです。
プログラムコードまで、吐き出してくれます。
もちろん、完璧ではありませんが、プログラムも言語なのでいろいろな表現方法があります
上達するには人のコードを読みのが、一番の早道です。
また、『生成Ai』はプログラムだけでなく、いろんな利用方法がありますから、
使わないと、遅れてしまいそうです。
実は、このページのアイキャッチ画像も、作ってもらいました。
Fusion360のスクリプトは、やろうやろうと思っても、なかなか手を付けなかったのですが
『生成Ai』の勉強もかねて、少しは、やる気が出てきました。
コメント