PolyToolsSelect : GlobalUtilityPlugin
 
 
 
 

   

グラファイト モデリング ツール - クイック ナビゲーション

3ds Max 2011 で導入された PolyToolsSelect グローバル ユーティリティ プラグインは、MAXScript にグラファイト選択ツールへのアクセスを提供するインタフェースをエクスポーズします。

この機能は、MAXScript ツールとして正式にサポートされていない複数の機能を使用する3ds Max 2010 において初めて実装されました。このインタフェースはすべての関連プロパティおよびメソッドを 1 つの場所に統合していて、MAXScript のユーザは独自のツールを使用してそれらを適用することが可能です。

トピック ナビゲーション  

選択を修正

選択

選択 - ランダム

選択 - シンメトリ

選択 - 数値

選択 - 1/2ずつ

選択 - 法線で

選択 - パースペクティブ

選択 - パースペクティブ ビューからグロー

選択 - 基点距離

選択 - サーフェス

選択 - パターン

選択 - ビットマップ

   

コンストラクタ:

Class instances not creatable by MAXScript

   

PolyToolsSelect インタフェース:

Interface: PolyToolsSelect 	 

メソッド:

選択を修正

<bool>PolyToolsSelect.Loop <bool>cylinderEnds 	 

現在のサブオブジェクトの選択に基づいてループを選択します。

サブオブジェクト レベル

ShiftPressed = False

ShiftPressed = True

ポリゴン

隣接するポリゴンのセットを選択して適用し、ループを選択します。

 

エッジ

エッジを選択して適用し、ループを選択します。

このツールを使用すると円柱の上端および下端のエッジでループを実現できます。その目的において、特に適しているツールです。

頂点

隣接する頂点のセットを選択して適用し、ループを選択します。

このツールを使用すると円柱の上端および下端の頂点でループを実現できます。その目的において、特に適しているツールです。

<bool>PolyToolsSelect.	 Ring ()   

現在のサブオブジェクトの選択に基づいてリングを選択します。

サブオブジェクト レベル

機能

ポリゴン

1 つの行でポリゴンをいくつか選択して適用し、リングを選択します。より多くの行を選択すると、その追加の行が最初のものと同じ方向に行く場合にはより多くのリングが作成可能になります。

エッジ

法線エッジ リング ツールのように動作します。

頂点

1 つの行で頂点をいくつか選択して適用し、リングを選択します。より多くの行を選択すると、その追加の行が最初のものと同じ方向に行く場合にはより多くのリングが作成可能になります。

<bool>PolyToolsSelect.GrowLoop () 

現在のサブオブジェクトの選択に基づいてループを拡大します。

サブオブジェクト レベル

ShiftPressed = False

ShiftPressed = True

ポリゴン

1 つの行で 2 つまたはそれ以上のポリゴンが選択されている場合に機能します。閉じているループ上のポリゴンを選択して拡大しているループを変化させたり維持します。

 

エッジ

エッジ ループを段階的に拡大します。

このツールを使用すると円柱の上端および下端のエッジでループを拡大できます。その目的において、特に適しているツールです。

頂点

隣接する頂点のセットを選択して適用し、ループを拡大します。

このツールを使用すると円柱の上端および下端の頂点でループを拡大できます。その目的において、特に適しているツールです。

<bool>PolyToolsSelect.ShrinkLoop () 

現在のサブオブジェクトの選択に基づいてループを縮小します。

サブオブジェクト レベル

機能

ポリゴン

ポリゴン ループを縮小します。

エッジ

エッジ ループを縮小します。

頂点

頂点ループを縮小します。

<bool>PolyToolsSelect.GrowRing () 

現在のサブオブジェクトの選択に基づいてエッジ リングを拡大します。

サブオブジェクト レベル

機能

ポリゴン

ポリゴン リングを拡大します。

エッジ

エッジ リングを拡大します。

頂点

頂点リングを拡大します。

<bool>PolyToolsSelect.ShrinkRing () 

現在のサブオブジェクトの選択に基づいてエッジ リングを縮小します。

サブオブジェクト レベル

機能

ポリゴン

ポリゴン リングを縮小します。

エッジ

エッジ リングを縮小します。

頂点

頂点リングを縮小します。

<bool>PolyToolsSelect.DotLoop <integer>value <bool>cylinderEnds <bool>opposite 

1 つめの引数で定義されたギャップがあるループ(またはエッジのリング)内のサブオブジェクト要素を選択します。

複数の点線のループ/リングの操作が 1 度に実行できます。

ポリゴンおよび頂点のサブオブジェクト レベルでは、初期選択のセットが、他のどの選択した要素によっても囲まれないようにする必要があります。

サブオブジェクト レベル

ShiftPressed = FalseAltPressed = False

ShiftPressed = TrueAltPressed = False

AltPressed = True

ポリゴン

1 つの行で 2 つ以上のポリゴンのセットを選択して適用し、ギャップのあるポリゴン ループを選択します。

ループ内でどのポリゴンが最初に動作するか切り替えて決めます。

効果なし

エッジ

エッジを選択して適用し、ギャップのあるエッジ ループを選択します。

エッジを選択して適用し、ギャップのあるエッジ リングを選択します。

このツールを使用すると円柱の上端および下端のエッジでループを実現できます。

