7
mirror of https://gitlab.com/kicad/code/kicad.git synced 2025-04-02 00:26:45 +00:00
Commit Graph

744 Commits

Author SHA1 Message Date
Jeff Young
0a4533703c Performance. 2025-03-24 10:28:41 +00:00
Jeff Young
142f8265c5 Simplify (and fix) plated copper differentiation.
Also a few fixes for 3D rendering textboxes and
tables.
2025-03-17 20:11:20 +00:00
jean-pierre charras
60f65e68c1 Step export: handle castellated pads.
Only pads having the fab property "Castellated" are handled.
2025-03-17 11:14:53 +01:00
Jon Evans
77747aa41e Use UI order for drill report stackup
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20069
2025-03-16 11:13:14 -04:00
Jeff Young
50174ec528 Beware of infinite recursion on colliding hatched shapes.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20264
2025-03-08 21:23:14 +00:00
Marek Roszko
4f4ece61bb Move the fp svg cli to more similar plot code 2025-03-04 23:01:00 -05:00
Jeff Young
f5d2b40c9e Compiler warnings. 2025-03-02 17:12:05 +00:00
jean-pierre charras
eaa1e6d594 Fix a collision with a Windows define and our use of the same var name.
We use IN for INCH as units, but IN is defined in a Windows header
2025-03-02 11:34:30 +01:00
Jeff Young
f951497a4f Code brevity. 2025-03-01 21:58:31 +00:00
JamesJCode
93549a649b Fix unused variable compiler warnings 2025-03-01 18:32:18 +00:00
Daniel Treffenstädt
3768221d9c ADDED: Support for IPC-4761 Via protection features
Fixes https://gitlab.com/kicad/code/kicad/-/work_items/18837
2025-03-01 18:02:54 +00:00
Jon Evans
4123f75d5a Re-add accidentally removed increment
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20069
2025-02-23 22:41:44 -05:00
Connor Goss
5a5759c41a Add IPC-D-356 Export to kicad-cli
ADDED: Added IPC-D-356 exporting to kicad-cli.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13951
2025-02-22 21:00:54 +00:00
Alex Shvartzkop
775b768833 Fix VRML layer Z positions after v9 layer changes.
https://gitlab.com/kicad/code/kicad/-/issues/19608
2025-01-20 03:30:38 +03:00
Jeff Young
a1fbff35e8 Formatting. 2025-01-17 22:07:07 +00:00
Jeff Young
044fe24293 Remove ability to specify fp sides for position file jobs. 2025-01-17 19:37:12 +00:00
Jeff Young
5524ff3770 Formatting. 2025-01-08 15:39:47 +00:00
Seth Hillbrand
0b2d4d4879 Revise Copyright statement to align with TLF
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
2025-01-01 14:12:04 -08:00
jean-pierre charras
11f94283ef STEP exporter: export solder mask on tracks having a solder mask option.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18881
2025-01-01 15:14:23 +01:00
Ian McInerney
c0622eaa45 Avoid copies when using auto 2024-12-31 00:18:10 +00:00
Ian McInerney
7f8b88221d Initialize variables 2024-12-31 00:18:10 +00:00
JamesJCode
dfe0d6345b Another go at supressing FOOTPRINT field on FOOTPRINT objects 2024-12-28 21:57:35 +00:00
Marek Roszko
1d063e1420 Actually handle svg plot job failure correctly 2024-12-25 10:05:33 -05:00
Seth Hillbrand
e9bc8cfe9d Give Clipper1 a Viking funeral
Clears out the last spot where we were only using Clipper1 (how'd I
miss that?) and remove all calls to the Clipper1 structures
2024-12-23 17:12:09 -08:00
Alex Shvartzkop
418c8592aa Allow to control via hole cutting in board body/copper.
- "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
2024-12-20 23:28:46 +03:00
Jan Wichmann
8d015b2967 pcbnew: Respect options when STEP exporting graphical and text items
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19116
2024-12-10 13:54:47 +00:00
Marek Roszko
af8f25875b Get the pcb plot dialog hooked up to jobs editing 2024-12-09 07:17:38 -05:00
Seth Hillbrand
bf6a255a3e Move more elements from fixed size arrays
Refactor layer data storage from compile-time array sizes to run-time
map storage
2024-12-03 13:25:11 -08:00
Jon Evans
4f4a8dec24 Remove OCC version build warning 2024-12-01 23:39:56 -05:00
Alex Shvartzkop
1838b2656d Print pad areas for XAO export. 2024-11-15 11:47:25 +08:00
Jon Evans
898ea8e13a IPC-D-356 export improvements for padstacks 2024-11-06 18:43:27 -05:00
Alex Shvartzkop
3b987776c7 ADDED: STL and PLY (since OCCT 7.7.0) 3D model export. 2024-11-04 16:15:02 +03:00
jean-pierre charras
a4292ea516 Gerber and drl files (& drl filenames): fix issues due to layer renumbering. 2024-10-14 18:46:18 +02:00
Jon Evans
2a605e4a4e Infrastructure and file format for via stacks 2024-10-06 18:45:25 -04:00
Alex Shvartzkop
1b540752d9 OCCT (STEP) export: fuse pad shapes earlier.
Because OCCT doesn't like fusing track segments with 3-part TH pads sometimes.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18799
2024-10-06 12:28:29 +03:00
John Beard
3d6d8b9946 Strip richio.h from headers that don't need them
Like the DSNLEXER header, this has visibility in over 700
files, whereas well under half actually use any of it
(quite a bit, but not all, of it actually via DSNLEXER)

