インデックスによって編集可能メッシュの面を選択する方法はありますか。

MAXScrip に関する質問と回答 > 編集可能メッシュの操作 > インデックスによって編集可能メッシュの面を選択する方法はありますか

質問:

インデックスしかわかっていない場合に、編集可能メッシュの面を選択する方法はありますか。

回答:

1 度だけ行えばよいのであれば、次のようにリスナーに入力すると簡単に行えます。

setFaceSelection $ {10}

これにより、単一のオブジェクトが選択され、Editable_Mesh であると仮定して、インデックス 10 の面を選択します。

何度も行う場合は、次の macroScript を実行すると、面インデックスとエラー処理を選択するスピナーが UI に提供されます。

スクリプト:

macroScript FaceByIndex category:"MXS Help"
(
global SelectFaceRoll
try (destroyDialog SelectFaceRoll) catch()
 
rollout SelectFaceRoll "Select Face"
(
  spinner face_index "Face Index" type:#integer range:[1,100000000,1]
  on face_index changed val do
  (
    if isValidNode selection[1] and classof selection[1].baseobject == Editable_Mesh do
    (
      if val <= selection[1].numfaces then
        setFaceSelection selection[1] #{val}
      else   
        setFaceSelection selection[1] #{}
    )
  )
)
max modify mode
try (subObjectLevel = 3) catch()
createDialog SelectFaceRoll 150 30
)--end macro

関連事項