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

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

Fusion 360 スクリプト deleteFaceフィーチャを作成する

広告

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

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

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

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

新しい延長フィーチャを作成する方法を説明します。

Extend Feature API Sample

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

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

作成をクリックします。

作成をクリックします。

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

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

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

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

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

#Author-
#Description-新しい延長フィーチャを作成する方法を説明します。

import adsk.core, adsk.fusion, adsk.cam, traceback

def run(context):
ui = None
try:
app = adsk.core.Application.get()
ui = app.userInterface

# Create a document
# 文書を作成します。
doc = app.documents.add(adsk.core.DocumentTypes.FusionDesignDocumentType)
design = app.activeProduct

# Get the root component of the active design.
# アクティブ・デザインのルート・コンポーネントを取得します。
rootComp = design.rootComponent
# Create sketch line on the xz plane.
# xz平面で、スケッチの線を作成します。
sketches = rootComp.sketches
sketch = sketches.add(rootComp.xZConstructionPlane)
sketchLines = sketch.sketchCurves.sketchLines
startPoint = adsk.core.Point3D.create(0, 0, 0)
endPoint = adsk.core.Point3D.create(1, 0, 0)
sketchLine = sketchLines.addByTwoPoints(startPoint, endPoint)
# Create a surface with ExtrudeFeature.
# ExtrudeFeatureで、サーフェスを作成します。
features = rootComp.features
extrudeFeatures = features.extrudeFeatures
openProfile = rootComp.createOpenProfile(sketchLine)
extrudeFeatureInput = extrudeFeatures.createInput(openProfile, adsk.fusion.FeatureOperations.NewBodyFeatureOperation)
extrudeFeatureInput.isSolid = False
extrudeFeatureInput.setDistanceExtent(False, adsk.core.ValueInput.createByReal(1.0))
# Get the surface body.
# サーフェス・ボディを取得します。
extrudeFeature = extrudeFeatures.add(extrudeFeatureInput)
surface = extrudeFeature.bodies.item(0)
# Get an edge from surface, and add it to object collection.
# サーフェスから稜線を取得し、それをオブジェクト・コレクションに追加します。
edges = surface.edges
edge = edges.item(0)
inputEdges = adsk.core.ObjectCollection.create()
inputEdges.add(edge)
# Define a distance to extend with 1 cm.
# 延長する距離を1cmで定義します。
distance = adsk.core.ValueInput.createByReal(1.0)
# Create an extend input to be able to define the input needed for an extend.
# 延長に必要な入力を定義するために、延長の入力を作成します。
extendFeatures = features.extendFeatures
extendFeatureInput = extendFeatures.createInput(inputEdges, distance, adsk.fusion.SurfaceExtendTypes.NaturalSurfaceExtendType)
# Create an extend feature.
# 延長フィーチャを作成します。
extendFeature = extendFeatures.add(extendFeatureInput)
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の明記をお願いします。
「掲載内容は私自身の見解であり、所属する組織を代表するものではありません。」