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

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

Fusion 360 スクリプトで円のスケッチ描いて押し出す

広告

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

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

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

Fusion 360 スクリプトで円のスケッチ描いて押し出す

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

BaseFeature Sample API Sample

。 新しいデザインを作成したあと、円のスケッチを描いて押し出します。

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

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

作成をクリックします。

作成をクリックします。

「プログラミング言語」にPythonを選択し、「スクリプト名またはアドイン名」と「説明」を入力し、「作成」をクリックします。

「プログラミング言語」にPythonを選択し、「スクリプト名またはアドイン名」と「説明」を入力し、「作成」をクリックします。スクリプト名に日本語が利用できないことに注意して下さい。

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

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

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

Spyderが起動するので、サンプルコードをコピーして、Editペイン貼り付けます。後から確認し易いように、日本語のコメントを追加します。図のペインの配置は、初期状態から変更しています。

#Author-
#Description-円を押し出す

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
design.designType = adsk.fusion.DesignTypes.ParametricDesignType

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

# Create a base feature
# 基準となるフィーチャを作成します。
baseFeats = rootComp.features.baseFeatures
baseFeat = baseFeats.add()
baseFeat.startEdit()
# Create construction plane in base feature
# 基準となるフィーチャ内に、平面を構築します。
planes = rootComp.constructionPlanes
planeInput = planes.createInput()
planeInput.targetBaseOrFormFeature = baseFeat
planeInput.setByOffset(rootComp.xYConstructionPlane, adsk.core.ValueInput.createByReal(1))
plane = planes.add(planeInput)
# Create sketch in base feature
# 基準となるフィーチャ内に、スケッチを作成します。
sketches = rootComp.sketches
sketch = sketches.addToBaseOrFormFeature(plane, baseFeat, True)

# Draw a circle.
# 円を描画します。
circles = sketch.sketchCurves.sketchCircles
circles.addByCenterRadius(adsk.core.Point3D.create(0, 0, 0), 2)

# Get the profile defined by the circle.
# 円によって定義されたプロファイルを取得します。
prof = sketch.profiles.item(0)

# Create an extrusion input to be able to define the input needed for an extrusion
# while specifying the profile and that a new component is to be created
# 入力を定義できる押し出しの入力の作成は、
# プロファイルを指定して、そして、新しいコンポーネントを作成して押し出すために必要です。
extrudes = rootComp.features.extrudeFeatures
extInput = extrudes.createInput(prof, adsk.fusion.FeatureOperations.NewBodyFeatureOperation)

# Define that the extent is a distance extent of 5 cm.
# 長さが、5cmの距離の長さであることを定義します。
distance = adsk.core.ValueInput.createByReal(5)
extInput.setDistanceExtent(False, distance)
extInput.baseFeature = baseFeat

# Create the extrusion.
# 押し出しを作成します。
ext = extrudes.add(extInput)
except:
if ui:
ui.messageBox('Failed:\n{}'.format(traceback.format_exc()))
実行します。

実行します。

新規デザインが作成されたあと、 円柱が作成されます。

新規デザインが作成されたあと、 円柱が作成されます。

このような形状が作成されます。

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

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