Skip to main content

3Dプリンタ

工房にある3Dプリンタは「ダヴィンチ da Vinci 1.0」(XYZ printing)と「Afinia H480」です。工房では、OpenSCADSketchUp、個人が持っているソフトで設計して3Dプリントしています。

3Dプリンタで制作した作品」は、工房で3Dプリントした作品です。

また下のリストは「ダヴィンチ da Vinci 1.0」を使い始めた頃の覚書です。

3Dプリンタで制作した作品

歯車です。カラカラよく回ります。

作品集その9

ゲームのコマです。キャラクタを印刷した紙を挟んで使います。

作品集その9

蝶番です。

作品集その9

3D矢印です。100均で購入できるネオジム磁石をつけると冷蔵庫などにくっつきます。メモを貼るといいかも。

作品集その8 作品集その8

でか3D矢印です。高校物理の授業で磁界の向きを説明するのに重宝しそうです。

作品集その8

和柄のコースターです。いろいろな模様を試しています。

作品集その7 作品集その7 作品集その7

LEDキャップ(ボトルキャップ工作用)です。LEDを取り付けたペットボトルのキャップの上からかぶせます。

作品集その6

点字(ブライユフォント)プレートです。

作品集その5

ダヴィンチのサンプルです。バギっと折ったら、中は自動計算して支柱をプリントしていました。

作品集その1

つくればくんです。

作品集その2

「つくれば工房、やってるよぉ~」(毎週土曜日13:30~16:30)

作品集その3

ネームプレートです。

作品集その4

工房にある3Dプリンタは「ダヴィンチ da Vinci 1.0」(XYZ printing)

つくれば工房に常設している3Dプリンタは、XYZ printing の「ダヴィンチ da Vinci 1.0」です。2014年5月末にAmazonから購入しました。

常設している3Dプリンタ「ダヴィンチ da Vinci 1.0」

フィラメントの素材は「ABS樹脂」、つまり、普通のプラスチックです。大きさ20×20×20cmまでのものを、一度に一色のフィラメントを使って、下から上へ層を積み重ねるように、3Dプリントします。

3Dプリントしているところ

組み立て

梱包を解き、内容を確認後、2・3の部品を取り付け、フィラメントカートリッジをセットするくらいでした。

セットアップ

パソコンに、3Dプリンタ付属のドライバ・専用ソフトをインストールします。

対応OSは、Windows7以上、もしくは、Mac OSX 10.8 64-bit 以上ということです。

3Dプリントする

  1. 3Dデータを用意する
    プリントしたい3Dデータを、stl形式ファイル(もしくは、XYZ形式ファイル(.3w))で用意します。
    ※ つくれば工房で考察した、stl形式ファイルを用意するまでのさまざまなアプローチについては、下記「stl形式ファイルを用意する」にまとめました。
  2. 3Dプリンタの電源を入れる
    3Dプリンタの電源をコンセントに差し込み、3DプリンタとパソコンをUSBケーブルで接続後、3Dプリンタ・パソコンともに電源を入れます。
  3. プリント台に「のり」を塗る
    ※ 「のり」を塗る理由とは?
    プリントして出来上がる作品はABS樹脂(プラスチック)で、プリント台はガラスです。プリントした後十分に冷ますと、比較的容易にプリント台から作品が取り出せます。あらかじめのりを塗ると、作品を取り出すとき、プリント台に張り付いてなかなか取れない場合があります。が、作品のうち、プリント台に接している面で先の尖った部分は、プリント台も温められていることもあり、途中でちじれてしまうことがあります。これを防ぐためにのりを塗るのではないかと思われます。
  4. 3Dプリントする
    1.で用意した3Dデータを、あらかじめインストールした専用ソフトで開きます。ここでは、3Dデータをプレビュー(ズーム・回転して確認することができます)したり、プリントサイズを調整することができます。
    最後に品質などパラメータを決定後、印刷ボタンをクリックすると、3Dプリントします。

メンテナンス

