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

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



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

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

import NXOpen
import NXOpen.UF
 
def main():
    theSession  = NXOpen.Session.GetSession()
    workPart = theSession.Parts.Work
 
    # データム平面の選択
    res = selectDatumplane()
    response = res[0]
    datumplanes = res[1]
 
    lw = theSession.ListingWindow
    lw.Open()
 
    for datumplane in datumplanes:
        c = datumplane.Origin
        lw.WriteLine( str(c.X) + ", " + str(c.Y) + ", " + str(c.Z) )
 
def selectDatumplane():
    mask = NXOpen.SelectionMaskTriple_Struct()
    mask.Type = NXOpen.UF.UFConstants.UF_datum_plane_type
    mask.Subtype = NXOpen.UF.UFConstants.UF_datum_object_subtype
    scope = NXOpen.Selection.SelectionScope.AnyInAssembly
    action = NXOpen.Selection.SelectionAction.ClearAndEnableSpecific
    res = NXOpen.UI.GetUI().SelectionManager.SelectTaggedObjects(
        "データム平面を選んでください", "データム平面の選択", scope, action, False, False, [mask])
    return res
 
if __name__ == '__main__':
    main()

コメント

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