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:

Welcome!

It looks like you're new here. Sign in or register to get started.

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.

Welcome!

It looks like you're new here. Sign in or register to get started.

Welcome!

It looks like you're new here. Sign in or register to get started.