NX Journal エッジを選択するダイアログ

NX Journalでソリッドボディのエッジを選択するダイアログのプログラムを作成しました。このプログラムではSelectTaggedObjectで選択な能なオブジェクトのTypeをUF_solid_typeに絞り、SubtypeをUF_solid_edge_subtype、SolidBodySubtypeをUF_UI_SEL_FEATURE_ANY_EDGEにすることでソリッドボディのエッジのみを選択できるようにしています。



import NXOpen
import NXOpen.UF
 
def main():
 
    theSession  = NXOpen.Session.GetSession()
    workPart = theSession.Parts.Work
 
    # エッジの選択
    res = selectEdge()
    response = res[0]
    edge = res[1]
 
    lw = theSession.ListingWindow
    lw.Open()
    lw.WriteLine(str(edge))
 
def selectEdge():
    mask = NXOpen.SelectionMaskTriple_Struct()
    mask.Type = NXOpen.UF.UFConstants.UF_solid_type
    mask.Subtype = NXOpen.UF.UFConstants.UF_solid_edge_subtype
    mask.SolidBodySubtype = NXOpen.UF.UFConstants.UF_UI_SEL_FEATURE_ANY_EDGE
    scope = NXOpen.Selection.SelectionScope.AnyInAssembly
    action = NXOpen.Selection.SelectionAction.ClearAndEnableSpecific
    res = NXOpen.UI.GetUI().SelectionManager.SelectTaggedObject(
        "エッジを選んでください", "エッジの選択", scope, action, False, False, [mask])
    return res
 
if __name__ == '__main__':
    main()

コメント

タイトルとURLをコピーしました