我试着通过纸条驱动一个带有触点的旋转关节

2024-06-17 08:25:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图通过脚本和接触集驱动旋转关节,但动画只有一半

它在触点设置被禁用的情况下工作,但一旦我启用触点设置,旋转仅在两个组件接触之前工作。然后整个动画停止,直到组件停止接触。在两个组件停止接触后,动画将回到正轨。它似乎缺少接触集动画

该模型是日内瓦驱动的示例,我想通过脚本自动驱动转子和十字架,如本教程所示

#Author-
#Description-

import adsk.core, adsk.fusion, adsk.cam, traceback, math

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

        joint = root.joints.itemByName('Rev2')
        rev = adsk.fusion.RevoluteJointMotion.cast(joint.jointMotion)

        for i in range(360):
            rev.rotationValue = i * (math.pi/180)
            adsk.doEvents()

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

Tags: core脚本appui组件动画mathroot