NX Journal コンポーネントを選択するダイアログ

Share on:

コンポーネントを選択するダイアログを表示するプログラムを作成しました。

NX OpenのSelectionクラスのSelectTaggedObjectで選択ダイアログを表示することができます。

ダイアログのタイトルはコード内の”title”で、ダイアログのメッセージは”message”、属性は”myAttribute”で指定します。このダイアログで選択する対象をmaskで指定します。属性表示には情報ウィンドウを使用しています。

SelectTaggedObjectでオブジェクトの選択等を活用すると選択したオブジェクトに対しての処理を行えるようになるので、作成したコマンドが使いやすくなるのではないかと思います。

Pythonコード

 1import NXOpen
 2
 3def main():
 4    theSession = NXOpen.Session.GetSession()
 5    lw = theSession.ListingWindow
 6
 7    components = SelectComponent()
 8
 9    lw.open()
10    for component in components:
11        lw.WriteLine( component.GetStringAttribute("myAttribute") )
12
13def SelectComponent():
14    scope = NXOpen.SelectionSelectionScope.AnyInAssembly
15    action = NXOpen.SelectionSelectionAction.ClearAndEnableSpecific
16    mask = NXOpen.SelectionMaskTriple_Struct
17    mask.Type = NXOpen.UF.UFConstants.UF_component_type
18    mask.Subtype = NXOpen.UF.UFConstants.UF_component_subtype
19    response, objects = NXOpen.Selection.SelectTaggedObjects("message", "title", scope, action, False, False, [mask])
20    
21    if not response == NXOpen.SelectionResponse.ObjectSelectedByName or not response == NXOpen.SelectionResponse.ObjectSelected:
22        return []
23    
24    return objects
25
26if __name__ == '__main__':
27    main()

関連記事