C#ATIA

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

要素の依存関係6

こちらの続きです。
要素の依存関係5 - C#ATIA

前回の方向性の悩みを投げてみました。
Re: List of Dependent Features - Page 2 - Autodesk Community
温かいですね。色々とご意見頂けました。
そうか、全体じゃなくて親子だけでも良いのか。

親子だけにしろ全体にしろ、結局はタイムラインマーカーを
移動させない事には、正確な情報を得ることが出来ない事には
変わりありません。

チラッとリプライに書きましたが、マーカーの移動は
必ず再計算されるわけでは無く、再計算が必要となったものが
計算される仕組みだったはずです。
カスタムフィーチャに取り組んだ際に得た知識です。

再計算が必要無ければ、それ程時間がかからないのでは?
と思い、テストしました。

# Fusion360API Python script
import traceback
import adsk.fusion
import adsk.core
import time


def run(context):
    ui = adsk.core.UserInterface.cast(None)
    try:
        app: adsk.core.Application = adsk.core.Application.get()
        ui = app.userInterface
        des: adsk.fusion.Design = app.activeProduct

        t = time.time()
        for tl in des.timeline:
            tl.rollTo(True)
        des.timeline.moveToEnd()

        app.log(f'{time.time() - t}')

    except:
        if ui:
            ui.messageBox('Failed:\n{}'.format(traceback.format_exc()))

本当に移動させただけです。

ビビる程でも無かったです。

実際は何らかの情報を取得する必要が有るので、もうちょっと
時間がかかるはずですが、想像していたより待たされない気はしてます。