NX Journal データム平面を選択するダイアログ

Share on:

NX JournalでSelectTaggedObjectsを使ってデータム平面を選択するダイアログを作成しました。

NXOpen.UI.GetUI().SelectionManager.SelectTaggedObjectsを使ってダイアログを表示しています。その表示の時に、タイプをUF_datum_plane_type、サブタイプをUF_datum_object_subtypeとして指定することで、データム平面のみを選択できるようにしています。

実行の結果はデータム名面の原点のX, Y, Z座標をListingWindowに表示するという処理にしています。

Pythonコード

 1import NXOpen
 2import NXOpen.UF
 3 
 4def main():
 5    theSession  = NXOpen.Session.GetSession()
 6    workPart = theSession.Parts.Work
 7 
 8    # データム平面の選択
 9    res = selectDatumplane()
10    response = res[0]
11    datumplanes = res[1]
12 
13    lw = theSession.ListingWindow
14    lw.Open()
15 
16    for datumplane in datumplanes:
17        c = datumplane.Origin
18        lw.WriteLine( str(c.X) + ", " + str(c.Y) + ", " + str(c.Z) )
19 
20def selectDatumplane():
21    mask = NXOpen.SelectionMaskTriple_Struct()
22    mask.Type = NXOpen.UF.UFConstants.UF_datum_plane_type
23    mask.Subtype = NXOpen.UF.UFConstants.UF_datum_object_subtype
24    scope = NXOpen.Selection.SelectionScope.AnyInAssembly
25    action = NXOpen.Selection.SelectionAction.ClearAndEnableSpecific
26    res = NXOpen.UI.GetUI().SelectionManager.SelectTaggedObjects(
27        "データム平面を選んでください", "データム平面の選択", scope, action, False, False, [mask])
28    return res
29 
30if __name__ == '__main__':
31    main()

関連記事