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

Share on:

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

Pythonコード

 1import NXOpen
 2import NXOpen.UF
 3 
 4def main():
 5 
 6    theSession  = NXOpen.Session.GetSession()
 7    workPart = theSession.Parts.Work
 8 
 9    # エッジの選択
10    res = selectEdge()
11    response = res[0]
12    edge = res[1]
13 
14    lw = theSession.ListingWindow
15    lw.Open()
16    lw.WriteLine(str(edge))
17 
18def selectEdge():
19    mask = NXOpen.SelectionMaskTriple_Struct()
20    mask.Type = NXOpen.UF.UFConstants.UF_solid_type
21    mask.Subtype = NXOpen.UF.UFConstants.UF_solid_edge_subtype
22    mask.SolidBodySubtype = NXOpen.UF.UFConstants.UF_UI_SEL_FEATURE_ANY_EDGE
23    scope = NXOpen.Selection.SelectionScope.AnyInAssembly
24    action = NXOpen.Selection.SelectionAction.ClearAndEnableSpecific
25    res = NXOpen.UI.GetUI().SelectionManager.SelectTaggedObject(
26        "エッジを選んでください", "エッジの選択", scope, action, False, False, [mask])
27    return res
28 
29if __name__ == '__main__':
30    main()

関連記事