2

オブジェクトの穴を選択するためのフレームワークがあります。現在、穴の内側を手動でクリックすることで機能し (「角度による」オプションをオンにして)、穴の内側を選択します。次に、面を削除し、「開いたエッジ」を選択してキャップします。これが私のスクリプトが現在行っていることです。

これはすべて正常に機能しますが、各穴を個別にクリックしたくありません。

大まかに言えば、10 個のモデル (エンジニアリング モデル、ハードサーフェス) があり、各モデルは少なくとも 5000 個の個別のパーツで構成されています。

だから、これは私がトリックを行うかもしれないと思うものです:

1) ソフト選択で各面を 1 つずつ選択します。2) 毎回、選択範囲内の角度を確認します。3) 穴の場合、角度は ~360 です。これは、削除したいものであることがわかります。

助けが必要な部分は、選択した面の合計角度を取得することです。

残りはすでに完了しています。

ケースは単純なボックスで、その中に円柱があり、ブール値を使用してボックスに穴を作成します。

4

1 に答える 1

2

これは私がスクリプトで使用する基本的な関数です。facenormals は正規化されたベクトル (長さ = 1.0 で、[0,0,0] で開始) であり、面の外を指します。

fn getAngle betweentwoFaces face1 face2 =

(-- returns the angle between 2 facenormals

    theAngle = acos(dot face1 face2)

    --format"\tthe Angle: %\n" theAngle --uncomment this listener output if you want.

    return theAngle

)

これがさらに役立つことを願っています

于 2011-06-26T09:58:15.977 に答える