C#ATIA

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

メッシュの六角形分割に挑む2

こちらの続きです。
メッシュの六角形分割に挑む1 - C#ATIA

前回 "平面切断は何とかなる" と書きましたが苦労しました。

動画の頃とテキストコマンドがかなり違っており、途中であきらめようかと
すら思いましたが、何とか出来ました。

def meshPlaneCut(
    mesh :adsk.fusion.MeshBody,
    plane :adsk.fusion.ConstructionPlane):

    app :adsk.core.Application = adsk.core.Application.get()
    ui :adsk.core.UserInterface = app.userInterface
    sels :adsk.core.Selections = ui.activeSelections

    sels.clear()
    app.executeTextCommand(u'Commands.Start ParaMeshPlaneCutCommand')

    app.executeTextCommand(u'UI.EnableCommandInput infoBodyToModify')
    sels.add(mesh)

    app.executeTextCommand(u'UI.EnableCommandInput planeSelectionInfo')
    sels.add(plane)

    app.executeTextCommand(u'Commands.SetString infoCutType infoCutTypeSplitFaces')

    app.executeTextCommand(u'NuCommands.CommitCmd')

少し前のUpdateで、メッシュがプレビューから正式の機能に切り替わった際に
テキストコマンドやコマンドのID自体も大きく変わったようです。