Seth Hillbrand
cd7141fd10
Cache read arc data for stability
...
Arcs can be altered by the process of changing from on-disk
representation to in-memory representation. Saving back to disk without
modifying the arc should not modify the calculated values.
This stores a copy of the on-disk representation that is only used to
save back to disk in the event that the arc is not modified during
editing.
Fixes https://gitlab.com/kicad/code/kicad/issues/10442
2022-03-04 15:20:31 -08:00
Jeff Young
c025b4c73d
Save all stroke parameters of sch & lib shapes.
...
We were failing to save the line style, which caused ERC errors when
DEFAULT != SOLID.
2022-03-03 14:37:04 +00:00
Seth Hillbrand
8c36ba3653
Explicitly give unit values
...
Removes the ability to hide symbol units in file formats. This was
mostly the case for a while but there remained corner cases where we
left a default/hidden option
Fixes https://gitlab.com/kicad/code/kicad/issues/10888
2022-03-02 16:01:08 -08:00
Steffen Mauch
78620347c8
Fixing Eagle refs that do not work with KiCad
...
KiCad has stricter requirements for what consititutes an annotated
symbol. This checks for and corrects annotations that begin with '#',
do not begin with a non-numeric character or do not end with a number
2022-02-25 23:42:47 +00:00
Thomas Pointhuber
8ef7252330
altium: Don't use string concatenation for paths pointing in the compound file
...
* std::vector do not need to be split apart again
* supports backslash in footprint names
2022-02-19 16:46:20 +01:00
Jeff Young
bc7742cb2e
Various text object defaults don't necessarily match file defaults.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10862
2022-02-15 23:25:59 +00:00
Jeff Young
940e03e567
Remove arc end swapping when parsing.
...
See: 2366b06e77 (note_839061664)
2022-02-11 13:10:52 +00:00
Jeff Young
2366b06e77
Don't parse multiple items in a single c'tor or function call.
...
The C++ optimizer is not always your friend and may do them in the
reverse order.
2022-02-10 17:54:13 +00:00
Jeff Young
d33d092e8e
Add a second fix for backwards arcs.
...
This one *should* also be good when we support larger-than-180
degree arcs.
2022-02-10 15:46:02 +00:00
Jeff Young
cb8e803788
Formatting.
2022-02-10 13:04:29 +00:00
jean-pierre charras
b9843a23eb
Eeschema, legacy *lib files: fix issues with 180 deg arcs.
...
180 deg arcs are a limit, so when importing them convert them to slightly
smaller arc (arc angle = 179.5 deg)
Fixes #10455
https://gitlab.com/kicad/code/kicad/issues/10455
2022-02-10 12:45:54 +01:00
Wayne Stambaugh
3f8f90db9f
Factor out common s-expression library cache source code.
2022-02-09 11:20:14 -05:00
Wayne Stambaugh
7181f0b40b
Fix clang broken build.
2022-02-09 07:55:50 -05:00
Wayne Stambaugh
fe82f2dd40
Factor out common schematic s-expression source code.
2022-02-08 14:44:38 -05:00
Wayne Stambaugh
fc3cad0b54
Hash symbol libraries per library rather than statically per cache type.
2022-02-07 15:40:21 -05:00
Jeff Young
b57ac3d517
Handle SCH_TEXTBOX in SCH_SEXPR_PLUGIN::Format.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10771
2022-02-06 19:43:25 +00:00
Marek Roszko
d9c04da407
Sprinkle in some make_unique
2022-02-05 21:26:36 -05:00
Marek Roszko
ca7840334c
Mark some limits as constexpr
...
gcc doesn't need it and computes during compile regardless, but experimenting in godbolt, both clang and MSVC actually do need it or else it's partially computed at runtime
2022-02-04 07:50:13 -05:00
Marek Roszko
fa1d316d84
Fix windows build error
2022-02-02 17:43:47 -05:00
Wayne Stambaugh
e590d07224
Fix clang build error.
2022-02-02 07:44:11 -05:00
Wayne Stambaugh
9260431fe4
Abstract out symbol library parser object.
2022-02-02 07:07:39 -05:00
Wayne Stambaugh
6fcc6f7c9d
Factor out common legacy schematic and symbol library parser code.
2022-02-01 16:30:15 -05:00
Jeff Young
f3cd36d1d7
Bring EEschema textboxes in line with PCBNew's.
...
Also adds Border checkboxes and fixes a bunch of bugs.
2022-01-31 21:46:40 +00:00
Wayne Stambaugh
b36e31c49f
Factor out common and remove dead legacy symbol library code.
2022-01-29 14:13:00 -05:00
Jeff Young
c6a8100d46
Schematic and symbol text boxes.
...
Also fixes some plot bugs with arcs.
Also moves polygonization of arcs (when required) in plotting code
from 5 degrees to calculated based on ARC_HIGH_DEF.
Fixes https://gitlab.com/kicad/code/kicad/issues/5017
2022-01-28 21:38:15 +00:00
Jeff Young
3409783d9f
Break sch_text.h/.cpp into sch_text and sch_label.
...
Also moves SCH_NETCLASS_FLAG to SCH_DIRECTIVE_LABEL, and remaps Altium
harnesses from SCH_TEXT to SCH_DIRECTIVE_LABEL.
2022-01-28 21:38:15 +00:00
Franck
a6203617d9
Fix Altium schematic port component import assertion.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10322
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10401
2022-01-28 15:52:30 +00:00
jean-pierre charras
8a17fb8d19
SCH_SEXPR_PARSER::parseArc(): fix a very annoying issue: each time the lib or
...
sch files are saved and reopened, 180 deg arcs were flipped.
This fix is a workaround, but avoid flipped arcs after saving/reopening these files.
2022-01-26 18:19:52 +01:00
jean-pierre charras
694ae59664
fix a minor compil warning (shadowed vars)
2022-01-21 14:09:42 +01:00
Jeff Young
c8a50d9b50
Remove unit-less angles from VECTOR2I/D APIs.
2022-01-20 23:58:20 +00:00
Jeff Young
3ba89f50ef
Maybe, just maybe, fix LibEdit arc parsing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10455
2022-01-19 22:22:18 +00:00
Jeff Young
8445783216
Fix backwards arcs in legacy LIB_ARCs.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10455
2022-01-18 14:08:47 +00:00
Jeff Young
de31b813f3
Angle cleanup in the Cadstar importer.
2022-01-18 02:31:37 +00:00
Jeff Young
622f94e7b9
Angle cleanup in Altium importer.
2022-01-18 02:31:37 +00:00
Jeff Young
0218b782f4
Angle cleanup in Eagle importer.
2022-01-18 02:31:37 +00:00
Thomas Pointhuber
0129e49b79
altium: Introduce new ALTIUM_COMPOUND_FILE object to handle file opening and searching for streams at a central place
2022-01-17 19:54:26 +01:00
Jeff Young
e61144d45a
Finish with EDA_ANGLE.
2022-01-16 21:15:40 +00:00
Jeff Young
e84c574830
Some more EDA_ANGLE cleanup.
2022-01-16 19:16:18 +00:00
jean-pierre charras
516d038bdf
Eeschema: fix incorrect stored rotation value in file of the global and hierarch. labels.
...
The stored value was the rotation of the text (always 0 or 90 deg), but these labels can also
be rotated by -90 or 180 deg
Fixes #10450
https://gitlab.com/kicad/code/kicad/issues/10450
Fixes #10457
https://gitlab.com/kicad/code/kicad/issues/10457
2022-01-16 17:19:36 +01:00
Jeff Young
9b661aea10
EDA_ANGLE for plotters.
...
Also fixes a compile error in the PNS Playground.
2022-01-16 01:19:45 +00:00
Jeff Young
07013d00e1
More EDA_ANGLE.
2022-01-14 16:08:19 +00:00
Jeff Young
1b19ff5f42
More EDA_ANGLE changes.
2022-01-14 16:08:19 +00:00
Jeff Young
e048e51f5d
Improve SNR of EDA_ANGLE stuff.
2022-01-14 16:08:18 +00:00
Seth Hillbrand
e244ce1431
Fix cherry-picked wxPoint
2022-01-12 15:49:03 -08:00
Seth Hillbrand
d3f24308e6
Handle rotated symbol rectangles in Eagle import
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10360
(cherry picked from commit dcb8f29317
)
2022-01-12 15:11:18 -08:00
Franck Bourdonnec
3d8288f919
Remove unused vars, verified there was no other intention with them;
...
rectangle are OK
2022-01-11 20:16:35 +00:00
Jeff Young
76368af7b9
Font cleanup and bug fixes.
2022-01-09 18:33:53 +00:00
Jeff Young
27c967421c
Commenting and "auto" reduction.
2022-01-08 16:47:45 +00:00
Ola Rinta-Koski
72b69e8d7f
File format changes for fonts.
2022-01-08 16:47:45 +00:00
Seth Hillbrand
3ace4446e7
Use 'special' escaping for certain fields
...
Most fields are escaped using the `\` notation. But the VALUE field and
the symbol name need to be escaped using braces notation.
Fixes https://gitlab.com/kicad/code/kicad/issues/10097
(cherry picked from commit 71e7b4b77b
)
2022-01-05 17:19:36 -08:00