頂点

1 つの行で 2 つ以上の頂点のセットを選択して適用し、ギャップのある頂点ループを選択します。

ループ内でどの頂点が最初に動作するか切り替えて決めます。

このツールを使用すると円柱の上端および下端のエッジでループを実現できます。

<bool>PolyToolsSelect.DotRing <integer>value 

引数で定義されるギャップがあるリングでサブオブジェクト要素を選択します。

複数の点線のループ/リングの操作が 1 度に実行できます。

ポリゴンおよび頂点のサブオブジェクト レベルでは、初期選択のセットが、他のどの選択した要素によっても囲まれないようにする必要があります。

サブオブジェクト レベル

ShiftPressed = FalseAltPressed = False

ShiftPressed = TrueAltPressed = False

AltPressed = True

ポリゴン

1 つの行で 2 つ以上のポリゴンのセットを選択して適用し、ギャップのあるポリゴン ループを選択します。

ループ内でどのポリゴンが最初に動作するか切り替えて決めます。

効果なし

エッジ

エッジを選択して適用し、ギャップのあるエッジ ループを選択します。

エッジを選択して適用し、ギャップのあるエッジ リングを選択します。

このツールを使用すると円柱の上端および下端のエッジでループを実現できます。

頂点

1 つの行で 2 つ以上の頂点のセットを選択して適用し、ギャップのある頂点ループを選択します。

ループ内でどの頂点が最初に動作するか切り替えて決めます。

このツールを使用すると円柱の上端および下端のエッジでループを実現できます。

<bool>PolyToolsSelect.StepLoop <bool>longestDir 

選択した 2 つの要素間のサブオブジェクト ループ上で頂点、エッジ、または面を選択します。

ループが閉じている場合、最短の距離が選択されます。ただし、longestDir が true として渡される場合には、最長の距離が選択されます。

サブオブジェクト レベル

AltPressed = False

AltPressed = True

ポリゴン

ポリゴン ループ上の 2 つのポリゴンを選択して適用し、その間にある要素を選択します。

ループが閉じている場合、既定値として最短の値になる代わりに、最長の距離が選択されます。

エッジ

エッジ ループ上の 2 つのエッジを選択して適用し、その間にある要素を選択します。

ループが閉じている場合、最短の距離になる代わりに、最長の距離が選択されます。

頂点

頂点ループ上の 2 つの頂点を選択して適用し、その間にある要素を選択します。

ループが閉じている場合、最短の距離になる代わりに、最長の距離が選択されます。

<bool>PolyToolsSelect.Outline () 

現在のサブオブジェクト選択のアウトラインを作成します。

外側の縁取りを選択します。

サブオブジェクト レベル

ShiftPressed = False

ShiftPressed = True

ポリゴン

現在の選択ポリゴンのポリゴン縁取りを選択します。

現在の選択ポリゴンのエッジ縁取りを選択します。

エッジ

現在の選択エッジのエッジ縁取りを選択します。

 

頂点

現在の選択頂点の頂点縁取りを選択します。

 
<bool>PolyToolsSelect.Fill () 

2 つの選択したサブオブジェクト要素の間の領域を塗りつぶします。この方法は 2 つの選択したサブオブジェクト要素の間に極端の角度がない場合にのみ機能することに注意してください。

サブオブジェクト レベル

Shift NotPressed

shiftPressed

ポリゴン

2 つのポリゴンを選択して適用し、その間の領域を塗りつぶします。2 つのポリゴンは塗りつぶしの上または下の角になります。塗りつぶす領域の外側の縁取りは四角形ポリゴンである必要があります。

2 つのポリゴンを選択して適用し、リングを塗りつぶします。2 つのポリゴンは塗りつぶしの上または下の角になります。塗りつぶす領域の外側の縁取りは四角形ポリゴンである必要があります。

エッジ

サポートされていません

サポートされていません

頂点

2 つの頂点を選択して適用し、その間の領域を塗りつぶします。2 つの頂点は塗りつぶしの上または下の角になります。塗りつぶす領域の外側の縁取りはきれいなループである必要があります。

2 つの頂点を選択して適用し、リングを塗りつぶします。2 つの頂点は塗りつぶしの上または下の角になります。塗りつぶす領域の外側の縁取りはきれいなループである必要があります。

<bool>PolyToolsSelect.FillHole () 

閉じた領域を塗りつぶします。穴の中の 1 つのサブオブジェクト要素を選択して塗りつぶします。選択した部分は、周囲の選択から独立している必要があります。たとえば、穴の周囲の選択したポリゴンと一切隣接していないポリゴンを選択する必要があります。

サブオブジェクト レベル

機能

ポリゴン

穴の中の 1 つのポリゴンを選択して塗りつぶします。

エッジ

穴の中の 1 つのエッジを選択して塗りつぶします。

頂点

穴の中の 1 つの頂点を選択して塗りつぶします。

<bool>PolyToolsSelect.Similar <bool>edgeCount <bool>edgeLength <bool>faceCount <bool>faceArea<bool>topology <bool>normal 

選択した要素と類似のプロパティを持つサブオブジェクト要素を選択します。5 つの引数によってその類似性を判別するルールが定義されます。

これらのルールは現在のサブオブジェクト レベルによって次のように異なります。

