DMMの3Dプリントでフルカラーキーキャップを自作する

この記事は自作キーボードカレンダー1枚目、15日目の記事です
https://adventar.org/calendars/4332


こういうのが誰でも作れるよっていう記事です。データ自体も最後に公開します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261659/7430456f-e441-8bef-8a2b-a9fb58438640.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261659/4e7b63e1-ada7-7227-4513-b06d0331f6cf.png)


時刻は既に12月15日深夜２時。やっと記事執筆に着手するわけですが、
コミケで出す静電容量自作キーボードの原稿も終わってません。
慌てて書いているので、多少の誤字や読みにくさには目を瞑ってもらえると幸いです。


### Artisanキーキャップが今アツい
Artisanキーキャップの自作は先人達の研究と技術公開により
2019年に一気に花開いた印象があります。

遊舎工房でもArtisan作成ワークショップが複数回開かれ、ついには道具の時間貸しも始まりました。
個々のクオリティはとても高いのですが、アナログな方法な為大量生産出来ないという欠点がありました。
人気作家の作品はすぐに完売、なんとか出来ないかと3Dプリンターを使う方法に注目しました。

DMM.makeのフルカラープラスチックや石膏というフルカラー系の素材を使ったりしましたが
キーキャップとして使うには手触りや強度、コストに納得出来ず
色だけを後から筆で塗る形式も、ムラや己の不器用さの前に砕け散りました。

### 救世主マルチマテリアル
2019年の４月頃でしょうか。私の中で衝撃的な出来事がありました。

DMM.makeの3Dプリントサービスに、マルチマテリアルという造形方法があったのですが
一般ユーザーにも解禁されたのです
https://make.dmm.com/print/material/64/

「手頃な価格」「とても丈夫」「発色も結構いい」「透明素材使用可能」
とまさに願ったりの性能でした。
しかしデータの作成方法についてほとんど資料がなく随分苦労しました。

天下一キーボードわいわい会Vol2で登壇し、作成方法について共有しましたが
なにせマルチマテリアルを触ってまだ2か月。曖昧な点が多くあまり多くは伝えられませんでした。
当時のスライドはこちらになりますが、今回は新しく判明した点を交え、知っていることを全て伝えようと思います。
https://www.slideshare.net/ginjake/3d-143900349


## 1 モデリングしてstlを作る
好きなモデリングソフトを用いてstlを作ります。
モデリングソフトの使い方については、ググればたくさん出てくると思うので割愛します。
重要なのは、**出したい色ごとにstlを分ける**　ということです
冒頭にも上げたシャチキーキャップならば、「透明部分」「黒い部分」「白い部分」と3つのstlに分けて出力しています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261659/a0245423-3e9b-685b-35ca-328cc07e6d0e.png)



## 2 GrabCadで色を設定
### 必要なものをダウンロード
https://make.dmm.com/print/material/64/ にアクセスして
「GrabCAD Printダウンロードページ」からソフトをダウンロード、(会員登録が必要)
「オーダー用GrabCADプロジェクトファイル」から
テンプレートファイルも落としておきます。
DMM.makeのプリンター用の設定が既にされているので、これを開いて編集していく形になります。


### stlのインポート
起動したら、「アセンブリとしてSTLを追加」を選びます。
他にもインポートっぽいところはありますが罠なので気を付けましょう

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261659/b10ed1de-df00-1988-4417-3ed38baf4ff4.png)

色ごとに分けたSTLを、複数選択で一気に追加します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261659/a0d4b51a-1fbd-89ce-7124-e6bbc1c3387e.png)

### エラーの修正
なんだかエラーが出てます。矢印の箇所を押して修正します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261659/b835feaa-7f41-c8f0-eb6c-11f4dfeb3457.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261659/835f9721-8f61-9954-4a51-378399985f0d.png)

### モデルビュー
なんと自動でエラーを直してくれます。直ったらモデルビューに戻りましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261659/aff26646-0c73-d9fc-68a5-96250b97c700.png)

最初の状態だとウィンドウが邪魔で見えませんが、カメラを動かすと問題なく読み込めてるようです。
マウスのホイールで拡大縮小、右クリックしながらの移動でカメラを動かすことが出来ます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261659/c12470e5-cee6-a5d2-b5fa-803868a27e9c.png)

### 色の設定
該当のパーツを選んで
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261659/b7389fc1-f4ee-efbd-09b1-2b5121e279b0.png)

右側のパネルからモデル設定を選び
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261659/44e3ddc0-a9c4-36c4-467c-0e24627364a7.png)


カラーパレット式ではなく、選択式を選びます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261659/035c2fd9-a6b7-2332-f91f-30eaeda1bcde.png)

こんな画面になりました。上から説明してきます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261659/f15a3a5e-55bd-d98e-5d3c-ce21696807af.png)



