주소복사 | 조회 수 358 추천 수 0 댓글 7
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 게시글 수정 내역 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 게시글 수정 내역 댓글로 가기 인쇄
Extra Form
저 같은 경우엔 k 로 되어있는 나이프를 둘로 나누어 k~k  는 보통 나이프 k~l은 루프 나이프로 나누어 사용하고 있었습니다.

헌데 r12오면서 스크립트 구문이 조금 바뀌어서 예전에 쓰던 스크립트가 먹질 않네요.
아주 예전에 유저그룹에 어느분께서 올려주신 내용을 받아서 수정해서 쓰고 있었는데요

CallCommand(1016030);
var tool = doc->GetActiveTool();
tool#MDATA_knife_MODE = 0 ;
tool#MDATA_knife_visibleonly = 1 ;

요게 r11.5까지 사용하던 knife 단축키용 스크립트구요
루프용은 모드 번호만 바꾸어 사용했었습니다.
이게 아예 작동을 안해서

R12에서 script log를 보고 조금 수정해서

CallCommand(1016030);
var tool = doc->GetActiveTool();
tool()#MDATA_KNIFE_MODE=0;
tool()#MDATA_KNIFE_VISIBLEONLY=TRUE;

이렇게 바꿔놨지만 여전히 나이프툴 선택만되고 모드의 숫자를 바꾸어도 모드 (루프등)의
변경은 되지 않습니다. 두번째 줄 구문도 r12버전오면서 바뀐거 같은데 시네마의 스크립트는 전혀몰라서;
작동할수 있도록 수정 부탁드립니다.
  • ?
    환영그림 2011.02.24 13:12
    var tool = doc->GetActiveTool(); 을 주석처리하거나 삭제하면 동작하는군요

    CallCommand(1016030);
    //var tool = doc->GetActiveTool();
    tool()#MDATA_KNIFE_MODE=0;
    tool()#MDATA_KNIFE_VISIBLEONLY=1;

    11.5 버전때  작성하신거는 
    MDATA_KNIFE_MODE와 MDATA_KNIFE_VISIBLEONLY를 
    대문자로 바꿔주면 변함없이 잘 작동하네요

  • ?
    시부야 2011.02.24 13:39
    빠른 답변 감사합니다.  간단한 거였네요^^
  • ?
    아아가나 2011.02.24 13:43
    질문내용과 상관이없는 댓글이라 죄송한데, 혹시 실례가안된다면
    스크립트를 어디서부터 공부하면 될지 여쭤봐도 될까요? :-)
  • profile
    정석 2011.02.24 15:44
    요질문 동강으로 해보겠습니다. 내일 확인해보세요~ ㅋ
  • ?
    아아가나 2011.02.24 16:24
    제 질문인가요 시부야님 질문인가요?
    제 질문이면 좋겠는데..emoticon
  • ?
    엘라스틱마인드 2011.02.24 22:32
    GetActiveTool();
    현재 활성화된 툴을 가져오는 구문은 정상적인 동작을 위해서 꼭 필요한 구문입니다.

    CallCommand(1016030);
    var tool = doc->GetActiveTool();
    tool#MDATA_knife_MODE = 0 ;
    tool#MDATA_knife_visibleonly = 1 ;

    위의 경우를 보면

    일단 doc변수가 할당이 않되어 있습니다.

    var doc = GetActiveDocument();
    할당 않하셔도 되지만 변수가 바뀔지도 모르기 때문에
    이렇게 해주셔야지 어느 경우 에라도 정확한 동작이 보장됩니다.

    doc와 op는 아래와 깉이 미리 지정이 되어있습니다.
    할당할 필요가 없는거죠. 하지만 코딩은 모든상황을 고려해야 하기 때문에 귀찮더라도
    코드를 넣어서 명확히 해줄 필요가 있습니다.

    doc = 현재 열린 문서
    op = 현재 활성화된 오브젝트

    main(현재문서 변수,현재오브젝트 변수)
    {
    }
    이런식 으로도 강제 할당해서 쓸 수 있습니다.

    아무튼 위로 돌아가서

    CallCommand(1016030);
    var tool = doc->GetActiveTool();
    tool#MDATA_knife_MODE = 0 ;
    tool#MDATA_knife_visibleonly = 1 ;

    이 스크립트가 동작 하는 이유는 tool 이라는 변수에 현재 활성화된 툴을 집어 넣습니다.
    그래서 tool <--현재 활성화된 툴의 리스트가 들어있음
    그 리스트 들중에서

    MDATA_knife_MODE = 0 ;
    MDATA_knife_visibleonly = 1 ;
    이 둘의 값을 변경 한것입니다.


    CallCommand(1016030);
    var tool = doc->GetActiveTool();
    tool()#MDATA_KNIFE_MODE=0;
    tool()#MDATA_KNIFE_VISIBLEONLY=TRUE;

    R12에서 변경 하신 문구는

    var anyname = doc->GetActiveTool();
    anyname#MDATA_KNIFE_MODE=0;
    anyname#MDATA_KNIFE_VISIBLEONLY=TRUE;

    이렇게 하시던지

    CallCommand(1016030);
    tool()#MDATA_KNIFE_MODE=0;
    tool()#MDATA_KNIFE_VISIBLEONLY=TRUE;

    이렇게 하시는게 맞습니다.

    이유는 tool()  <--이 함수 자체가 이미 자주쓰는 기능이라 SDK자체에서 제공하는 활성화된 툴을 반환해주는 함수입니다.

    그러므로
    tool(); 와
    var anyname = doc->GetActiveTool(); 은 같다고 할수 있죠.

    다시 말하면
    tool() 의 출력값과 anyname 변수에 들어 있는 값과  같다는 말입니다.


    최종 정리 하자면
    var tool = doc->GetActiveTool();
    tool()#MDATA_KNIFE_MODE=0;
    tool()#MDATA_KNIFE_VISIBLEONLY=TRUE;

    이 코드가 잘못된 이유는
    tool<--변수에 현재 활성화된 툴을 넣었느데
    아래줄에서
    tool() 함수 인거 처럼 쓰셨기 때문입니다.
  • profile
    정석 2011.02.26 03:45
    http://oinon.net/blog/archives/964