サブオブジェクト レベル

Argument1

Argument2

Argument3

Argument4

Argument5

ポリゴン

エッジ数

選択した面と同数の側面を持つ面

面領域

選択した面とほぼ同じ領域/サイズを持つ面

トポロジ

選択した面と同じ周囲のエッジ トポロジを持つ面

法線方向

ほぼ同じ法線方向を共有する面

使用しない

エッジ

エッジの長さ

選択したエッジとほぼ同じ長さを持つエッジ

面領域

選択したエッジとほぼ同じ、周囲の面の組み合わせた面領域を持つエッジ

トポロジ

選択したエッジと同じ周囲の面トポロジを持つエッジ

法線方向

ほぼ同じ法線方向を共有するエッジ

使用しない

頂点

エッジ数

選択した頂点とそこを起点とするエッジが同数である頂点

エッジの長さ

選択した頂点とほぼ同じ、頂点エッジの組み合わせたエッジの長さを持つ頂点

面の数

選択した頂点と同じ数の周囲の面を持つ頂点

面領域

選択した頂点とほぼ同じ、周囲の面の組み合わせた面領域を持つ頂点

法線方向

ほぼ同じ法線方向を共有する頂点

サブオブジェクト レベル

機能

ポリゴン

1 つまたは複数のポリゴンを選択して適用し、上記のルールに基づき類似だとされるポリゴンをすべて選択します。

エッジ

1 つまたは複数のエッジを選択して適用し、上記のルールに基づき類似だとされるエッジをすべて選択します。

頂点

1 つまたは複数の頂点を選択して適用し、上記のルールに基づき類似だとされる頂点をすべて選択します。

選択

<bool>PolyToolsSelect.Tops <bool>withinSel 

モデルの押し出された部分を選択します。

サブオブジェクト レベル

ShiftPressed = False

ShiftPressed = True

ポリゴン

適用して、押し出されたポリゴンの上部を選択します。

現在の選択内容のうち、押し出されたポリゴンの上部を選択します。

エッジ

適用して、押し出されたポリゴンの上部のエッジ アウトラインを選択します。

現在の選択内で、押し出されたポリゴンの上部のエッジ アウトラインを選択します。

頂点

適用して、押し出されたポリゴンの上部の頂点を選択します。

現在の選択内で、押し出されたポリゴンの上部の頂点を選択します。

<bool>PolyToolsSelect.HardEdges () 

エッジの面が同じスムージング グループを共有していないモデル内のすべてのエッジを選択します。

面のスムージング グループの値が 0 になっている(グループはまったく設定されていない)場合、ハード エッジとしてシェーディングされますが、この方法ではそれらのハード エッジは 0 のグループを共有しているため検出されません。

サブオブジェクト レベル

機能

ポリゴン

サポートされていません

エッジ

エッジの面が同じスムージング グループを共有していないモデル内のすべてのエッジを選択します。

頂点

サポートされていません

選択 - ランダム

<bool>PolyToolsSelect.Random <float>percent <integer>number <integer>type <bool>withinSel 

パーセントまたは絶対数値でランダム サブオブジェクト要素を選択します。

1 つめの引数は 0.0 から 100.0 までのパーセントの値になります。これが使用されるのは、3 つめの引数が 1 に設定された場合のみです。

2 つめの引数は選択するサブオブジェクトの絶対数です。これが使用されるのは、3 つめの引数が 0 に設定された場合のみです。

3 つめの引数によって選択モードが決まります。0 の場合は絶対数値、1 の場合はパーセントの値を使用することになります。

4 つめの引数は、選択対象をすべてのサブオブジェクトにするか選択したサブオブジェクトのみにするかを決めます。

サブオブジェクト レベル

ShiftPressed = False

ShiftPressed = True

ポリゴン

ランダム ポリゴンを選択します。

現在の選択内のみでランダム ポリゴンを選択します。

エッジ

ランダム エッジを選択します。

現在の選択内のみでランダム エッジを選択します。

頂点

ランダム頂点を選択します。

現在の選択内のみでランダム頂点を選択します。

例:

thePlane = Plane widthsegs:20lengthsegs:20 --平面を作成
convertTo thePlaneEditable_Poly --EPoly へ変換
select thePlane --平面を選択
max modify mode --[修正]パネルに切り替え
subObjectLevel = 4 --ポリゴン レベルに切り替え
PolyToolsSelect.Random0.020 0 false --20 のランダム ポリゴンを選択します
subObjectLevel = 2 --エッジ レベルに切り替え
PolyToolsSelect.Random50.0 01false --エッジの 50% を選択します
<bool>PolyToolsSelect.RandomGrow () 

選択した領域の縁取りの外側でランダム サブオブジェクト要素を選択して選択内容を拡大します。

成功した場合は true を、失敗した場合は false を返します。

   

<bool>PolyToolsSelect.RandomShrink () 

選択部分の縁取り上でランダム サブオブジェクト要素を選択解除して選択内容を縮小します。

成功した場合は true を、失敗した場合は false を返します。

   

<bool>PolyToolsSelect.Even <integer>skip <bool>withinSel 

1 つめの引数で指定したサブオブジェクトの番号以外のサブオブジェクト要素を、2 つめから順に N 番目ごとに選択します。

