編集履歴一覧に戻る
verylowfreqのアイコン画像

verylowfreq が 2022年07月18日15時18分43秒 に編集

初版

タイトルの変更

+

3D CAD SolveSpace入門 (3) : RPi Zero 2 Wのケースを作る

タグの変更

+

CAD

+

SolveSpace

+

3Dプリンター

+

RaspberryPi

メイン画像の変更

メイン画像が設定されました

記事種類の変更

+

セットアップや使用方法

本文の変更

+

この記事は続きものです。 1. [3D CAD SolveSpace入門 (1) : 導入、直方体の作成](https://elchika.com/article/39d9d040-90b7-4367-a7cf-ab7ed4b1313b/) 2. [3D CAD SolveSpace入門 (2) : 作業平面を指定してスケッチ、押し出し、切り取り](https://elchika.com/article/63639872-db52-454b-bf1a-d27654d1c756/) 3. 3D CAD SolveSpace入門 (3) : RPi Zero 2 Wのケースを作る(この記事) 前回までで、シンプルな構造はもう組めるようになりました。今回は実例として、Raspberry Pi Zero 2 Wのケースを設計してみます。 また、ちょっとだけですが、三次元空間内でスケッチをする機能も使ってみます。 ## RPi Zero 2 Wのモデルを作る まずはRPi Zero 2 Wのモデルを作成します。公式の図面だけでは不十分なので、ノギスで実物を測りながら作っていきます。 RPi Zero 2 Wデータシート概要(PDF): https://datasheets.raspberrypi.com/rpizero2/raspberry-pi-zero-2-w-product-brief.pdf モデルを作る際に、画面内ですぐに確認できたり図面と重ね合わせたりできると便利なので、形状を作る前に画像を差し込みます。アイコンの「**ファイルから画像を取り込む**」、もしくはメニューの「**スケッチ → 画像**」から、画像ファイルを選択して取り込みます。 ![画像を差し込む](https://camo.elchika.com/50c11f18c275b82723ca36db184cdc3b333e76c8/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f32376633303665652d656131352d343334662d626333342d6162343139336638333839392f35646536393861612d646531642d343038622d616235612d386562316439363238343736/) 最初に、上から見た形状を一気に補助線として書き込みます。 ![](https://camo.elchika.com/0e10eb19c3cbf7c198bcb538428dfb25a20c88e9/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f32376633303665652d656131352d343334662d626333342d6162343139336638333839392f35356664623339302d613335632d346461662d386662342d326233656234656333326238/) このあとは、要素ごとに厚みを作っていきます。 ![](https://camo.elchika.com/326203841a6a40e8e26d0eb91b173eb05060702c/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f32376633303665652d656131352d343334662d626333342d6162343139336638333839392f36303730626433312d323736302d346332352d623135632d373265316432353332366438/) こんな感じになりました。 ![](https://camo.elchika.com/65458ec0577480d96e4adb3dfde2602da6563481/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f32376633303665652d656131352d343334662d626333342d6162343139336638333839392f63386330353362642d323832312d343361322d623835352d373233323236656635396337/) RPi Zero 2 Wモデル単独でファイルに保存します。あとでアセンブリとして別ファイルから参照することになりますが、保存時に表示されている要素がそのまま当該ファイル内で見えるようになるので、不要なスケッチなどは非表示にしてから保存しましょう。 基本的には「スケッチはすべて非表示、押し出しはすべて表示」でだいたい十分だと思います。 ## ケースを作る はめ込み式のケースを作ることにします。あらかじめ完成写真を示します。 ![設計するケースの実物](https://camo.elchika.com/c8f2e77152f0b3b880afb1274d6745c9a3ec304b/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f32376633303665652d656131352d343334662d626333342d6162343139336638333839392f31626438633863642d373161362d343762662d613237662d623763616534366531396363/) ※さきに注意を書いておくと、以下では一つのファイルの中でフタとボトムを作っていますが、ファイルは分けたほうが取り回しが良いです。(ソリッドのかたまり単位で表示非表示ができないため、「フタだけ見たい」「ボトム側だけ見たい」というときに操作が煩雑になります。) まずは作成したRPi Zero 2 Wのモデルを、アセンブリとして追加します。アイコンの「**他のファイルをリンクする**」、もしくはメニューの「**グループ → リンク・アセンブル**」から、他のファイルを参照して追加します。追加した直後のアセンブリは自由に動かすことができます。 ![追加直後はアセンブリを動かせる](https://camo.elchika.com/057e3dd0d0a5bd1d191b5a5e30d0f289f8fd9208/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f32376633303665652d656131352d343334662d626333342d6162343139336638333839392f65343261666230362d366263662d346632612d616232302d363532363531336263666237/) 拘束を使って動かないようにすることができます。ここでは原点との一致やXYZ軸との平行を利用して固定しました。 ![アセンブリを拘束](https://camo.elchika.com/3b595c660939be0281091250a3681e2dcba9f195/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f32376633303665652d656131352d343334662d626333342d6162343139336638333839392f63626332363232652d623863662d343833322d623634322d643361393536303430353630/) ボトム側のケースは、基板背面を作業平面としてスケッチを開始します。基板を浮かせるための足を作って、その先で底面を作ります。 ![](https://camo.elchika.com/e42511d2edcc6ce137365b632dcac0d74beca648/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f32376633303665652d656131352d343334662d626333342d6162343139336638333839392f61333133323162372d333738302d343338392d613431362d313832343161303166316462/) つぎにフタを作ります。フタはボトム側から0.2mmだけ浮かせた状態でスケッチしたいので、三次元空間内でスケッチする機能を活用します。つまり、平面の定義に必要な「点と2つの線分」を空中に配置します。 アイコンの「**三次元空間内でスケッチを開始**」、もしくはメニューの「**グループ → 三次元空間内でスケッチをはじめる**」、もしくはキーボード **Shift + 3** で、新しいグループが作られます。このなかでスケッチをしていきますが、作業平面上ではないので、カメラ位置や拘束を駆使して、思った位置にオブジェクトを配置していきます。 ![ざっくりと線分を配置](https://camo.elchika.com/1e2195d2fd517c06b077189c24f857be5d9404db/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f32376633303665652d656131352d343334662d626333342d6162343139336638333839392f38623363633938312d316631642d343538362d626334652d386536323866393933383865/) この視点からだとよくわかりませんが、カメラをズラすと見当違いの場所に線分があることがわかります。 ![実際にはズレている](https://camo.elchika.com/0da5de135a086d98560a4e2982646a7848bc97fd/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f32376633303665652d656131352d343334662d626333342d6162343139336638333839392f30626332613064332d346264362d343665322d613932642d333531353038366632366430/) 平行拘束を適用して、斜めではなくまっすぐな配置にしていきます。 ![拘束済み](https://camo.elchika.com/4cf9985fc4ef9135df58554ec55c2a10c13a7da1/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f32376633303665652d656131352d343334662d626333342d6162343139336638333839392f37656166373036642d646337372d343532322d393866322d666335663532343861373863/) これで、ボトム側の0.2mm上空に「点と2つの線分」ができたので、ここに作業平面を作っていきます。 さて、SolveSpaceの弱い点のひとつとして、「押し出し・切り取り操作が失敗しがち」というものがあります。なんの問題もなさそうな「きれいに一致した線分」や「曲線」がしばしばエラーを引き起こします。正確な原因を調べる方法は(私の知る限りでは)ないので、「微妙にずらして誤魔化す」となってしまいます。 平たい板にしたフタの端を丸めようとして以下のようにスケッチしましたが、これを押し出すとエラーになります。(ソリッドやフェイスの縁取りが太い赤線になる。) ![フタの端っこの丸めのスケッチ](https://camo.elchika.com/81da9c746b96cc0b050477131a56a27e0b1c9b30/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f32376633303665652d656131352d343334662d626333342d6162343139336638333839392f34386566383261352d373966622d343364302d626332342d393833636166613337366462/) ![押し出しがエラーとなっている](https://camo.elchika.com/3b8ca2cb0c868dcdf8a83d9d5ea9d7b3de22932c/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f32376633303665652d656131352d343334662d626333342d6162343139336638333839392f66316639346135372d326337342d343130622d393565612d346162643630633264306438/) 今回は「フタからキレイに連続したソリッドではなく、わずかに食い込んだソリッドとして形作る」ことで、エラーを回避しました。 ![わずかに食い込ませたスケッチ](https://camo.elchika.com/2a7964c451b172fe2f135f00f12e081dce62ca2d/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f32376633303665652d656131352d343334662d626333342d6162343139336638333839392f66393939353961642d373832652d343062322d626335612d323966656431356364356636/) ![押し出しのエラーを回避](https://camo.elchika.com/229a50d39484b58c86321f2ee324674a167d778a/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f32376633303665652d656131352d343334662d626333342d6162343139336638333839392f35326461323739352d393565662d343231342d613335612d613637373533326439376334/) 釈然としない方もいるとは思いますが、いまのところはこういう感じです。エラーになりそうな操作には傾向があるので、押し出しの順序や方向に気を付けてスケッチをしていくと遭遇率が下げられます(たぶん)。 (`force NURBS surfaces to triangle mesh`を有効にするとエラーは発生しなくなりますがCAD的な操作に制約がかかってしまうので、万能の解決策ではありません。) 出来上がった様子がこちらです。フタとボトムを同じファイルに入れてしまったため、片方だけを表示するには、押し出しグループをひとつずつ表示抑制オプションの切り替えをしていくことになってしまいました(ひとつずつextrudeグループを選択して、`supress this group's solid model`を切り替える)。 ![](https://camo.elchika.com/4ab1fcf083d0efe4f22d83eae91f2c30ed21a433/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f32376633303665652d656131352d343334662d626333342d6162343139336638333839392f61663965346535662d353065352d343633332d623739652d383731633735386139393231/) STL形式で出力するには、メニューの「**ファイル → 三角メッシュでエクスポート**」を選択します。これをスライサーに持っていきスライスしますが、おそらく破損したモデルとして警告が出ると思いますので、スライサー側で修正します(形状に変化はなく、修正しなくてもたぶん問題はないですが、念のため)。 おまけでスライサーのスクショです。スライサーはPrusaSlicer、機種は Creality3D Ender-2 。 ![PrusaSlicer](https://camo.elchika.com/57f0f2cf0801435589873eae1833f48019295df3/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f32376633303665652d656131352d343334662d626333342d6162343139336638333839392f31363065663832362d636664342d346238372d623163382d396138636431656363366636/) 印刷するとこうなりました。はめ込み部分も機能しています。押さえのパーツが足りなくて、USBやHDMIのケーブルを差し込もうとすると基板が奥へズレてしまいますが致命的ではないので、ひとまず良しとします。 ![印刷したケース(再掲)](https://camo.elchika.com/c8f2e77152f0b3b880afb1274d6745c9a3ec304b/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f32376633303665652d656131352d343334662d626333342d6162343139336638333839392f31626438633863642d373161362d343762662d613237662d623763616534366531396363/) ## まとめ 実際の製作を例に、SolveSpaceの作業の流れを見ていきました。これでいろいろなものが作れるようになったと思うので、パーツライブラリを構築したり、作品を組んだりできるようになったことでしょう。 なお今回はSolveSpaceだけで完結させましたが、STEPでエクスポートしてFusion360で下処理のうえSTL変換する、というのもアリだと思います。全方位万能CADではないですがデータの自由が効くので、うまい作業フローに落とし込めれば良いと思います。 次回記事へ続く(?)