Morph Constraintsパネル

Morph Constraintsパネルを使用して、モーフィングの操作で節点の移動を制限する制約や寸法要件を指定したコンプライアンスをモーフィングの操作中に強制する制約などを作成します。制約はエンティティであり、モデルと共に保存されます。

場所:Toolsページ > HyperMorphモジュール

パネルの使用法

1つのサブパネルにおける変更は他には影響を与えません。また、サブパネルを切り替えてもすでに変更された内容が失われることはありません。

制約と関連付けられている節点は、それらを追加または削除し、updateをクリックして変更できます。rejectをクリックすると、最後に作成された制約が取り消されます。

また、release nodesサブパネルにアクセスし、節点を選んでreleaseをクリックすることにより、選択した節点の制約を解除することも可能です。

Create/Updateサブパネル

Create/Updateサブパネルは、制約を新規に作成する、または既存の制約を変更するのに使用します。

拘束は、作成時にはactiveにセットされます。すなわち、モデルがモーフィングされる際には拘束は自動的に適用されます。Morph Optionsパネルで操作するか、optionsボタンをクリックしてmorphingサブパネルへ移動することで、制約のアクティブ状態を変更できます。制約のアクティブまたは非アクティブを切り替えるには、morphconstraintsコレクターをクリックします。
注: use constraintsボックスがオンである場合にのみ、制約が適用されます。

ライン、プレーン、サーフェス、要素、または式への制約が適用されると、節点はそのフィーチャーに移動され、節点の移動は取り消しまたは再実行が可能なモーフィングとして保管されます。ただし、節点制約の一部として起こったモーフィングの取り消しは、制約条件を除去することはありません。適用済みの制約を削除するには、rejectをクリックするか、release nodesサブパネルでrelease機能を使用するか、deleteパネルを使用してその制約を削除する必要があります。

節点は、複数の拘束条件の一部となり得ます。そのような場合、HyperMorphは繰り返し計算を実行し、すべての制約条件を満足するよう試みます。例えば、交差する2つのサーフェスに制約されている節点は、それらサーフェスの交差部分に沿ったポイントに移動されます。節点について与えられた制約条件のすべてが満たされない場合、HyperMorphはワーニングメッセージを返します。

モーフィング中、制約は、節点またはハンドルがモーフィングされた後に適用されます。ハンドルまたは節点に適用されるモーフィングの量によっては、これは変更される場合もあります。例えば、ラインに沿って移動するよう制約されているハンドルを回転させる場合、まずハンドルを指定の量だけ回転させ、続いてラインに移動します。この際、ハンドルに適用される角度は変わる可能性があります。これは、Morphパネルのalter dimensionsサブパネルで距離または角度が変更される場合(指定した距離または角度が達成され、かつ、制約条件が満たされるまで繰り返し計算が行われる)を除くすべてのモーフィング操作に当てはまります。

従属関係の制約の場合、2Dドメインまたはエッジドメインを好きな数だけ繋げて従属関係の"チェーン"を作成したり、ループを作ったりすることが可能です。ただし、メイン(マスター)-セカンダリ(スレーブ)のループやその他矛盾する設定は作成できません。2Dドメインの従属関係オプションはロバストな機能ではありますが、長く、湾曲したドメインが連続する場合の互いの従属関係については、満足な結果をもたらさない場合もあります。このようなケースでは、Map to Geomパネルのinterpolate surf機能を使ってメッシュをスムージングすることが可能です。

モデル制約(length、angle、radius、arc angle、area、volumeまたはmass)が適用される際、制約に関係するシェイプが、制約を強制するためにモデルに適用されます。例えば、一定量以上の重さであってはならないモデルの場合、モデルの全体の幅を変化させるシェイプを使用した質量制約を作成することができます。その後、モーフィングを実行するたび、HyperMorphはモデルの現在の重量をチェックし、モデルの重量が超過している場合は形状を適用し、モデルの幅を小さくし、重量が質量制約で設定した値を越さないようにします。

制約条件は、適用時に効力がさかのぼることはありません。undoリスト内のモーフィングは、保存されているシェイプと同様、その後に作成された制約条件と一致するよう更新されます。既存のシェイプは、すべてのモーフィングを解除し、制約条件をアクティブとしてシェイプを適用し、シェイプを同じ名前で保存することによって、制約されるよう更新できます。
オプション 動作
along vector: 節点の移動経路となるベクトルを定義します。
注: along vector制約でのみ使用できます。
角度 節点の制約範囲とする角度を指定します。

