この度SV106 60mmとSV165 40mm用のバーティノフマスクを3Dプリントで作ったので、その方法をご紹介します。CAD知識なしで自分の望遠鏡用のバーティノフマスクの3Dプリント用データを作れます。

中口径以上は調整可能な汎用品が売ってますが、60mm以下の小口径用はあまり見かけないので自作しました。

バーティノフマスクの3Dプリント用データ作成

バーティノフマスクの3Dプリント用データ作成には、ttait_vantim氏がThingiverseで無料公開してくださっているUniversal Bahtinov Mask Generatorを使います。

上記Thingiverseからbahtinov_universal.scadとbahtinov_universal.jsonの2つのファイルをダウンロードして、適当なフォルダに入れておきます。同じフォルダに入れておく必要があります。

これはOpenSCADというフリーの3D CADソフト用のデータで、CADの操作が全くわからなくても、パラメータをいくつか入力するだけで3Dプリント用のモデルデータを作ってくれるという、大変素晴らしいものとなっています。

まずはOpenSCAD本体が必要なので、以下からダウンロードしてインストールもしくは展開します。

次にOpenSCADを起動して先ほどダウンロードしたbahtinov_universal.scadを開きます。画面右の方にCustomizerというペインがありますので、開きます。ここでマスク生成のためのパラメータを設定します。

以下が各パラメータの詳細です。なお画像はSV106 60mm用のマスクの設定例です。ノギス等でレンズフードの外径さえ測れば作れますね。

注意点として、bahtinovfactorがデフォルトの150だとバグかなにかでスリットが異様に細かくなることがあるので、bahtinovfactorを少し動かして確認してみることを推奨します。

以下Lens Mask Parametersの説明。なお外から被せるタイプだけでなく内側(フィルターネジ部分)にはめるタイプも作れるようですが、そのタイプは作ったことがないので説明省略します。

lensFocalLength

焦点距離をmmで入力します。

lensDiameter

マスクを外側にかぶせる場合は鏡筒先端の外径をmmで入力します。

lensAperture

スリットが入るマスク本体部分の径を決めるパラメータです。レンズの有効径を入力します。望遠鏡の場合はスペック上のレンズ口径でよいかと。

centerHoleDiameter

反射望遠鏡の場合は中央遮蔽径(mm)、屈折望遠鏡の場合は0を入力します。

ringHeight

マスク固定用のツメ(リング)の高さ(mm)です。

handleHeight

0でOKです。

bahtinovfactor

スリットの細かさを決めるパラメータです。大きくすると細かくなります。あまり細かくしすぎるとプリント失敗の原因になりかねないので、ほどほどに。スリットが細かすぎず、一番端のスリットがあまり小さな穴にならないように適当に決めればよいと思います。

以下Mask Optionsの説明。

ringTabInterference

マスク固定用のツメ(リング)をlensDiameter(鏡筒外径)からどれくらいオフセットするか(mm)を決めます。0にするとツメ(リング)の内面がlensDiameter(鏡筒外径)とピッタリ同じになり、プラス数値にすると内側にオフセット(きつく)、マイナス数値にすると外側にオフセット(ゆるく)。ギチギチより多少緩めのほうが使いやすいかも?(個人的意見)

maskThickness

マスク部分の厚み(mm)です。2mmで問題ないかと。

ringThickness

マスク固定用のツメ(リング)の厚み(mm)です。きつめにはまるように設計する場合はあまり厚いとツメの柔軟性に影響するかも?

ringPieces

マスク固定用のツメの数です。ツメではなく全周が立ち上がったリング形状にする場合は1にします。

ringPiece

マスク固定用のツメの幅を決めるパラメータです。ツメではなく全周が立ち上がったリング形状にする場合は360にします。

ringRotation

マスク固定用のツメの位置を回転させるパラメータです。

handleDiameter

そのままでOK。

minGapWidth

3Dプリンターのスペックに合わせた最小ギャップ(mm)を設定します。あまりに小さいギャップはプリント失敗の原因になります。私はデフォルトの0.8mmにしています。

