テキストコマンド(txt)の効果を身をもって感じたいので、少しテストしてみたいです。
ちょっと前に感じたことがありまして、Fusion360もAPIで要素を選択した際の処理が
ちょっと重たいです。
設定にもよりますが、赤い矢印の状態です。
CATIAの場合はこちらに記載した
SetCATIADotHSOSynchronizedToFalse - C#ATIA
CATIA.HSOSynchronized
に該当するものをFusion360で探しています。
で、それっぽいテキストコマンドが見つかったのでテスト用にこんなものを
作りました。
#Fusion360API Python script import adsk.core, adsk.fusion, traceback import time _app = adsk.core.Application.cast(None) _ui = adsk.core.UserInterface.cast(None) _root = adsk.fusion.Component.cast(None) def run(context): try: global _app, _ui, _root _app = adsk.core.Application.get() _ui = _app.userInterface des :adsk.fusion.Design = _app.activeProduct _root = des.rootComponent cmdLst = [ u'Options.SelectionEffect /normal', u'Options.SelectionEffect /fast', u'Options.SelectionEffect /simplified', u'Options.SelectionEffect /no', u'Options.SelectionEffect /degraded' ] for cmd in cmdLst: [execTest(cmd) for i in range(5)] print('-----') except: if _ui: _ui.messageBox('Failed:\n{}'.format(traceback.format_exc())) def execTest(txtCmd :str): global _root bs = _root.bRepBodies actSels = _ui.activeSelections _app.executeTextCommand(txtCmd) actSels.clear() st = time.time() for b in bs: actSels.add(b) t = time.time() -st print('{} -> {}s'.format(txtCmd, t))
アクティブな状態のファイルのボディを全て選択するだけです。
5回づつ繰り返し、その時間を出力してます。
画像を出せないのですが、ボディ1100枚ぐらいのデータで実行した結果がこちら
Options.SelectionEffect /normal -> 2.3836963176727295s Options.SelectionEffect /normal -> 2.2319092750549316s Options.SelectionEffect /normal -> 2.222975492477417s Options.SelectionEffect /normal -> 2.2937395572662354s Options.SelectionEffect /normal -> 2.2179768085479736s ----- Options.SelectionEffect /fast -> 2.186089515686035s Options.SelectionEffect /fast -> 2.3617985248565674s Options.SelectionEffect /fast -> 2.2748820781707764s Options.SelectionEffect /fast -> 2.2282962799072266s Options.SelectionEffect /fast -> 2.25492262840271s ----- Options.SelectionEffect /simplified -> 2.2594237327575684s Options.SelectionEffect /simplified -> 2.265821933746338s Options.SelectionEffect /simplified -> 2.185194969177246s Options.SelectionEffect /simplified -> 2.2250354290008545s Options.SelectionEffect /simplified -> 2.200432062149048s ----- Options.SelectionEffect /no -> 2.2181003093719482s Options.SelectionEffect /no -> 2.25087571144104s Options.SelectionEffect /no -> 2.2310099601745605s Options.SelectionEffect /no -> 2.2421138286590576s Options.SelectionEffect /no -> 2.1832878589630127s ----- Options.SelectionEffect /degraded -> 2.1895904541015625s Options.SelectionEffect /degraded -> 2.3406481742858887s Options.SelectionEffect /degraded -> 2.218195676803589s Options.SelectionEffect /degraded -> 2.3040049076080322s Options.SelectionEffect /degraded -> 2.2557156085968018s -----
効果無さそうです・・・。
使い方は間違っていると思わないんですけどね。