#### 1 トレイの材料
マルチマテリアルは複数の素材を混ぜる事で、表現したい色を印刷しています
絵の具でも、赤と青を合わせて紫を作りますよね。
色の上でカーソルを長時間合わせると説明が出てきます。
色を混ぜず、そのまま使いたい場合はここをクリックすればおっけーです。
ちなみに「VeroClear」というのが透明な奴です。他は大体見た目通りに赤だったり黒だったりします。
(これを選んだ時、カラーパレットに切り替わりますがそのままでＯＫです)

### 2 組み合わせ
どのトレイ(色)を混ぜ合わせるかを選択します。
３種類混合の色も選ぶことができます。
VeroClear_VeroCyan_VeroMagentaならシアンとマゼンタと透明３種類の混合です。


### 3 比率
それぞれのトレイの混ぜる量の比率です。2で選んだ組み合わせによって選べるものも変わります
VeroBlack + VeroClearを選んだ場合こんな感じになります
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261659/98fbd95c-9a2c-50f9-b61f-24c7f27698da.png)


### 4 注意
GrabCadでの操作はエラー修正と色を設定するだけにしましょう。
**このソフト上で場所を変えたり、数を増やしたりするのは禁止です。**
stlを料金計算に使っているそうで、stlとGrabCadの位置関係が一致する必要があるそうです。
親切な担当者の場合はあちら側で直してくれますが、手間を掛けさせるのでやめた方が良さそうです。


## その他オプション
・空洞
ここにチェックを入れても空洞にならなかったり、リジェクトされる場合があります。
自分はいつも空洞オプションを使わず、VeroClearで透明にしちゃってます。

・コーティング
モデルの表面と内部で別々の色にできるようです。
使う機会がなくあんまりちゃんと検証したことがないので、詳しくは不明です


・トレイ変更
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261659/7f172c22-fa70-be30-66ee-3431428485de.png)

変更ボタンを押すと、トレイの中身を変える事が出来ます。でも基本使わないかなぁと。
DMM.makeで全ての素材を扱っているわけではないからです。
透明感と清潔感が欲しいと思い、MED610(https://www.stratasys.co.jp/materials/search/biocompatible) を選んだら選択不可能と言われリジェクトされました。
使える素材は最初からトレイにセットしてあるっぽいです。


### アップロード
色を設定し終わったら、使ったstlとGrabCadの.printファイル**両方**をzipに固めてアップロードします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261659/80255d5b-0e59-9bde-b9b7-64b86c0176aa.png)

### チェックと発注
マルチマテリアルの場合、モデルのチェックはおそらく人力です。
営業時間外に出してもすぐ帰ってこないので注意しましょう。

チェックが完了したら発注出来るようになりますが、製造時にもチェックが入ります。
私が今までもらった連絡を何個かあげると

「細かすぎて破損するかもしれない。1.0mm以上必要」
→リスク承知で印刷してもらった

「シェル数が多すぎて無理。10個まで」
→減らした

「空洞オプションにチェックついてるが出来なさそうだ」
→その後、やっぱり出来そうとの事になり発注できた。

「文字が埋め込まれていて、OHANEになっている。本当はYOHANEにしたかったのでは？」

→細かすぎてどうせ見えないだろうと思い、発注したが見事にOHANEになってた。仰る通りでした……
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261659/6b5bb04f-e315-f4e0-71bf-1a9ec2d55f3e.png)
↑エラー時にはこういう感じで丁寧に画像が送られてきます。

「何故か色がうまくつかない」
→ファイル名が日本語だった、リネームしてあげなおした。

## 感謝
そんなこんなでデータチェックが終わり、発注も完了したらあとは製造開始メールと発送完了を待つだけです。
上記のように、チェック作業の大半は担当者の人力です。
担当者によって多少基準に差があるようですが、どの方も懇切丁寧にエラー箇所と理由を教えてくれます。
変なデータを送り付けてしまって申し訳ない気持ちと、感謝の念でいっぱいです。
いつも本当にありがとうございます。

## 研磨
特にVeroClearは、そのままでは積層痕がちょっと気になります。
私はいつも、800,1000,2000,3000のあとコンパウンドかけたりして磨いています。
研磨については、こちらの記事が物凄く参考になります
https://s12bt.hatenablog.com/entry/how-to-make-kokekeycap

## その他
マルチマテリアルによるステム作成や様々な工夫についてはこちらの記事の後半にもまとめています。
発注時の参考になれば幸いです。
https://note.com/yokutsukausaba/n/n281f1208fd07

## データ
ここまで読んでもらえたお礼に、データを公開します。
https://drive.google.com/open?id=1ij20tzOu_QGxr_jKnYUVfaYbKIyM5QyT
blenderの時点で色がついてますが、stlには出力されないので特に意味はありません。

DMM.makeにアップして印刷してもらう程度なら構いませんが、
データの二次配布や造形物の販売はご遠慮ください。
実際に500円で売ってるモノですが、印刷するともっとかかるはずです。
ざっくり言うと、手数料として1000円取られるので大量に印刷する事でコストをさげてます。

この記事はlibertouchキーボードで書きました