NX Journal Dialog to select a component

2019/12/12 categories:NX Journal| tags:NX Journal|Python|

I have created a program that displays a dialog for selecting a component.

You can display the selection dialog with “Select Tagged Object” in the “Selection” class of NX Open.

The title of the dialog is specified by “title” in the code, the message of the dialog is specified by “message”, and the attribute is specified by “myAttribute”. Specify the target to be selected in this dialog with “mask”. The information window is used to display the attributes.

If you use “Select Tagged Object” to select an object, you will be able to process the selected object, so I think the created command will be easier to use.

Python Code

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()

Share post

Related Posts

コメント