FreeCADの作図方法によるファイルサイズの違いの調査～その1

# Advent calendarの季節がやって来ました。
こんにちは。たいちゃんです。
今年ももう1ヶ月程となってしまいました。
今回はいつも3Dプリンタ用のデータを作るのに愛用している、FreeCADのファイルサイズが作図方法によって変わるのか調べてみたいと思います。

#なぜこんなことを思ったの?
数ヶ月前あるガジェットを3Dプリンタを使って作りたいと思い、その部品となる網目状の板をFreeCADで作ろうとしました。しかし、私の使っているノートPCはNVIDIA等の高度なグラフィックボードが載っていない為か、図形を沢山配置する作業が上手くいきませんでした。
その時思い出したのが、2019/8/14に投稿させて頂いた『[3Dプリンタによるシステム手帳の自作](https://qiita.com/toshita172/items/d4cb43733ac9e06d40f1 "3Dプリンタによるシステム手帳の自作")』です。このシステム手帳には仕切りを兼ねたテンプレートが付属していますが、最初は底面が多角形の柱を使って多角形のテンプレート部を作っていました。後に、FreeCADのSketcherで同一平面に多角形を一度に作っておくとFreeCADの動作が軽くなることに気付き、結局現在のデータは差し替えたものにしました。

#それでは調査です。
##動作環境
・m-Book X400-HS　(CPU : Core i7-8565U メモリ : 16GB)
・Debian GNU/Linux10(buster)
・FreeCAD 0.18

##調査A
幅×奥行き×高さ=40mm×50mm×30mmの直方体で調査
　　　　　　　→これを『図形A』とおきます。

###Sketcherで・・・
![FreeCAD_Test_Sketcher_01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319826/1e05cdbc-f5fc-2c82-6dcf-7549da54dfbe.png)
まずは左下の頂点を原点に合わせ、幅40mm、高さ50mmの長方形を作ります。
![FreeCAD_Test_Sketcher_03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319826/fa6e91e0-2d73-1f6f-979e-07eef5ff4068.png)
Partに切り替えて押し出しで高さ30mmのソリッドを作成します。
![FreeCAD_Test_Sketcher_04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319826/e5a72d6b-871b-e6fa-2e04-2b710f521201.png)
完成です!!
###Partの立方体を使って・・・
![FreeCAD_Test_Cube_01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319826/ef201a7f-5e2c-ca1e-ba04-334e17181342.png)
立方体コマンドをクリックした後、直接Length×Width×Height=40mm×50mm×30mmと設定して完成です!!
###Draftで・・・
![FreeCAD_Test_Draft_01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319826/ff7aa34a-27a6-1b1c-3bb6-574cfd5dee1c.png)
まずは左下の頂点を原点に合わせ、幅40mm、高さ50mmの長方形を作ります。
![FreeCAD_Test_Draft_02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319826/5136325b-d66a-70f3-7a59-025f9b89c715.png)
Partに切り替えて押し出しで高さ30mmのソリッドを作成します。
![FreeCAD_Test_Draft_03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319826/dbad77b7-1f41-1fd9-1d22-2ee3b513c033.png)
完成です!!
###FreeCADのファイルであるFCStdファイルは・・・
![Test_Sketcher_(5-4-3)_FCStd_edit.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319826/fdb125e5-fbfc-b583-f135-e730cb05ae21.png)
SketcherでのFCStdファイルの容量
![Test_Cube_(5-4-3)_FCStd_edit.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319826/a73e5fee-fc5f-8228-95db-3bc364e21c25.png)
Partの立方体でのFCStdファイルの容量
![Test_Draft_(5-4-3)_FCStd_edit.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319826/a365dc59-7000-6f6f-9873-8ccd9641a483.png)
DraftでのFCStdファイルの容量

今回の場合、Partの立方体が一番容量が小さく、Sketcherが2番目に、それに僅差で続き一番容量が大きかったのはDraftとなりました。
###3Dプリンタ造形用ファイルを作る為のSTLファイルは・・・
![Test_Sketcher_(5-4-3)_stl_edit.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319826/2af9b9cd-e9ab-518a-08f3-2c29c04ab181.png)
SketcherでのSTLファイルの容量
![Test_Cube_(5-4-3)_stl_edit.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319826/6784eabf-fc4e-cc58-1edd-6deff95e184f.png)
Partの立方体でのSTLファイルの容量
![Test_Draft_(5-4-3)_stl_edit.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319826/4ef970a4-e9e0-ee9f-12d8-88b42b218f86.png)
DraftでのSTLファイルの容量

STLファイルについては差は出ませんでした。
##調査B
調査Aの幅×奥行き×高さ=40mm×50mm×30mmの直方体に、上部から幅×奥行き=20mm×30mmの長方形にて壁厚10mmになるように中抜きをした図形で調査
　　　　　　　→これを『図形B』とおきます。
###Sketcherで・・・
![FreeCAD_Test_Sketcher_b_01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319826/782fc907-7d6f-5392-36b8-f433092faa70.png)
まずは先程の図形を作成し、幅20mm、高さ30mmの長方形を先程の長方形内に肉厚10mmにて作ります。
![FreeCAD_Test_Sketcher_b_04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319826/bd2be647-31d8-b095-6fc6-8e4cab2d98d1.png)
Partに切り替えて押し出しで高さ30mmのソリッドを作成して完成!!
###Partの立方体を使って・・・
![FreeCAD_Test_Cube_b_03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319826/98bfc089-724b-ab52-b25d-e9da14a6d548.png)
まずは先程の図形を作成し、幅20mm、奥行き30mm、高さ30mmの直方体を先程の長方形内に肉厚10mmになるように作ります。
![FreeCAD_Test_Cube_b_04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319826/3fca38a6-9ce8-7f30-45ba-7a78575901c6.png)
その後、「ブーリアン演算」の「差集合」を使用して完成です！！
###Draftで・・・
![FreeCAD_Test_Draft_b_03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319826/ed59bbe5-09c9-81eb-b138-7dc0963876fa.png)
まずは先程の図形を作成し、10mmでオフセット図形のコピーを作ります。
![FreeCAD_Test_Draft_b_06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319826/0d20af27-2287-ba9e-3fec-e47df5e2eb7b.png)
Partに切り替えて押し出しで高さ30mmのソリッドを作成しますが、Draftはパーツごとに対象図形が読み込まれるらしく、2個の直方体を押し出すことになりました。
![FreeCAD_Test_Draft_b_08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319826/454234e0-0e21-aa04-2675-da74f89f135c.png)
その後、立方体のときと同様、2個の直方体に対し、「ブーリアン演算」の「差集合」を使用して完成です!!
###FreeCADのファイルであるFCStdファイルは・・・
![Test_Sketcher_(5-4-3)_b_FCStd_edit.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319826/481e61a5-9455-b0fa-4940-a788e9a204ad.png)
SketcherでのFCStdファイルの容量
![Test_Cube_(5-4-3)_b_FCStd_edit.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319826/f29b6fed-669b-9096-2856-1b22324f10f2.png)
Partの立方体でのFCStdファイルの容量
![Test_Draft_(5-4-3)_b_FCStd_edit.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319826/c383f782-54b8-22b2-309d-7e36613445e1.png)
DraftでのFCStdファイルの容量

今回の場合は、Sketcherが一番容量が小さく、Partの立方体が2番目になりました。一番容量が大きかったのはDraftでした。
###3Dプリンタ造形用ファイルを作る為のSTLファイルは・・・
![Test_Sketcher_(5-4-3)_b_stl_edit.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319826/c59ef1bd-e6c0-73ba-e024-003b96660431.png)
SketcherでのSTLファイルの容量
![Test_Cube_(5-4-3)_b_stl_edit.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319826/a5c14195-6f76-afd9-0ebc-e6369cc7946b.png)
Partの立方体でのSTLファイルの容量
![Test_Draft_(5-4-3)_b_stl_edit.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319826/30fd0c48-aa2f-2f51-4079-029e77795796.png)
DraftでのSTLファイルの容量

こちらもSTLファイルについては差は出ませんでした。

##考察
・今回の図形では単純な図形AであればFreeCADのファイルであるFCStdファイルのサイズはコマンド1つのPartでの立方体が一番容量が小さかったです。
・一方少し複雑な図形Bの場合はSketcherを使用した方が容量を小さく出来ました。

この2点を考えると、操作の少ない図形の作り方で容量を小さく出来る可能性があると考えられます。

最後迄お付き合い下さり、有難うございました。