equal to、upper bound、lower boundのいずれかのスイッチとcalculateボタンを組み合わせた場合にのみ使用できます。

このラベルまたはボタンを2回クリックすることで、カリキュレータが表示されます。

注: angle制約でのみ使用できます。
at origin / at node / at system 式で定義した経路の始点を選択します。
at origin
デフォルトの全体座標系の原点を使用します。
at node
目的の節点を選択します。
at system
目的の局部座標系を選択します。
注: equation制約でのみ使用できます。
arc angle 節点の制約範囲とする角度を指定します。

このオプションは、equal to、upper bound、lower boundのいずれかのスイッチ、calculateボタン、およびfind center、center axis、center line、center nodeのいずれかのスイッチと組み合わせて使用します。

arc angleラベルまたはarc angleボタンを2回クリックすることで、カリキュレータが表示されます。

注: arc angle制約でのみ使用できます。
area 節点の制約範囲とする合計面積を指定します。

このオプションは、equal to、upper bound、lower boundのいずれかのスイッチ、calculateボタン、およびelemsセレクターと組み合わせて使用します。

areaラベルまたはareaボタンを2回クリックすることで、カリキュレータが表示されます。

注: area制約でのみ使用できます。
(constraint type switch) 制約タイプを選択します。
color 制約エンティティの色を指定します。
calculate 制約の現在の値を計算します。たとえば、node listで節点を選択後、このボタンをクリックすることで節点リストの長さの総計がlength欄に表示されます。
注: length、angle、radius、arc angle、area、volume、massの各制約でのみ使用できます。
connected edge domains 制約に結び付けるエッジドメインを選択します。
注: smooth制約でのみ使用できます。
continuous / main-secondary / fixed end / attached
continuous、main-secondary、attachedの連続性
ドメインセレクターごとに1つ、合計で2つの制約対象ドメインを選択します。
注: 2Dドメインに使用できる従属関係のタイプはcontinuousのみです。
fixed endの従属関係
制約の適用対象とするエッジドメインを選択します。具体的には、制約対象とする端点にある節点を選択し、目的とするエッジドメインの端点の方向を指定するベクトルを選択します。
注: tangency制約でのみ使用できます。
create generic 適用することで目的の制約値が変化するシェイプを生成します。たとえば、node listを指定後、このボタンをクリックして、節点リストの長さを変更する基本のモーフィングシェイプを作成します。
注: length、angle、radius、arc angle、area、volume、massの各制約でのみ使用できます。
domain 従属関係制約の適用対象とするドメインを選択します。
注: これらのセレクターのうち、従属関係制約に使用できるのは2つのみです。
elems 節点の制約先とするメッシュ要素を選択します。
area、volumeまたはmass 制約の場合、モーフィングの前に選択された要素から面積/体積/質量が計算され、モーフィング後は要素群のシェイプは変更されますが、トータルの面積、体積または質量は変更されません。


図 1. 要素上の面積制約


図 2. 形状は変化しても面積(長さ x 幅)の合計値は不変
注: elements、area、volume、massの各制約でのみ使用できます。
equal to / upper bound / lower bound length欄の値をどのように使用するかを選択します。
equal to
節点間隔を維持して全体の長さを変更しません。
upper bound
指定の長さを超えて長くならないように節点間隔を短くします。
lower bound
指定の長さ未満に短くならないように節点間隔を長くします。
注: length、angle、radius、arc angle、area、volume、massの各制約でのみ使用できます。
exclude beyond 選択した要素からの距離が特定の値を超えているという条件で選択された節点、または特定の要素からの列数が特定の値を超えているという条件で選択された節点を除外します。

表示されたダイアログには、パネル内の節点および要素の内容と一致する2つのコレクターが表示されます。選択された節点と要素はそれらのコレクターをダブルクリックすることによって変更できます。

ダイアログには、モデルユニットの数または要素列の数を入力するために使用可能な入力欄も表示されます。入力欄の後ろには、model unitsとelement rowsを切り替えるためのセレクターが表示されます。

model unitsが選択されている場合は、指定したモデル単位での距離を超えている節点が選択された節点から除外されます。element rowsが選択されている場合は、選択した要素から特定の要素列数より離れている節点が選択された節点から除外されます。element rowsの場合は、その要素の列を選択された要素に割り当てる必要があり、要素の列に含まれないすべての節点が除外されます。

