select nodes by csys

evsm1982
evsm1982 Altair Community Member
edited October 2020 in Community Q&A

Suppose I have a model that contains 20000 nodes out of which 7000 random nodes reference a local csys. How can I assign these nodes to a different csys?

Tagged:

Answers

  • tinh
    tinh Altair Community Member
    edited November 2012

    hi EVSM1982

    humh....

    I don't know whether hypermesh can select nodes by csys or not.

    you can try this way :

    1) edit a text file contains below template commands (copy these commands to your notepad and save it as any name, example file 'mark_node_local_csys_template.txt'):

    *nodes()

    *before()

    *string('hm_createmark nodes 2 {')

    *format()

    *if([inputsystemid > 0])

    *field(integer,id,0)

    *string(' ')

    *endif()

    *after()

    *string('}; hm_highlightmark nodes 2 h')

    *output()

    2) Enter panel page Post>>Summary

    - select file the template file that you saved above

    - enter a file name for output file, for example file name 'mark_nodes.tcl'

    this will be a tcl file contains tcl command to mark the node with csys id > 0 (local csys)

    - click 'summary'

    - close pop-up window

    3) Enter panel page Analysis>>System>>assign

    now you run tcl file 'mark_nodes.tcl' from menu File>>Run or standard toolbar

    the tcl file will mark nodes and highlight them

    anyway, it's complex. so, good luck

    regards,

    tinh

  • evsm1982
    evsm1982 Altair Community Member
    edited November 2012

    Tinh, also work.

    Thank you very much!

  • tinh
    tinh Altair Community Member
    edited November 2012

    oh, I've just read Hw11 help and found a very simple command to do that. You enter panel system>>asign then open command window from menu View>>CommandWindow and type in this line:

    *createmark nodes 2 'greater than value' inputsystemid 0 ; hm_highlightmark nodes 2 h

    and then press enter. This command will select nodes with csys id > 0 (local systems)

    if you want to indicate an unique system id, just replace 'greater than value' by 'equal to value'

    I amaze that it works in Hw10 also, but in help of Hw10 it was not documented !

    Regards,

    tinh

  • evsm1982
    evsm1982 Altair Community Member
    edited December 2012

    Hi Tinh,

    I've tried your second solution but, if I have let's say systemid 13,14,20 , and I want to select just nodes assigned to 13 system with the command || *createmark nodes 2 'greater than value' inputsystemid 13 ; hm_highlightmark nodes 2 h || , he will select all the nodes assigned to 13,14,20 systemid. I've found || *createmark nodes 2 'equal to value' inputsystemid 13 ; hm_highlightmark nodes 2 h || is the wanted command.

    Thank you for your time!

  • evsm1982
    evsm1982 Altair Community Member
    edited December 2012

    Tinh,

    This is the easiest way. Thank you for your time.