Many places already forward-declare the OUTPUTFORMATTER type,
by doing that for the others, it still possible to use the
non-IO methods without having to see richio.h.
2024-10-04 18:06:18 +01:00
Jon Evans
56e0811516 Phase 2 of padstack support
CHANGED: PCB file format now supports saving/loading complex padstacks

CHANGED: PTH pads are now rendered per copper layer in the copper color;
         the PTH pad color is no longer used.

ADDED: support for importing complex pad stacks from Altium PCBs

Enforce padstack-aware access to pad properties across KiCad

Fixes https://gitlab.com/kicad/code/kicad/-/issues/8182
2024-10-01 19:55:03 -04:00
Marek Roszko
d74caace0a Initial jobset creation and running within the CLI and GUI.
Incomplete, just pushing this before feature freeze, much fixing left
2024-09-30 20:04:53 -04:00
John Beard
215533f31a Unify flip direction handling
There was a gentle mish-mash of booleans, some with
true being left/right and some up/down, and some functions that
can flip in both axes (which is never actually done, and doesn't
really make geometric sense).

Replace all this with the FLIP_DIRECTION enum class, which makes
the intention completely unambiguous.

This also then allows a small scattering of simplifications,
because everything takes the same type and you don't have to
fiddle booleans to fit.
2024-09-27 17:13:13 +01:00
Mike Williams
867cb58175 feature removal: remove Show Hidden Text
Does not work properly since 8.0 introduction of footprint fields.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/18656
2024-09-19 15:41:44 -04:00
Alex Shvartzkop
68ca80d876 Fix copper Z positioning for OCCT export.
https://gitlab.com/kicad/code/kicad/-/issues/18741
2024-09-19 11:27:08 +05:00
jean-pierre charras
06b1dd7bd8 GERBER_JOBFILE_WRITER: fix issues with layer names after layer renumbering. 2024-09-18 15:37:10 +02:00
Seth Hillbrand
5e0abadb23 Reorganize layer numbering
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
2024-09-06 23:07:58 +00:00
jean-pierre charras
87cf37c847 wip 2024-08-31 11:38:51 +02:00
jean-pierre charras
19ee73e7f7 STEP exporter: fix some issues:
* do not try to load vrml files for file formats that do not use them
* more tolerant test for step file: search header using up to 3 first lines
instead of only the first line
* dialog export: ensure the file ext is synchronized with the file format
the first time the dialog is opened
* more info messages: now a message is printed if the actual file format of
a 3D file is not recognized
2024-08-31 11:12:12 +02:00
jean-pierre charras
e6f9907246 STEP exporter: fix Z position of 3D shapes.
Previously the Z pos was the position of dielectric body. Now it is the position
of top of copper layers, like in the 3D viewer.
2024-08-21 18:42:15 +02:00
Seth Hillbrand
7214ef1f14 Remove basic masking class map_string_utf8
This is just std::map<std::string, UTF8>, using the class just masks
what it is and adds unclear functions.
2024-08-19 11:51:13 -07:00
Jeff Young
01332a2cb5 ADDED: plotting options for DNP footprints
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
2024-08-18 10:02:14 -06:00
Jon Evans
7349d79096 ADDED: Component filter for STEP export
Also refactor to avoid duplication of settings

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18290
2024-08-03 21:56:48 -04:00
James J
7ce00e511b Multi-netclass support 2024-07-26 20:49:29 +00:00