Seth Hillbrand
bcf6b620a8
Large rework of BEZIER_POLY
...
Add direct handling of quadratic beziers to save compute time and number
of points. Update cubic interpolation to reduce number of points
generated for a given smoothness
Cache data on open and used cached data to avoid multiple re-calcs
Remove minimum line length and number of segments and replace with
standard max error level. Allows us to specify the tolerance of bezier
interpolation
2024-06-18 17:55:41 -07:00
Jeff Young
9b8f1109e6
Formatting.
2024-06-06 11:41:37 +01:00
Jeff Young
4901ffd935
Formatting.
2024-05-27 17:06:09 +01:00
Seth Hillbrand
9c24a39156
Handle 2581 knockout text with multiple outlines
...
Previous commit removed the handling of multiple outlines. This
restores Jeff's initial, correct handling, only minus the "UserSpecial"
nest
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18042
2024-05-27 07:29:52 -07:00
Jeff Young
bc14a841cb
Check for drilled hole errors in Footprint Checker.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18093
2024-05-27 13:51:21 +01:00
Seth Hillbrand
becc0232b4
Fixup IPC2581 knockout text
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18042
2024-05-26 08:04:06 -07:00
Jeff Young
f1aea810cb
Add knockout text support to IPC2581.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18042
2024-05-25 22:30:41 +01:00
Jeff Young
b0dddb6d95
Formatting.
2024-05-25 22:06:38 +01:00
Wayne Stambaugh
795a9eea60
Coding policy fixes.
...
This is primarily to change all instances of wxLogDebug with wxLogTrace
so developers do not have to sift through debugging output that is always
dumped. The only exception is for code blocks built in debug builds and
called on demand for dumping object states.
2024-05-23 07:59:45 -04:00
Seth Hillbrand
4218664d88
Cleanup on 2581 header
2024-05-08 15:36:33 -07:00
Seth Hillbrand
13735050da
Use StandardPrimitive library for vias
...
Some 2581 parsers don't like to consider UserPrimitive even though they
are essentially the same thing and required by the standard. ¯\_(ツ)_/¯
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16661
2024-05-03 09:11:49 -07:00
Seth Hillbrand
ef62b01dd1
Make import/export flags explicit
...
IO plugins can import/export or both. This sets an explicit boolean for
controlling which options are available.
2024-04-25 09:21:15 -07:00
Seth Hillbrand
eeee63186d
Don't list IPC-2581 import
...
We don't currently support importing 2581 files. We need to clear
IO_FILE_DESC to prevent this from accidentally showing
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17866
2024-04-25 09:02:38 -07:00
Seth Hillbrand
374fb0f5f2
IPC2581 fixes
...
- Component name ref comes before pin ref
- OtherSideView is at the end of the package
- BOM defines the dictionary so we need all items in the BOM even if
marked "Exlude from BOM"
- Fix unique REFDES indicator to increment number rather than appending
additional numbers
2024-04-16 13:25:09 -07:00
Jon Evans
493ca7a0f5
Fix unhandled case warnings
2024-04-02 20:56:48 -04:00
Seth Hillbrand
2123e2ca9c
Add some corrections to IPC2581 export syntax
...
Outline fonts need lineDesc
Padstack def need the location for the pad relative to the padstack
2024-04-01 22:57:25 -07:00
Roberto Fernandez Bautista
079478f989
EDA_ANGLE: use constexpr for constant angles
...
Remove all statics in the class and instead use constexpr to
ensure correct ordering
2024-01-31 19:17:46 +03:00
Seth Hillbrand
b12d0dfd67
Fix pad offset removal vs hole offset
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16767
2024-01-29 08:22:23 -08:00
Seth Hillbrand
96297b50a1
Remove padstack offset value
...
We encode the pad locations for the package in the pin, so we don't need
an additional offset from the pin location
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16767
2024-01-26 10:53:36 -08:00
Seth Hillbrand
9e9dfb38d1
IPC2581: Correct flipped pad handling
...
Board footprints have pads already flipped, so we don't need to adjust
layers when outputting
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16659
2024-01-25 13:06:59 -08:00
Ian McInerney
d7fe668d79
Push PCB_IOs to use the base progress reporter instead of per-function
2023-12-27 17:06:23 +00:00
Ian McInerney
f8688a922d
Unify IO library descriptors
2023-12-27 16:34:59 +00:00
Ian McInerney
743e9d669a
Push library management into IO_BASE
2023-12-27 01:21:53 +00:00
Ian McInerney
cad91312aa
Introduce main base class for all IO loaders
2023-12-26 23:27:11 +00:00
Ian McInerney
e6632bb983
Rename PCB IO classes/files
2023-12-24 01:22:21 +00:00
Ian McInerney
d8b47d18d3
Initial rename of file plugin infrastructure components to IO
2023-12-24 01:22:21 +00:00