デモとレポジトリ

回路図ビューワ。開いてすぐ Load from url すると、github で公開されている回路図を読みこんで表示するようになっている。

レポジトリは https://github.com/cho45/kicad-utils

CUI

npx で実行できるようにしてみた。以下のようにすると同名の .svg ファイルを生成する。

npx -p kicad-utils sch2svg path/to/file.sch

経緯

github などに KiCAD の回路図ファイルをアップロードしても実際に閲覧するためにはダウンロードして KiCAD で開くという作業が必要で、これがなかなか面倒くさい。KiCAD は同時に1つしかプロジェクトを開けないので、他の作業をしてるときに別の回路図を開く気が起きない。というかそもそもダウンロードが面倒くさい。

たとえば回路図を複数人で開発するなり、レビューするなりしようと思うとかなり面倒なコンテキストスイッチが発生する。特に github のレビューフローに慣れている人間は github 上で見れないなら見ないので良くない。

他にも理由はあるけどおおむね以上のようなことが主因で、とりあえず CUI で回路図を png や SVG に変換できるツールが欲しいと思った。

実装言語としても検討した結果、使い慣れており応用例が広いブラウザ上で動くことを念頭に TypeScript とした。

実装

最初は KiCAD 自体のファイルを再利用 (emscriptenなど) することを考えたが、全体的に wxWidgets 依存があって無闇にハマりそうと感じた。

その過程で実装を読むと移植してもそれほど工数がかからないのではないかという感じがしたため、TypeScript でフル実装を書く方針とした。

まずコンポーネントライブラリ (.lib) ファイルのパーサーと canvas API を利用するプロッター(レンダラー) を書いた。

次の回路図 (.sch) ファイルのパーサーと対応するプロッターを書いた。この途中で SVG で出力するプロッター実装も書いた。プロッターレイヤーで、canvas 出力と SVG 出力を抽象化していて、これは KiCAD の実装と同様。

というか、できるだけミニマルな実装を書こうと思ったが、そうすると対応が不完全になりがちなのと頭を使いすぎるので、本体変更に比較的追従しやすいようにコードがほぼ1:1対応するような移植を行なった。とはいえもともと C++ なので TS であまりにも不自然なAPIは変更してる。

所感

完成度的にはまだ 70% ぐらい。SheetPin など全く実装してないものもある。色もない。とりあえず見るという目的にはある程度使えるかなというところ。

Chrome 拡張化して github 上に直接表示できるようにしたい。

元ファイルが行指向のフォーマットのため、diff をとって変更したコンポーネントやワイヤに色をつけるみたいなことも頑張ればできそう。

その他

いろいろ鑑みて webpack を初めて導入してみたが設定が辛かった。

  1. トップ
  2. tech
  3. KiCAD の回路図ファイルを CUI で SVG に変換したり、そのままブラウザで見たりする kicad-utils

仕事を中心にして考えてるのがそもそもの間違いだと思う。あたりまえだけど業務時間外は「自分の時間」であって、仕事のための勉強をする時間ではない。

前も書いたけど、趣味すなわち自分の時間で自分の意思によって主体的に行うことが一番重要なのであって、仕事はそれに付随しているものでしかない。

「趣味でやった結果がなんとなく仕事に役に立つ」は良いが「仕事のために趣味の時間を使う」のは間違えている。

僕が嫌だなと思うのは、趣味で好きでやってた結果仕事に役に立って金を稼いでいるケースなのにも関わらず、それを「努力」の結果だとしようとするところで、一見マトモそうな人でもこういうことを平然と言ったりするので気が萎える。あくまで、仕事に役に立つことに興味を持ってとりくんでいるのは「たまたま」なので、それでマウンティングかけるようなのはイライラしてしまう。

趣味と仕事が直結しているのは (たとえば自分もそうだけど)、基本的にはチートなので、あんまりおおっぴらに誇れることではなくて、たまたまそういう状態にあるというだけだと思う。まぁチート・ずると言うとトゲがあるけど、業務の視点からいえば残業して評価をあげるのとなんら変わらない。


コミュニケーションには非対称性があって、立場が違うと言っていいこととわるいことが変わる。趣味と仕事が結びついていなくても、ある行為を自分のためにすることかどうかというのが肝心だと思う。

経営者が「個人の時間を使わないと不利益があるぞ」というのは全くダメだし、もともと業務時間内だけでも十分成果が出せるような人はいるので、時間の使いかたに口を出すのは間違えてる。

とはいえ「個人の時間を使わないと不利益があるぞ」というのは正しい。このとき「今の仕事」だけで考えてはダメで、従業員的には1つの会社にバインドされるのを避けないといけない。このときにする「勉強」っていうのは業務すなわち所属会社のためのものではなくて、自分の生存のためのものでリスクヘッジのためにある。それが結果的に今の仕事に役に立つことはあるかもしれないけど、それは「たまたま」である。

氷川女體神社 → 氷川神社と行ってみた。

氷川女體神社


東浦和から徒歩でいった。1時間ぐらい歩く。


だいたい見沼代用水西縁緑道を歩いていけば気持ちよく歩ける。元々見沼だったところは開発規制されているので、びっくりするほど田舎の風景が広がっている。

前に訪れたときは本殿改修中だったが今回は大丈夫だった。


祭祀遺跡というのがあってちょっと面白い。RPG に出てくるみたいな離れ小島みたいなものがある。

氷川神社



大宮駅から、先に本殿に御参りしてから参道を逆に歩き、さいたま新都心駅まで。

氷川神社、訪れたことがあったはずと思っていたけど、どうやら別の氷川神社だったみたいで、完全に初見だった。

大宮駅自体も下車するのは初めて (新幹線に乗るために行くことはある)。思ったより駅前が開発されてないんだなという印象。

思ったよりもかなり参拝客が多かった。大宮駅に近いことは近いが、微妙に歩く必要がある (明治神宮と原宿みたいな近さではない)


境内も広くて立派な神社だった。


氷川神社は参道が 2km と全国最長とのこと。ちゃんと参道を一の鳥居から歩くならさいたま新都心駅で降りないといけない。まぁ参道といっても車道が通っていたり住宅が隣接したりしていて、純粋に参道っぽい参道はかなり短い。

この参道入口はブラタモリの大宮編に出てきたので見たことある人は多そう。

ほか

氷川神社 (男体社) と氷川女體神社 (女体社) を直線で結んだ中間あたりに中山神社 (中氷川神社・氷王子社)というのがあって、これも行きたかったが今回は諦めた。

これら3つの神社は見沼というかつてさいたまにあった沼の辺に建っていたらしい。

もともと沼も含めて (今は分かれている) 3つの神社が本来1つの神社として広大な神域を持っていた説があるらしくて夢がある。

  1. トップ
  2. photo
  3. 氷川神社・氷川女體神社