excludeをクリックすると、特定の基準を超えているすべての節点が選択された節点から除外されます。節点が選択されていない場合は、選択された節点に結合されていないモデル内のすべての節点がマークに配置され、特定の基準を超えている節点がマークから除外されます。

図 3 は、exclude beyond機能の使用方法を示しています。左側の図では、深紅色のメッシュのすべての節点と灰色で示された要素がon elementsタイプのモーフィング制約の対象として選択されています。exclude beyondダイアログを使用して、距離オプションとしてmodel unitsが選択され、選択された要素から1000モデルユニットより離れているすべての節点を除外するために1000.0の距離が使用されます。右側の図では、excludeがクリックされ、選択された要素から1000モデルユニット以内の節点がマークされたままになっています。


図 3.
注: elementsタイプのモーフィング制約でのみ使用できます。
find center / center axis / center line / center node radius数値欄またはarc angle数値欄の適切な値を決定するのに必要なdomain(エッジドメイン)セレクターと共に使用します。
find center
エッジドメインの面の中心を探します。
center axis
方向セレクターを使用して面とベース節点を指定します。ベース節点における軸が面の法線方向となります。
center line
目的のラインを指定します。
center node
目的の節点を選択します。
F(xyz) 式を選択します。選択すると自動的に式が入力されます。必要に応じて、これらの式を編集します。

制約a、b、c、r、およびRが数値で置き換えられます。複数の式によって定義される複雑な形状(トーラスなど)は、対応する式が2つのテキスト入力欄にコピーされます。

また、独自の関数を指定することもできます。関数にはx、y、z変数、および数値と式を含めることが可能です。関数がゼロに設定された際に定義されたサーフェスは、制約の境界として使用されます。さらに多くの式が必要な場合はprevボタンとnextボタンを使用して追加できます。

注: equation制約でのみ使用できます。
fix dofs: along dofs制約では、指定された座標系における節点の自由度を制約します。
x translation (r)
指定した座標系を基準として各節点のx座標またはr座標を固定します。
y translation (theta)
指定した座標系を基準として各節点のy座標またはθ座標を固定します。
z translation (phi)
指定した座標系を基準として各節点のz座標またはφ座標を固定します。
fixed at: node 制約対象である端点の固定点となる節点を選択します。
注: fixed endタイプの従属関係制約でのみ使用できます。
fully fixed / translate only / force normal / allow sliding 要素に対するfixed layersスタイル制約の外層をモーフィングする際に、その制約の内層がどのように移動するかを選択します。
fully fixed
拘束要素の変更に合わせて、初期の距離と向きを保ちながら内部節点を移動および回転します。
translate only
拘束要素の変更に合わせて、初期の距離を保ちながら内部節点を移動します。
force normal
制約を作成したときの拘束要素に対して内部節点が垂直に位置するようにします。
allow sliding
内部節点を、法線方向の初期距離が維持できる範囲で法線方向と垂直の方向に移動します。
global system / syst along dofs制約の全体座標系または局部座標系を選択します。選択された座標系の自由度が制約のすべての節点に使用されます。
length 節点の制約範囲とする合計長さを指定します。このオプションは、equal to、upper bound、lower boundのいずれかのスイッチ、calculateボタン、およびnode listセレクターと組み合わせて使用します。

lengthラベルまたはlengthボタンを2回クリックすることで、カリキュレータが表示されます。

注: length制約でのみ使用できます。
line 節点を移動可能とする方向のラインを選択します。
注: along line制約でのみ使用できます。
mass 節点の制約範囲とする合計質量を指定します。これは、equal to /upper bound / lower boundスイッチ、calculateボタン、elemsセレクターと合わせて使用します。

この値は、選択されたelemsの面積または体積を基に計算され、密度はプロパティカードから与えられます。モーフィング後、要素群の形状は変更されますが、トータルの質量は変わりません。

massラベルまたはmassボタンを2回クリックすることで、カリキュレータが表示されます。

