Commit Graph

809 Commits

Author SHA1 Message Date
Seth Hillbrand fcc6dec0e4 Handle bezier curves in 2581 better
Rather than keeping the cached, we should calculate the level we want
and output that
2023-12-04 16:55:43 -08:00
Seth Hillbrand bd4278140f Allow graphical fill to be read as boolean
We had been allowing yes/solid/none with yes/solid both representing
true and none representing false.  This adds the complimentary boolean

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16262
2023-12-04 13:47:31 -08:00
Seth Hillbrand 06c3879007 Don't put polygons in shared bins
Some viewers don't want to render polygons as part of UserSpecial, so
keep them in their own set even though they have absolute coordinates
2023-12-04 13:45:33 -08:00
Seth Hillbrand 12d787ecc0 Name pins after numbers in IPC2581
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16211
2023-11-30 10:08:03 -08:00
jean-pierre charras 1bac16459a pcb_parser.cpp: fix parsing issues with T_bolt and T_italic. these keywords
can have a second key (yes or no) or no othe key (i.e. defualt = yes)
2023-11-30 08:58:23 +01:00
Jon Evans 98df3860f5 Fix build on GCC 11 2023-11-29 21:29:48 -05:00
Seth Hillbrand ff9c4c56fa Clean 2581 output
Remove negative floating point outputs
Disambiguate reference ids between dictionaries

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16211
2023-11-29 17:32:23 -08:00
Jon Evans 19cfc18cf8 Quote base64 data in PCB 2023-11-29 16:17:41 +00:00
Jon Evans 4ff127b452 Parse generator_version and improve error output on mismatch
Also bump symbol format version for generator_version
2023-11-29 16:17:41 +00:00
Marek Roszko d1ecf3790c Add generator version 2023-11-29 16:17:41 +00:00
Jon Evans f1f8981395 Automatic whitespace and indentation prettification for sexpr formats 2023-11-29 16:17:41 +00:00
Jon Evans 55ba667bcb Retire tstamp keyword in favor of uuid 2023-11-29 16:17:41 +00:00
Jon Evans 55bca5e7ac Normalize formatting of booleans in the PCB file format 2023-11-29 16:17:41 +00:00
Seth Hillbrand 1a2f2d418c Basic handling for slotted holes in IPC2581 2023-11-27 11:57:31 -08:00
Seth Hillbrand f64349b292 Coverity fixes 2023-11-27 11:57:31 -08:00
Seth Hillbrand 4fe755854f Remove GCC extension syntax 2023-11-26 16:46:56 -08:00
Seth Hillbrand 75c6b0ab28 Added IPC2581 support
IPC2581 is a modern production file exchange system.  It provides
single-file data output for an entire board including BOM and netlist
information.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/1954
2023-11-26 15:30:58 -08:00
Alex Shvartzkop c307e284e0 Altium PCB: fixup GetRemainingSubrecordBytes usage. 2023-11-26 00:30:22 +03:00
Alex Shvartzkop a8795711a0 Altium PCB: import hatched polygon pour fills. 2023-11-26 00:23:37 +03:00
Jeff Young df83e24eb7 Cleanup.
It's been a long time since line style was specific to plotting.
2023-11-25 13:12:45 +00:00
Alex Shvartzkop 76352234e5 ADDED: Support Altium .IntLib (Integrated Library) in fp/sym library tables. 2023-11-17 07:20:18 +03:00
Alex Shvartzkop 8752f75ef9 EasyEDA Std: COPPERAREA parsing failsafe.
Fixes KICAD-41Q
2023-11-04 13:55:29 +03:00
Jon Evans 1b4e77d53c Fix another gcc 11 compile error 2023-11-01 20:49:08 -04:00
jean-pierre charras d8be69c3c1 PAGE_INFO: use double instead of int to store the page size.
For historical reasons, they are stored in mils, but using int create rounding
issues when converting to/from mils to IU in dialogs.
This is a minor but annoying issue.
Fixes #16000
https://gitlab.com/kicad/code/kicad/-/issues/16000
2023-10-31 13:47:32 +01:00
Alex Shvartzkop e24c8de4b8 EasyEDA Std: Fix open polygon shapes in symbols. 2023-10-31 02:21:32 +03:00
Alex Shvartzkop f48a248db4 EasyEDA Std: Handle HTML escape characters in text. 2023-10-31 02:21:32 +03:00
Alex Shvartzkop 847ab093c8 ADDED: Project chooser dialog for EasyEDA Pro import. 2023-10-30 09:35:27 +03:00
Jeff Young fc0017fc95 Normalize rects higher up.
We don't want to normalize footprint children to their board-relative
coordinates.
2023-10-29 11:45:16 +00:00
Jeff Young 4df5f9969a Remove unnecessarily restrictive IsCopper() checks.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11588
2023-10-28 12:12:34 +01:00
Jeff Young 7bd6c9d623 Fix sloppy coding. 2023-10-26 10:43:21 +01:00
Jeff Young 2746626de0 Differentiate plane and signal clearances based on layer type.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15597
2023-10-25 22:24:19 +01:00
Jeff Young 38e5e27a50 Import Eagle arc tracks as arcs.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14539
2023-10-25 21:55:09 +01:00
Jeff Young 6a2aeeeae2 Import a few more rules from Altium board files.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15585
2023-10-25 16:06:40 +01:00
Jeff Young 791aa64950 Functionally it's a "reference image".
The implementation happens to be a "bitmap".

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15932
2023-10-24 15:44:21 +01:00
jean-pierre charras dd166ce835 Pcbnew, legacy plugin: fix a minor issue about file version number.
Some .brd files have a version number = 7, very similar to version 2.
So force version = 2 to import these files.
2023-10-23 18:43:26 +02:00
Alex Shvartzkop fd887ba929 Altium: support importing a single footprint. 2023-10-15 06:31:00 +03:00
Alex Shvartzkop 254c8accc2 Remove some debugging messages. 2023-10-15 03:28:25 +03:00
Alex Shvartzkop a16bdb7288 ADDED: Support EAGLE libraries directly in Symbol Library Table.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2214
2023-10-15 01:45:39 +03:00
Jeff Young 504652b972 Regularize RunOnChildren() at the BOARD_ITEM level.
BOARD_ITEM sub-classes which don't have children simply don't
overrid it.
2023-10-14 15:04:18 +01:00
Alex Shvartzkop f7ed9cc5c7 Fix loading thru-hole pads when drill token is missing. 2023-10-14 15:42:13 +03:00
Alex Shvartzkop 83af481688 Improve EAGLE file header detection. 2023-10-14 15:42:13 +03:00
Alex Shvartzkop 6cfb05b4a3 Save/load generative objects in PCB file. 2023-10-08 02:41:17 +00:00
Alex Shvartzkop 36853b0df4 Allow translation of "Open cancelled by user." in pcb_parser.cpp 2023-10-07 09:09:30 +03:00
Alex Shvartzkop d7863b09c5 Move CORNER_STRATEGY out of SHAPE_POLY_SET. 2023-10-06 15:42:50 +03:00
Alex Shvartzkop bf29b25190 EAGLE PCB: fix a regression causing polygons not being imported.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15829
2023-10-06 01:13:58 +03:00
Marek Roszko bfbba632df Guard GetModificationTime with IsValid otherwise it'll return based on INT64_MIN.
Fixes KICAD-3Z0
2023-10-01 09:43:09 -04:00
Alex Shvartzkop 25cca5adfe EasyEDA Std: fix polygon pad orientation. 2023-10-01 16:21:26 +03:00
Alex Shvartzkop 9cca8e5970 EasyEDA Std: assign nets to PCB circles and rects. 2023-10-01 16:21:17 +03:00
Thomas Pointhuber 7005dd7c48 altium: make special string parsing on pcb a bit more generic
Only special strings starting with a dot are supported. Parsing of concatenated special strings using quotes needs to be implemented, but at least a few test-cases are already there now.
2023-10-01 15:10:50 +02:00
Thomas Pointhuber 3b3e4fd34a Move duplicated code of plugin.cpp and sch_plugin.cpp into a new plugin_utils located in commons 2023-10-01 13:58:38 +02:00