package plotkicadsch

  1. Overview
  2. Docs

Description

PlotKicadsch is a small tool to export Kicad Sch files to SVG pictures. In the future, export to other formats may be available (PDF, PNG).

This package also provides the plotgitsch command which allows to visually compare git revisions of schematics:

Visual diff

For more information type plotgitsch --help.

Objectives

This project is mainly an attempt at using ocaml with functional programing on a pet real-world project.

The quality of the output is not a first requirement (meaning: not supposed to match Kicad one to one), but the accuracy of positioning matters.

Published: 05 Jul 2018

README

README.md

Kicad schematic plotter

PlotKicadsch is a small tool to export Kicad Sch files to SVG pictures. In the future, export to other formats may be available (PDF, PNG).

This package also provides the plotgitsch command which allows to visually compare git revisions of schematics:

For more information type plotgitsch --help.

Objectives

This project is mainly an attempt at using ocaml with functional programing on a pet real-world project.

The quality of the output is not a first requirement (meaning: not supposed to match Kicad one to one), but the accuracy of positioning matters.

Installation

The stable version of plotkicadsch can be installed with opam:

$ opam switch 4.06.0
$ eval `opam config env`
$ opam update
$ opam install plotkicadsch

If you don't use opam consult the .opam files for build instructions.

Master version

The latest running version can also be installed from this repo by pinning the project in opam:

$ opam pin add kicadsch .
$ opam pin add plotkicadsch .
$ opam update
$ opam install plotkicadsch

Contributing

This project accepts GitHub pull requests, but as it is a self-teaching project, I would prefer to do all the core stuff. If you see some parts of the code whose style is not ocamlish or not FP ready, please let me know.

If this project happens to be of any use, let me know also!

Dependencies (13)

  1. cmdliner
  2. core_kernel < "v0.12"
  3. patience_diff >= "v0.10.0" & < "v0.12"
  4. base64 < "3.0.0"
  5. git-unix < "2.0.0"
  6. git < "2.0.0"
  7. sha
  8. lwt_ppx build
  9. lwt >= "3.1.0" & < "4.0.0"
  10. tyxml >= "4.0.0"
  11. kicadsch = "0.3.0"
  12. jbuilder >= "1.0+beta7"
  13. ocaml

Dev Dependencies

None

Used by

None

Conflicts

None