さなけのなさけ

手書きレポートを自動化する方法

この記事は苫小牧高専アドベントカレンダー2020 18日目の記事です。

この記事を読んでいる方は、きっと一度は手書きレポートを課されたことあると思うのですが、めんどくさいと思ったことはありませんか?

この記事では「手書き”風”レポート」を手書きロボットで作成する方法を紹介します。

必要なもの

  • パソコン
  • 紙とプリンタとボールペン もしくは タブレットとタッチペン
    • 自分の手書きフォントを作るのに必要です。お好きな方でどうぞ。
  • お金
    • ペンプロッタ 約5000円〜15000円
      • 手書きロボットのことです。
    • Calligraphr (自分の筆跡の手書きフォント作成するサブスクのサービス) 約1000円/月
      • レポートを書くのに必要な文字を、1度だけ書きます。
      • フォントを作りたいときだけ払えばOKです。
      • 75文字以内のフォントなら無料ですが、お金を払ってしまった方が楽です。

ペンプロッタの購入

Aliexpress で「drawbot pen」と検索して出てくるやつを買えばいいと思います(適当)。英語ですけどどうにかなります(手書きレポートを書くよりは100倍マシ)。

ここでは「Arduino 互換品」と「CNC シールド」を使っている前提で進めます。というわけで「Arduino」とか「CNC」とかが説明にあれば9割方間違い無いです。英語ですがどうにかなります。

注文後、中国から安い船便で1〜3ヶ月ぐらい後に届くので、気長に待ちましょう。

「口」の字型と「十」の字型がありますが、「十」の字型の方が保管のスペースが少なくて済むのでおすすめです。

ペンプロッタの組み立てとセットアップ

こちらの記事が参考になりすぎるので、(そして組み立てをしたのは1年半以上前で覚えていないので)ここではざっくり書いておきます。

組み立て

部品がつまった箱が届きます(ほどんどが商品名に DIY と書いてあるので組み立て済みで届くことは稀)。

僕の場合は説明書が箱の中に入っているわけではなく、販売者から組み立ての説明書のダウンロードリンクが送られてきました。
英語か中国語かの説明書だったはずですが、前述の記事と説明書の図でどうにか組み立てました。

このあたりをおさえてあれば、雰囲気でやってもどうにかなります(なりました)。

Grbl の書き込み

実際、送られてきたものは書き込み済みかもしれないので、この手順をすっ飛ばしても大丈夫です。何かがおかしい感じがしたら自分で書き込みましょう。

Aliexpress で購入できるペンプロッタはだいたい、モーターがx軸、y軸にそれぞれ割り当たっているのではなく、2箇所に固定したモーターとギアベルトで動く CoreXY という構造(?)設計(?)になっているので、普通に書き込みをすると「x軸方向だけの移動のはずなのに変な方向に動き始める」とかが起きます。

config.h の189行目のコメントアウト // を外して書き込みしましょう。これでx軸とy軸の制御が正しくできるようになります。

bCNC のインストール

動作確認

インストールが終わったら、ペンプロッタをPCに接続して bCNC を起動してみましょう。
ペンプロッタは起動したときの場所が原点(0,0)になるので、接続する前に原点っぽい位置にしておきましょう。

起動したら、上部の File を押して、左下にある Serial 内の Port から、ペンプロッタのArduinoっぽいものを選択して、Open を押しましょう。ペンプロッタからカチッと音がするかもしれません。

image

接続ができたら、上部の Control を押して、左下の Control 内の矢印でペンプロッタが動けばOKです。
動く方向が逆だったら、おそらく原点の位置を間違えているので、位置を直して接続からやり直しましょう。

image

また、ペンプロッタのペンの上げ下げをするコマンドが説明書等の記述で動くか、下の Command: に入力するとわかります。僕は M05 S0 が下げる、M03 S255 が上げるでした。

手書きデータの作り方

元データの作成