ダヴィンチ da Vinci 1.0」は、一度に一色のフィラメントを使って、3Dプリントします。色を替えたいとき、フィラメントがなくなったときは、フィラメントカートリッジを取り替えます。

また、3Dプリントが終わったら、布を水で濡らして固く絞り、プリント台を丁寧に拭き取ります。特に「のり」を綺麗に拭き取ります。

ヘッドに対してプリント台が傾くと、ヘッドがプリント台に接触し、正しくプリントしない場合があります。その時は、「ダヴィンチ da Vinci 1.0」の操作パネルに表示されるメニューに「キャリブレーション」がありますので、取扱説明書にしたがって、調節します。

stl形式ファイルを用意する

stl形式ファイルは、3Dデータをプリントするときによく用いられるファイル形式です。3Dプリンタとしてよく知られている「MakerBot」も、stl形式ファイルから3Dプリントすることができます。

ここでは、つくれば工房で考察した、stl形式ファイルを用意するまでのさまざまなアプローチをまとめてみました。(このほかにも様々な方法があると思います。)

インターネット上に公開されているstlファイルをダウンロードする

などなど、たくさんあります。

やってみました!

MakerBot Thingiverse」から、子犬の3Dデータ(Dog.stl)をダウンロードし、ダヴィンチ da Vinci 1.0 で3Dプリントしたものが、下の写真です。黒のフィラメントを使いました。また、サイズを小さくして、高さ4cmくらいにしました。

stlファイルをダウンロードして、3Dプリントした子犬

プリント台にのりを塗り忘れたので、尻尾をプリントする途中でひっぱられたのか?熱のためか?ちじれてしまいました。

子犬の3D形状

また、子犬の背中に文字でサインを入れたところ、文字の線が細すぎてつぶれてしまいました。ストラップにしようと思い、子犬の頭にリングを付けましたが、これはフィラメントが垂れてしまい、つぶれてしまいました。

3D CAD、3DCGなどの3Dモデラーを使って3Dモデリングし、stlファイルに書き出す

3Dモデリングする知識を習得する必要があります。

stlファイルに書き出すことのできるソフトを選んでください。

などなど、たくさんあります。

画像ファイルから、3Dデータを作成し、stlファイルに書き出す

この方法で3Dデータを作成するイメージは、2Dデータである画像ファイルに、高さ?厚み?をつけて3Dにする、というものです。

Windowsに付属の「ペイント」か、もしくは、「gimp」と、「Inkscape」、「OpenSCAD」を使います。

途中で、「Inkscape」から「OpenSCAD」が読み込み可能なファイルへ書き出します。これをするためにあらかじめ、Inkscapeのエックステンションに機能を追加する必要があります。Inkscapeのエックステンションに機能を追加する方法については、こちらのサイトをご覧いただき、あらかじめ機能を追加しておいてください。「Inkscape to OpenSCAD converter v6

  1. 画像ファイルを用意するか、描画ソフト(ペイントや gimpなど)で描画し、画像ファイルとして保存します。
  2. 1.で用意、もしくは、保存した画像ファイルを、Inkscapeで開きます。
  3. 画像をトレースして形状をパスに変換します。そのためにまず、画像全体を選択します。次に、Inkscapeの上部のメニューにある[パス]ー[ビットマップをトレース...]を実行します。その際、[モード]タブの[単一スキャン]で[明るさの境界]のしきい値を0.8前後に設定します。
  4. Inkscape」から「OpenSCAD」が読み込み可能なファイル(.scad形式ファイル)へ書き出します。Inkscapeの上部のメニューにある[エックステンション]ー[パスから生成]ー[Paths to OpenSCAD...]を実行します。このとき、「Height(mm)」に高さ?厚み?を数値で入力します。
  5. 4.で書き出した.scad形式ファイルを、OpenSCADで開きます。
  6. コンパイルします。OpenSCADの上部のメニューにある[Design]ー[Compile and Render (CGAL)]を実行します。
  7. もし思ったとおりに表示されなかった場合は、ソースコードを編集するか、3.で設定値を変更してやり直します。
  8. うまくいったら、.stl形式ファイルに書き出します。OpenSCADの上部のメニューにある[File]ー[Export]ー[Export as STL...]を実行します。

