Home > 3D-CAD > Fusion 360 > スクリプトとアドイン

ベクトルドロー・レベルゼロ

Fusion360のスクリプトで、中心と半径を指定して円を作成する

広告

新規作成日 2017-08-15
最終更新日

Fusion360では、スクリプトとアドインが使用できます。スクリプトやアドインは、プログラミングの技能があれば、自分でプログラムすることが可能です。プログラミングできなくても、公開されているスクリプトやアドインを利用することができます。

スクリプトやアドインは、定形機能をスクリプトで記述し、複数の操作をまとめて実行する機能です。ほとんどのCADでは、UIで提供されるコマンドは、APIと呼ばれる基本機能を組み合わせたスクリプトで作成されています。スクリプトとアドインが作成できれば、自分の必要な機能を自分で用意することができます。

このAPIサンプルは、Fusion360のドキュメント内で紹介されています。

このAPIサンプルは、Fusion360のドキュメント内で紹介されています。

Create circle by center and radius API Sample

中心と半径を指定して円を作成します。スクリプト名に日本語が利用できないことに注意して下さい。

スクリプトとアドインをクリックします。

スクリプトとアドインをクリックします。

作成をクリックします。

作成をクリックします。

マイスクリプトに入力した内容で項目が追加されます。項目を選択し、編集をクリックします。

マイスクリプトに入力した内容で項目が追加されます。項目を選択し、編集をクリックします。

マイスクリプトに入力した内容で項目が追加されます。項目を選択し、編集をクリックします。

マイスクリプトに入力した内容で項目が追加されます。項目を選択し、編集をクリックします。

Spyderが起動するので、サンプルコードをコピーして貼り付けます。後から確認し易いように、日本語のコメントを追加します。

Spyderが起動するので、サンプルコードをコピーして貼り付けます。後から確認し易いように、日本語のコメントを追加します。

#Author-
#Description-中心と半径を指定して円を作成します。\nhttp://help.autodesk.com/view/fusion360/ENU/?guid=GUID-ecd3b76b-19f7-4efa-8a02-087c16da246f

import adsk.core, adsk.fusion, traceback

def run(context):
ui = None
try:
app = adsk.core.Application.get()
ui = app.userInterface
doc = app.documents.add(adsk.core.DocumentTypes.FusionDesignDocumentType)
design = app.activeProduct

# Get the root component of the active design.
# アクティブ・デザインのルート・コンポーネントを取得します。
rootComp = design.rootComponent

# Create a new sketch on the xy plane.
# xy平面上に、スケッチを新規作成します。
sketches = rootComp.sketches
xyPlane = rootComp.xYConstructionPlane
sketch = sketches.add(xyPlane)

# Draw some circles.
# いくつかの円を描画します。
circles = sketch.sketchCurves.sketchCircles
circle1 = circles.addByCenterRadius(adsk.core.Point3D.create(0, 0, 0), 2)
circle2 = circles.addByCenterRadius(adsk.core.Point3D.create(8, 3, 0), 3)

# Add a circle at the center of one of the existing circles.
# 既存の円の中心に、円を追加します。
circle3 = circles.addByCenterRadius(circle2.centerSketchPoint, 4)
except:
if ui:
ui.messageBox('Failed:\n{}'.format(traceback.format_exc()))
実行します。

実行します。

何も起きません。Consoleの内容を確認します。

何も起きません。Consoleの内容を確認します。

Welcome to Autodesk Fusion360 console!
Sample script:
	import adsk.core
	app = adsk.core.Application.get()
	help(app)

>>> UnicodeDecodeError: 'mbcs' codec can't decode bytes in position 0--1: No mapping for the Unicode character exists in the target code page.

>>> 

訳してみます。

UnicodeDecodeError:

『mbcs』コーデックは、位置0でバイトをデコードすることができません-1:

Unicodeの文字のためのマッピングは、対象とするコードページの中に存在しません。

日本語表記が問題のようです。スクリプトを削除します。

日本語表記が問題のようです。スクリプトを削除します。

日本語を使わずに作成します。

日本語を使わずに作成します。

実行します。

実行します。

新規デザインが作成され、円が描かれます。

新規デザインが作成され、円が描かれます。

日本語のコメントを追加してみます。

日本語のコメントを追加してみます。

問題なく、円が描かれます。スクリプト名に日本語を使用すると実行できなくなるようです。

問題なく、円が描かれます。スクリプト名に日本語を使用すると実行できなくなるようです。

Home 3D-CAD 2D-CAD 3D-モデラー 学生版 モデリング資料

Copyright (C) 2011 Horio Kazuhiko(kukekko) All Rights Reserved.
kukekko@gmail.com
ご連絡の際は、お問い合わせページのURLの明記をお願いします。
「掲載内容は私自身の見解であり、所属する組織を代表するものではありません。」