← Back to team overview

kicad-developers team mailing list archive

Re: Kicad 6 API

 

On Thu, 2020-07-09 at 15:18 +0200, Nick Østergaard wrote:
> Are you talking about the python scripting API,   or what is your
> intention?

I am keen on aiding some of the processes in PCB design & manufacturing
using KiCad as the tool to provide the design of the pcb. After design,
I found that often companies struggle with the process following
thereafter. We (https://www.singingcat.net/) build PCBs with KiCad and
have found this to be a common topic. So we'd like to build a more
friendly process (web) tool, with KiCad as the PCBDesign software at
its core.


1)
I am keen on generating the outputs for manufacturing and documentation
(e.g. circuit diagram pdfs, rendered 3d-view of pcb) as part of a git
hook.

2)
I like to read BOM information so that I can export the data into a
database and manage the components outside kicad. That is, because the
components being purchased actually differ slightly from those intented
during design. (Due to availability, pricing, etc..). 

3)
I've seen various 'hacks' out there to provide a graphical 'diff'. I
would like to see the API either provide means to do a diff on two
commits of the same repository, graphical or otherwise, in such a way
that it can be integrated into a web-based process.
(with "diff" I mean a method to see where and what changes were made in
two versions by a person not trained to do PCB design. - this is mostly
to review changes and spot unintended modifications)

4)
Inserting and Tracking serial numbers on the boards during git-commit.
This is essential so we can match pcb versions and assembly serial
numbers with the right version of instructions sent to manufacturer and
to match it against any certifications that were issued to certain
revisions of boards. 

5)
On bigger/complex boards, there are often 'sections' which are handled
by exports. for example, radio vs memory/cpu vs powersupply. It would
absolutely awesome if we can progress KiCad to support such teams. In
my mind, I am thinking of a KiCad server which serves clients and
sections can be 'locked' and worked on simultaneously. Simultaneously I
mean, with changes being propagated to each KiCad Client in real-time.

For the purposes above, The python API is a bit limited in that it
1) supports python only 
2) only exposes a subset of what I need

I know that's quite a lot of work, so I thought perhaps there are
thoughts around (some of) these topics already, but could not find
documentation  about the future architecture and plans for development.

Thus I wonder, if that is an area where help would be appreciated or if
I am barking up the wrong tree so to speak :)







Follow ups

References