New Inteface에서의 Utility 는 이전 Classic 버전과 다르게 GUI구조를 형성해주어야 합니다.
참고로 Classic 버전에서는 userpage.mac 에서 기능에 대한 스크립트만 작성해주면 입력이 가능합니다.관련 Help Documation 은 아래 링크를 참조해주시기 바랍니다.
HM-8020: Create a Utility Menu Macro
#tabtitle 정의
set tabtitle "Test77"
set viewname "custom_[string tolower [string map {" " ""} $tabtitle]]"
#"Test77" Utility Tab내 Button 생성
::frwk::viewmanager create $viewname -title $tabtitle -window $viewname
if {![winfo exists .${viewname}.btn]} {
pack [ttk::button .${viewname}.btn -text "altair" -command execute] -side top
}
#Altair Button 클릭 시 적용되는 기능
proc execute {} {
*setusefeatures 0
*templatefileset "C:/Program Files/Altair/2025.1/hwdesktop/templates/feoutput/nastran/generalLF"
*writefile "C:/Users/sulins/Desktop/temp.hm" 1
*answer(yes)
}
#Callback 구문 추가
proc myCallback {args} {
puts "callback triggered"
}
::frwk::viewmanager create $viewname -title $tabtitle -window $viewname -callback myCallback
구문은 없어도 무관하지만, defaultcallback이 지정되지 않은 경우 에러가 발생할 수 있습니다.
발생 시 추가 해주시기 바랍니다.
위 스크립트를 활용하여 실행했을 때, 아래와 같이 "Test77" 이라는 tab이 형성됩니다.
감사합니다.