Fusion360にはちょっとしたアニメーションを作る機能があります。
・・・ほぼ使ったことがないです。
こちらに文字を追加して表示するテストを行いました。
”hoge”の文字が右から左にニコ動風に流れていきます。
# Fusion360API Python script import traceback import adsk import adsk.core as core import adsk.fusion as fusion import time def run(context): ui: core.UserInterface = None try: app: core.Application = core.Application.get() ui = app.userInterface des: fusion.Design = app.activeProduct a=1 # root: fusion.Component = des.rootComponent text_test("hoge") except: if ui: ui.messageBox('Failed:\n{}'.format(traceback.format_exc())) def text_test(txt: str): app: core.Application = core.Application.get() des: fusion.Design = app.activeDocument.design root: fusion.Component = des.rootComponent cgGrps = root.customGraphicsGroups.add() mat: core.Matrix3D = core.Matrix3D.create() cgText: fusion.CustomGraphicsText = cgGrps.addText( txt, 'Arial', 3, mat, ) cgText.depthPriority = 0 billBoard: fusion.CustomGraphicsBillBoard = fusion.CustomGraphicsBillBoard.create( core.Point3D.create(0,0,0) ) billBoard.billBoardStyle = fusion.CustomGraphicsBillBoardStyles.ScreenBillBoardStyle cgText.billBoarding = billBoard cgText.isSelectable = False viewScale = fusion.CustomGraphicsViewScale.create( 20, core.Point3D.create(0,0,0), ) cgText.viewScale = viewScale start: float = 100 end: float = 1500 step: int = 100 viewPlaces = create_view_places( start, end, step, ) for place in viewPlaces: cgText.viewPlacement = place app.activeViewport.refresh() adsk.doEvents() time.sleep(0.02) def create_view_places( start: float, end: float, step: int, ) -> list[fusion.CustomGraphicsViewPlacement]: pich = int(end - start) / step lst = [] for idx in range(step): lst.append( fusion.CustomGraphicsViewPlacement.create( core.Point3D.create(0,0,100), fusion.ViewCorners.lowerRightViewCorner, core.Point2D.create(start + pich * idx, 250) ) ) lst.append( fusion.CustomGraphicsViewPlacement.create( core.Point3D.create(0,0,100), fusion.ViewCorners.lowerRightViewCorner, core.Point2D.create(end, 250) ) ) return lst
事前に"アニメーション"作業スペースにしてから実行します。
"デザイン”や"製造"でも表示されるのですが、"レンダリング"だけは
左から右に流れていきます。座標的な表示位置もちょっと違う。何故?