ジャンプ先: 概要. 戻り値. 関連. フラグ. Python 例.

概要

extrude( curve [curve] , [caching=boolean], [constructionHistory=boolean], [degreeAlongLength=int], [direction=[linear, linear, linear]], [directionX=linear], [directionY=linear], [directionZ=linear], [extrudeType=int], [fixedPath=boolean], [length=linear], [mergeItems=boolean], [name=string], [nodeState=int], [object=boolean], [pivot=[linear, linear, linear]], [polygon=int], [range=boolean], [rebuild=boolean], [reverseSurfaceIfPathReversed=boolean], [rotation=angle], [scale=float], [subCurveSubSurface=boolean], [useComponentPivot=int], [useProfileNormal=boolean])

注: オブジェクトの名前と引数を表す文字列は、カンマで区切る必要があります。これはシノプシスに示されていません。

extrude は、取り消し可能、照会可能、および編集可能です。

このコマンドは、プロファイル カーブと場合によってはパス カーブを指定した場合に、サーフェスを計算します。プロファイル カーブを押し出すには 3 つの方法があります。最も基本的な方法は「距離」押し出しと呼ばれる方法で、押し出す方向と長さが指定されます。この場合、パス カーブは必要ありません。2 番目の方法は「フラット」押し出しと呼ばれる方法です。この方法では、プロファイル カーブの方向を変えずにプロファイル カーブを下にスイープします。最後に、3 番目の「チューブ」押し出しと呼ばれる方法があります。この方法では、プロファイル カーブを下にスイープし、プロファイル カーブは回転してパス カーブとの関係性が維持されます。

戻り値

string[]オブジェクト名とノード名

照会モードでは、戻り値のタイプは照会されたフラグに基づきます。

関連

singleProfileBirailSurface

フラグ

caching, constructionHistory, degreeAlongLength, direction, directionX, directionY, directionZ, extrudeType, fixedPath, length, mergeItems, name, nodeState, object, pivot, polygon, range, rebuild, reverseSurfaceIfPathReversed, rotation, scale, subCurveSubSurface, useComponentPivot, useProfileNormal
ロング ネーム(ショート ネーム) 引数タイプ プロパティ
caching(cch) boolean createqueryedit
すべてのアトリビュートのキャッシングを切り替えることで、再計算を不要にします。
degreeAlongLength(dl) int createqueryedit
距離の押し出しを実行したときの、距離に沿ったサーフェス次数。
既定: 1
direction(d) [linear, linear, linear] createqueryedit
押し出す方向です。extrudeType が距離で useProfileNormal がオフの場合にのみ使用します。
directionX(dx) linear createqueryedit
方向の X 座標。
既定: 0
directionY(dy) linear createqueryedit
方向の Y 座標。
既定: 1
directionZ(dz) linear createqueryedit
方向の Z 座標。
既定: 0
extrudeType(et) int createqueryedit
押し出しのタイプ(距離 - 0、フラット - 1、チューブ - 2)
既定: 2
fixedPath(fpt) boolean createqueryedit
true の場合、作成されたサーフェスをパス カーブに配置します。それ以外の場合は、作成されたサーフェスをプロファイル カーブに配置します。
既定: false
length(l) linear createqueryedit
押し出す距離です。extrudeType が距離の場合にのみ使用します。
既定: 1
nodeState(nds) int createqueryedit

Maya のディペンデンシー ノードには 6 種類の設定可能な状態があります。通常(Normal)(0)エフェクトなし(HasNoEffect)(1)ブロッキング(Blocking)(2)ステータスは、グラフの評価方法を変更するために使用されます。

待機 - 通常(Waiting-Normal)(3)待機 - エフェクトなし(Waiting-HasNoEffect)(4)待機 - ブロッキング(Waiting-Blocking)(5)は、内部でのみ使用されます。これらは、インタラクション(例: 操作)の実行中にグラフのパーツを一時的に遮断します。操作が完了すると、ステータスは適切にリセットされます(例: 待機 - ブロッキング(Waiting-Blocking)ブロッキング(Blocking) にリセットされます)。

通常(Normal)およびブロッキング(Blocking)のケースはすべてのノードに適用できますが、エフェクトなし(HasNoEffect)はノード特定です。多くのノードはこのオプションをサポートしていません。プラグインは状態を MPxNode::state アトリビュートに保存します。誰もがこのアトリビュートを設定したり確認したりすることができます。これらの 3 つの状態に関するその他の詳細は次の通りです。

状態 説明
通常(Normal) 通常のノードの状態です。これが既定の設定です。
エフェクトなし(HasNoEffect)

エフェクトなし(HasNoEffect)オプション(別名: 通過)は、同じデータ タイプの出力を生成する入力を操作している場合に使用されます。 ほぼすべてのデフォーマが、他のいくつかのノードと同様に、この状態をサポートします。前に説明したように、すべてのノードでサポートされるわけではありません。

ノードの計算メソッドでエフェクトなし(HasNoEffect)状態のサポートを実装し、適切な操作を実行することが一般的です。プラグインはエフェクトなし(HasNoEffect)もサポートします。

