ADDED: add support for specifying drill shape ("drill marks" in the UI)
on the CLI when exporting DXF files of PCBs.
This standarizes on "actual size" for the drill marks, as do PDF and SVG
exporters, while the current, undefined and undocumented default,
appears to be "small marks".
Oddly enough, this option appears to only have effect in `--mode-new`.
I would appreciate guidance on what to do about this fact.
Recommendation is to avoid using the year nomenclature as this
information is already encoded in the git repo. Avoids needing to
repeatly update.
Also updates AUTHORS.txt from current repo with contributor names
To represent KiCad's internal units (1 nm), it's enough to have:
- 6 decimal digits in mm;
- 8 decimal digits in inches.
There's not much point in reducing the precision.
Up to 10 digits allowed just in case.
Also changes precision to 6 decimal digits by default.
ea904c9f introduced a new cli argument to `kicad-cli sch export bom`,
but it did not actually register it with the argument parser. Any
invocation of `kicad-cli sch export bom` currently results in this
error:
Error: Unhandled exception class: St11logic_error what: No such
argument: --include-excluded-from-bom
This patch adds the registration.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19335
- "Fill all vias" option disables the cut in copper layers which is
important to speed up EM simulations.
- "Cut vias in board body" enables cutting even if copper layer export
is disabled, which is useful if you're using vias as mounting holes.
Related: https://gitlab.com/kicad/code/kicad/-/issues/18735
F_Cu = 0
B_Cu = 2
Remaining internal copper layers are even and incrementing
Non-copper layers are odd and incrementing.
This means that we can no longer do things like:
for( PCB_LAYER_ID layer = F_Cu; layer <= B_Cu; ++layer)
Instead, we have the class LAYER_RANGE:
for( PCB_LAYER_ID layer : LAYER_RANGE( F_Cu, B_Cu) )
Similarly, gt/lt tests should not refer to the integer value of the
layer. We have functions such as IsCopperLayer to test whether a layer
is copper or not.
When using the connectivity RTree, the third dimension is layer, so we
provide B_Cu with the special INT_MAX value, ensuring that elements
between F_Cu and B_Cu will be identified. There is a new, special
function GetBoardLayer() for interfacing with CN_ITEMS
Similarly, PNS layers remain unchanged and sequential. A set of
interface functions is provided to map PNS layers to Board layers and
back. This allows the PNS_LAYER_RANGE to function as expected
Also removes the plot-fp-refs, plot-fp-values and
plot fp-text overrides from the GUI, but leaves
them as job arguments.
(Note that the job arguments also separate out
sketching DNP graphics and plotting the 'X', which
the GUI does not.)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18056
- Option to export pads separately from tracks+vias
- Options export silkscreen and soldermask as flat faces
- Improve 3D model export dialog layout
- Use VisMaterialTool to specify metallic-roughness for glTF.
- Less OCCT boolean operations (faster, less bugs)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2072