2 つめの引数が false の場合、すべてのサブオブジェクトは選択対象とみなされます。

2 つめの引数が true の場合、すでに選択されているサブオブジェクトのみは選択対象とみなされます。

成功した場合は true を、失敗した場合は false を返します。

   

<bool>PolyToolsSelect.Odd <integer>skip <bool>withinSel 

1 つめの引数で指定したサブオブジェクトの番号以外のサブオブジェクト要素を、1 つめから順に N 番目ごとに選択します。

2 つめの引数が false の場合、すべてのサブオブジェクトは選択対象とみなされます。

2 つめの引数が true の場合、すでに選択されているサブオブジェクトのみは選択対象とみなされます。

成功した場合は true を、失敗した場合は false を返します。

選択 - シンメトリ

   

<bool>PolyToolsSelect.Symmetry <integer>axis 

左右対称モデルのミラー軸でサブオブジェクト要素を選択します。

引数によって次のように軸が定義されます。

0 - X

1 - Y

2 - Z

オブジェクトの中心はオブジェクトの基点によって決定されます。

サブオブジェクト レベル

機能

ポリゴン

モデルの 1 つの側面上でポリゴンを選択して適用し、選択された軸のシンメトリの側面上でポリゴンを選択します。

エッジ

モデルの 1 つの側面上でエッジを選択して適用し、選択された軸のシンメトリの側面上でエッジを選択します。

頂点

モデルの 1 つの側面上で頂点を選択して適用し、選択された軸のシンメトリの側面上で頂点を選択します。

例:

--ステップ 1:
p = Plane widthsegs:10 lengthsegs:10 wirecolor:blue --平面を作成
convertTo p Editable_Poly --EPoly へ変換
select p --平面を選択
max modify mode --[修正]パネルに切り替え
subObjectLevel = 4 --面のレベルに切り替え
PolyOp.SetFaceSelection p #{38..40, 49, 50, 59, 60, 70, 80} --任意に選択
--ステップ 2:
PolyToolsSelect.Symmetry0 --X に沿ってシンメトリを選択
--ステップ 3:
PolyToolsSelect.Symmetry1 --Y に沿ってシンメトリを選択
 

選択 - 数値

   

<bool>PolyToolsSelect.NumericVertex <integer>edges <integer>type <bool>withinSel 

1 つめの引数で指定されたエッジの数に基づき頂点を選択します。

2 つめの引数は比較のタイプを次のように設定します。

1 - 等しい

2 - より小さい

3 - より大きい

3 つめの引数は現在の選択頂点内の頂点のみを適用する(true)かオブジェクトのすべての頂点を使用する(false)か設定します。

例:

--ステップ 1:
p= Plane widthsegs:10 lengthsegs:10 wirecolor:blue --平面を作成
convertTo p Editable_Poly --EPoly へ変換
select p --平面を選択
max modify mode--[修正]パネルに切り替え
subObjectLevel = 2 --エッジ レベルに切り替え
PolyToolsSelect.NumericVertex41false -- 4 つのエッジを持つ頂点
--ステップ 2:
PolyToolsSelect.NumericVertex42false --4 つ以下のエッジを持つ頂点
 

--ステップ 2:
PolyToolsSelect.NumericVertex 3 1 false --3 つのエッジを持つ頂点
--Step 4:
PolyToolsSelect.NumericVertex 2 1 false --2 つのエッジを持つ頂点
 

<bool>PolyToolsSelect.NumericEdge <bool>withinSel 

隣接するポリゴンが 1 つのみのエッジ(開いたエッジ)を選択します。

1 つめの引数は現在の選択エッジ内のエッジのみを適用する(true)かオブジェクトのすべての頂点を使用する(false)か設定します。

例:

p = Plane widthsegs:10 lengthsegs:10 wirecolor:blue --平面を作成
convertTo p Editable_Poly --EPoly へ変換
select p --平面を選択
max modify mode --[修正]パネルに切り替え
PolyOp.deleteFaces p #{45..48,58} --開いているエッジを追加するために面をいくつか削除
subObjectLevel = 2 --エッジ レベルに切り替え
PolyToolsSelect.NumericEdge false --開いているエッジを選択
 
<bool>PolyToolsSelect.NumericFace <integer>sides <integer>type <bool>withinSel 

1 つめの引数で指定された側面の数に基づき面を選択します

2 つめの引数は比較のタイプを次のように設定します。

1 - 等しい

2 - より小さい

3 - より大きい

3 つめの引数は現在の選択面内の面のみを適用する(true)かオブジェクトのすべての面を使用する(false)か設定します。

選択 - 1/2ずつ

   

<bool>PolyToolsSelect.Half <integer>axis <bool>invert <bool>withinSel 

サブオブジェクト要素の半分を現在のサブオブジェクト レベルで選択します。

1 つめの引数によって次のように軸が定義されます。

1 - X

2 - Y

3 - Z

2 つめの引数によってオブジェクトの正の側面(true)または負の側面(false)の選択の設定が行われます。

3 つめの引数は全体のオブジェクトを使用する(false)か現在の選択のみを使用する(true)かを設定します。

例:

--ステップ 1:
s = sphere radius:12 segs:40 wirecolor:blue
convertTo s Editable_Poly --EPoly へ変換
select s --球を選択
max modify mode --[修正]パネルに切り替え
subObjectLevel = 4 --面レベルを切り替え
--ステップ 2: すべての面を対象に X に沿って正(右)の側面を選択
PolyToolsSelect.Half 1 true false
--ステップ 3: 既存の選択を対象に Y に沿って負(前)の側面を選択
PolyToolsSelect.Half 2 false true
--ステップ 4: 既存の選択を対象に Y に沿って負(上)の側面を選択
PolyToolsSelect.Half 3 true true
 

選択 - 法線で

   

<bool>PolyToolsSelect.Normal <integer>axis <float>value <bool>invert 

法線ベクトルに基づき現在のサブオブジェクト レベルでサブオブジェクト要素を選択します。

1 つめの引数は参照ワールド軸を次のように定義します。

1 - ワールド X

2 - ワールド Y

3 - ワールド Z

2 つめの引数は角度スレッショルドを定義します。スレッショルドの値を下回るように参照ワールド軸が付いた角度を定義する法線を持つサブオブジェクトが選択されます。

3 つめの引数は、スレッショルドの値を下回る法線を持つサブオブジェクトを選択するか、スレッショルドの値を上回る法線を持つサブオブジェクトを選択するか定義します。

例:

--ステップ 1:
s = geosphere radius:12 segs:10 wirecolor:blue pos:[0,0,-5]
convertTo s Editable_Poly --EPoly へ変換
select s--select the geosphere
max modify mode --[修正]パネルに切り替え
subObjectLevel = 1 --頂点レベルに切り替え
PolyToolsSelect.Normal 3 15 false --+Z に対して 15 度の範囲内で頂点を選択
--ステップ 2:
subObjectLevel = 2 --エッジ レベルに切り替え
PolyToolsSelect.Normal 3 15 false --+Z に対して 15 度の範囲内でエッジを選択
--ステップ 3:
subObjectLevel = 4 --面のレベルに切り替え
PolyToolsSelect.Normal 3 15 false --+Z に対して 15 度の範囲内で面を選択
--Step4:
PolyToolsSelect.Normal 3 15 true --+Z に対して 15 度の範囲以外で面を選択
 

選択 - パースペクティブ

   

<bool>PolyToolsSelect.Perspective <float>value <bool>outline 

現在のサブオブジェクト レベルで、現在のビューの Z 軸に対する指定のスレッショルドの範囲内である法線を持つサブオブジェクト要素を選択します。

1 つめの引数は角度スレッショルドを定義します。

2 つめの引数はスレッショルド内のすべてのサブオブジェクトを選択対象とする(false)か、選択のアウトラインに隣接するサブオブジェクトのみを選択対象とする(true)かを設定します。

例:

--ステップ 1:
s = geosphere radius:12 segs:10 wirecolor:blue
convertTo s Editable_Poly --EPoly へ変換
select s --天球体を選択
max modify mode --[修正]パネルに切り替え
subObjectLevel = 1 --頂点レベルに切り替え
PolyToolsSelect.Perspective 30 false
--ステップ 2:
PolyToolsSelect.Perspective 30 true
 

--ステップ 3:
subObjectLevel = 2 --エッジ レベルに切り替え
PolyToolsSelect.Perspective 30 false
--ステップ 4:
PolyToolsSelect.Perspective 30 true
 

--ステップ 5:
subObjectLevel = 4 --面のレベルに切り替え
PolyToolsSelect.Perspective 30 false
--ステップ 6:
PolyToolsSelect.Perspective 30 true
 

選択 - パースペクティブ ビューからグロー

   

<bool>PolyToolsSelect.PerspectiveGrow <float>value 

ビューワの位置に対して最も近いサブオブジェクト要素を 0 と考え、またビューワから離れるように選択部分をワールド単位で拡大していくことで、現在のビュー スペースでサブ選択を拡大します。

例:

--ステップ 1:
s = geosphere radius:12 segs:10 wirecolor:blue
convertTo s Editable_Poly --EPoly へ変換
select s --天球体を選択
max modify mode --[修正]パネルに切り替え
subObjectLevel = 4 --面のレベルに切り替え
PolyToolsSelect.PerspectiveGrow 2
 

--ステップ 2:
PolyToolsSelect.PerspectiveGrow 12
 

天球体の半径は 12 単位のため、12 の値で選択すると現在のビューでほぼ半分の球体が選択されます(Camera001 - 左イメージ)。

選択 - 基点距離

   

<bool>PolyToolsSelect.Distance <float>value 

オブジェクトの基点までの最短距離に対するパーセントに基づき現在のレベルでサブオブジェクトを選択します。

1 つめの引数でパーセントが提示されます。

成功の場合は true を返し、失敗の場合(たとえば、有効なサブオブジェクト モードでない場合)は false を返します。

例:

--ステップ 1:
t = teapot radius:10 segs:10 wirecolor:blue
convertTo t Editable_Poly --EPoly へ変換
select t --ティーポットを選択
max modify mode --[修正]パネルに切り替え
subObjectLevel = 4 --面のレベルに切り替え
PolyToolsSelect.Distance 70.0 --70% を使用して選択
--ステップ 2:
PolyToolsSelect.Distance 60.0 -- 60% を使用して選択
 

