形状を一体化する

  • 分割設定による滑らかさの調整
  • 「ブーリアン記号」から「ブール演算」パートへの切り替え
  • ブール演算結果の固定
  • スクリプトを使用した一括処理
  • キーコンビネーションでのパートの開閉
  • キーコンビネーションで選択形状を内包したパートの作成

このチュートリアルはShade3D Ver.23.2以降で作成しています。
形状作成などの基本操作をショートカットなどを混えて紹介します。
使用しているショートカットキーは初期設定時のものを使用しています。
キーボードショートカットは[ Ctrl ]( Windows ) / [ command ]( macOS )のように表記しています。これは Windows では Ctrl キーを、macOS では command キーを押す操作となります。
[ Ctrl ]( Windows ) / [ command ]( macOS ) + [ x ] では Windows では Ctrl キーと x、macOS では command キーと x を押す操作となります。
[ x ]( Windows ) / ( macOS ) では Windows でも macOS でも x キーを押す操作となります。

各形状の調整をしてポリゴンメッシュに変換

・「ブーリアン記号」でのブーリアン演算から「ブール演算」パートでのブーリアン演算に切り替えます。
・形状の分割数の調整を「形状情報」ウインドウの「分割設定」で行います。
・一体化したときに不正な形状とならないようにマニピュレータでの形状の位置の調整を行います。
・らせん形状に対してスクリプトによる形状の調整を行います。
・それぞれのブール演算結果をブール演算の「和」で一体化します。

記号からブール演算パートへ

ケージを使用するため「ブーリアン記号」でのブール演算を行なっていたネジの先端を「ブール演算」パートでのブール演算に変更します。

「ブラウザ」で「ネジ先端」パート内の「*&自由曲面」パートを選択し、「ブラウザ」の「記号」ポップアップメニューから「ブーリアン記号消去」を選択して「*&」記号を消去します。

「ブラウザ」で「ネジ先端軸」パート内の「自由曲面」パートを選択し、「形状情報」ウィンドウの「自由面属性」 > 「端を閉じる」チェックボックスをオンにして上下の面を作成します。

「ブラウザ」で上記手順の「自由曲面」パートが選択されている状態で[ Ctrl ]( Windows ) / [ command ]( macOS )を押しながら「ブラウザ」の「*&」記号を削除した「自由曲面」パートを追加選択します。

[ z ]( Windows ) / [ option ]( macOS )を押しながら「ブラウザ」で「ブール演算」ポップアップメニューから「ブール演算(ポリゴン):差」を選択し2つの「自由曲面」を内包した「ブール演算(ポリゴン):差」パートを作成します。

スクリプトでの調整

上記の手順で画像のように螺旋形状によるくり抜きができていない場合は、以下のスクリプトを利用した手順で修正します。

螺旋作成時の誤差により発生した形状の重なりによって非多様体となっている部分を解消します。
非多様体についてはこちらの記事をご参照ください。

「ネジ先端軸」パート内 > 「ブール演算(ポリゴン):差」の下側の「自由曲面」パート(「*&」記号を削除したパート)を選択し、[ z ]( Windows ) / [ option ]( macOS ) + [ → ]で中の「閉じた線形状」を全て選択します。

中が「開いた線形状」となっている場合は「自由曲面」パートを選択、「ツールボックス」 > 「編集」 > 「線形状」 > 「編集」グループ > 「切り替え」で「閉じた線形状」に切り替えてから上記手順を実行します。

メインメニューの「表示」 > 「スクリプト」で「スクリプト」ウインドウを表示します。

以下のスクリプトをコピーして「スクリプト」ウインドウに貼り付けます。
このスクリプトは選択している形状全てに対してそれぞれの形状の中心を基点に上下に0.9倍するものです。

sl = xshade.scene().active_shapes
for sp in sl:
	xshade.scene().active_shapes = sp
	xshade.scene().move_object( sp.center_position, [1.0, 0.99, 1.0], None, None )

「スクリプト」ウインドウの「Python」のバージョンが「 3 」以上であることを確認し、「実行」すると全ての「閉じた線形状」の高さが 0.99 倍に縮小されて重なりが解消されます。

手動での調整(参考手順)

スクリプトを使用せずに手動で形状の調整を行う方法も合わせて紹介しておきます。
重なりが発生している部分の線形状の位置を少しずらすことで調整を行います。

※修正方法の参考手順です。スクリプトで調整を行っている場合は、この手順は不要です。