注: mass制約でのみ使用できます。
measured along 長さの測定方向とするベクトルまたは経路を選択します。
node list
lengthスイッチで指定された節点リストを使用します。
N1N2
メッシュにある2つの節点を選択します。lengthは、2つの節点間のラインに沿って計測されます。
x axis、y-axis、z-axis
デフォルトの全体座標系における各軸方向の長さを測定します。
moves along / bounded / set distance / fixed layers
moves along
モーフィング操作中に節点が移動できる方向を指定するエンティティ、ベクトル、または式を定義します。
ベクトル、ライン、プレーン、サーフェス、要素、または式で指定した方向に移動するように節点を制約できます。これらの節点は、モーフィング中に選択されたフィーチャーに従い、ライン、サーフェス、ベクトル、プレーン、メッシュ、または関数のサーフェス上に保ちながら、形状を変更することを可能とします。フィーチャーに制約された節点は、そのフィーチャーから始まっている必要はありませんが、制約条件が適用されると、そのフィーチャーに移動されます。また、ハンドルが位置している節点を制約し、そのハンドルが制約条件に従うようにすることも可能です。節点毎に必要な数だけ制約条件を定義することが可能ですが、相反する制約条件が存在する場合、それらがすべて満足されるかどうかは保証されません。
図 4 に、ラインの方向に制約した節点の例を示します。印のついた節点がハイライト表示されているラインに追従します。一番右にあるハンドルをラインの終点に移動させた場合、制約された節点はラインに沿って移動し、制約されていない節点は影響を受けません。しかし、stretchingが適用された場合、制約されていない節点は、制約されている節点の摂動に一致するよう引き伸ばされ、よりスムーズなメッシュが得られます。さらに、制約された節点に置かれたハンドルは、メッシュの引き伸ばしに使用できます。
注: ハンドルの節点もラインに制約されています。すなわち、ハンドルに摂動が適用される際、ハンドルは再びラインにマッピングされ、制約条件を保持します。


図 4.
bounded
節点の移動が可能な範囲を決定する境界を定義し、その境界と節点との間で維持する最小距離を指定します。この場合、この最小距離よりも境界に近い位置まで節点が移動することはできません。
ベクトル、ライン、プレーン、サーフェス、要素に節点を制約できます。
図 5 は、ラインによって移動範囲を制限され、set distanceを超えて移動できない節点を示しています。最初のケース(下図の上のケース)では、メッシュは拘束により制御された引き延ばしが行われています。しかし、2番目のケース(下図の下のケース)では、制約された節点位置にハンドルを作成する(および移動されるハンドルに従属させる)ことで、移動するハンドルと共に動き、制約に遭遇した際にメッシュに影響を及ぼすことが可能となっています。メッシュのstretchingオプションを適用することで似たような効果を得ることはできますが、ハンドルを使うことでハンドルバイアシング率を調整してストレッチする量を調整できます。


図 5.
set distance
モーフィングの際にこの境界と制約節点との間で維持する必要がある最小距離、またはモーフィングの際に境界プレーンから制約節点までの現在の距離を維持するために必要な最小距離を指定します。
fixed layers
節点の複数の層をターゲット要素からの初期距離に配置します。
set distanceオプションと比較すると、fixed layersオプションは処理が高速なほか、いくつかの面でより高機能です。このオプションは、節点が一致する薄い境界要素が一般的に使用されるCFDメッシュのために開発されました。
注: along vector、along line、on plane、on surface、on elements、on equationの各制約でのみ使用できます。選択された制約タイプによって表示される入力欄は異なります。また、選択された制約タイプとmoves along / bounded / set distance / fixed layersの選択の組み合わせによっても変わります。
measured normal to: 角度の測定基準を選択します。
abv plane
節点a、頂点、節点bによって決まる面に垂直に角度が決まります。
N1N2
メッシュにある2つの節点を選択します。角度はこの2つによって決まるラインに垂直に決まります。
x-axis, y axis, or z-axis
角度は選択されたグローバル軸に垂直に計測されます。
注: angle制約でのみ使用できます。
name = 作成する新しい制約の名称を指定します。

既存の制約を更新する場合は、その名前を入力するか、このボタンを2回クリックして目的の制約を選択します。