使用した画像ファイルによっては、思うように3Dデータが作成されないことがあります。

Windowsのペイントで画像を描画するとき、ペンタブレットが使えました。手書きのサインを3Dデータにしてみましたが、うまくいきました。ただ、ペイントで選べるペンの太さが最大でも細くて、そのまま3Dプリントするとつぶれる場合があります。

Windowsのペイントやgimpは、ビットマップ系描画ソフトです。

Inkscapeはベクター系描画ソフトです。ここからスタートとしても良いです。

OpenSCADで直接3Dデータを制作してもいいです。(これは、上記に記載した「3D CAD、3DCGなどの3Dモデラーを使って3Dモデリングし、stlファイルに書き出す」の方法になります。)

つくればくん
つくればくん

やってみました!

  1. 「つくればくん」画像ファイルがあります。
  2. これを、Inkscapeで開きます。
  3. ビットマップをトレースして形状をパスに変換します。
    [モード]タブの[単一スキャン]で[明るさの境界]のしきい値を0.8に設定して、トレースしました。この設定値は、一番細かい目の白い瞳がつぶれない値でした。
  4. Openscad形式ファイルに書き出します。
  5. 書き出したファイルをOpenSCADで開きます。
  6. コンパイルます。あれ、目と口がない!
    つくればくんを編集中です
  7. 左ペインに表示されているソースコードを読みます。
    ソースコードを読むと、以下のポリゴンが生成されていました。
    (ポリゴン1). 顔を表す直方体
    (ポリゴン2). 顔の輪郭を除く内側を表す直方体
    (ポリゴン3). 口
    (ポリゴン4). 右目の各部分
    (ポリゴン5). 左目の各部分
    (ポリゴン1)引く(ポリゴン2)引く(ポリゴン3)引く(ポリゴン4)引く(ポリゴン5)と計算されていましたので、結果、顔の輪郭だけが残ったようです。
    これを、
    [(ポリゴン1)引く(ポリゴン2)] 足す(ポリゴン3)足す(ポリゴン4)足す(ポリゴン5)と書き換えたところ、みごと、つくればくんができました!
  8. つくればくんとは別に、Openscad上で土台となるプレート(リング付き)を作り、つくればくんを載せて、3Dプリントしたのが下の写真です。
つくればくんです

スマホやデジカメで撮影した写真から、3Dデータを作成し、stlファイルとして保存する

Autodesk 123D catch」 を使います。

  1. スマホやデジカメで3Dプリントしたい対象物(人物・ペット・いすなどなんでも)の周囲を360度ぐるっと20枚以上撮影します。
  2. 撮影した写真をオンライン上の Autodesk 123D catch ページへアップロードします。
  3. 指示に従って進んでいくと、写真から3Dデータができあがります。
  4. できた3Dデータをstlファイルとして保存します。
  5. また、できた3Dデータを編集できますが、別途 Free PC 用の「123D Catch」をダウンロードして編集するようになります。

やってみました!

自宅で、わんこの周りを一周。部屋の真ん中に寝かしつけるのが大変でした。

20枚以上撮影した写真

Autodesk 123D catch へアップロードし、3Dデータに。

(1,1,1)から原点を見た方向。やったぁ~。

Autodesk 123D catch でできあがった3Dデータ

真っ正面を見る。ちゃんと顔が見える。

Autodesk 123D catch でできあがった3Dデータ

真上から見る。あれ、半分ない・・・。

Autodesk 123D catch でできあがった3Dデータ

反対側から見る。べこっと凹んでる!

Autodesk 123D catch でできあがった3Dデータ

どうも、撮影対象物全体に均一に光が当たっていないと、影側がべこっと凹むようです・・・。

