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
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
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
Jeff Young
fa11e9138d
ADDED support for pin and fp filtering in FOOTPRINT_CHOOSER.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7176
2023-09-29 17:03:50 +01:00
jean-pierre charras
e152f97f35
Fix minor Coverity warnings. Small code cleaning in pcb_parser.cpp
2023-09-21 11:33:29 +02:00
Jeff Young
e492efe3c5
Finish up custom-shaped pad spoke templates.
...
Also fixes a bug in number box for rotated pads.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13962
2023-09-13 23:34:25 +01:00
Jeff Young
d6b75c64e1
ADDED: custom-shaped pad spoke templates.
2023-09-13 23:34:25 +01:00
Jeff Young
375a4af478
Don't throw the number box baby out with the bathwater....
2023-09-12 23:49:08 +01:00
Jeff Young
9f5a268f15
Don't go through a middle man when reading pad shape primitives.
...
They're both PCB_SHAPEs.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15073
2023-09-11 22:05:24 +01:00
jean-pierre charras
c66d4bab9c
SEXPR_BOARD_FILE_VERSION: fix a typo in commit 0e382669: the date is incorrect.
...
was set to 20230606 instead of 20230906. it creates some issues when reading
files having a 20230606 as file version.
Fixes #15617
https://gitlab.com/kicad/code/kicad/-/issues/15617
2023-09-11 10:40:07 +02:00
Alex Shvartzkop
7eb4b0710d
Fix reading/writing thermal spoke angles for custom pads.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15518
7.0 commit: 86ec36d183
2023-09-10 19:02:16 +03:00
Marek Roszko
11de95778b
Unwrap the FROM_UTF8 macro in favor of direct function
...
The extern just gets annoying to try to export the func later. We also yeet TO_UTF8 to string_utils.h for parity.
2023-09-09 00:10:57 -04:00
Seth Hillbrand
f9b745f3d2
Allow multiple format image saving
...
- Keep original image data. When loading JPEG, this avoid recompression
that changes file data and decreases image quality
- Allow schematic and page layout editors to store non-PNG data as well
- Move page layout editor to store base64 instead of hex-coded data
2023-09-06 12:12:32 -07:00
Seth Hillbrand
0e382669d0
ADDED: Support for saving JPEG files in kicad_pcb
...
When users add an image to the board, this change keeps the original
file format when saving instead of converting the files into PNG-format,
which had the effect of making some board files much larger and slower
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14892
2023-09-06 12:12:32 -07:00
Jeff Young
41e274684c
Make sure pads with no net get assigned Default netclass on board open.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15562
2023-09-02 10:11:38 +01:00
Jeff Young
2d762acc7d
Remove accidentally-checked-in debugging code.
2023-09-02 10:11:38 +01:00
Marek Roszko
ffbe0f36da
Tweak the textbox file indentation
...
(layer was previously misaligned as it wasn't intended to be used on a new line
2023-08-30 22:47:10 -04:00
Marek Roszko
2dcb7caacf
Add an explicit border property to textboxes
...
This means it can remember the last border stroke between enabling/disabling the border
2023-08-30 22:33:55 -04:00
Alex Shvartzkop
af62e4276b
Wrap FILE_LINE_READER in try-catch blocks in PCB plugins for CanRead*.
2023-08-29 19:13:55 +03:00
Jeff Young
676c6e81a4
Custom pads with round anchors in pre-7.0 files get 90 degree spokes.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15518
2023-08-27 20:42:59 +01:00
jean-pierre charras
70c05109a0
PCB_PARSER::parsePCB_TEXTBOX(): fix bug when a TCB_TEXTBOX was rotated:
...
the textbox was rotated, but thai is incorrect: the polygon coordinates
are good, and must be not rotated: only the text angle must be set.
2023-08-20 18:34:57 +02:00
Roberto Fernandez Bautista
dbfb7880b5
Add IO_MGR::FindPluginTypeFromBoardPath (+QA tests)
2023-08-15 05:26:12 +03:00
Alex Shvartzkop
76e0d5981d
Import system refactor for PCB plugins.
2023-08-15 05:26:12 +03:00
Alex Shvartzkop
a0d96cea9f
Rename Save -> SaveBoard, Load -> LoadBoard in PLUGIN.
2023-08-15 05:26:12 +03:00
Jon Evans
a77e630901
ADDED: Connectivity for graphic shapes on copper layers
...
Graphic shapes (excluding text) can now have nets when on
copper layers. Shapes behave like tracks in that they will
pick up nets from connected pads, and follow track opacity
settings.
2023-08-10 21:47:43 -04:00
Roberto Fernandez Bautista
30a63b7b32
Fix loading of legacy zone fills in .brd files + Don't refill after board import
2023-08-03 15:36:19 +02:00
Roberto Fernandez Bautista
54f401c72c
Fix import of legacy stroked zone fill + add parsing of segments fills
2023-07-30 20:56:28 +02:00
jean-pierre charras
a16ab0aae1
Replace SHAPE_T::RECT by SHAPE_T::RECTANGLE: RECT creates a collision name
...
issue with a Windows header on msys2.
Change very similar to the commit 9a47b344
about class PAD_SHAPE.
No actual code change
2023-07-25 09:11:55 +02:00
Alex Shvartzkop
448de72823
Fix reading legacy zone fills which were based on stroked polygons.
2023-07-21 17:11:09 +05:00
Seth Hillbrand
6a09cf3551
Refill legacy zone fills on open
...
Previous check only looked for the existence of a new (as of v6) flag
that controlled which strategy we took. Previous versions did not write
this flag and so will not hit the check. This works around a missing
version bump from when the feature was introduced.
2023-07-19 14:29:12 -07:00
Jeff Young
dc838bc50f
Formatting.
2023-07-07 23:41:58 +01:00
Ian McInerney
d923b871d7
Remove group reference when exporting individual footprints
2023-06-29 00:17:12 +01:00
jean-pierre charras
af71308184
pcb_parser and pcb_plugin: fix incorrect handling of rotation of PCB_TEXTs
...
in footprints when the text angle is 0 but the fp orientation is not 0.
It was due to the fact angle 0 is not written in file and use the default
value of the created PCB_TEXT in footprint, that is not always 0
Now the angle is always written in file.
Fixes #15054
https://gitlab.com/kicad/code/kicad/-/issues/15054
2023-06-27 08:53:04 +02:00
jean-pierre charras
7e8070b700
pcb_parser: fix incorrect handling of rotation of PCB_TEXTs in footprints.
...
Fixes #15054
https://gitlab.com/kicad/code/kicad/-/issues/15054
2023-06-26 11:27:20 +02:00
jean-pierre charras
44810e8c09
footprint reader: fix broken handling of "Keep Upright" option.
...
texts inside footprints must have this option ON by default.
When disable, the keyword "unlocked" must be in field description.
2023-06-25 12:44:33 +02:00
jean-pierre charras
994459fd47
fp editor: fix a crash due to a null pointer when reading a .kicad_mod file
...
It happens if the footprint has some non mandatory fields (user fields).
2023-06-25 10:16:23 +02:00
jean-pierre charras
d8034b9c15
Revert "PCB Fields: save untranslated names"
...
This reverts commit b47fcac666
.
The root issue was a bug in SCH_FIELD::GetCanonicalName(), now fixed.
2023-06-23 17:48:19 +02:00
Mike Williams
b47fcac666
PCB Fields: save untranslated names
2023-06-23 09:18:55 -04:00
Wayne Stambaugh
a5411218a2
Fix minor board file white space formatting issue.
2023-06-21 13:42:24 -04:00
Mike Williams
1d26b454f4
SCH -> PCB Fields: bump file versions
2023-06-20 18:34:52 +00:00
Mike Williams
a24c55affe
PCB Fields: fix up python, API
...
Remove SetFields from both symbol and footprint, it doesn't handle
mandatory fields and is unlikely to ever be safe.
2023-06-20 18:34:52 +00:00
Mike Williams
85f889bc19
Fields: Description now mandatory
...
Propagate from symbols to footprints, footprints keep a library
description, too. (GetLibDescription())
2023-06-20 18:34:52 +00:00
Mike Williams
636db607c1
Footprints: upgrade Sheetpath and Sheetfile to tagged items in file
...
Rather than loose kv properties.
2023-06-20 18:34:52 +00:00
Mike Williams
993bb84240
PCB_FIELD: bug fixes
2023-06-20 18:34:52 +00:00
Mike Williams
00f6f5011c
PCB Fields: add saving / reading support to PCB files
...
Use common text effects parsing with PCB_TEXT
2023-06-20 18:34:52 +00:00
Mike Williams
6d93950dcc
PCB: abolish TEXT_TYPE::TEXT_is_*
...
PCB_TEXT is now always what was formerly TEXT_is_DIVERS and PCB_FIELDs
now what mandatory field type they are already.
2023-06-20 18:34:52 +00:00
Mike Williams
37837dc392
PCB: introduce PCB_FIELD_T
2023-06-20 18:34:52 +00:00