開発のきっかけ
きっかけは、I/OリストがなくPDF図面しか提供されない改造案件がたまたま数件連続したことでした。
図面のコメントをコピーしてPLCのツールにひたすらペーストする……。一度きりならいいのですが、何度もやるとなると単純作業だけで工数がかなりかかってしまいます。
「この時間をプログラムで削りたい」と思い、Pythonの勉強も兼ねてツール開発を始めました。
試行錯誤:OCRも検討した
開発の途中で、「OCR(文字認識)を使えば、もっと汎用的にあらゆる図面に対応できるかも?」と考え、Pythonのライブラリ(Tesseract等)をいくつか試してみました。
しかし、自分の技術不足もあり、電気図面特有の細かい文字や罫線の影響を排除して、正確なデータを抜くのは想像以上にハードルが高いことが分かりました。1文字でも読み間違えると実務では使えないため、OCRでの実装は一旦断念しました。
現在の仕様:ベクターデータの直接抽出
そこで現在は、CADから出力されたPDF内部のテキスト情報(ベクターデータ)を直接取得する手法をとっています。
- 精度: 画像認識ではなくデータそのものを叩くため、誤字は起きません。
- 狙い撃ち: 図面内の「コメント欄」などの座標を指定して、ピンポイントに抽出。
条件(ベクターPDFであること等)は付きますが、ハマれば数時間の手作業を数分に短縮できるようになりました。
技術メモの置き場として
自作ツールの公開や、技術的な備忘録をストックする場所として「FA Engi Lab」を作りました。
現在はメインツールの販売準備を進めていますが、今後はちょっとした無料ツールなども含めて、現場で役立つものを置いていく予定です。まずは開発の経緯を記録として残しておきます。
今後は、改めて勉強し直している「ラダー設計の基礎」についても、学習ログとしてここに残していく予定です。現場の作業を少しでも楽にするための試行錯誤を、等身大の言葉で記録していきます。


コメント