KiKit respects the KiCAD component selection criteria. When you specify an input rectangle, only the components that fully fit inside the input rectangle are selected. This however take in account both name and value labels.
When you do not specify the source are explicitly, KiKit takes the board outline bounding box as the source area. Therefore, by default, components outside the board substrate are not copied to panel.
Note that this is intended behavior; for once it is consistent with KiCAD behavior of user selection and also it allows to easily ignore surrounding comments and drawings in the board sheet (it makes no sense to have 12 same copies of the notes around the board).
How to include the components?
- specify the source area explicitly to include all your components
- specify
tolerance: 20mm
forsource
(i.e.,--source 'tolerance: 20mm'
) to enlarge the board outline bounding box. The default value is 5 mm.
KiKit's millradius
parameter from the postprocess
section simulates the
board outline milling by a tool with given radius. That means that it will round
all inner corners. It is not a command to round just your tabs. That means if
you specify a tool which diameter is larger than your slot, KiKit will remove
the slot as such slot cannot be created with the tool.
This is an intended behavior. The options is designed for you to check if your board can be manufactured with all the features you have in your board outline. There aren't many fabrication houses that support sharp inner corners as they cannot be milled but have to be e.g., broached, which is much more complicated and expensive setup.
If you want to preserve your narrow internal slots:
- don't specify
millradius
at all in thepostprocess
- specify smaller
millradius
but make sure that your fabrication house supports such small tools.
KiKit's mouse bites offset specifies how much should be the mouse bites put inside the board. The recommended value is 0.25 mm (read about it in this blog post). Why is it so? When you break the tab, there will be rough edges. By putting the mouse bites inside the board, these rough edges won't be sticking outside the designed board outline. When you want to fit your board in a tight enclosure, you don't have to perform manual deburing. Since it is considered a good practice, KiKit makes this the positive direction so you don't have to put minus everywhere.
If you don't want to put mouse bites inside your board, just specify zero or negative offset.
See the following question
Unfortunately, KiCAD includes it's own version of Python interpreter on Windows.
That means that the pcbnew
module is not installed for your system Python
installation. The KiCAD's Python does not allow to install libraries with binary
dependencies, therefore you cannot install KiKit in it.
I have plans for solving this issue, unfortunately, I cannot implement them until KiCAD on Windows migrate to Python 3 which should come with 6.0 release.
Until then you have two options to use KiKit on Windows:
- use the pre-built Docker image with KiKit
- install KiCAD and KiKit inside WSL
Both of these procedures are described in the installation document.
KiKit supports such feature. But it is not available from CLI. You have to write a simple Python script describing the panel and use KiKit as a library. An example of such a script can be found here. Also, please refer to the panelization documentation.
If you wonder why is it in such way: there are infinitely many ways to panel your design. A single CLI/UI will not fit them all and also even for the simple cases, it would be enormous and painful to use. Much better idea is to use a language to specify the panel. But why reinvent the wheel and design a custom language when we can use Python? It integrates well with other tools and many people already know it.
You have to enable them. See the installation guide.
See section "Choosing KiCAD version" in the installation guide.