Daijiro Taira

工作・3Dプリントブラウザで動く

試験管立てジェネレータ

研究室で使う試験管立てを、ブラウザ上で寸法を決めるだけで設計できるツールです。

試験管立てジェネレータ の操作の様子
視点をドラッグで回し、行数を7→5→7と変えると、ラック全体が即座に組み直されます(実画面を自動操作して録画)。

試験管の外径・本数(列×行)・穴の間隔などを変えると3Dプレビューがその場で更新され、「STLをダウンロード」を押すとそのまま3Dプリンタのスライサに読み込める STL(3Dプリント用の標準的なメッシュ形式)が保存されます。構造は天板・底板・支柱だけの「開放2段式」で、天板の穴が試験管を支え、丸底の試験管も底板の水抜き穴の縁に安定して座ります。設計データはブラウザ内だけで処理され、サーバーには送信されません。

使い方

  1. 開いて寸法を決める

    開いて寸法を決める

    開くと既定値(試験管Ø20mm・4列×7行=28穴)のラックが表示されます。左パネルのスライダー/数値入力で試験管外径・列数・行数・穴ピッチなどを調整すると、3Dプレビューが即座に追従します。

  2. サイズ情報で印刷可否を確認する

    サイズ情報で印刷可否を確認する

    パネル下部の「サイズ情報」に、フットプリント(設置面の縦×横)・全高・穴径・穴間の壁厚・穴数が常に表示されます。既定値では 115×173mm・全高75mm で、一辺180mmの造形ベッドに収まる設計です。

  3. 警告が出たら調整、問題なければSTLを保存

    警告が出たら調整、問題なければSTLを保存

    造形サイズ上限を超えたり、支柱が試験管の挿入経路を塞ぐ寸法になると、赤い警告が出て「STLをダウンロード」ボタンが自動で無効になります。警告が消えたらSTLを保存し、スライサへ。天板の下が空間になる構造のため、スライサでは必ずサポート材を有効にしてください。

設定項目

試験管外径 / 穴クリアランス
試験管の太さと、穴の逃げ量。穴径=外径+クリアランス(既定 20+1=Ø21mm)で、抜き挿ししやすい緩さを調整できる。
列数 / 行数
試験管の本数を決めるグリッド。既定は4列×7行=28本。
穴ピッチ
隣り合う穴の中心間距離。詰めるほど小さくなるが、穴間の壁厚(ピッチ−穴径)が薄くなると割れやすくなるため、壁厚もサイズ情報に表示される。
端マージンX(支柱側)/ 端マージンY
端の穴から板の縁までの余白。支柱が立つX側は、試験管と支柱がぶつからないよう広め(既定11mm)になっている。
天板厚 / 底板厚 / 支柱高さ / 支柱の太さ
板と支柱の寸法。支柱高さが「段の空き」=試験管が見える高さになる。長辺中央の支柱はチェックボックスでON/OFF。
外形の角丸半径
板の四隅のフィレット(角の丸め)。支柱の断面も同じ半径で丸められ、板の輪郭とツライチに揃う。
底板の水抜き穴径
底板に開ける小穴。洗浄後の水が抜け、丸底試験管はこの縁に座って安定する。
造形サイズ上限(ベッド一辺)
お使いの3Dプリンタの造形範囲。フットプリントか全高が超えると赤字警告+STL出力ブロック。
仕組みと使った技術

全体の流れ

  1. 試験管外径・列数・行数・ピッチ・マージンから、穴の中心座標グリッドと外形サイズ(幅・奥行・全高)を計算する。
  2. 天板は「角丸長方形に28個の貫通穴を開けた2D形状」を厚み分押し出して作る。底板も同じ外形に水抜き小穴で作り、支柱6本(4隅+長辺中央)を立てて組み合わせる。
  3. 支柱と試験管の干渉チェックを常時実行し、穴の直下に支柱がかかる寸法(試験管が底まで入らない配置)を検出したらSTL出力をブロックする。
  4. モデルは最初から印刷向き(底面が下)の座標系で組み立てられており、STLはそのままスライサに読み込める。

使った技術

HTML / JavaScript
単一ファイルのUI・寸法計算・警告ロジック
Three.js
3Dプレビュー表示とSTL書き出し(STLExporter)

実装の工夫

  • 単一の index.html に Three.js を CDN で読み込んだ、ビルド不要・依存インストール不要の構成。生成したSTLはブラウザ内で作られ、この端末にのみ保存される(サーバーへの送信なし)。
  • 立体ブーリアン(CSG)ライブラリは使わず、「穴あき2D形状の押し出し」と板・支柱の組み合わせだけで水密なメッシュを構成。部材同士はわずかに重ねてスライサでの合成を安定させている。
  • 初期設計では支柱が4隅+長辺中央の6穴の挿入経路を塞いでいたことがレビューで判明し、支柱側マージンの拡大と汎用の干渉チェック(点と矩形の距離判定)を組み込んだ。同種の設計ミスはどのパラメータの組み合わせでも自動検出される。

用語

STL
3Dプリントで標準的に使われる三角形メッシュのファイル形式。スライサ(印刷用データに変換するソフト)がそのまま読み込める。
フットプリント
モデルを造形ベッドに置いたときの設置面の縦×横サイズ。プリンタの造形範囲に収まるかの判断に使う。
ピッチ
隣り合う穴の中心から中心までの距離。
サポート材
宙に浮いた形状を支えるためにスライサが追加する仮の支え。印刷後に取り除く。このラックは天板の下が空間なので必須。
フィレット(角丸)
角を丸めた形状。ぶつけたときの欠け防止と手触り・見た目の向上になる。
クリアランス
部品同士のはめ合いに設ける隙間。プリンタの誤差や試験管の寸法ばらつきを吸収する。