본문 바로가기
구조체 연습 -- 구조체 연습 struct calcurate ( val = 0, fn add a b = ( val = a + b ), fn sub a b = ( val = a - b ), fn mul a b = ( val = a*b ), fn div a b = ( val = a/b ) ) cal = calcurate() val1 = cal.add 11 22 val2 = cal.sub 11 22 val3 = cal.mul 11 22 val4 = cal.sub 11 12.23 format "val 1 :% val 2 :% val 3 :% val 4 :% \n"val1 val2 val3 val4 구조체는 뭐 구조체죠. 별 게 있나 ㅋㅋ 2023. 8. 29.
MacroScript 만들기 macroScript subobject_Vertex ButtonText: "Vertex" category: "Modifier Stack" internalCategory: "Modifier Stack" tooltip: "Vertex Sub Object Mode" icon: #("SubObjectIcons",1) ( ) 이렇게 메크로 스크립트를 만들면 .. 이걸 저장하고 실행하는게 은근히 귀찮습니다. 일단 경로는 맥스 2024인 경우 아래와 같고 C:\Users\userName\AppData\Local\Autodesk\3dsMax\2024 - 64bit\ENU\usermacros 실하면 사실 자동으로 들어갑니다. 메크로스크립트를 인식하는듯.. 그 다음에 이걸 꺼내는게 문제인데 Customize User In.. 2023. 8. 3.
메뉴에 기능 추가하기 macroScript CreateTeapot buttonText: "CreateTeapot" category: "my category" ( startObjectCreation teapot ) macroScript 라는 명령이 있습니다 이 명령의 이름을 CreateTeapot로 하고, 텍스트도 "CreateTeapot" 라고 해줍니다. 카테고리는 "my category" 그리고 이걸 실행하면 teapot 버튼이 누른 상태가 되는 겁니다 . 이 기능은 메뉴에 커스텀으로 버튼을 추가하는데 더 중점을 두고 있습니다. 일단 이걸 실행하면,다음과 같이 됩니다. Customize User Interface 에서 방금 만든 버튼을 찾을 수 있습니다. 너무 많아서 찾기 힘들다면, 카테고리를 지정해 놓았으므로 카테고리를 .. 2023. 8. 1.
Button 만들기 rollout test "test" ( button test_Button "Button" on test_Button pressed do ( test_Button.text = "Button Pressed" ) on test_Button rightclick do ( test_Button.text = "Button RightClick" ) ) CreateDialog test 버튼 만들기는 설명이 필요없을만큼 쉽습니다. 이벤트도 이 두 개 on pressed do on rightclick do 2023. 7. 24.
롤아웃에 비트맵 띄우기 mapName = "D:\Ft00zXfaYAMUWAn.png" map = openBitMap mapName try(DestroyDialog test) catch() rollout test "비트맵 롤아웃" ( ) CreateDialog test width:512 height:512 bitmap:map bmpstyle:#bmp_center #bmp_center #bmp_tile #bmp_stretch bmpstyle:#bmp_tile bmpstyle:#bmp_stretch 2023. 7. 19.
try catch로 롤아웃 하나만 열기 일단 기본적인 롤아웃을 또 만듭시다. rollout test3 "한글이 됨" ( ) CreateDialog test3 width:200 height:200 이 상태에서 계속 만들면 계속 만들어 지는데요 일단 try catch로 창을 닫게 합시다. 닫는 함수는 DestoryDialog try( DestroyDialog test3) catch() rollout test3 "한글이 됨" ( ) CreateDialog test3 width:200 height:200 이러면 test3 다이얼로그를 닫으려 덤비는데, 만약 실패하면 걍 넘어가는게 됩니다. 이렇게 해서 연속적으로 창이 열리는 것을 막을 수 있죠 2023. 7. 18.
롤아웃 이벤트 테스트2 같은거 한 번 더 해 봅니다. CreateDialog https://help.autodesk.com/view/MAXDEV/2024/ENU/?guid=GUID-816D257C-CD2D-4753-A792-6E7AEFAFA6A7 CreateDialog [ ]\ [pos:] [width:] [height:] \ [bgcolor:] [fgcolor:] \ [bitmap:] {bmpstyle: \ [menu:] [style:] [modal:] \ [escapeEnable:] [lockHeight:] [lockWidth:] \ [autoLayoutOnResize:] [parent:] rollout test2 "한글도 잘된다" ( label posTex "Test " pos:[100,50] ) CreateDialog .. 2023. 7. 18.
롤아웃 이벤트 테스트 롤아웃 이벤트를 만듭니다. 역시 UI를 만들어야 재밌.. 롤아웃 껍데기부터 만들게요 rollout test "Hello World" ( ) CreateDialog test width:200 height:200 껍데기를 만들었습니다. 이제 빈 라벨을 카와이하게 넣어볼께요 rollout test "Hello World" ( label xLabel "X : " pos:[70,50] label yLabel "Y : " pos:[70,80] ) CreateDialog test width:200 height:200 이제 빈 라벨을 넣었으니, 마우스가 움직이면 좌표를 넣게 해볼께요 on ~ do 로 실행되는 이벤트 핸들러를 이용하면 됩니다. https://help.autodesk.com/view/MAXDEV/2024.. 2023. 7. 14.
맥스 스크립트 한글 주석이 깨질때 이런 식으로 깨질때 https://diy-dev-design.tistory.com/167 [3DS MAXscript] 스크립트 에디터 한글이 ??? 로 나오는 문제 해결 방법 3DS MAX script 는 정말 훌륭한 개발 언어이지만 아쉬운점이 없는 것은 아닙니다. 대표적인 예가 바로 한글지원 문제인데요. 개발 코드 상에 한글이 지원되는건 바라지도 않습니다. 적어도 주석이라 diy-dev-design.tistory.com 여기서 도움받았음다 Tool / Global Option File을 열어서 대충 186번째줄 근처의 code.page = -1 을 949로 바꿔주고 재시작. 대충 보니까 캐릭터 셋 949가 한글인듯 2023. 7. 14.
특정 문자 치환하기 fn replaceAllstring str findstr replaceStr = ( local newString = copy str while true do ( if keyboard.escPressed do exit f = findString newString findstr if f != undefined then ( newString = replace newString f findstr.count replaceStr ) else exit ) return newString ) s = "철수는 엄마와 함께 저녁을 먹었습니다 . 저녁을 먹고 TV를 보면서 철수는 빵과 과자를 먹었습니다. 새벽2시가 되고 철수는 다시 출출해져서 라면을 먹었습니다 아침이 되자 철수는 너무 많이 먹어서 얼굴이 부었습니다 " new.. 2023. 7. 12.
Break Point myArray = #(10,15,25,35,99) --어레이를 만들고 for i in myArray do ( local aaa = " " break() --브레이크 포인트 ) 어레이를 만들고 그걸 순회하는 코드가 있습니다. 코드 내에서는 사실 어레이를 받기만 하고 사용하는데는 없는데, 그래서 안보이니까 -_- 이걸 중간에 보려고 브레이크 포인트를 잡아 놓은 겁니다. 실제로 저런식으로 변수들이 중간에 어떤 값이 들어 있는지 확인하고 싶은 경우가 종종 있는데, 일일히 프린트 해서 보기도 좀 그렇습니다. 그럴때 디버거 다이얼로그를 열고 스크립트를 실행시키면 브레이크 포인트에서 멈춥니다. 파라미터에서 i 에 들어 있는 어레이 값이 10이라고 밝혀주고 있네요 그리고 맥스 작업이 멈춥니다. 조작이 안돼요 브레이크 .. 2023. 7. 11.
맥스 스크립트로 피라미드를 쌓아봅시다. 역시 책에 있는 예제를 제맘대로 해석해서 만들어 봅니다. 책 좋네요 특히 예제가. 우선 최종 결과물은 이런걸 만들 생각입니다. 차곡차곡차곡 쌓아 올라가면서 점점 박스가 작아지고, 최고로 작아지면 끝나는 그런... 그럼 우선 박스를 만들수 있어야 겠지요. 어떻게 만드는지 모르겠으니, Listener에서 보고 베낍시다. Listener를 켜고 박스를 드래그로 대충 만들어 보면 아래와 같은 메시지를 뱉어냅니다. 이히히 보고 베껴야지 ChatGPT가 따로없네 Box pos:[0,0,0] width:50 length:50 height:5 wirecolor:yellow 라고 써줬습니다. 선택하는(isSelected) 는 필요없으니까 삭제해줬고, 색 바꾸는건 역시 Listener 가 $.wireColor = colo.. 2023. 7. 7.
반응형