--ステップ 3:
s.pivot = [0,0,5] --基点を半径の半分だけ上に移動
resetxform s --Xフォームをリセット
collapseStack s --スタックを集約
subObjectLevel = 4 --面レベルに切り替え
PolyToolsSelect.Distance 70.0 --再度 70% を使用して選択
--ステップ 4:
PolyToolsSelect.Distance 60.0
 

選択 - サーフェス

   

<bool>PolyToolsSelect.ConvexConcave <float>value <integer>isConcave 

現在のサブオブジェクト レベルで凸凹のスレッショルドに基づきサブオブジェクトを選択します。

1 つめの引数はスレッショルドの値になります。

2 つめの引数は、次のように UI における凸凹のフライアウトのインデックスになります。

1 - 凹型

2 - 凸型

成功の場合は true を返し、失敗の場合(たとえば、有効なサブオブジェクト モードでない場合)は false を返します。

例:

--ステップ 1:
t = teapot radius:10 segs:10 wirecolor:blue
convertTo t Editable_Poly --EPoly へ変換
select t --ティーポットを選択
max modify mode --[修正]パネルに切り替え
subObjectLevel = 4 --面レベルを切り替え
PolyToolsSelect.ConvexConcave 0.05 1 --凹面を選択
--ステップ 2:
PolyToolsSelect.ConvexConcave 0.001 2 --凸面を選択
 

選択 - パターン

   

<bool>PolyToolsSelect.Pattern1 <integer>times 

パターン繰り返しの指定回数として選択パターン 1 を適用します。

成功の場合は true を返し、失敗の場合(たとえば、有効なサブオブジェクト モードでない場合)は false を返します。

例:

--ステップ 1:
p = Plane widthsegs:10 lengthsegs:10 wirecolor:blue --平面を作成
convertTo p Editable_Poly --convert to EPoly
select p --平面を選択
max modify mode --[修正]パネルに切り替え
subObjectLevel = 4 --面のレベルに切り替え
PolyOp.SetFaceSelection p #{45} --中央の面を選択
--ステップ 2:
PolyToolsSelect.Pattern1 1
--ステップ 3:
PolyToolsSelect.Pattern1 1
-ステップ 4:
PolyToolsSelect.Pattern1 1
--ステップ 5:
PolyToolsSelect.Pattern1 1
--ステップ 6:
PolyToolsSelect.Pattern1 1
 

ステップ 1 の操作を行い内部で反復を行った後、呼び出すことで

PolyToolsSelect.Pattern1 5

右上のスクリーンショットのような表示が得られることに注意してください。

<bool>PolyToolsSelect.Pattern2 <integer>times 

パターン繰り返しの指定回数として選択パターン 2 を適用します。

成功の場合は true を返し、失敗の場合(たとえば、有効なサブオブジェクト モードでない場合)は false を返します。

例:

--ステップ 1:
p = Plane widthsegs:10 lengthsegs:10 wirecolor:blue --平面を作成
convertTo p Editable_Poly --EPoly へ変換
select p --平面を選択
max modify mode --[修正]パネルに切り替え
subObjectLevel = 4 --面のレベルに切り替え
PolyOp.SetFaceSelection p #{45} --中央の面を選択
--ステップ 2:
PolyToolsSelect.Pattern2 1
--ステップ 3:
PolyToolsSelect.Pattern2 1
--ステップ 4:
PolyToolsSelect.Pattern2 1
--ステップ 5:
PolyToolsSelect.Pattern2 1
--ステップ 6:
PolyToolsSelect.Pattern2 1
 

<bool>PolyToolsSelect.Pattern3 <integer>times 

パターン繰り返しの指定回数として選択パターン 3 を適用します。

成功の場合は true を返し、失敗の場合(たとえば、有効なサブオブジェクト モードでない場合)は false を返します。

例:

--ステップ 1:
p = Plane widthsegs:10 lengthsegs:10 wirecolor:blue --平面を作成
convertTo p Editable_Poly --EPoly へ変換
select p --平面を選択
max modify mode --[修正]パネルに切り替え
subObjectLevel = 4 --面レベルに切り替え
PolyOp.SetFaceSelection p #{45} --中央の面を選択
--ステップ 2:
PolyToolsSelect.Pattern3 1
--ステップ 3:
PolyToolsSelect.Pattern3 1
--ステップ 4:
PolyToolsSelect.Pattern3 1
 

<bool>PolyToolsSelect.Pattern4 <integer>times 

パターン繰り返しの指定回数として選択パターン 4 を適用します。

成功の場合は true を返し、失敗の場合(たとえば、有効なサブオブジェクト モードでない場合)は false を返します。

例:

--ステップ 1:
p = Plane widthsegs:10 lengthsegs:10 wirecolor:blue --平面を作成
convertTo p Editable_Poly --EPoly へ変換
select p --平面を選択
max modify mode --[修正]パネルに切り替え
subObjectLevel = 4 --面レベルに切り替え
PolyOp.SetFaceSelection p #{45} --中央の面を選択
--ステップ 2:
PolyToolsSelect.Pattern4 1
--ステップ 3:
PolyToolsSelect.Pattern4 1
--ステップ 4:
PolyToolsSelect.Pattern4 1
--ステップ 5:
PolyToolsSelect.Pattern4 1
--ステップ 6:
PolyToolsSelect.Pattern4 1
 

