2017-11-06 6 views
2

방금 ​​나는 MEL 스크립팅을 배우기 시작했고, 나는 기초를 간신히 긁어 모았습니다. 하지만 지금은 Maya 2015에서 객체를 표시하거나 숨길 수있는 자체 스크립트를 작성할 수 있습니다. 지금 당면한 문제는 다른 확인란을 선택/선택 취소하는 마스터 확인란을 원한다는 것입니다. 지금 내가 사용하는 방법은 하나의 자식 체크 박스 만 변경할 수있게 해주지 만 나머지는 변경할 수 없습니다.다른 체크 박스의 선택을 해제하는 체크 박스 - Maya MEL

기타 - None 체크 박스는 on입니다. 다른 모든 하위 확인란은 off입니다. None 확인란이 off입니다. 다른 모든 어린이는 on입니다. 지금은 하나의 자식 체크 박스가 onoff의 토글 None 체크 박스로 토글되도록 할 수 있습니다. 나는 changecommand 방법과 올바른 방법을 수행

checkBox -label "None" -align "center" -v false -onCommand "OnNoneProcedure" -offCommand "offNoneProcedure" -changeCommand "checkBox -edit -value (!#1) checkboxNurbsCurves"; 
checkBox -label "NurbsCurves" -align "center" -v true -onCommand "OnNurbsCurvesProcedure" -offCommand "offNurbsCurvesProcedure" checkboxNurbsCurves; 

암 :

여기 내 코드입니까? 그렇다면 다른 어린이 체크 박스를 onoff으로 어떻게 가져 옵니까? 또는 master None 체크 박스 -v를 쿼리 한 다음의 -v를 사용하여 하위 체크 박스를 토글합니다.

답변

1

아마도 가장 쉬운 방법은 원하는 모든 체크 박스를 원하는 상태로 설정하는 프로 시저를 작성한 다음 해당 프로 시저를 changeCommand로 지정하는 것입니다.

작동 시키려면 체크 박스의 이름을 지정하거나 프로 시저 내에서 루프 할 수있는 문자열 배열 변수에 저장하는 것이 좋습니다. 다행히도, checkbox 명령은 작성한 체크 상자의 전체 이름을 리턴합니다.

+0

감사합니다. silent_sight; D 그렇게하는 것이 좋습니다. 하지만 내 친구 중 한 명은 changecommand로 -on/off 명령을 사용하지 말 것을 권합니다. 그 중 하나 또는 다른. 더구나, 그는 "아이들"체크 박스의 가치를 편집하기 위해 "토글 레온 (toggleon)"을 사용하여 다른 방법으로 그것을하도록 가르칩니다. 그래, 참으로 팁을 주셔서 고마워! –

+0

예, checkbox 명령의 maya 문서는'changeCommand' 또는'onCommand' /'offCommand' 만 사용한다고 말합니다. 일반적으로 나는 Ui를 만들 때 체크 박스 명령을 사용하지 않는다. 나는 다양한 옵션에 대한 토글로 사용하고 "실행 버튼"을 클릭 할 때이를 쿼리하는 경향이있다. 즉 : 몇 가지 T/F 설정을 설정 한 다음 각 체크 박스에 코드를 실행시키는 대신 실제 코드를 실행할 때 사용하십시오. 죄송합니다. 전에 알지 못했습니다 ... –

+0

체크 박스 명령에'toggleon'이 표시되지 않습니다. 아마도 숨겨진 것이거나 쓸모 없습니까? 나는'value' 플래그가 당신의 proc에서 checked/unchecked 상태를 설정하기 위해 사용할 것이라고 생각했지만, 모든 체크 박스가 토글 될 때 어떤 명령을 실행하면, 모든 체크가 트리거 될 수 있습니다; 그러나, 체크 박스를 켜거나 끄는 것만 가능하다면 –

0

괜찮아요! 하하 나의 친구는 마지막 단계를 통해 나를 멘토했다. 기본적으로 이것이 작동하는 방식입니다. 1) 현재 패널 상태 쿼리 2) 결과 얻기 및 배열로 전달 3) 반환 된 배열의 결과를 다른 배열에 다른 프로 시저로 사용 4) 각 요소 결과 0 = 해당 요소 해제 1 = 해당 요소 반환이 새 요소 반환 결과 5) 새로운 결과로 선반 버튼을 만듭니다 (결과 = 명령).