C#ATIA

↑タイトル詐欺 主にFusion360API 偶にCATIA V5 VBA(絶賛ネタ切れ中)

速度を落とさず、Undo歴をスッキリ

こちらに ”Undo歴をスッキリさせると処理時間が2倍ぐらい
かかるので、受け入れられない” と書きました。
ポリゴンなスケッチラインを円に書き換えるスクリプト - C#ATIA

これは正攻法のお話です。
トランザクションとやらの関係なのですが、これを速度を落とさずに
行う方法がありました。pythonからテキストコマンドを呼び出します。
Fusion360_Small_Tools_for_Developers/TextCommands_txt_Ver2_0_8176.txt at master · kantoku-code/Fusion360_Small_Tools_for_Developers · GitHub

        app.executeTextCommand(u'PTransaction.Start <Undo歴で表示させる文字>')
        # ここでいくら処理しても、Undo歴が一つになる。
        app.executeTextCommand(u'PTransaction.Commit')

f:id:kandennti:20210817161730p:plain
自宅のPCより5倍速い。
Undo歴は1個。
f:id:kandennti:20210817161834p:plain
たった2行で終わるので、コマンド作るより簡単かも。

但し、ちょっと弊害がある可能性はあるんですけど・・・。


ここまで来ると、円フィッティング実装したいなぁ。