<bool>PolyToolsSelect.Pattern5 <integer>times 

パターン繰り返しの指定回数として選択パターン 5 を適用します。

成功の場合は true を返し、失敗の場合(たとえば、有効なサブオブジェクト モードでない場合)は false を返します。

例:

--ステップ 1:
p = Plane widthsegs:10 lengthsegs:10 wirecolor:blue --平面を作成
convertTo p Editable_Poly --EPoly へ変換
select p --平面を選択
max modify mode --[修正]パネルに切り替え
subObjectLevel = 4 --面のレベルに切り替え
PolyOp.SetFaceSelection p #{45} --中央の面を選択
--ステップ 2:
PolyToolsSelect.Pattern5 1
--ステップ 3:
PolyToolsSelect.Pattern5 1
--ステップ 4:
PolyToolsSelect.Pattern5 1
--ステップ 5:
PolyToolsSelect.Pattern5 1
--ステップ 6:
PolyToolsSelect.Pattern5 1
--ステップ 7:
PolyToolsSelect.Pattern5 1
--ステップ 8:
PolyToolsSelect.Pattern5 1
 

<bool>PolyToolsSelect.Pattern6 <integer>times 

パターン繰り返しの指定回数として選択パターン 6 を適用します。

成功の場合は true を返し、失敗の場合(たとえば、有効なサブオブジェクト モードでない場合)は false を返します。

例:

--ステップ 1:
p = Plane widthsegs:10 lengthsegs:10 wirecolor:blue --平面を作成
convertTo p Editable_Poly --EPoly へ変換
select p --平面を選択
max modify mode --[修正]パネルに切り替え
subObjectLevel = 4 --面レベルに切り替え
PolyOp.SetFaceSelection p #{45} --中央の面を選択
--ステップ 2:
PolyToolsSelect.Pattern6 1
--ステップ 3:
PolyToolsSelect.Pattern6 1
--ステップ 4:
PolyToolsSelect.Pattern6 1
--ステップ 5:
PolyToolsSelect.Pattern6 1
--ステップ 6:
PolyToolsSelect.Pattern6 1
--ステップ 7:
PolyToolsSelect.Pattern6 1
--ステップ 8:
PolyToolsSelect.Pattern6 1
 

<bool>PolyToolsSelect.Pattern7 <integer>times 

パターン繰り返しの指定回数として選択パターン 7 を適用します。

成功の場合は true を返し、失敗の場合(たとえば、有効なサブオブジェクト モードでない場合)は false を返します。

例:

--ステップ 1:
p = Plane widthsegs:10 lengthsegs:10 wirecolor:blue --平面を作成
convertTo p Editable_Poly --EPoly へ変換
select p --平面を選択
max modify mode --[修正]パネルに切り替え
subObjectLevel = 4 --面のレベルに切り替え
PolyOp.SetFaceSelection p #{45} --中央の面を選択
--ステップ 2:
PolyToolsSelect.Pattern7 1
--ステップ 3:
PolyToolsSelect.Pattern7 1
--ステップ 4:
PolyToolsSelect.Pattern7 1
--ステップ 5:
PolyToolsSelect.Pattern7 1
--ステップ 6:
PolyToolsSelect.Pattern7 1
--ステップ 7:
PolyToolsSelect.Pattern7 1
--ステップ 8:
PolyToolsSelect.Pattern7 1
 

<bool>PolyToolsSelect.Pattern8 <integer>times 

パターン繰り返しの指定回数として選択パターン 8 を適用します。

成功の場合は true を返し、失敗の場合(たとえば、有効なサブオブジェクト モードでない場合)は false を返します。

例:

--ステップ 1:
p = Plane widthsegs:10 lengthsegs:10 wirecolor:blue --平面を作成
convertTo p Editable_Poly --EPoly へ変換
select p --平面を選択
max modify mode --[修正]パネルに切り替え
subObjectLevel = 4 --面のレベルに切り替え
PolyOp.SetFaceSelection p #{45}--中央の面を選択
--ステップ 2:
PolyToolsSelect.Pattern8 1
--ステップ 3:
PolyToolsSelect.Pattern8 1
--ステップ 4:
PolyToolsSelect.Pattern8 1
--ステップ 5:
PolyToolsSelect.Pattern8 1
--ステップ 6:
PolyToolsSelect.Pattern8 1
--ステップ 7:
PolyToolsSelect.Pattern8 1
--ステップ 8:
PolyToolsSelect.Pattern8 1
 

<bool>PolyToolsSelect.PatternDots <integer>times 

パターン繰り返しの指定回数として選択パターン ドットを適用します。

成功の場合は true を返し、失敗の場合(たとえば、有効なサブオブジェクト モードでない場合)は false を返します。

例:

