NX Journal コンポーネントを選択するダイアログ
2019/12/12 categories:NX Journal| tags:NX Journal|Python|
コンポーネントを選択するダイアログを表示するプログラムを作成しました。
NX OpenのSelectionクラスのSelectTaggedObjectで選択ダイアログを表示することができます。
ダイアログのタイトルはコード内の”title”で、ダイアログのメッセージは”message”、属性は”myAttribute”で指定します。このダイアログで選択する対象をmaskで指定します。属性表示には情報ウィンドウを使用しています。
SelectTaggedObjectでオブジェクトの選択等を活用すると選択したオブジェクトに対しての処理を行えるようになるので、作成したコマンドが使いやすくなるのではないかと思います。
Pythonコード
import NXOpen
def main():
theSession = NXOpen.Session.GetSession()
lw = theSession.ListingWindow
components = SelectComponent()
lw.open()
for component in components:
lw.WriteLine( component.GetStringAttribute("myAttribute") )
def SelectComponent():
scope = NXOpen.SelectionSelectionScope.AnyInAssembly
action = NXOpen.SelectionSelectionAction.ClearAndEnableSpecific
mask = NXOpen.SelectionMaskTriple_Struct
mask.Type = NXOpen.UF.UFConstants.UF_component_type
mask.Subtype = NXOpen.UF.UFConstants.UF_component_subtype
response, objects = NXOpen.Selection.SelectTaggedObjects("message", "title", scope, action, False, False, [mask])
if not response == NXOpen.SelectionResponse.ObjectSelectedByName or not response == NXOpen.SelectionResponse.ObjectSelected:
return []
return objects
if __name__ == '__main__':
main()