「ネジ先端軸」パート内 > 「ブール演算(ポリゴン):差」の下側の「自由曲面」パート(「*&」記号を削除したパート)を選択し、「ツールボックス」 > 「編集」 > 「線形状」 > 「編集」グループ > 「切り替え」で「開いた線形状」に切り替えます。

切り替えた「自由曲面」パート内の一番上の「開いた線形状」を選択し、[ t ]( Windows ) / ( macOS )で「統合」マニピュレータを表示します。

「正面図」でマニピュレータの「Y軸移動ハンドル」を下にドラッグして「ツールパラメータ」の「移動」に「 0.1 」を入力し「確定」して位置を調整します。

位置の調整

ネジの形状の境界は同位置で、一体化した形状が非多様体となる可能性があるためほんの少し下にずらして形状同士が重なるように修正します。

「ブラウザ」で上の「ネジ頭」パートを選択し、[ t ]( Windows ) / ( macOS )で「統合」マニピュレータを表示します。

「正面図」でマニピュレータの「Y軸移動ハンドル」を下にドラッグして「ツールパラメータ」の「移動」に「 0.1 」を入力し「確定」して位置を調整します。

パート閉じて整理する

ブラウザのパートを閉じて見やすくします。

「ブラウザ」で「ルートパート」を選択し、パート名の左の「 ▶︎ 」を[ z ]( Windows ) / [ option ]( macOS )を押しながらクリックします。

次にキーを押さずに「▼」をクリックして「ルートパート」パートを開きます。キーコンビネーションで閉じたため子階層のパートも全て閉じた状態となっています。
同様のキーコンビネーションで閉じているパートの「▶︎」をクリックすると子階層含めて全てのパートが開きます。

「ネジ頭」パート、「ネジ先端」パート、その下の「ネジ先端軸」パートも同様に「▶︎」をクリックして開きます。

2つのブール演算パートを「和」で融合

「ネジ頭」と「ネジ先端軸」のそれぞれの「ブール演算」パートを「ブール演算(ポリゴン):和」パートに入れて融合します。

「ネジ頭」パート内の「ブール演算(ポリゴン):差」パートを選択したら、[ Ctrl ]( Windows ) / [ command ]( macOS )を押しながら「ネジ先端軸」パート内の「ブール演算(ポリゴン):差」パートを追加選択します。

[ z ]( Windows ) / [ option ]( macOS )を押しながら「ブラウザ」の「ブール演算」ポップアップメニューから「ブール演算(ポリゴン):和」を選択し、選択した2つの「ブール演算(ポリゴン):差」パートを内包した「ブール演算(ポリゴン):和」パートを作成します。(「ブール演算(ポリゴン):和」を押すまでキーは押したままにします。)

ブール演算結果の分割数設定
ネジの頭など、局面部分を滑らかにするために、「形状情報」ウインドウでブール演算結果の分割数を初期値の「 2 」から「 3 」に変更します。

「ブラウザ」で「ブール演算(ポリゴン):和」が選択されている状態で、「形状情報」ウインドウの「分割設定」 > 「分割レベル」を「 2 」から「 3 」にテキストを入力するか、テキストボックス右の「 + 」をクリックして設定します。

ブール演算結果の固定

フローティング形式となっているブール演算結果を固定して単体のポリゴンメッシュを生成します。
ブール演算結果を固定することでレンダリング速度の向上も見込めます。

「ブラウザ」で「ブール演算(ポリゴン):和」パートを選択している状態で「ブラウザ」の「ブール演算」ポップアップメニューより「ブール演算を固定」を選択してそれぞれのブール演算結果を固定した単体の「ポリゴンメッシュ」を生成します。

選択していた「「ブール演算(ポリゴン):和」パートとその中身はグレー表示となり、図面表示とレンダリングの対象外となります。

ブラウザの整理

パート名の変更や不要となったパートを削除します。

「ネジ先端」パートとその中身は不要となりましたので「ブラウザ」で選択し、[ Backspace ]( Windows ) / [ delete ]( macOS )で削除します。
またはメインメニューの「編集」 > 「削除」

同様に「ブール演算(ポリゴン):和」パートを削除します。

「ネジ頭」パートをダブルクリックして名称を「タッピングネジ」と変更して一体化の完成です。

次回はレンダリング用の配置を行います。

カテゴリー: タッピングネジ(皿)を作る