--ステップ 1:
p = Plane widthsegs:10 lengthsegs:10 wirecolor:blue --平面を作成
convertTo p Editable_Poly --EPoly へ変換
select p --平面を選択
max modify mode --[修正]パネルに切り替え
subObjectLevel = 4 --面のレベルに切り替え
PolyOp.SetFaceSelection p #{45} --中央の面を選択
--ステップ 2:
PolyToolsSelect.PatternDots 1
--ステップ 3:
PolyToolsSelect.PatternDots 1
--ステップ 4:
PolyToolsSelect.PatternDots 1
--ステップ 5:
PolyToolsSelect.PatternDots 1
--ステップ 6:
PolyToolsSelect.PatternDots 1
 

<bool>PolyToolsSelect.PatternChecker <integer>times 

パターン繰り返しの指定回数として選択パターン チェッカを適用します。

成功の場合は true を返し、失敗の場合(たとえば、有効なサブオブジェクト モードでない場合)は false を返します。

例:

--ステップ 1:
p = Plane widthsegs:10 lengthsegs:10 wirecolor:blue --平面を作成
convertTo p Editable_Poly --EPoly へ変換
select p --平面を選択
max modify mode --[修正]パネルに切り替え
subObjectLevel = 4 --面のレベルに切り替え
PolyOp.SetFaceSelection p #{45} --中央の面を選択
--ステップ 2:
PolyToolsSelect.PatternChecker 1
--ステップ 3:
PolyToolsSelect.PatternChecker 1
--ステップ 4:
PolyToolsSelect.PatternChecker 1
--ステップ 5:
PolyToolsSelect.PatternChecker 1
--ステップ 6:
PolyToolsSelect.PatternChecker 1
 

<bool>PolyToolsSelect.PatternGrowLine <integer>times 

パターン繰り返しの指定回数として選択パターン グロー ラインを適用します。

成功の場合は true を返し、失敗の場合(たとえば、有効なサブオブジェクト モードでない場合)は false を返します。

例:

--ステップ 1:
p = Plane widthsegs:10 lengthsegs:10 wirecolor:blue --平面を作成
convertTo p Editable_Poly --EPoly へ変換
select p --平面を選択
max modify mode --[修正]パネルに切り替え
subObjectLevel = 4 --面のレベルに切り替え
PolyOp.SetFaceSelection p #{45} --中央の面を選択
--ステップ 2:
PolyToolsSelect.PatternGrowLine1
--ステップ 3:
PolyToolsSelect.PatternGrowLine1
--ステップ 4:
PolyToolsSelect.PatternGrowLine1
--ステップ 5:
PolyToolsSelect.PatternGrowLine1
--ステップ 6:
PolyToolsSelect.PatternGrowLine1
 

<bool>PolyToolsSelect.PatternOneRing <integer>times 

パターン繰り返しの指定回数として選択パターンひとつのリングを適用します。

成功の場合は true を返し、失敗の場合(たとえば、有効なサブオブジェクト モードでない場合)は false を返します。

例:

--ステップ 1:
p = Plane widthsegs:10 lengthsegs:10 wirecolor:blue --平面を作成
convertTo p Editable_Poly --EPoly へ変換
select p --平面を選択
max modify mode --[修正]パネルに切り替え
subObjectLevel = 4 --面のレベルに切り替え
PolyOp.SetFaceSelection p #{45} --中央の面を選択
--ステップ 2:
PolyToolsSelect.PatternOneRing 1
--ステップ 3:
PolyToolsSelect.PatternOneRing 1
--ステップ 4:
PolyToolsSelect.PatternOneRing 1
--ステップ 5:
PolyToolsSelect.PatternOneRing 1
--ステップ 6:
PolyToolsSelect.PatternOneRing 1
 

選択 - ビットマップ

<bool>PolyToolsSelect.BitmapToSel <string>file <integer>mapchannel <point3>color 

現在のサブオブジェクト レベルで、ビットマップ アプリケーションの指定のマッピング チャンネルを使用しているビットマップ ファイルのカラーに基づきサブオブジェクトを選択します。

最初の引数はオブジェクト変数の名前です。

2 つめの引数はジオメトリへのビットマップのマッピング時に使用するマッピング チャンネルになります。

3 つめの引数は選択対象として使用するビットマップのカラーになります。

内部的には、カラーはビルトインのスレッショルド +/- 8.0 (256/8= 32 なので、スレッショルドの値は 1/32 またはおよそ 3%になります)で比較されます。

例:

--ステップ 1:
p = Plane widthsegs:50 lengthsegs:50 wirecolor:blue --平面を作成
convertTo p Editable_Poly --EPoly へ変換
select p --平面を選択
max modify mode --[修正]パネルに切り替え
subObjectLevel = 4 --エッジ レベルに切り替え
--ビットマップ カラーが純白である面を選択します。
PolyToolsSelect.BitmapToSel "ELMLEAF.TGA" 1 white
--ステップ 2: カラーが黒である面を選択します。
PolyToolsSelect.BitmapToSel "ELMLEAF.TGA" 1 black
 

--ステップ 3:
PolyToolsSelect.BitmapToSel "ELMLEAF.TGA" 1 (white*0.97)
--ステップ 4:
PolyToolsSelect.BitmapToSel "ELMLEAF.TGA" 1 (white*0.96)
 

--ステップ 3:
PolyToolsSelect.BitmapToSel "ELMLEAF.TGA" 1 (white*0.04)
--ステップ 4:
PolyToolsSelect.BitmapToSel "ELMLEAF.TGA" 1 (white*0.03)
 

関連事項