この状態を普通に実装するには、ノードにアルゴリズムを適用しないで、適合する出力に直接入力をコピーします。デフォーマの場合は、この状態を適用することにより、入力ジオメトリが出力でデフォーム解除されたままになります。

ブロッキング(Blocking)

これはディペンデンシー ノードのベース クラスで実装され、すべてのノードに適用されます。ブロッキング(Blocking)は評価フェーズ中に接続に適用されます。 ブロックされた接続に対する評価要求が失敗を返すと、目的プラグが現在の値を保持します。 ダーティな伝播はこの状態の間接的な影響を受けますが、ブロックされた接続がクリーンアップされることはありません。

ノードをブロッキング(Blocking)に設定すると、すべての送信接続が解除されたのと同じ動作になる可能性があります。 ブロックされたノードの評価を直接要求しない限り、その後に再評価されることはありません。ブロックされたノードは getAttr 要求に引き続き応答しますが、下流ノードの getAttr は、ブロックされたノードを再評価しないことに注意してください。

ブロッキング(Blocking)に対して階層のルート変換を設定しても、自動的にはこの階層の子変換に影響しません。これを実行するには、ブロッキング(Blocking)状態に対してすべての子ノードを明示的に設定する必要があります。

たとえば、すべての子トランスフォームをブロッキング(Blocking)に設定するには、次のスクリプトを使用します。

 import maya.cmds as cmds def blockTree(root): nodesToBlock = [] for node in {child:1 for child in cmds.listRelatives( root, path=True, allDescendents=True )}.keys(): nodesToBlock += cmds.listConnections(node, source=True, destination=True ) for node in {source:1 for source in nodesToBlock}.keys(): cmds.setAttr( '%s.nodeState' % node, 2 ) 

このスクリプトを適用してオブジェクトの描画を継続できますが、アニメートは行えません。


既定: kdnNormal
pivot(p) [linear, linear, linear] createqueryedit
extrudeType がチューブの場合に使用されるピボット ポイントです。
reverseSurfaceIfPathReversed(rsp) boolean createqueryedit
true の場合、押し出しタイプはチューブ(2)で、パスが内部的に反転してから、計算されたサーフェスをパスに対応する方向に反転します。
既定: false
rotation(ro) angle createqueryedit
パス カーブに沿ってスイープするときのプロファイル カーブを回転する量です。
既定: 0
scale(sc) float createqueryedit
パス カーブに沿ってスイープするときのプロファイル カーブをスケールする量です。
既定: 1.0
subCurveSubSurface(scs) boolean createqueryedit
true の場合、パス上でのカーブの範囲は、押し出す前のカットではなく、結果として得られるサーフェスに適用されます。
既定: false
useComponentPivot(ucp) int createqueryedit
パスの最近接終点 - 0、コンポーネント ピボット - 1、プロファイルのバウンディング ボックスのセンター - 2 を使用
既定: 0
useProfileNormal(upn) boolean createqueryedit
true の場合、押し出す方向のプロファイル カーブの法線を使用します。extrudeType が距離またはチューブの場合にのみ使用します。
既定: false
共通のフラグ
constructionHistory(ch) boolean create
コンストラクション ヒストリをオンまたはオフにします。
mergeItems(mi) boolean create
可能な場合は、コンポーネントの結果をマージします。たとえば、a[1] および a[2] を返すのではなく、a[1:2] を返します。
name(n) string create
新しく作成するノードの名前を設定します。ネームスペース パスを含む場合、指定されたネームスペースの下に新しいノードが作成されます。ネームスペースが存在しない場合は、ネームスペースが作成されます。
object(o) boolean create
結果のオブジェクト、またはディペンデンシー ノードのみを作成します。
polygon(po) int create
この引数の値は、この操作で作成されるオブジェクトのタイプを制御します。
  • 0: NURBS サーフェス
  • 1: ポリゴン(nurbsToPolygonsPref を使用して変換用のパラメータを設定)
  • 2: サブディビジョン サーフェス(nurbsToSubdivPref を使用して変換用のパラメータを設定)
  • 3: ベジェ サーフェス
  • 4: サブディビジョン サーフェス ソリッド(変換のためのパラメータを設定するには、nurbsToSubdivPref を使用)
range(rn) boolean create
カーブの範囲を入力カーブ全体に強制します。
rebuild(rb) boolean create
操作で入力カーブを使用する前に、入力カーブを再構築します。変換のためのパラメータを設定するには、nurbsCurveRebuildPref を使用します。

フラグはコマンドの作成モードで表示できます フラグはコマンドの編集モードで表示できます
フラグはコマンドの照会モードで表示できます フラグに複数の引数を指定し、タプルまたはリストとして渡すことができます。

Python 例

import maya.cmds as cmds

# extrude profile curve "distance" 5 units along x axis
cmds.extrude ('profile', et = 0, d= (1, 0, 0), l= 5)

# extrude profile curve along path curve using "flat" method
cmds.extrude( 'profile', 'path', et=1 )

# extrude profile curve along path curve using "tube" method
cmds.extrude( 'profile', 'path', et=2 )