node a / vertex / node b 角度の制約で指定する角度を定義します。これらの節点を指定後calculateボタンをクリックすることで、自動的にangle欄に数値が入力されます。
nodes 制約する個々の節点をモデリングウィンドウで選択するか、エンティティ選択の拡張メニューを使用し、一定の基準に基づいて節点のグループを選択します。
node list length制約の境界を定義する節点を選択し、create generic、calculateボタン、measured alongのnode listオプションを設定します。
注: length制約でのみ使用できます。
on plane: 節点の制約先とするプレーンを選択します。
注: plane制約でのみ使用できます。
project along: 選択した節点が制約エンティティ上にない場合、この方向に沿って投影されます。
また、モーフィング中にこのような節点に移動拘束された場合、拘束エンティティから外れてしまう可能性がありますが、モーフィング終了時にはこの方向に投影され拘束エンティティ上に戻ります。(エンティティに沿ったスライドもなく節点を完全に固定したい場合はfixed制約を使用します。)
normal
制約エンティティの法線方向に節点を投影します。
plane and vector selector
軸またはベクトルを選択するか、プレーンの法線を使用することで方向を定義します。


図 6. ラインに垂直に投影


図 7. ベクトルを使用して投影
注: along line、on plane、on surface、on elements、on equationの各制約でのみ使用できます。
radius 節点の制約範囲とする半径を指定します。

equal to、upper bound、lower boundのいずれかのスイッチとcalculateボタンを組み合わせた場合にのみ使用できます。半径は、エッジドメイン、および曲率の中心を求めるための方法(center axis、center line、center node、またはエッジドメインのプレーンから推測するfind center)のうちのいずれかを用いて計測します。

radiusラベルまたはradiusボタンを2回クリックすることで、カリキュレータが表示されます。

注: radius制約でのみ使用できます。
(rotation switch) no rotation、tilt only、spin only、またはfull rotationを選択します。
spinおよびtiltのオプションは、節点がすべて1つのプレーン上にあるcluster制約にのみ適用されます。節点群が1つのプレーン上にない場合は、回転のオプションは常にfull rotationであると見なされます。


図 8. cluster制約


図 9. no rotationを指定したcluster制約


図 10. spinまたはfull rotationを有効にしたcluster制約
注: 制約タイプをconstraintに設定した場合にのみ使用できます。
shapes 既存のシェイプを選択するか、節点リストから一般的なシェイプを作成します。
注: length、angle、radius、arc angle、area、volume、massの各制約でのみ使用できます。
smooth nodes / smooth dep. handles エッジをスムーズにする制約でスプラインに基づく動きをどのように適用するかを選択します。
smooth nodes
節点に直接適用します。
smooth dep. handles
モーフィングを適用したハンドルの間で独立したハンドルに適用します。
注: smooth制約でのみ使用できます。
stretch mesh around nodes
制約されている節点に近いメッシュは、よりスムーズなメッシュを生成するために節点からの距離に比例してストレッチされます。このチェックボックスを非選択にするとメッシュはストレッチされません。


図 11. ストレッチされない場合


図 12. ストレッチされた場合
surf 節点の制約先とするサーフェスを選択します。
注: surf制約でのみ使用できます。
volume 節点の制約範囲とする合計容積を指定します。

このオプションは、equal to、upper bound、lower boundのいずれかのスイッチ、calculateボタン、およびelemsセレクターと組み合わせて使用します。

volumeラベルまたはvolumeボタンを2回クリックすることで、カリキュレータが表示されます。

注: volume制約でのみ使用できます。

Release Nodesサブパネル

Release Nodesサブパネルは、特定の節点に与えられている拘束を解除するのに使用します。個々に節点をピックするか、拡張エンティティ選択メニューを使用して節点を選択します。

Release nodesサブパネルは、nodesセレクターとrelease実行ボタンのみで構成されます。

実行ボタン

ボタン 動作
create 指定した設定によって新規に制約エンティティが作成されます。
update 指定された節点が現在設定されている制約定義によって更新されます。
apply 選択した節点に指定された制約定義が適用されます。なお、対象節点を変更せず、与えられている制約定義の内容を変更/更新する際にも使用できます。
undo 拘束されている節点を元の位置に戻します(例えば、節点がラインに拘束されている場合)。しかし、拘束の関連性は削除されません。

Applyをクリックして同じ制約を再度適用するか(アクティブな制約がすべて適用されます)、別のモーフィング操作を実行します。

redo 最後に実行された操作を再実行します。
reject 制約やシェイプなど、特定のエンティティの作成を取り消します。これは、節点の移動を取り消すだけのundoとは異なります。rejectにより節点の移動も取り消されますが、主な機能は作成したエンティティを削除することです。
release 選択された節点の制約を解除します。
prev 前の式のリストへ移動します。
注: equation制約でのみ使用できます。
next 次の式のリストへ移動します。
注: equation制約でのみ使用できます。
return パネルを終了します。