今年の夏も明らかに暑いですね。これが撹乱なのか、それとも定常になるのか・・・。
最近いいおもちゃを手に入れたので、それを使ってみたよ、という話です。
気づいたら手元に3Dプリンター
夏にもサンタさんはいるようで、気づいたらこれが手元にありました。
https://jp.store.bambulab.com/products/a1-mini
prime dayで3万くらいになってました。フィラメント込で32,000円くらい。PS5よりよっぽど安い。
お値段的にOrbit Oneのケース代(実話)くらいだったのもありつい・・・。後悔はしていない。
さて、せっかく買ったので、なんか使えないかね?と思っていたら、「Choc V2かつ挟ピッチのキーキャップを作ればいいじゃないか」という天啓(なのか?)が降りてきました。思い立ったが吉日、まずは調べましょう。
Choc V2のキーキャップを作ってみよう
まずはchoc V2のキーにおけるデータシートを確認しましょう。
https://kailhswitch.wordpress.com/2020/04/21/kailh-choc-v2/
これを見ると、choc v2はステムの十字が幅 1.3mm
、長さが 4.0mm
だとわかります。Cherryのキーキャップとはびみょーに異なりますね。Cherryでは前後の区別があるため、ここの幅が縦と横で異なります。
OpenSCADでの設計
https://qiita.com/zk_phi/items/ab99315ebaef66e84aa0
こちらの記事を写経して、OpenSCADの使い方をなんとなく把握しました。OpenSCADはスクリプトでCADができる・・・という代物で、キーキャップのような量産するものにとっても適しています。
すでにFreecadを触っていたので、なんとなくdiffだったりintersectionだったりはわかります。こういうときには中学・高校の数学が役立ちますね。ちなみに形状としてはこんな感じを想定してます。

なんか傾きが変ですが、試行錯誤している間のやつですのであまり気にしないでください。42キーを前提にしていて、1/2/3列はそれぞれスフェリカルかつ各々に一定の角度を設けてます。親指はコンベックス形状がよかったので、それになるように形成してます。
とまーここまで書いてなんなんですが、実際ワンオフで作る場合、一個作ってコピペするだけなので、正直Freecadでええやん?って思って別途作り直してます。後述する通り、一気に印刷できなかったので。特にフィレットをつけたりする場合は、Freecad/Fusion360などのほうが圧倒的にやりやすい、というのもあります。
FDM方式のプリンターで印刷する際の課題
手元にあるのはFDM方式のプリンターなんですが、この方式のプリンターは、そもそも細かい造形に向いていない、という弱点があります。先述した通り、choc v2のステムは 1.3mm
の幅なのですが、ノズル(溶けた樹脂が出てくるところ)の直径は 0.4mm
です。不穏な気配が漂います。
とりあえず課題をまとめると
- ステムの造形精度をどう高めるか
- そもそもはまらなくなりますので、ここは前提です
- キートップの造形精度をどう高めるか
- やっぱり触ってて気持ちいいものがいいですよね
となります。デザインは一定いじれるものの、都合により16mm角より大きくすることは出来ないというハンデがあります。
FDMでの印刷設定
基本的には以下の設定で行っています。
- プリンター
- Bambu A1 mini
- ノズル
- 0.4mm
- フィラメント
- Bambu PLA Basic
- プロファイル
- 0.08mm High Quality
- サポート
- あり
ブリムの設定はときどきです。どうでもいいですが、全然つながっていないブリムが生成されるのがまれによくあるんですが、あれなんですかね? :thinking:
失敗1:直立での印刷
ステムを下にして印刷したんですが、サポートが多すぎて(スカートの内部が全部埋まっている勢い)そもそも取れませんでした。。。このとき、一気に20キーくらいやってしまったので、ただただ時間の浪費でした。プロトタイピングは最小限から始めましょう(戒め
ギリギリ成功1:45°での印刷
先人の知識を入れて、45°に傾けての印刷を試みてみました。
https://zenn.dev/nazo6/articles/openscad-keyv2-keycap https://candrews.integralblue.com/2024/03/3d-printing-high-quality-keycaps/

これの一番左側が45°(ステムが下を向く)方向で印刷したものです。ピントがあってませんが、ギリギリキーにははまるものの、サポートがちょっとでも多かったりするとすぐグズグズになり、非常に不安定な形成になります。それ以外の3つは、 ステムが上を向く方向 の45°にしたものです。ステムにサポートが一切くっついていないので、思ったよりも均一性が高い仕上がりです。
しかし代償となったのはキートップです。とはいえコンベックス以外は、底面になっていた部分を若干研磨するくらいで気にならず、それ以外の面はかなり滑らかです。惜しむらくはコンベックスで、こいつは45°にするとカーブした面が底面になってしまうため、必然的にその周辺のサポートも多くなってしまう・・・ということから、真ん中より上はまだましなんですが、よっぽど研磨しないと悲しいことになります。
成功:コンベックス形状の変更 + 45°での印刷
最終的には、コンベックスのキーについては若干妥協し、エッジが立つようにして設定しました。ただ、私が利用しているプリンターだと、ブリムの設定をしても、 複数のキーを層ごとに印刷すると失敗率が極端に上がる ことがわかりました。最悪だとできあがりが糸くずだらけになります(なりました)。
これの要因を繰り返し観察すると、
- キーが多いと、層ごとに積み重ねていくとき、一定の層が積み重なるまで時間がかかる
- 層ごとの時間がかかると、 過度に冷却されて若干の歪みが出やすくなる
- 若干の歪みが積み重なることで、積層している最中のキーが ノズルに接触しやすくなる
- かすかな接触が呼び水となり、さらに歪み・・・
- ノズルに当たって底になる部分がパーン!と弾き飛ばされる
ということがわかりました。これを抑える手段はモデリングの変更とか色々あるのでしょうが、今回はシンプルに 1個ずつprintする 設定を利用することでなんとかしました。ちなみに1キーの印刷で20分ちょっとかかります。42キーだと・・・😨
FreeCADでの作り直し後
FreeCADで作り直しました。3回くらい作り直しましたが、やり方がわかってくるとどんどん速くなりますね。OpenSCADよりも全体の高さを抑えつつ、斜めの部分にだいぶ余裕をもたせたことで、サポート無しでの印刷が可能になりました。

左がコンベックス、右がスフェリカル形状になってます。サポートが不要なため、印刷時間も早い上に、角で立たせるより圧倒的に安定します。
FDMでも頑張れる
大体はDMM.makeやJLCに依頼・・・みたいなのが多いのですが、これくらいのクオリティであれば、若干研磨するだけでほぼほぼ問題なく使えると思います。仮に形状を変化させたい・・・って場合でもなんとかできるのは強みですね。
FreeCADとだいぶ格闘したので、surfaceの使い方も覚えました。鞍点設定できればコンベックス形状作れるじゃん!ってのが最近のアハ体験です。
さて、次回は今作(り直し)てるものについて、そろそろ書けるかなーと思ってます。書けるといいな・・・。