get component name from a line or surface

Altair Forum User
Altair Forum User
Altair Employee
edited October 2020 in Community Q&A

hi, there!

how can I get the component name of a line or surface using tcl? is there a hm function that I could use.

example. If I select a surface with its number, how I could get its component name or ID

thanks!

Answers

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited May 2007

    Try this:

    *createmark surfaces 1 999

    (where '999' is the id of the surface)

    to get the component id use then:

    hm_getentityvalue surfaces 1 'collector.id' 0

    to get the component name use then:

    hm_getentityvalue surfaces 1 'collector.name' 1

    Regards,

    Stefan

    --

    Stefan Hettel

    Manager HyperWorks Support

    Altair Engineering GmbH

    Calwer Strasse 7

    D-71034 Boeblingen, Germany

    Tel.: +49 (0)7031 6208-46

    Fax : +49 (0)7031 6208-99

    mailto:hettel@altair.de

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited May 2007

    Stefan,

    thanks a lot, that was easier than expected

    ~ cesar

  • Upadhyay
    Upadhyay Altair Community Member
    edited January 2018

    I don' think that this method works anymore. Is there an alternate solution?

  • tinh
    tinh Altair Community Member
    edited January 2018

    You don't think that, but yet actually it still works

  • Upadhyay
    Upadhyay Altair Community Member
    edited January 2018

    Hi tinh,

     

    I tried the following code:

     

        *createmarkpanel line 1 'Please select the Line on the SAME component';
        set line1 [hm_getmark line 1]
        set compId [hm_getentityvalue lines 1 'by comp id' 0]

        hm_usermessage $compId

     

    When I run this, it gives 1 as the output which is not the component id. Can you please tell where I am going wrong

  • Upadhyay
    Upadhyay Altair Community Member
    edited January 2018

     Sorry, the code is :  

     

       *createmarkpanel line 1 'Please select the Line on the SAME component';
        set line1 [hm_getmark line 1]
        set compId [hm_getentityvalue lines 1 'collector.id' 0]

        hm_usermessage $compId

  • tinh
    tinh Altair Community Member
    edited January 2018

     Sorry, the code is :  

     

       *createmarkpanel line 1 'Please select the Line on the SAME component';
        set line1 [hm_getmark line 1]
        set compId [hm_getentityvalue lines 1 'collector.id' 0]

        hm_usermessage $compId

     

    It should be:

    *createmarkpanel line 1 'Please select the Line on the SAME component';
        set line1 [hm_getmark line 1]
        set compId [hm_getentityvalue lines $line1 'collector.id' 0]

        hm_usermessage $compId

  • Upadhyay
    Upadhyay Altair Community Member
    edited January 2018

    Hello tinh,

     

    Sorry for the late reply. Thank you very much. It works great.