こちらの続きです。
メッシュの六角形分割に挑む6 - C#ATIA
内容が薄いまま続けます。
六角柱MeshBodyが必要になります。STLフォーマット調べて作る方法も
あるかもしれませんが、サイズ変更も必要な為BRepBodyをMeshBodyへ
変換したいところです。
これもAPIでは提供されていないっぽいので。
# Fusion360API Python script import traceback import adsk.fusion import adsk.core def brep2Mesh( brep: adsk.fusion.BRepBody) -> adsk.fusion.MeshBody: app: adsk.core.Application = adsk.core.Application.get() ui = app.userInterface sels: adsk.core.Selections = ui.activeSelections sels.clear() sels.add(brep) app.executeTextCommand(f'Commands.Start ParaMeshTessellateCommand') app.executeTextCommand(u'NuCommands.CommitCmd') meshs: adsk.fusion.MeshBodies = brep.parentComponent.meshBodies return meshs[-1] def run(context): ui = adsk.core.UserInterface.cast(None) try: app: adsk.core.Application = adsk.core.Application.get() ui = app.userInterface root: adsk.fusion.Component = app.activeProduct.rootComponent mesh: adsk.fusion.MeshBody = brep2Mesh(root.bRepBodies[0]) except: if ui: ui.messageBox('Failed:\n{}'.format(traceback.format_exc()))
こんな感じです。