질문과 답변

question and answer

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 일반 Cinema 4D Education 학생용 라이센스 사용방법 2 그래바 2020.09.03 46600
공지 Octane 옥테인 크래시 관련 자주 올라오는 질문들과 해결하는 법을 정리해보았습니다. 16 file 이효원 2020.04.19 75570
공지 [필독] 단톡방 질문 방식 관련 공지사항 4 file 권오훈 2019.06.27 34399
공지 일반 [필독] 질문 게시판 유의사항 ! 권오훈 2019.06.27 28646
19118 모델링 지구 모델링 2 하늘 2011.02.24 586
19117 기타 타블렛 이용하시는 유저분들 ㅜㅜ 2 우왕굳 2011.02.24 331
» 단축키 knife명령의 스크립트인데 잘못된 부분의 수정을 부탁드립니다. 7 시부야 2011.02.24 358
19115 모델링 R12에서 루프셀렉션이 잘 작동하지 않습니다. 6 시부야 2011.02.24 432
19114 넷렌더시 클라이언트프로그램만 설치하고 C4D프로그램은 설치는... 2 매실솜 2011.02.24 424
19113 MoGraph Fracture + Plain 한면씩 앞으로 나오게? 3 file 매실솜 2011.02.24 417
19112 기타 뷰포트를 무브 로테 스케일이 이상하게 작동하는 현상(영상첨부) 2 file 허돌 2011.02.25 288
19111 텍스쳐 맵핑 알파채널 문의,.. 6 file 한결같이 2011.02.25 940
19110 Bodypaint 3D 바디페인터 단축키 설정 질문입니다. 2 개미 2011.02.25 1304
19109 모델링 하이퍼넙스에서 엣지, 모서리 변형이 궁금합니다. 7 file 스트림비 2011.02.25 605
19108 변환 & 연동 시포디+에펙 어떤 점이 좋은지 알고싶습니다. 4 오롤이 2011.02.25 823
19107 모델링 Boole 적용시 구멍이나는경우입니다. 2 file 슈트라우스 2011.02.25 644
19106 기타 맵핑파일이 새로고침이 안되네여;; 1 허돌 2011.02.25 311
19105 Plugin poser 깔고 나서 Cinema4D 플러그인 설치하고 Cinema4D 열었을때... 1 file 통큰라프맨 2011.02.25 551
19104 기타 꽃잎이 한번에 펼쳐지게 하고 싶어요 5 file 띠용 2011.02.26 472
목록
Board Pagination Prev 1 ... 585 586 587 588 589 590 591 592 593 594 ... 1864 Next
/ 1864
닫기

마이페이지

로그인을 해주세요