John Beard
299a6c6c7b
Netinfo: avoid transitive string_utils.h include
...
Put the string manipuuation utils in the cpp, and
remove string_utils.h from the includes of netinfo.h.
This spams that header into about 350 files, not all of which
need it. Then go round and tidy up the places (most exporters
and dialogs) where CPP files weren't including string_utils.h
when they used it, as well as some other order-sensitive
include issues that turned up.
2025-08-12 20:00:15 +08:00
Jeff Young
e230d5164d
Honour renderSettings' default font.
...
This still leaves a few things out in the cold,
such as hit-testing and polygon generation.
But at least it allows us to plot with a default
font.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19031
2025-07-17 09:35:21 +01:00
Jeff Young
0495828a55
Honour front/back layer types for user layer.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21284
2025-07-17 09:35:21 +01:00
Seth Hillbrand
6cd076eed4
Blast quite a bit of LOCALE_IO into the sun
...
After forcing the locale-specific read/writes out of our IO, we can
remove the global LOCALE_IO calls in many places.
Still to do: exporters, pcm, specctra, settings, drawing sheets,
plotters
2025-07-14 15:30:42 -07:00
Jeff Young
c758a2fbaf
Don't sequence layers when order doesn't matter.
2025-07-14 19:12:44 +01:00
Jeff Young
d2a623719b
Be consistent about getting board copper layers.
2025-07-09 13:05:22 +01:00
Seth Hillbrand
51e36257e1
Fixup for cda127a9a3b9c6cf04266250517aa7d399ec251e
...
Support for arbitrary layer count
2025-06-06 12:44:58 -07:00
Jeff Young
af1a246e12
Nullptr safety.
2025-06-06 18:28:39 +01:00
Jeff Young
cda127a9a3
Fix for new layer arch (copper on even numbers only).
2025-06-06 18:28:39 +01:00
Ian McInerney
fd94488289
Mark ODB++ as export-only
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20493
2025-03-28 15:32:03 +00:00
jean-pierre charras
9d1b320896
Fix compil warnings
2025-03-08 09:40:23 +01: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
Eric
92cdca69b3
ODB++:Fix date format in misc/info file
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20103
2025-02-26 15:30:36 +08:00
Jeff Young
3f15b0d75b
ADDED: hatched fills for shapes.
2025-02-24 11:08:29 +00:00
Jeff Young
c5bb59468d
Get rid of assumptions about field order.
2025-02-24 11:08:29 +00:00
Daniel Treffenstädt
255f4aee76
Make sure drill layer pairs are created in odb++
...
fixes #20039
2025-02-22 10:58:14 +01:00
Jeff Young
5edae8250d
Finish eradication of visibility flag on text items.
...
Import/read previously-hidden symbol/footprint
text items as hidden fields.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19875
2025-02-19 23:43:52 +00:00
Alex Shvartzkop
66246798c1
Fix attribute writing in ODB++.
...
A space has to be put before the first ";", otherwise it can't be read correctly.
2025-02-18 11:18:47 +03:00
Eric
1968716542
ODB++: fix format error caused by empty PKG name when some AD projects import
2025-02-17 17:44:54 +08:00
Seth Hillbrand
6c2a559cbe
Set base user layer count
...
Default colors cycle through repetition for unknown layers. Allows
importing from complex Altium/CADSTAR boards with more than 10
documentation layers
2025-01-28 12:22:39 -08:00
Seth Hillbrand
1259e6057a
Correct ODB++ attribute output
...
System attributes should be prefixed by the . while user-defined
attributes can be freeform ASCII
Adds DNP & Component Type for footprints to ODB++ export
2025-01-17 15:46:55 -08: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
Ian McInerney
7f8b88221d
Initialize variables
2024-12-31 00:18:10 +00:00
Eric Zhuang
b3259a1c42
ODB++:Support choice compress format and specify output filename.
2024-12-29 17:01:27 +00:00
JamesJCode
dfe0d6345b
Another go at supressing FOOTPRINT field on FOOTPRINT objects
2024-12-28 21:57:35 +00: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
bfc505503b
ODB++: fix scale when exporting in Inches.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19333
2024-12-21 22:52:00 +03:00
Seth Hillbrand
527e2e8027
Unify Trace/Track usage
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19329
2024-12-19 15:55:26 -08:00
Jon Evans
b432f5d06e
ODB++: Fix back-side package mirroring
2024-12-16 13:05:32 -05:00
Jon Evans
044643b164
ODB++: Fix handling of polygon outlines
...
The ODB format only supports the concept of a filled polygon,
not one with a stroke outline. Use line features for these
instead.
2024-12-03 19:03:55 -05:00
John Beard
04d7bcc45e
ODB++: don't overrun the bezier point list
...
This produced a spurious point (at best, a crash at worst)
when exporting bezier curves.
Relates-To: https://gitlab.com/kicad/code/kicad/-/issues/18706
2024-12-03 21:26:59 +08:00
Jon Evans
4ae7381fcd
ODB++: Include footprint fields as properties
2024-12-02 00:11:25 -05:00
Jon Evans
b33f207676
ODB++: Set more verbose meta info in SAVE_APP rather than ODB_SOURCE
2024-12-01 23:39:56 -05:00
Jon Evans
d68fc87308
ODB++: Package names also can't have whitespace
2024-11-25 11:58:50 -05:00
Jon Evans
61e5b10031
ODB++: Fix net name whitespace and missing HDR line
2024-11-22 00:05:17 -05:00
Jon Evans
0e1715c7a0
ODB++: disable some matrix info that is not applicable
2024-11-21 17:02:59 -05:00
Jon Evans
687dc71e1d
ODB++: Use more friendly progress phase names
2024-11-20 19:03:15 -05:00
Jon Evans
f522232a4c
ODB++: Properly handle units property
2024-11-20 18:56:34 -05:00
Jon Evans
6a83d7bc76
ODB++: Handle existing output directory gracefully
2024-11-20 18:14:18 -05:00
Jon Evans
66b850a4d2
ODB++: comply with requirements for CMP strings
...
Remove Value from part_name as it isn't really
part of a footprint name. Guard against empty component
names or strings containing whitespace.
2024-11-20 17:48:19 -05:00
Eric Kuzmenko
707a8f6c1b
ODB++: Set COLOR=0 in MATRIX and remove MAX_UID from MISC per the standard
...
Signed-off-by: Eric Kuzmenko <eric.n.kuzmenko@gmail.com>
2024-10-22 08:26:25 +00:00
Jon Evans
2a605e4a4e
Infrastructure and file format for via stacks
2024-10-06 18:45:25 -04:00
Jon Evans
31475203dd
Support custom padstacks in ODB++
2024-10-02 22:39:58 -04:00
jean-pierre charras
56b50e1600
Fix compil warnings and minor Coverity warnings (uninitialized variables).
2024-10-02 09:33:54 +02: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
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
jean-pierre charras
16f0ebc96e
ODB++: do not translate error messages not really intended for users
2024-09-22 10:33:22 +02:00
Jon Evans
1895ec58a0
Fix various compile warnings
2024-09-18 18:51:02 -04:00
jean-pierre charras
1bc63c8013
Fix compil warnings (missing override)
2024-09-15 09:14:18 +02:00
Jon Evans
d501afdbaf
Fix ODB++ build on clang
2024-09-14 17:26:14 -04:00