.schファイルのランチャー作ってみた

KiCad vs Eagle vs ……

「さあ汽笛にも応援されながら……,参りましょう!問題!(デェン!!)」
「舞台は陵桜学園高等部,美水かがみの描く(ポォン)四コマ」
「浦和高校」
「らき☆すた」
(ピンポンピンポン)
「これにはラサール高校もお手上げ」
「前人未到の三連覇に向け好発進です」

「ラストスパート(デェン!!),問題!」
「ポケモン映画十周年を記念した新シリーズのタイトル,史上空前のド迫力バトル!」
「KiCad vs (ポォン)Eagle」
「うほほ……,浦和こい!」
「ダークライ」
(ピンポンピンポン)
「キタキタキターーー!!!KiCad vs Eagle vs ダークライ!」
「なぜこれを知っている!」
「ポケモンですよ!」
「いや,なんかテレビ見てたらやってました」

ランチャー作った

こんにちは,にくまん(@this2na)です.

私は個人的にKiCad使いなのですが,部内ではEagleを標準で使っているのでどっちもインストールしています.ただ,こいつら,回路図ファイルが同じ拡張子.schを使っているんですよね.なので,.schにKiCadを関連付けしていると,Eagleの回路図ファイルをダブルクリックしたときにKiCadが起動してエラーになってしまいます.Eagleを関連付けしていても,KiCadのファイルを開くとエラーに…….なので,関連付けされていない方の回路図ファイルを開くときは右クリックメニューからプログラムを指定していましたが結構面倒なんですよねこれ.

そこで,回路図ファイルの中身をみて適切なCADを起動するランチャーが作れないかと画策するに至ったわけです.そこで,まずKiCadとEagleの回路図ファイルを開いてみます.KiCadはよくわからないけれどテキストベースのファイルになっているようですが,1行目にファイルについての情報があるのでここから判別できそうです.その一方,EagleはXMLベースのファイルになっていて,eagleタグが一番上の階層にあるのでそこから判別できそうです.

KiCadの回路図ファイル
KiCadの回路図ファイル
Eagleの回路図ファイル
Eagleの回路図ファイル

ここからは楽しい楽しいコーディングタイムです.GUIのプログラムもXMLの扱いも簡単なC#で書きました.環境はMicrosoft Visual Studio 2019 Communityです.
ソースはここ( https://github.com/thistuna/schLauncher )です.

やっていることは単純で,ファイルをとりあえずXML形式だと仮定してeagleタグを取得しようとします.この処理のどこかで例外が発生するとeagleのファイルじゃないと考えられます.KiCadかどうかは見ていません.だって面倒くさいから.いずれ実装するかも…….実装してプルリク送ってくれてもいいんですよ?

ビルドして……,起動します.すると設定画面が出ますね.

ランチャーの設定
ランチャーの設定

画像のように設定してOKで準備完了です.あとはschファイルをこいつに関連付けしてあげればこいつがKiCadかEagleかそれっぽい方でschファイルを開いてくれます.

アイコンが全然回路図っぽくないのが気になりますね…….

1+

コメントを残す

メールアドレスが公開されることはありません。