해석 전처리 툴인 HyperMesh의 유용성은 자동화에서 빛을 발합니다. 자동화를 하면서 Component나 Group의 ID로 명령을 내려야하는 경우가 있습니다. 이런 경우에 사용 가능한 HyperMesh API가 있습니다. 아직까지 HyperMesh의 Main 언어는 tcl이라는 것을 참고해주세요.
[추천글] TCL 문법 : for문, foreach문 기본 문법 및 사용 방법
[추천글] ABAQUS command cmd 명령어 모음 (해석, 자동화, 아바쿠스)
[추천글] ABAQUS Element Type 종류 설명 및 사용 방법 (아바쿠스)
Component ID 반환 방법
한줄의 API를 사용해서 쉽고 간단하게 Component ID를 반환받을 수 있습니다. HyperMesh를 사용해서 자동화를 진행하다보면, Component 이름으로 명령을 내리는 API도 있지만, Component ID 사용을 필요로하는 API도 있습니다. 방법은 아래 박스의 내용과 같습니다.
set COMP_ID [hm_getvalue comps user_names=[COMP_NAME] dataname=id]
tcl의 문법을 조금 이해하고 계신 분이면 쉽게 이해 가능하겠지만, 그렇지 않은 분들을 위해 간단하게 설명하자면 'a=1'이라는 선언을 하고 싶으면 tcl에서는 'set a 1'이라고 선언해주면 됩니다. 그렇다면 위와 같은 명령어도 쉽게 이해가능하겠죠?
위 명령어에서 'COMP_ID'는 Component ID가 반환된 변수이며, 'COMP_NAME'은 ID를 반환받고자하는 Component의 이름입니다. 쉽게 말해서, 'COMP_NAME'이라는 Component의 ID를 반환받는 변수는 'COMP_ID' 입니다.
Group ID 반환 방법
추가로, Group ID를 반환받는 명령어도 있습니다. 명령어의 'comps'를 'groups'로 대체해주면 됩니다. 규칙정을 보이고 있으니, 다른 경우에도 활용해서 사용할 수 있습니다. set이나 property, material 의 ID도 반환받을 수 있을 것입니다.
set GROUP_ID [hm_getvalue groups user_names=[GROUP_NAME] dataname=id]
마무리
HyperMesh의 전처리, 자동화 관련 퍼포먼스는 확장성이 높고 사용하기 편합니다. 사실, 이 블로그의 많은 글들이 개인적인 메모장 역할을 하고 있으며, 메모하는 김에 많은 사람과 유용한 정보를 공유하고자 약간은 정성을 들여 포스팅하고 있습니다. 해당 내용을 유용하게 사용해주시면 감사하겠습니다.
댓글