広告
Fusion360では、スクリプトとアドインが使用できます。スクリプトやアドインは、プログラミングの技能があれば、自分でプログラムすることが可能です。プログラミングできなくても、公開されているスクリプトやアドインを利用することができます。
スクリプトやアドインは、定形機能をスクリプトで記述し、複数の操作をまとめて実行する機能です。ほとんどのCADでは、UIで提供されるコマンドは、APIと呼ばれる基本機能を組み合わせたスクリプトで作成されています。スクリプトとアドインが作成できれば、自分の必要な機能を自分で用意することができます。
このAPIサンプルは、Fusion360のドキュメント内で紹介されています。
既存の立体の選択した稜線に半径一定のフィレットを作成します。正接する稜線が存在する場合、それも含めて、フィレットが作成されます。
スクリプトとアドインをクリックします。
作成をクリックします。
「プログラミング言語」にPythonを選択し、「スクリプト名またはアドイン名」と「説明」を入力し、「作成」をクリックします。スクリプト名に日本語が利用できないことに注意して下さい。
マイスクリプトに入力した内容で項目が追加されます。項目を選択し、編集をクリックします。
Spyderが起動するので、サンプルコードをコピーして、Editペイン貼り付けます。後から確認し易いように、日本語のコメントを追加します。図のペインの配置は、初期状態から変更しています。
#Author-
#Description-一定半径フィレット
import adsk.core, adsk.fusion, traceback
def createFillet():
ui = None
try:
# Get the Application object.
app = adsk.core.Application.get()
# Get various top-level Fusion objects.
# 稜線を選択し、ObjectCollectionにそれを追加します。
ui = app.userInterface
design = app.activeProduct
root = design.rootComponent
# Have the edge selected and add it to an ObjectCollection.
# 稜線を選択し、ObjectCollectionにそれを追加します。
selection = ui.selectEntity("Select edge to fillet", "Edges")
edge = selection.entity
edgeCollection = adsk.core.ObjectCollection.create()
edgeCollection.add(edge)
# Create the FilletInput object.
# 稜線を選択し、ObjectCollectionにそれを追加します。
fillets = root.features.filletFeatures
filletInput = fillets.createInput()
filletInput.addConstantRadiusEdgeSet(edgeCollection, adsk.core.ValueInput.createByString('.25 in'), True)
# Create the fillet.
# 稜線を選択し、ObjectCollectionにそれを追加します。
fillet = fillets.add(filletInput)
except:
if ui:
ui.messageBox('Failed:\n{}'.format(traceback.format_exc()))
def main():
createFillet()
main()
フィレットを作成するための形状を描きます。ここでは、直方体を作成しました。
実行します。
稜線にカーソルを重ねると「Select edge to Fillet」のポップが表示されます。
クリックするとフィレットが作成されます。
広告