レポート用紙の大きさに合わせて Word なり、PowerPoint なりで作りましょう。
当然その大きさで手書きデータを作成することになるので、文字の大きさだったり1行の設定だったりはきっちりやりましょう。
さもなくば罫線とは…なレポートになってしまいます。

図は、画像ではなくPowerPointで書けば大方うまくいきます。
(ですが、同じ図を大量に書くとかでない限り、図は横着せずに手書きした方が速いと思います。)

手書きフォントの作成

Calligraphr に登録して、Calligraphr - Upgradeから有料版を購入します。
使っている文字の数75文字以下なら無料でできますが、レポートで無料版で済ませるのは絶望的なのでさっさと買ってしまいましょう。

元データで使っている文字だけのフォントを作ります。

TemplateArbitary characters を選ぶと、

image

テキストボックスが出てくるので、

image

完成した元データのテキストを全選択をして全ての文字をコピぺしましょう。

Add を押して閉じます。

レポートで使っている文字が一覧になっています。これから手書き用紙をダウンロードして書き込みます。 image

Download Template でPDFをダウンロードして、印刷やタブレットで書き込みましょう。 image

書き込み終わったら、MYFONTSUpload Template で PDF をアップロードしましょう。
最後に Build Font を押せばフォントファイルをダウンロードできるので、自分のパソコンにフォントを追加しましょう。 image

元データの手書きフォント化

先ほど作成した元データを開いて、全てのページの字を自作フォントに変えると、手書きデータの完成です。

ペンプロッタ用のデータへ変換

ペンプロッタを動かすには、「Grblの書き込み」で登場した「G-Code」というものに変換する必要があります。

ただ、Word や PowerPoint のデータから直接 G-Code への変換はできない(ソフトウェアがない)ので、

Word / PowerPoint → PDF → SVG → G-Code

という順番で変換します。

Word / PowerPoint → PDF

Word や PowerPoint で PDF として保存をするだけです。この記事を読むような人であれば、誰でもできますね!

PDF → SVG

pdf to svg とかでググって出てくる適当なやつでちゃちゃっとできます。ただ数ページ1ファイルのPDFとは違い、SVGは1ページ1ファイルです。

SVG → G-Code

最初にデザインツールのInkscapeと、その拡張機能のGcodetoolsを導入する必要があります。

Inkscapeをパソコンにインストールします。
インストール後、Gcodetoolsページの CodeDownload ZIP からダウンロードして、Inkscapeの拡張機能を入れるフォルダ extensions に追加します。
(extentions の場所は環境によって異なるようなので調べてください)
これで導入は完了です。

この先はSVGファイル1つひとつに対して行う必要があります。

SVGファイルをInkscapeで開いて、エクステンションGcodetoolsPath to Gcode を選びます。 image

Preferences で保存先を書いたら、Apply を押して G-Code を作成します。
長くても数分後にはファイルが出来上がります。 image

image

作成した G-Code そのままでは、ペンの上げ下げが動かないので、生成された G-Code ファイルを少し編集します。

テキストエディタ等で開いて、こんな感じに置換してください。

箇所変更前変更後
ペンを上げるところG00 Z5.000000M03 S255
G4 P0.05
ペンを下げるところG01 Z-0.125000 F100.0(Penetrate)G01 Z-0.125000 F100.0(Penetrate)
M05 S0
G4 P0.3

ちなみに F100.0 の値を大きくすると、ペンプロッタの動作が早くなります。

編集例はこんな感じです。

image

ペンプロッタで手書きレポート作成!!!

G-Code の編集が終わったら、インストールしたbCNCに戻って、(終了した場合はペンプロッタと接続し直して)
上部の FileOpen からG-Codeファイルを開きます。

image

右部に動作の予定図が表示されるのを確認したら、紙を下において書く準備を整えましょう。
ControlStart でペンが動き始めます。

image

あとはこれを眺めていれば手書きレポートの完成です。

image


Written by さなけ. Twitter