keyballのガスケットマウントアクリルケースを設計した話

:::note info
この記事はキーボード [#2 Advent Calendar 2024](https://adventar.org/calendars/10116)の18日目の記事です。
昨日は[KKaK](https://adventar.org/users/73949)さんの[TinyDashというパーツを設計した話](https://goli-lab.hatenablog.com/entry/2024/12/17/061455)でした。
コンパクトさのための部品開発のお話でした。
余裕があればになりますが、来年は自分用に基板から設計してみたいと考えていたので、ぜひ使用してみたいパーツでした。
:::

# 前書き
くゔぁれと申します。
今回はアドベントカレンダーの18日目を担当させていただきます。

自作キーボードは2023年の3月ごろから始めました。
最初にcorne chocolateを購入してからというものの、当時は品薄だったkeyball39を購入し、その後も「これは作業効率とモチベーションへの投資だから！」と言い訳しながら色々と買っては組み立てを繰り返して今に至ります。
本業プログラマーどころか、基本的にそこまではPCに向かって文章を打つ仕事でもない割にはまり込んでしまったのは、もともと工作が好きなこともありますが、手を加えたものがすぐに実用品として役に立ってくれることが大きいかと思います。

そんなこんなでいくつかのキットをうろうろしながらkeyballが手に馴染んでくると、見た目をより自分好みにしたくなり、昨年の年末に3Dプリンターを購入したこともあって、ケースの作成を始めました。
以前から何度かチャレンジしたもののすぐに挫けていたfusion360を触りながら、よたよたと1ヶ月ほどかけて良い感じに作成しました。
なんとなくゲームボーイのシルエットを意識しながらデザインしたケースになります。
![頑張って作ったkeyballケース](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411737/47302bc2-8612-31a4-1f36-c67e3a1ab491.jpeg "頑張って作ったkeyballケース")
しばらくはこれで満足していたのですが、、、

# お前たちの平成って、透き通ってないか？
うちなる平成が騒ぎ出しました。

https://x.com/kazzykazycom/status/1688863358672596992

平成育ちのガジェットってのは透き通ってました（前提）。
世の中は外装が透けて基板が見え、LEDが光っていることこそオシャレでした（確認）。
皆さんは爽やかさとサイバー感が同居することに胸が躍りました（断定）。

そして透けました。
![スケルトンボディ](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411737/2ccc81f9-1427-0630-322a-50508857e4b5.jpeg)

JCL3DPに発注して先ほどのケースを透明レジンで出力しました。
これでもまたしばらくは満足していたのですが、、、

# まるでカチカチで、石ころだらけのキーだ
う〜ん？なんか？打ってて疲れる？みたいな？

トレイマウントのせいなのか妙に音も硬くてだんだん指先が痛くなってくるようになりました。
もともと打鍵圧が強い方なのかもしれません。筆圧も高いし。
そんなんでシリコンシートを作って裏面に敷いてみたり、ネジを緩めにしてみたりと、感触の改善を行なっているうちに、keybaseを購入しました。

https://x.com/gohanda_kbd/status/1857045835533467859

この界隈に来る前は、そんな打鍵感なんて言うほどこだわらんでええやろ〜と思っていたのですが、実際に比べてみると指先の痛みが非常に軽減され、また打鍵音もコチコチと言う硬い音からコトコトといった静かなものになりました。
導入したkeybaseは据え置きとして使用している44用だったので、これは持ち運びで使用している39もそれにならいたいなと思うようになりました。
買うか〜？う〜んでも結構良い値段だしな〜……
あと何よりな〜

# 俺がkeyballというガジェットを綺麗に透け直させてやろう、ってこと
透け感がもっと欲しい。

私が買ったのはV1でしたので、不透明なバージョンでした。
OLEDも隠れてしまい、機能のデバッグによく使用しているのでその点でも不便がありました。
また、キーキャップとしてDEAD LINE STUDIOのair-waveと言う、クリアブルーのキーキャップも購入しました。

https://deadline.space/collections/keycaps/products/deadline-air-wave-pc-keycaps

これに似合うケースが欲しい。
黒でも良いけど、もっと爽やかな感じにしたい、と言う動機が発生しました。

# 長すぎる前書きを終えて、ケース設計手段
まぁ、そんなこんなで自分なりのケースを作ろうと思いました。
さて、アクリルケースを設計するのは初めてですが、keybaseと言うお手本がありましたので、おおよその構造自体はそれに倣うこととします。
アクリルのレーザー加工は最初は遊舎工房のレーザー加工サービスを使用しようかと思って、データの入稿方法をみると、イラレ系のデータ形式で入稿すれば良いようでしたので、手元にあった買い切り型のイラレ系ソフトであるaffinity designerを使用することにしました。
また、デザインの参考としてtalpkeyboardblogで[紹介されていた](https://www.talpkeyboard.com/entry/2021/03/17/121035)、[haven studio](https://havenstudio.square.site)からも大いに影響を受けています。
フレームの段差がアクリルの綺麗さや透け感を増してくれているので、要件としては

+ keybaseの構造
+ haven studioっぽいフレームの外観
+ 上下ツートンカラー
+ 可能な限りコンパクトに
+ 思いつく便利そうな構造は片っ端から入れる

といったところを設定して設計を始めることにしました。

# 設計工程
## dxfファイルのインポート
keyballの公式リポジトリから各モデルのdxfファイルを持ってきます。(keyball/keyball39/design_data等の中に入っています)
affinity designer上で単位を"ミリメートル"で指定して開くと、ミドルプレートのアウトラインを取得できます。
![スクリーンショット 2024-12-10 22.55.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411737/ecf83b71-9b19-b6f3-94aa-5468af76d9eb.png)
カーブとしてパスが作成されますので、ノードツールから操作することができます。
同様にボトムプレートのファイルも開き、いい感じに左右やOLEDカバーのノードを分けて、レイヤーのコピペ等を使い、組み合わせてあげましょう。
affinityでは、一度何も選択していない状態からノードを大まかに選択し（ノードが白い四角形で表示されている状態）、そこから投げ縄（macならoptを押しながらドラッグ）を使用して実際に動かすノードを選択（先ほど選択したノードの四角形が青くなった状態）していきます。
affinityの操作に慣れておらず、困った時はドキュメントを参照してください。
私は投げ縄の使い方が分からず、shiftを使用して根性でノードを選択していました。
![スクリーンショット 2024-12-12 14.39.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411737/f2bfecd1-0750-dfc5-78ae-a6a5992ef472.png)
ネジ穴や外周を目安にしてフリーハンドでテキトーに重ねてあげればいいです。
外周のノードを掴んで、スナップ（U字磁石のアイコン）を効かせて重ねた方が便利かも。
ピッタリあってはくれないのですが、これくらいなら誤差の範囲です。大丈夫大丈夫。
![スクリーンショット 2024-12-12 14.24.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411737/999be021-5a44-d4b3-6919-bb6bcf364225.png)
そのままだと上側のノードのようになってしまっているので、不要なノードを消したり、コーナーツールで丸みをつけて下のノードのようにしておくと、後の自分が喜ぶと思います。
あとボトムプレートとミドルプレートの外周のノードもダブっているので、綺麗にしてもいいと思います。
また、キースイッチを入れる穴に関しても綺麗な四角形のノードとはなっていないので、ここも自分で綺麗に整えておくと良いと思います。
親指のスイッチもだいたい10度刻みくらいで四角形を回転させてあげると位置があってくれたはずです。
ほんの小さなズレくらいならあまり気にしなくても誤差として吸収されてくれるので、目で見て気にならない程度なら大丈夫です。
とにかくここで頑張ると、後の工程も比較的楽になります。
ほんとは綺麗に整えたデータの配布も行いたいのですが、まぁそのうちに。

## 設計
![スクリーンショット 2024-12-12 14.51.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411737/63de3f34-4cf6-1149-a705-6d6e8e215cbc.png)
左右にいい感じ並べ直したり、使わない線を修正（今回は親指のプレートの構造をちょっと変更）したり、マウント用の耳をつけたり、耳を置く穴をつけてフレームを作ったりすると上図みたいにできます。（ここはもう自分でなんとかするしかない工程のため、だいぶ端折り）
輪郭ツール、グリッド、変形パネルあたりが役に立ちました。
自分ではしませんでしたが、1mm基準のグリッドを使用できるように、元プレートのデータを配置、修正できると捗るかもしれません。
六角形はスペーサーを入れるための穴。小さい穴はネジ穴になっています。
六角形に関してはシェイプツールで直接作成可能です。
スペーサー等部品の径に関しては、最初に形を作る時点できちんと気にしておいた方が良いです。（一敗）（後述）
フレームに関しては輪郭ツールでミドルプレートからオフセットを1mmほど作り、それを元にパーツ位置やバランスを考慮して設計しました。
カッティングの幅は発注する場所によって可能な狭さが異なるので、泣きを見る前にガイドラインを確認しておくことを強く勧めます。
私は結局[anymany](https://anymany.net)様での発注となりました。
（これは遊舎工房様では加工できない小さいパーツが発生したため）
アクリルを使用する場合は、使用できる色や厚さ等も違いがあるので、そこも確認するべきだと思います。

## 構造再考
フレーム外周のデザインが大体決まったので、高さ方向の設計に入ります。
今回はkeybaseの構造を参考にするとはいえ、きちんと自分で納得のいくようにそれぞれのレイヤーの厚さを考慮して図を作りました。
![スクリーンショット 2024-12-12 15.50.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411737/04091b99-3b44-991f-9a9f-5e4f85672600.png)
実際の構造とはちょっと変わっている部分がありますが、横から見た時の基板やスイッチの位置等を確認しました。
Excel方眼紙を使用している方もいますので、やりやすいやり方で。（紙に書いて脇に置いておくだけでも充分）

## 設計継続
![スクリーンショット 2024-12-12 16.00.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411737/90b1527e-1610-47b0-7431-87ce1f3c2e7a.png)

構造を改めたところで、さらに先ほどの設計を進めていきます。
私は参考にしたhaven studioの作例のように、フレーム外周を段にしたかったため苦労しましたが、こだわらなければそのままコピペして上下用のフレームを作成すれば良いと思います。
だいたいの設計を終えたところで、実際の機能的な面からも工夫を加えました。

## 機能性考察
せっかく設計するならとにかく自分に都合の良いケースになって欲しい、ということで、自分の好みを付け加えていきます。

+ TRRSケーブルはL字のものが使用したいので、その辺りのフレームは除去
+ L字のTRRSケープルを抜きやすくするため、下方へ回転できるようにボトムプレート部分をカット
+ テンティング用の足を、粘着テープ等を使用しないでくっつけられるように、ボトムプレートに空いていた穴をハートポイント用として使用
+ USBの差し込み口はちょっと大きめにして、マグネットケーブル用のコネクタが干渉しないように
+ トラックボールの下部に穴を開けておいて、取りにくい場合は下から棒で押すことで外せるように
+ OLEDが見えるように窓を開ける
+ bootスイッチを押せるように窓を開ける
+ 手持ちの1台がピンソケット版でコンスルー版に比べ高さがあるので、OLEDカバーが干渉しないように窓を開ける

上記の条件が満たせるように工夫しつつ修正を加えました。
窓の位置に関しては検証として紙に実寸印刷して確認してみましたが、それでもなぜかちょっとズレが発生したので、現物あわせになるところも生じると思います。

## 発注
設計が出来上がったところで、発注用のデータを作成しました。
anymany様では、使用できるアクリルの大きさが3種類あったため、それになんとか詰め込めるようにパズルのようにカッティングラインを並べていきました。
ここでうまく並べてあげるとコストにも関わってくるので、なんとか頑張りましょう。
今回は厚さ3mm大きさ30cm四方2枚と厚さ2mm大きさ15x30cm板1枚に収まるように並べることができました。
30x60cmで済ませることもできましたが、今回はトップとボトムでツートンカラーにするのが前提だったため、この分配となりました。
61を設計した際にはボトムの方がキツキツで、レイアウトをこねくり回すのに非常に苦労しました。
逆にトップの方は余白ができてしまったため、もったいない精神でリストレストとティルト用のボトムパーツも追加しました。
![スクリーンショット 2024-12-12 16.38.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411737/62b2cb94-e73d-7eb0-eb15-f6baac8ffe4c.png)
オブジェクト間の感覚が3mm以上になるようにしたり、ラインの太さを指定の通りにしたりして注文し、他のパーツ等も含め届くのを待ちます。
安くない費用がかかるので、大きなミスがないことを祈りましょう。

## パーツ作成
さて、もう一つ仕事がありました。
マウント用のシリコンパーツとしてkeybaseはtad pole pinというものを使用していますが、これは輸入になってしまうようでした。
もともと私はレジンでものを作ったりもしていたため、複製用のシリコンが手元にありました。
これ使えないかな、ということで、これで似たような役割のパーツを作成することに。
3Dプリンターでちょこちょこと型を作成し、
![IMG_8590.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411737/3889aff3-7cff-047f-53f2-fc4a53769ac3.jpeg)
こんな感じのパーツを作成しました。
マウント用に作ったミドルプレートの耳を差し込むようになっています。
1台用にだいたい10個必要です。

## 組み立て
アクリルが届いたら組み立てです。
自分で設計した構造なら迷うことはないでしょう。
両面に貼られた保護用のシートを剥がして組み立て組み立て……

 **あれ？？？ スペーサーはまらんぞ？？？？？**

まあそんなこともあります。
六角スペーサーの径を間違えていました。~~お前はいつもそうだ。誰もお前を愛さない。~~

ワンサイズ小さいスペーサー見つかるかなと探しつつ、流石にショックで一晩不貞寝していましたが、翌々日あたりに一つ思い出しました。
**うちには3Dプリンターがあった。**

そんなわけでいい感じにスペーサーをモデリングして出力してことなきを得ました。
ネジ穴まで作らなかったけど、適当に穴の空いた六角形を嵌め込んだらなんとかなりました。
もともと中古で安く買ったプリンターなので、もう元が取れた気までします。

![IMG_8490.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411737/f372068e-13ba-41de-4315-524128619cb5.jpeg)
そんなこんなでkeyball44に装着してなんとか完成！

実用上はkeybaseとほぼ同じ感じであり、今も問題なく使用しています。

## しかし
うちにはまだ39と61があります。
よって作り方に慣れているうちにそっちも作ります。作りました。
![IMG_8681.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411737/23c8b9e8-cdce-32e4-22be-11f2baa64284.jpeg)
色は上から44(ライトブルー、マットホワイト)、61(ラベンダー、ブルースモーク)、39(ブルースモーク、クリア)となります。
キーキャップもスケルトンで揃え、自分の中の平成が大変満足しています。
は〜疲れた。

# 今後
せっかく作ったのでbooth等で頒布したいと考えています。
本格的に頒布する前に、現在の組み立ての説明書の不備がないかの確認や、頒布ページ用の写真を用意するために、モニターとしてこちらのケースを注文してくれる方を募集しています。
twitterにて募集しておりますので、ご興味ある方はDMからご連絡いただけると大変嬉しいです。

https://x.com/toxa_craft/status/1868870455530291658


# 最後に
そこまで丁寧な解説ではなく、そちらを期待していた方には申し訳ないです。
ご質問いただければなんでも答えますので、お気軽にご連絡ください。（そこまでaffinity designerに習熟していないので分かる範囲ですが……）
やってみるとケースの設計はとんでもなく難しいことではなかったので（これに比べて基板の作成やファームウェアの作成の方はできる気がしない……）、アクリルケースに挑戦してみたい方の一助となれれば幸いです。
19日目のアドベントカレンダーは[千葉千夏/あず](https://adventar.org/users/39969)さんの"2024年のキーボードと電子工作を振り返りたい"になります。
なかなかの長文になりましたが、読んでいただきありがとうございました。

:::note info
次の記事は[千葉千夏/あず](https://adventar.org/users/39969)さんの[2024年はジャンク品のメカニカルキーボード修理を楽しんだ](https://note.com/azulee/n/nb674e303acd9?sub_rt=share_pb)です。
ジャンク修理、できたら楽しいだろうなと思って職場の壊れたモニター開けてみたけど、結局訳わからないまま諦めたトラウマが……。
そのうちまたチャレンジしたいものです。
:::

この記事はkeyball39で書きました。