Werner Almesberger werner at
Sat Nov 30 22:20:05 EST 2013

Bas Wijnen wrote:
> 1. I want to own my pointer.  KiCad continuously warps it all over the
> place, and it's very annoying.

Hmm, there are four situations where this happens:

1) if using eeschema and pcbnew in parallel. This can get annoying.
   Worse yet, I've seen eeschema freeze up in this mode of operation.
   Best to close the one you're not using.

2) "Magnetic" pads, traces, etc. They're actually meant to help you.
   And you're at the right place to complain, because it's me who
   introduced them :)

   The movements should normally be quite small, unless you have
   very large pads (e.g., the bottom of a CR2032 battery). Maybe
   you're just zooming in way too much, expecting to have to hit
   the right spot without help, while that magnetism will actually
   find it for you with much better precision ?

   You can disable them in Preferences > General > Magnetic Pads

3) When traces (may) cross, you also get a "magnetic" point at the
   exact intersection.

   And you're at the right place to complain again :)

   You can disable them in Preferences > General > Magnetic Tracks

4) When having traces crawl precisely at clearance width from others.
   And once more you're at the right place :) (Though Dick did a lot
   of work for handling all the crazy corner cases.)

   This is meant to be a help in extreme situations. I.e., when you
   have to work off-grid. It's okay to use that from time to time
   (and suffer the lack of comfort) but the idea is that you pick a
   grid that lets you place traces without having to squeeze out the
   last micron all the time.

   Not sure if you can disable them.

> 2. Library management seems to be very bad.

Yes, I hate it too. My approach is to edit the *.pro file manually,
never through KiCAD. When I need to add something, I quit eeschema,
cvpcb, or pcbnew, edit *.pro with vi, then start the GUI critter
again to see if my changes worked.

Careful: if you get it wrong and save the profile from the GUI,
your additions may be lost. Best to keep the editor open, to have
a copy of your work.

I use relative paths for my *.cmp and *.mod files. In fact, I don't
use any of the system-wide files because I can't tell what anyone
else may have installed on their system. The Qi-Hardware repository
kicad-libs is your friend :-)

Here are catalogs of the things in there:

(See below for why they are so old.)

I invoke eeschema and pcbnew directly from the command line, via a
Makefile. That helps to shorten *.pro editing cycles.

> 3. Its own router is useless.

It is, with its uselessness only surpassed by auto-placement. And
I share your discomfort about "free"router.

There is a brand-new router made by CERN. I haven't had a chance to
use it yet, though. I just route things manually. DRC helps to
avoid mistakes and the "magnetism" makes sure you hit the right

> 4. After working on a project for a while, there are many files in the
> project directory.

You may find pages 12 and 13 of
useful. Note hat some file names have changed since, especially
*.brd is now *.kicad_pcb

> I think the netlist can be generated, but the information which pcb part
> is providing which schematic part might be written in there as well?

No, it's in *.cmp When (re)generating the netlist, the data from
*.cmp is picked up.

> (and offer to fix at least item 1, and possibly 4 in the process,

By the way, if you're feeling energetic, Wolfgang's command-line
option patches no longer work. This means that a number of processes
what were nicely automatable (such as generating print jobs for
toner transfer just with "make front" and "make back", updating the
catalogs for kicad-libs, generating "photo-realistic" images of the
PCB, etc.) now have to be done manually.

There is now a scripting interface in KiCAD that may provide the
kind of functionality needed for bringing them back. I would be
extremely happy if someone could look into resurrecting these
options. I don't mind if they end up having a slightly different
syntax or such, just as long as the functionality comes back.

Examples of uses of these command-line options of eeschema and

- Werner

More information about the discussion mailing list