3Dプリントと手作業でいい感じの「ダブルショット風キーキャップ」を作る
(2023年5月5日追記)仕上げのつや消しクリア塗装に使用するスプレーの情報を追加しました
(2023年6月16日追記)OPKおよび多数の有名キーキャップの開発者であるMatt3oさんからTwitterでリプライいただけたのが嬉しくて記事にツイートを埋め込みました。
今回は自作キーキャップの設計と製作に挑戦しました。タイトルにもある通り3Dプリント品に対して手作業による加工を施し、いい感じのキーキャップになるよう仕上げています。
個人的に満足いく仕上がりになりましたが、ここでまとめた手順以外にも良い方法があったら教えてくださると嬉しいです!
なおキーキャップの3DプリントにあたってはJLCPCBさんにご協力いただいております。新規登録会員には総額54ドル分のクーポンが発行されますのでご利用ください。
完成したキーキャップ
まずは出来上がったキーキャップの写真をご覧ください。写真は全て無加工の撮って出し、実物はもう少し暗い色味になります。
(2023年5月5日追記)仕上げに使用するつや消しスプレーを変更しました。
ケースとキーキャップは同じレジン素材(3Dプリント出力の黒レジン)ですが、追加工をキーキャップに施したおかげでに質感に差が生まれいい感じです。
キーキャップ設計に至った理由
今回キーキャップの設計に至った理由は次の3点です。
自分が設計したキーボードに既成品のキーキャップをつけた際に生じる違和感の解消
40%配列にフィットするキーキャップセットを探す手間を解消する
モディファイアキーのレジェンド(印字)が不要
1. 既成品のキーキャップをつけると違和感がある
自分はリストレストを使用しません。そのためタイピング時に手首が反り返りすぎないように今まで設計したキーボードはチルトを緩やか(3.4度)にしています。このキーボードにチルト角の6度を基準としている(と思われる)一般的な既成品のキーキャップを装着すると、ホームポジションに手を置いた際に少し違和感があります。これはホームポジション列のキーキャップ天面がキーボードのチルトとは逆に傾くことに由来します。ぱっと見では軽微ですが打鍵時にけっこう気になるので是非とも解消したいです。
2. キーキャップセットを探す手間の解消
40%以下の配列になってくると、一般的なキーキャップセットではカバーできないケースが発生します(特にモディファイアキー)。これを解消するには40%用の配列もカバーできるセットを選ぶか、別途オプションで40%用のセットを用意してくれている物を探して購入する必要があります。キーキャップを探すのは自作キーボードの醍醐味ではあるのですが、好みの物を探すのはなかなか骨が折れる作業です。
3. モディファイアキーのレジェンドが不要
これは好みからくる理由です。タイピング時に手元を見ないので本来は全キーのレジェンドが不要なのですが、見た目のバランスは「通常キー: 印字あり」+「モディファイアキー: 印字なし」という構成が好みです。これを既成のキーキャップで実現しようとすると、プロファイルが同じものをブランクキーと印字ありのセットをそれぞれ用意する必要があります。2とも関連してより選択肢が減りますし、あっても使わないキーも大量に発生して若干勿体無いです。
以上のような理由から自分が設計したキーボードにシンデレラフィットするキーキャップを探すことは半ば諦め、自分で作ることにしました。
また既成のキーキャップでは販売中止や売り切れといった事がありますが、自分で作ればその心配もなく気に入ったキーを半永久的に確保することができます。
設計上のこだわり
前述の理由を踏まえ、次の項目を最低限達成するキーキャップを設計します。割とオーソドックスな形をゴールに設定しているので、こだわりというほどではないかもしれませんが…
ステップスカルプチャー
天面はスフェリカル
厚めの壁でタイピング音はなるべく低音を目指す
自設計キーボード(3.4度の傾斜)への装着時、ホームポジション列のキー天面が机と並行になるようにする
天面はこれまで使っていたNPプロファイル(≒XDA)よりすこし大きめ
段差つき「CapsLock」の形状が持つ不満点の解消
レジェンドのサイズはできる限り小さく控えめにする
1,2,3 ステップスカルプチャー, スフェリカル, 厚み
これらは不満点から決定した項目というよりは好みを反映しました。
4. ホームポジション列の天面角度を机と並行にする
次の1枚目の画像のように、キーボードに装着した際に、ホームポジション列の天面が机と水平になるようにします。
他の列に関してはホームポジション列を基準に角度を決定しています。手元に3Dプリンタがあればこの段階で角度の検証をするところですが、今回は雰囲気でいい感じになるように机上で数値を調整します。使っていて不満点が出たら該当行だけを都度発注し直せば良いかというノリで作業しました。
5. 天面のサイズ
これまで使っていたNPプロファイル(≒XDA)を基準に決定したものです。上から見た時により塊感というか、キーを並べた時に全体で一つの面を感じられるようにしています。
6. 段差付きCapsLockの形状に対する不満の解消
自分は「A」キー左隣を「Ctrl」を割り当て、「Ctrl+h,j,k,l」で矢印を打てるようにしたり、各種エディタのキーマップで多用しています。通常キーはほぼ垂直方向から打鍵するのですが、この「Ctrl」に関しては撫で打ち気味にタイプしています。そのため既成の段差付き「CapsLock」の形状だと「A」から左に小指を横移動する際に天面左側の高くなった部分に指がひっかります。
これを解消するため、今回の設計では次の画像のように天面のエッジが右肩下がりになるようにしています。
この形状は作る際にも非常に楽ですし、使い心地もなかなか良いので気に入っています。
7. レジェンドのサイズ
レジェンドについては小さめが好みなので、今回は一文字が収まるバウンディングボックスの高さを3mmに設定しました。これは3Dプリンタでどれくらいのサイズ感までなら出力可能かの検証も兼ねています。結果から言うと曲線の再現度などからこの3mm程度が限界だろうなという印象です。
設計ツールについて
今回はいつも使用しているFusion360ではなくCadQueryというコードベースの3D CAD(OSS)を利用しました。導入の理由としては次のような点が挙げられます。
編集ファイルの管理が楽
各ユニット・各行の複数形状を1つのソースで簡単に管理・生成できる
Pythonで記述するため学習コストが低い
対応しているファイル形式が他のCADツールと連携しやすい
最初はOpenSCADというCadQuery同様にコードで編集できるツールを利用していたのですが、Fusion360との連携が辛かったので今回は使用を見送りました。
仮にOpenSCAD -> Fusion360でデータ連携をしようとすると次のような手順を踏みます。
.csg形式で書き出し
FreeCADに.csg形式のファイルを読み込み.step形式で書き出す
書き出した.stepファイルをFuson360に読み込み編集する
OpenSCADで作ったデータをFreeCADに読み込むと形状が大きく変わったり、FreeCADで書き出した.stepがFusion360では編集しづくなるなど、落とし穴がいくつか潜んでいまして原因を突き止めるのに骨が折れました。
製造用のファイルがOpenSCADで完結する場合は文法も簡単ですし素晴らしいツールだと思いますが、自分の用途にはフィットしませんでした。
この点、CadQueryは直接.stepで保存できますので他のCADツールとの連携も容易です。
CadQuery
この記事では具体的なコードの解説はしません。いずれZennなど技術系のサービスで改めてまとめるかも?です。というか後述のOPKというOSSが十分参考になりますのでご興味ある方はそちらをご確認ください。
コードベースでのキーキャップ設計の入門にあたってはキーキャップ設計による OpenSCAD 入門を参考にしました。こちらの記事の内容はCadQueryによる設計でも大いに活かせます。
CadQueryの入門にあたっては公式ドキュメントの次のページのサンプルを写経することで大体の雰囲気が掴めます。
上記を写経後、ある程度自分でキーキャップの外形を作れるようになったところでOPK(Open Programmatic Keycap)というOSSを参考にさせていただきました。OPKはMT3などのプロファイルを設計しているMatt3oさんが公開しているプロジェクトです。
ステムの数値は手元に3Dプリンタがなく検証が出来ないこともあり、そのまま同じ値を使用させていただきました。
(2023年6月17日追記)matt3oさんから直接コメントもらえました!嬉しいので記念に埋め込んでおきます。
Fusion360との連携
レジェンドの刻印も基本的にはCadQuery上で行なっています。
ただ今回採用した書体のJetBrains Monoは、Qのテールが下に張り出た字形になっています。そのため他の文字と同様にバウンディングボックスを基準として天面の中央に配置してしまうと他の書体より高さがある分ずれてしまいます。
これを解消する処理をCadQuery上で実装しても良いのですが、書体が変わる度に数値調整するのも手間なのでQに関してはFusion360(+Adobe IllustratorやAffinity Designer)と連携して視覚的に調整するよう割り切りました。これがOpenSCADからCadQueryに乗り換えることになったきっかけです。
同様に「{,[」や「",'」など上下方向に記号が2つ並ぶキーは数値での調整よりも視覚的に気持ちいい位置に配置したかったのでグラフィックソフトとFusion360を併用して作業しました。
発注
最初は天面に積層痕がなるべくが出ないようキーキャップを直立し連結したデータで発注をしたのですが、サンディング等の作業が難しいのかデータの修正を依頼されました。結果的には普通に連結したデータで発注したところ、JLCPCBの方で一番きれいに出力される方向で出力してくれました。天面の積層痕はほとんどなく軽く研磨するだけで問題ないレベルです。
その分側面には積層痕が出ている(あまり目立ちませんが)箇所がありましたが、これは800番で水研ぎした際に消すことが可能です。
到着直後の状態
次の写真はJLCPCBさんから届いた状態のキーキャップです。同じデータで黒と白(8111X)の2種類のレジンでプリント発注してみました。
既に書いた通り、出力時の配置方向をJLCPCBのエンジニアの方が配慮していただいているようで天面の積層痕は最小限は最小限でした。写真だとわりとはっきり写っていますが、実際にはそこまで目立たない印象です。
追加工
ここからの追加工に関しては現時点で黒レジンのみ完了しています。白レジン(8111X)の方は一部刻印が潰れていたこともあり、
刻印および、積層痕をパテ埋め
白やグレーで塗装
デカールでの印字
つや消し塗装
といった追加工を今後行う予定です。
1. 耐水ペーパーで表面を整える
届いたままの状態で利用すると、表面の質感に由来するのかタイピング時に「キュッ」と指が止まる感覚があります(体育館でシューズを履いてキュッと止まる感じ)。また、わずかながら擦れなどのによる小傷や積層痕があります。従ってまずは最初の加工として耐水ペーパーを使って水研ぎを行い表面を綺麗に整えます。なおこの時点で天面に関しては完璧に仕上げるという意識で作業をしなくても問題ありません。
耐水ペーパーの番手は、形状を大きく変えてしまわないように800番から始め、1500番、2000番と番手をあげます。
なお、手順を試行錯誤する過程で耐水ペーパーによる水研ぎを結構な回数行いました。そのため自分の最終成果物は天面から側面にかけて僅かに適用していたR0.5のフィレットが消失しています(上記の写真はまだ1セット目の水研ぎ完了時なのでRが残っている)。
デザインや機能上フィレットが重要な場合は、検証用や練習用として余分にキーキャップを発注しておくと良いでしょう。R0.5程度のフィレットであれば使用上・見た目上ともに消失してもそこまで気になりませんでした。
2. 刻印にパテまたはジェルネイルを充填する
刻印はパテやレジンを充填してダブルショット風にします。今回は白いレジェンドをエポキシパテ、黒いレジェンドをダイソーのUV/LEDライトで硬化するマニキュアを使いました。
以前既成品のキーキャップにレーザー刻印したものにパテを充填したのですが、表面の細かいシボにパテが入り込んで作業が大変でした。シボがなくなってしまうので研磨もできず、それが既成のキーキャップに対するパテ充填を難しくしました。
今回レジンの表面を整えてから充填作業を行うのは、シボ(表面の凹凸)があったことで大変だった作業をし易くするといったことが理由です。
エポキシパテの充填
パテはタミヤのエポキシパテを使用。ペーパーでサクサク削れます。
パテの乾燥は念の為1日かけました。そのため最短でも合計で2,3日に渡って作業を行う必要があります。
一度目の充填作業。後の研磨を楽にするため、水やヘラ等で余分なパテはなるべく取り除いておく
乾燥後、天面を800番の耐水ペーパーで研磨する
乾燥により多少パテが痩せているので2回目のパテ充填を行う
2回目の乾燥後、天面を再度800番の耐水ペーパーで研磨する
1500番、2000番の耐水ペーパーで整える
この後のクリアスプレーでの塗装によっては2000番まで行う必要がないかもしれませんが、念の為この時点で表面をなるべくきれいに整えておきます。
ジェルネイルを充填
パテとは異なりUV/LEDライトによって1分から2分で硬化します。UV/LEDライトを使用するため白系のレジンだと黄変する可能性もありますのでご注意ください。
一度に充填してしまうと内部のジェルが硬化仕切らないので数回に分けて徐々に充填していくことが必要です。硬化し切らないと、研磨後レジェンド部分がぷっくりと膨れた状態になってしまいます。
以上の注意を踏まえた手順は次の通りになります。基本的にはパテの時と同じですが、トータルの作業時間はこちらの方が短いです。
針等の先端に少量のジェルを取り、それを刻印の隅々に行き渡るように塗布する
表面をティッシュ等でぬぐい最小限のジェルを刻印内に残す
ある程度数がまとまったらUV/LEDライトで硬化させる(ダイソーのジェルネイルはLEDライト1分で硬化とありますが、念の為2分硬化させました)
1~3を刻印が埋まりきるまで繰り返す
刻印を埋めたら800番の耐水ペーパーで研磨
気泡等により鬆(す)があった場合は針を刺すとたこやきの要領でネイルが取れるので再度充填し直す
鬆などの問題がなさそうだったら1500番、2000番のペーパーで仕上げる
ジェルネイルはカラーも豊富です。個人的には白もパテではなく、今後はジェルネイルを使って作業するつもりです。
3. ホーミングキーにポジションマークをつける
ホーミングキーのポジションマークは3Dプリントの時点できちんと造形されていたのですが、研磨の過程でマークを残すようにやすりがけするのが大変だったので思い切って削り取ってしまいました。
削り取ったポジションマークはUV/LED硬化レジンを利用して再造形します。当初の形が3mmほどの細長い形状だったので、それを再現するために練り消しで型を作りレジンを流し込んで成形したり、針先につけたレジンで徐々に形を作ってみたりと色々試してみたのですが綺麗にできなかったので諦めました。
最終的にはドライバーセットの中にあった一番小さな六角ドライバーのビット(H0.9)先端に少量のレジンを塗布し、スタンプの要領で半球状のマークを成形しました。塗布作業は好みの高さになるまで繰り替えします。
ちなみにレジンは透明のものを利用しています。レジンの艶が気になる場合は、硬化直後に表面を指でサッとなでるとレジン表面が曇りいい具合に地のレジンの色と馴染みました。
ちなみに次の工程の艶消しクリア塗装を行うと細かな傷は見えなくなりました。これは段差付きCapsLock形状のキーの段差部分に研磨しきれない箇所があり、仕方なくそのまま塗装したことで発覚しました。
従って3Dプリントで造形されたポジションマーク周辺が研磨しきれなくても小傷であれば消える可能性がありますので、一度クリア塗装してみてから判断しても良いかもしれません。
4. 艶消しクリアで塗装する
ここまでの作業によって届いた直後とは様変わりし、使い込んでツルツルになったABSのような質感になっています。若干タイピング時に滑りが良すぎる点が気にならなければこのままでも十分使えます。ただレジンが皮脂を吸い込むため使い込むと一層ツルツルになってしまうので、表面を艶消しクリア塗装でコーティングすることとしました。
最初は以下のリンクのスプレーで塗装しましたが、自分の技量の低さも相まって「白化」とよばれる、表面がうっすら白くなる仕上がりになってしまいました。
プラモデル系の記事や動画で調べたところ、白化しづらいスプレーとしておすすめされているものがありましたので、研磨によって塗装を落とし塗装し直しました。
通常のクリアスプレーに比べてたっぷり目に塗装を行うことが推奨されていますので、自分のように塗装の技量が不足している人間でも失敗しづらく大変扱いやすかったです。詳しくはリンク先のページに埋め込まれている動画をご覧ください。
天面の窪みが大きい場合、吹きつける塗料が多すぎると中央に向かって垂れてしまうかもしれませんのでそこだけ注意した方が良さそうです。
BOB(右側)のキーキャップだけを塗装し直してみました。写真だと分かりづらいですが、実際目で見ると質感の違いも相まってかなり違いがはっきりしています。
最初に塗装したものがわりと乾燥したさらさら感であるのに対し、プレミアムトップコートの方は若干しっとりしたさらさら感があります。どちらが優れているということはないです。
どちらも塗装に至った目的である「プリント直後のキュッととまる感じ」「水研ぎ直後の滑りすぎるツルツル感」の両方を見事解消して既製品のキーキャップと遜色ないタイピング感になりました。加えて、手汗や皮脂などによる指紋がつかなくなったのは大きいです。
耐久性に関してはこれから継続的に使って調べることになります。仮に塗装が落ちてしまったとしてもまた塗れば良いだけなのでそこまで気にしていません。
5. 高耐久ラッカースプレーで塗装し直す
(2023年5月5日追記)上記の2種のつや消しスプレーはプラモデル用途ということもあり、毎日触れるキーキャップでは3月の中ごろに劣化が始まり一部塗装が剥がれ始めまてしまいました。
強めの劣化が起きたキー(ホームポジション周辺やスペースバー)もあれば塗膜が薄くなっているキーもある、という感じです。
そのため同じ塗料で再度塗るのではなく、耐久性に優れているウレタン塗装で再塗装を検討しました。ただ、価格もそれなりにしますし失敗した時のリカバリーのしやすさを考慮して、まずはラッカースプレーで高耐久と銘打った製品があることを知り、そちらを試すことにしました。こちらは内容量も多く比較的手頃で試しやすいです。これがダメだった場合にウレタンスプレーに手を出す予定です。
アサヒペン 高耐久ラッカースプレー
結果的には白化することもなく大変綺麗に仕上げることができました。自分は塗装作業を苦手に感じているので作業性が良い点もありがたかったです。
分類はラッカースプレーなのですが、成分にシリコンが配合されているため耐久性が通常のものに比べて高いそうです。このシリコンによるところなのか触り心地もサラッとしていてPBT製キーキャップと遜色なくストレスがありません。
また前出の2つは白化もあり本来のレジン色より色味が明るくなってしまったのですが、こちらは本来のレジン色よりも黒味が締まったような印象で当初思い描いたイメージ(ケースの明度>キーキャップの明度)に仕上がりました。
そしてこちらは使い始めて約1ヶ月経過した写真です。
劣化も特になく快適に使えております。まだ一月ですが、今の所前2つの製品よりこちらのスプレーがおすすめです。
今後
今回の追加工はこれで以上です。無事「いい感じのダブルショット風キーキャップ」を手に入れることができました。キーキャップ製作の今後として、次のようなことを試したいと考えています。
刻印がうまくいかなかった白レジンに対してデカールを利用した追加工
染色実験
3Dプリント品からシリコン型を作成して、本当のダブルショットキーキャップを作る
この記事はNORM/AL(w/オリジナルキーキャップ)を使って書きました。
この記事が気に入ったらサポートをしてみませんか?