こちらの最後に記載した内容の続きです。
アクティブなドキュメントに工具を作る - C#ATIA
Toolオブジェクトの設定を変更する際、パラメータから行うと
変更されずにインポートする前のjsonを書き換えてから対応していました。
で、分かりました。
ツールライブラリ側のUpdateメソッドを利用しないと、設定が
変わらないです。
Fusion 360 Help
絶対に忘れそう・・・。
FeedBackに記載しましたが、ドキュメントの説明書きが "updateFeedAndSpeed"
だと送りと回転を更新するのかと思っちゃいますよ。
こちらは、事前にツールを一本以上作成してから実行する必要が
有りますが、最初の工具のTコードを+1するだけのスクリプトです。
# Fusion360API Python script import traceback import adsk.core as core import adsk.cam as cam def run(context): ui: core.UserInterface = None try: app: core.Application = core.Application.get() ui = app.userInterface # Active Doc ToolLibrary activeToolLib: cam.DocumentToolLibrary = get_cam_product().documentToolLibrary if activeToolLib.count < 1: return # get tool tool: cam.Tool = activeToolLib[0] # get tool_number Parameter prm: cam.CAMParameter = tool.parameters.itemByName('tool_number') # change tool_number prm.value.value += 1 # ToolLibrary Update # https://help.autodesk.com/view/fusion360/ENU/?guid=GUID-34200AFB-2CC9-463D-8BCC-502F57D1E81B activeToolLib.update(tool, True) except: if ui: ui.messageBox('Failed:\n{}'.format(traceback.format_exc())) def get_cam_product() -> cam.CAM: ''' CAMの取得 ''' app: core.Application = core.Application.get() activete_cam_env() return app.activeProduct def activete_cam_env() -> None: ''' CAMアクティブ ''' app: core.Application = core.Application.get() ui: core.UserInterface = app.userInterface camWS: core.Workspace = ui.workspaces.itemById('CAMEnvironment') camWS.activate()
いやー出来るな、自動化。