【hm二次开发】输入一个elementID得到其所在的component
问题来源:
该问题来源于同学的问题。
https://www.jishulink.com/answer/1794501
框架:
解决该问题主要通过一下的大致思路来实现。
问题实现:
方法一:
set inputelementid [hm_getint "The element id =" "Please input a elementID number"]
set compid [hm_getvalue elements id=$inputelementid dataname=component.id]
set compname [hm_getvalue elements id=$inputelementid dataname=component.name]
*displaycollectorwithfilter components "none" "" 1 1
*createmark components 2 $compid
*createstringarray 2 "elements_on" "geometry_off"
*isolateonlyentitybymark 2 1 2
*createmark elements 1 $inputelementid
*numbersmark elements 1 1
tk_message -message "the component name = $compname , the component id= $compid "
方法二:
set inputelementid [hm_getint "The element id =" "Please input a elementID number"]
*displaycollectorwithfilter components "none" "" 1 1
*createmark elements 1 $inputelementid
*findmark elements 1 1 1 components 0 2
*createstringarray 2 "elements_on" "geometry_off"
*isolateonlyentitybymark 2 1 2
*createmark elements 1 $inputelementid
*numbersmark elements 1 1
应用:
问题拓展:
同样,你还可以通过输入一个节点id号,来获得其所在的component。
可以使最后获得的component置为当前层。
可以获得其引用的材料,或者属性。