パラメータの設定ができてプレビューでいい感じになったら、キーボードのF6を押してモデルをレンダリングします。PCスペック次第ですが少し時間がかかります。レンダリング時にエラーが出る場合は、どこかのパラメータ設定がおかしいので確認します。

レンダリングが終わったら、File→Export→Export as STLからSTL形式で出力できます。

これで3Dプリント用のモデルデータが完成したわけですが、パラメータの数字を弄るだけで3D CADの知識は全く不要であることがわかると思います。しかも無料。

3Dプリント

あとは先ほど出力したSTLファイルを3Dプリントすればバーティノフマスクの完成です。とはいえ、3Dプリンターを持っている方は少数でしょうし、このためだけに買うのも躊躇われます。通常は3Dプリントサービスにモデルデータを投げてプリントしてもらうことになるかと思います。

3Dプリントサービスもいろいろありますが、私は最近JLC3DPというサービスしか使っていません。もとはJLCPCBというプリント基板のオンデマンド生産をやっている会社のサービスで、中国から発送になりますが大変安くてしかも早いです。支払いにPayPalが使えるのも安心です。

たとえば、今回作ったSV106用バーティノフマスクの場合、プリント代が$3.36、送料$2.23、合計$5.59で、円換算すると送料込みで900円未満で作れてしまいました。

発注から届くまでのタイムラインとしては以下のような感じで、発注から10日ほどで届いています。なお私は北海道在住なので国内輸送に比較的時間がかかってこれです。発送オプションは一番安いOCS Expressです。

日時状態
9/25 21:33発注(レビュー待ち)
9/26 18:55レビュー完了(※)、支払い
9/26 21:20生産開始
9/27 19:46生産終了
9/28 16:10発送
10/4受取
※たぶんレビューはもっと早く終わっていますが、私がログインしてレビュー終了を確認、支払したのが翌日夕方でした。

さて実際の発注方法ですが、特に難しいことはありません。JLC3DPの発注ページから先ほどのSTLファイルをアップロードして、印刷方式や材質、色などを選択するだけです。

これはSV106用のバーティノフマスクを発注した際の設定です。過去の実績からMJFを選びましたが、光造形方式のSLAのほうがひょっとすると造形精度は高いのかも?しかも多少安いようです。今回の場合はあまり関係ないですが、MJFは複雑な構造や中空構造でもサポート材が不要なのが強みですね。

Product Descは通関書類に書かれるHSコードの選択ですが、ピッタリ合致するものがなかったので私の場合は拡大解釈でToy Partにしています。

あとはカートに保存してCheckoutするだけです。注文画面の3. Submit Orderの欄でAutomatic pay with PayPalにチェックしなかった場合は、ファイルのレビュー終了後、注文詳細画面から支払い手続きを行う必要があります。PayPal以外にもGoogle Payなんかも使えるようです。ファイルレビューは営業時間中であればすぐ終わるようですが、レビュー完了のメール連絡はなかった気がするので注意。

ちなみに、国内で使ったことがあるDMM.makeの3Dプリントサービスで見積を取ってみたら、MJF(PA12黒、今回の発注とほぼ同等の設定)で4500円、SLA(エコノミーレジン、色選択不可)で1200円でした。参考までに。


出来上がったバーティノフマスクがこちらです。どちらもMJFで作りましたが、表面はややざらざらの艶消しみたいな風合いになるのでちょうどいいかなと思ってます。造形精度はよいです。

埃汚くてすみません(笑)写真撮ってから気づきました。

使ってみての感想ですが、まず当たり前ですがバーティノフマスクとしてちゃんと機能します。あとはもう少し爪を短くして3本でなく全周リングの形状にしてもよかったかな?と思いました。

Generatorで作成したバーティノフマスクのSTLファイルの再配布もライセンス的にOKっぽいので、私が作ったSV106 60mmとSV165 40mm用のSTLファイルも置いておきます。なおSV165用は少し調整したので上記画像とは微妙に異なります。ご利用は自己責任でどうぞ。