![]() |
![]() |
![]() |
![]() |
![]() |
戻る | ||||
平面・直線までポイントを移動するスクリプト | ||||
スクリプト名: |
MovePointToPlane for R6 ver2 |
整理番号:script_001 | ||
file名: |
MovePointToPlane.vbs |
ダウンロード MovePointToPlane.lzh (ANSI版) | ||
概略: |
選択した複数のポイント(複数形状にまたがってもOK)を3ポイント(複数形状にまたがってもOK)を選択して定義した平面にぶつかるまでx、y、zいずれかの方向に移動させる。 |
|||
Topへ |
![]() |
![]() |
![]() |
![]() |
![]() |
----------使用方法---------- | ||||
1 | 使用状況 | |||
![]() |
右図は自由曲面(フタ付)を平面が横切っている状況。
実際の場面としては屋根または天井の平面に壁(ポイントでできた線形状や自由曲面など)を合わせる時などを想定。 ※但し掃引体などはポイントを持っているのは元形状だけなので使用できません。 |
|||
2 |
平面を指定 |
|||
![]() |
確認画面に続き左のようなダイアログが出てきたら指定したい平面のポイントを次の図のようにctl+clickなどで3点選択して「OK」を押して下さい。(Shift+dragも、もちろん使えます。) | |||
![]() |
※2点で指定した場合は後で出てくるダイアログで面を固定する必要があります。(3点指定の場合は出てきませんが2点指定の場合は3面図のうちどれを固定するかダイアログに追加で表示されますのでそこで選択してください。)
選択したポイントが1点または4点以上の場合は警告が出ますので再入力してください。 |
|||
3. |
動かすポイントの選択 |
Topへ | ||
![]() |
左のようなダイアログが出てくるので、今度は次の図のように動かしたいポイントを選択します。
他形状にわたって複数のポイントを選択しても問題ありません。 |
|||
![]() |
選択する時に通常と同じように追加形状を選択できます。
選択が終わったら「OK」を押して下さい。 |
|||
3 |
諸条件の入力 |
|||
![]() |
左のようなダイアログが出てきますので,ここでは左のように設定します。
※次のサンプルで示しますがハンドルを持つポイントを動かす時は注意が必要です。InHandle等の選択肢として「削除」、「維持」,、「面合わせ」の3種類が選べるようになっています。 設定が終わったら「OK」を押して下さい。 すると次のようにポイントが平面まで移動します。 |
|||
![]() |
このようになります。 | |||
![]() |
線形状を隠して表示するとこのようになっています。
※この例は長方形で切り取る処理ではありません。長方形の3点を利用して平面を規定し、あくまで無限大の平面に範囲限定なしにポイントを(この場合はy軸方向に)移動させている処理です。 この例で直方体(自由曲面)が長方形の外にあっても 同様にポイントは移動します。 |
|||
![]() |
処理が終わると左図のようなダイアログが出てきますので、良ければはいを押して下さい。
もし「いいえ」押すと形状は通常、全て元通りに復帰します。 |
|||
![]() |
Topへ | |||
-------使用方法(例2)------- | ||||
1 | 自由曲面の円柱のケース | |||
![]() |
ハンドルを持ったケースの例として左のような自由曲面でできた円柱(ふた付)を想定します。
次の図のダイアログボックスが出てくるまでの操作は同じです。 |
|||
![]() |
このダイアログでInHandleとOutHandleを「面合わせ」にします。
面合わせというのはハンドルも(この場合)y軸方向に面にぶつかるまで移動することを意味します。 ここで削除を選ぶと平面上の断面は四角形になってしまいます。 |
|||
![]() |
ご覧のように、面に沿って断面が楕円になって切り取られたようになります。 | |||
![]() |
一方、ダイアログボックスで「維持」を選択するとどうなるでしょう。
次がその例です。 左図のようにInHandleとOutHandleを「維持」にします。 すると下図のようにアンカーポイントは平面上にありますがInHandleとOutHandleは最初の状態のままで平面上にはありません、ピストンのように真中が膨れたようになります。 |
|||
![]() |
使用状況によっては維持したいこともあるので選択肢として用意しておきました。 | |||
Topへ |
![]() |
![]() |
![]() |
![]() |
![]() |
----------注意事項---------- | ||||
このスクリプトは切り取りのスクリプトではありません。 あくまで定義した面までポイントを動かすのが役目です。この例ではポイントを動かした時にたまたま切り取りのようになっただけです。 面がポイントよりも上にあれば,切り取りでは無くて延長されます。
モデリング中に何かの線の延長線上までポイントを動かしたいといった場合にも利用できます。 global座標系に強制してあります。言い換えると移動方向はglobal座標系のxyzに限定されます。 R5でも最初のWorldModeプロパティを削除すれば使用できないことはありませんが選択する際に座標をいじる(ろくろなど)事は避けてください。(ろくろを使わずに透視図で選択できるように,前もって透視図を設定しておくと扱いやすくなります。) 挙動に慣れるまではどうでもいいような形状で試してから使用してください。 尚,このスクリプトの使用によって発生する不具合には一切責任を負いません。 |