このあと、何度も挑戦しましたが、うまくいきませんでした。

一応、stlファイルに保存して、どうなっているか見てみました。なんとなく、「わんこ」ということがわかります。

Autodesk 123D catch でできあがった3Dデータ

Kinectを3Dスキャナーにして対象物をスキャンし、3Dデータを作成して、stlファイルに書き出す

Kinectを3Dスキャナーとして使います。そのために、Kinectから得られる距離データ・ポイントクラウドから3Dデータを作成するフリーのソフトを使います。下記の一覧がそれです。他にもたくさんあります。

  • SCENECT(OpenNIドライバ用)
  • Skanect(Kinect for Windows SDK用)

また、3Dデータを3Dプリント可能なメッシュに変換・編集するMeshLabを使います。

  1. Kinectとフリーソフトを使って、3Dプリントしたい対象物(人物・ペット・いすなどなんでも)の周囲を360度ぐるっと3Dスキャンします。
  2. 3Dスキャンして得られた3Dデータを書き出し、MeshLabでメッシュを編集後、stlファイルに書き出します。

下記WEBページを参考にしながら、SCENECT を使ってやってみました! Kinectは、「Xbox360 Kinectセンサー」を使いました。

Kinectを3Dスキャナーとして使う

あらかじめ、SCENECT をパソコンにインストールし、Kinectとパソコンを接続します。

SCENECT を起動後、プロジェクトを新規作成し、「Live Tracking」なるものをセッティング(デフォルト値を使用しました。Kinectから得られる距離データの、3Dスキャンデータとして使う上限値を表していると思われる「Max.Range」の値を確認します。これが、Kinectと対象物との距離になると思われます。)して、いざ、3Dスキャン開始!

Kinectを3Dスキャナーとして使う
眠たかったんです・・・。

スキャン中は、SCENECT のプレビュー画面にリアルタイムに3Dデータがレンダリングされます。また、Kinectの軌跡も表示されます。

Kinectを手に、人物の周囲をゆ~っくり360度ぐるっと3Dスキャン・・・!?したいところですが、途中でケーブルにつまづいたり、人物がフレームアウトしたり、くしゃみしたり。なかなか360度回転できませんでした。

が、どうにかこうにか撮り終えたのが下の画像。

顔にひびが入ってる・・・。どこかでKinectを傾けた模様。

Kinectを3Dスキャナーとして使う

右側・・・。

Kinectを3Dスキャナーとして使う

左側。こちらはきれいに撮れています!

Kinectを3Dスキャナーとして使う

後ろ。

Kinectを3Dスキャナーとして使う

真上。頭に穴が開いている・・・。Kinectの軌道が楕円・・・。ひび割れたのはこれが原因?

Kinectを3Dスキャナーとして使う

と・・・、とりあえず、360度ぐるりとまともに3Dスキャンできたのがこれだけでしたので、と・・・、とりあえず、メッシュ編集するために、VRML形式でエクスポート、それを、「MeshLab」にインポートします。

メッシュ編集前。

MeshLabでメッシュの編集を行う

メッシュ編集後。中心を貫いていた空洞が、メッシュで塞がれました。

MeshLabでメッシュの編集を行う

上記に記載した参考WEBページを参考に、今回、MeshLabでメッシュの編集として実行したコマンドは、以下の2点です。

  1. [Filters]ー[Normals, Curvatures and Orientation]ー[Compute normals for points set]を選択し、「Neighbour num」を「15」に設定し、[Apply]ボタンをクリックします。
  2. [Filters]ー[Remeshing, Simplification and Reconstruction]ー[Surface Reconstruction: Poisson]を選択し、「Octree Depth」を「7」に、「Solver Divide」を「8」に設定し、[Apply]ボタンをクリックします。

最後に、stlファイルへ書き出します。どうなっているか見てみました。ちょっとこわい・・・。でもこれで3Dプリントできるはず、です。

stlファイルを見る
↑ 先頭