悩みました。
こんな感じのデータで、サーフェスをプロファイルとして
Z軸を軸として回転のボディ(ソリッド)を作ります。
# Fusion360API Python script import traceback import adsk.fusion import adsk.core import math 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 root: adsk.fusion.Component = des.rootComponent face: adsk.fusion.BRepFace = root.bRepBodies[0].faces[0] revolveFeats: adsk.fusion.RevolveFeatures = root.features.revolveFeatures revolveIpt: adsk.fusion.RevolveFeatureInput = revolveFeats.createInput( face, root.zConstructionAxis, adsk.fusion.FeatureOperations.NewBodyFeatureOperation ) revolveIpt.setAngleExtent( False, adsk.core.ValueInput.createByReal(math.pi*2) ) revolveFeats.add(revolveIpt) except: if ui: ui.messageBox('Failed:\n{}'.format(traceback.format_exc()))
・プロファイルはサーフェスそのもので大丈夫。
・軸は実在するものにする。
上手く行かなかったのは、軸だ・・・。
追記。
Fusion360は軸は線などの要素では無く、円筒や円錐等の中心軸が
直線になるものの場合は、回転の軸として指定できるみたい。
凄いなこれ。(API的にはちょっと迷惑・・・)