C#ATIA

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

APIでレンダリング1

以前、テキストコマンドを利用して強引なレンダリングアニメーションを
こちらで試しました。
レンダリングアニメーション - C#ATIA

Ver2.0.16265からレンダリングAPIでサポートされるようになったようです。

この様な感じで試しました。

# Fusion360API Python script

import traceback
import adsk.core as core
import adsk.fusion as fusion

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

        renderMgr: fusion.RenderManager = des.renderManager
        renderMgr.activateRenderWorkspace()

        rendering: fusion.Rendering = renderMgr.rendering
        renderFeat: fusion.RenderFuture = rendering.startLocalRender(
            'C:/temp/hoge.jpg',
            app.activeViewport.camera,
        )

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

rendering.startLocalRenderメソッドのパラメータを省略すると
ドキュメント自体に画像が保存され、パラメータを指定すると
ローカルのファイルとして保存されるようです。
Fusion 360 Help

最初は上手く行かなかったのですが、注意点としては一度クラウド
保存されたドキュメントで実行する必要が有るようです。
(ドキュメントに記載無いっぽい)
※ローカル保存の場合は、未保存でOKでした。


処理を省いていますが、本来であればdatafileプロパティの存在の有無を
チェックした方が良さそうです。