一半君的总结纸

听话只听一半君

#14 如何得到或者设置当前的layout panel的‘Show’ Options?

首先你必须得到当前的panel名, 然后因为我们是要改变 ‘Show’ options, 所以你还得确认他是一个modelPanel.

proc string getActiveModelPanel()
{
  string $activeModelPanel = "";

  // 首先得到当前具有焦点的panel
  string $panel = `getPanel -wf`;

  // 得到这个panel的类型看他是不是一个 "modelPanel"
  if ( "modelPanel" == `getPanel -to $panel` )
  {
    $activeModelPanel = $panel;
  }

  return $activeModelPanel;
}

注意你在运行下面的任何script之前, 你需要确认panel的名字是有效存在的 (比如. 不是 NULL):

string $activeModelPanel = getActiveModelPanel();
if ( "" != $activeModelPanel )
{
  // get/set option here
}

得到和设置options用的方法是一样的. 唯一的不同是查询或者赋予的option的名字.

得到 panel option 的status 如下所示:

int $status = `modelEditor -q -«<i>option</i>» $activeModelPanel;

设置 panel option的status 如下所示:

modelEditor -e -«<i>option</i>» «<i>status</i>» $activeModelPanel;

大多数情况下, MEL command 里用到的option和 ‘Show’ 菜单里的名字是一致的. 比如:

int $showCameras = `modelEditor -q -cameras $activeModelPanel;
// Result: 1 //  显示 cameras  //

int $showJoints = `modelEditor -q -joints $activeModelPanel;
// Result: 1 //  显示 joints  //

int $showPivots = `modelEditor -q -pivots $activeModelPanel;
// Result: 0 //  不显示 pivots  //

int $showGrid = `modelEditor -q -grid $activeModelPanel;
// Result: 1 //  显示 grid  //

modelEditor -e -nurbsCurves off $activeModelPanel;    // 显示 nurbsCurves

modelEditor -e -nurbsSurfaces on $activeModelPanel;   // 显示 nurbsSurfaces

modelEditor -e -polymeshes on $activeModelPanel;      // 显示 poly meshes

modelEditor -e -cameras off $activeModelPanel;        // 不显示 cameras

当你不知道option的名字的时候, 你可以在Script Editor里打开 ‘Echo All Commands’ ,然后在 ‘Show’ 菜单里选择你想知道的option. script editor里的反馈的command会告诉你想切换的option的名字.

Advertisements

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s

%d 博主赞过: