Seth Hillbrand
f48a105357
Modify some int32 ops to avoid potential overflow
2024-06-28 08:04:07 -07:00
Seth Hillbrand
d033f93d89
Fixup Altium import rectangle handling
...
Ensure we have positive sizes
Keep rectangles when rotating by multiples of 90
2024-06-27 16:40:25 -07:00
Seth Hillbrand
51eb7aa5b5
Fixup for Altium pad/fill importer
...
The previous commit merged pads with copper areas. This was appealing
but broke when the pad and the area were meant to have different
size/shape technical layers. Small pads = Small paste. Instead, we do
not merge the pads but we assign them to have the appropriate nets in
KiCad, allowing the same effective result but keeping the technical
layers correct
2024-06-27 13:49:16 -07:00
Seth Hillbrand
7102d9f72a
Altium import: handle polygons on copper
...
In Altium, copper polys will be connected automatically to their
associated pads. In KiCad, we need to do the equivalent when parsing,
which is to combine the joining copper into the underlying pad. We also
don't want to treat copper polys as proxy pads without the original
anymore.
2024-06-26 17:27:08 -07:00
Seth Hillbrand
6aaaaad37f
Properly count multiple Altium version settings
...
There is a fair amount of gradation in different Altium products
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18276
2024-06-25 10:18:55 -07:00
Jeff Young
14a55facf2
Clearer naming and commenting.
...
Also some const& hygiene and some formatting.
2024-06-25 11:07:14 +01:00
Seth Hillbrand
11c6164934
Silence font replace warnings for libs
...
When loading schematics/pcbs, notification of font replacements might be
warranted but in libraries, this warning is not helpful and intrusive
2024-06-24 09:55:10 -07:00
Alex Shvartzkop
1613816e77
Fix EasyEDA/JLCEDA Pro 2.2 footprint/symbol library import.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18250
2024-06-21 22:20:54 +03:00
Jeff Young
8e349eedf0
Bug fixes for PCB_TABLES.
...
In particular, rotated tables and tables in rotated
footprints.
2024-06-19 12:39:22 +01:00
Seth Hillbrand
9aba808366
Altium import
...
- Handle intermediate Altium version with some fields but not others
- Ensure that we are properly moving text that is not a box and not a
field
2024-06-18 21:35:41 -07:00
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
Seth Hillbrand
0d2c4c91fd
Properly initialize fonttype for older Altium files
2024-06-18 17:55:31 -07:00
Jon Evans
81a1e9e83e
Don't write out non-explicit tenting
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18230
2024-06-18 17:52:42 -04:00
Seth Hillbrand
7e561acf53
Altium: Handle textboxes
...
Also, corrects a minor issue with the text width calculation where
Altium calculates centerline to centerline but KiCad text heights are to
the edge of the stroke font. Need to still do better adjustments for
the various altium stroke fonts
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9468
2024-06-16 17:20:59 -07:00
Seth Hillbrand
b11e030f8f
Cleanup Altium text import
...
Handle inverted text
Correct location for flags
Add mechanics to detect inverted_rect (like text boxes)
2024-06-16 17:20:59 -07:00
Jon Evans
fa235116f7
Import Altium via tenting settings
2024-06-15 09:36:25 -04:00
Seth Hillbrand
7ea013b96c
Altium: Handle footprint vias
...
These are treated as pads in KiCad
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18194
2024-06-14 16:49:56 -07:00
Jon Evans
ccc76aad2f
Fix typo loading legacy tenting setting
2024-06-12 17:42:44 -04:00
Jon Evans
5fc0f1f51e
ADDED: Independent control of front/back via tenting
2024-06-11 21:50:25 -04:00
Jon Evans
4aab9f59aa
ADDED: Support tenting control of individual vias
...
REMOVED: Tenting option from plot dialog (tenting is now
controlled from Board Setup and via properties)
See https://gitlab.com/kicad/code/kicad/-/issues/2402
2024-06-11 21:25:02 -04:00
Wayne Stambaugh
012d3f098f
Fix build error caused by commit 82c2bda52b
.
2024-06-10 10:56:02 -04:00
Alex Shvartzkop
0d2838518b
Altium PCB import: don't add thickness to Solid style fills.
...
(cherry picked from commit b34dbf58c5
)
2024-06-10 17:33:26 +03:00
Alex Shvartzkop
82c2bda52b
Altium PCB import: make sure Polygon fill is contained within the outline.
2024-06-10 17:21:41 +03:00
Alex Shvartzkop
43dab2a8b5
Altium PCB import: avoid integer overflows when rotating rectangular fills.
...
Fixes artifacts seen in https://gitlab.com/kicad/code/kicad/-/issues/18156
(cherry picked from commit 3ea314cb9f
)
2024-06-10 01:01:32 +03:00
Jeff Young
ca54eb422b
Don't default KeepUpright to true in Eagle importer.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18175
2024-06-09 22:19:26 +01:00
Alex Shvartzkop
80b7f5fcbf
Revert "Pcbnew, Altium import: Fix issues with hatched zones."
...
This removed the hatch fill import functionality,
and is no longer needed now that the root cause was found.
This reverts commit 616510aca2
.
2024-06-09 20:04:27 +03:00
jean-pierre charras
616510aca2
Pcbnew, Altium import: Fix issues with hatched zones.
...
- Filled zones using the hatch pattern cannot use the primitives from Altium.
the filled shapes must be rebuilt.
_ Filled zones using the hatch pattern with a very small gap are now converted
to a polygon pattern. Otherwise the calculation time can be very big.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18156
2024-06-06 16:37:28 +02:00
Jeff Young
9b8f1109e6
Formatting.
2024-06-06 11:41:37 +01:00
Seth Hillbrand
a9ae86eefd
Cleanup geometry functions
...
Added Distance(VECTOR2) function that returns a double. Removed
superfluous EuclideanNorm, GetLineLength, integer constructor for
EDA_ANGLE (this promotes to double in the CTOR), DistanceLinePoint and
HitTestPoints
Also extended the size for arc calculations that get distances to center
points to avoid overflow
2024-05-31 12:26:37 -07: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
Jeff Young
2925d63c44
Formatting.
2024-05-27 13:04:20 +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
Jeff Young
debc94ff49
Rewrite Eagle rotated text algorithm.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18019
2024-05-22 18:18:47 +01:00
Jeff Young
f4f3f52fd4
Improve Eagle rotated text importing.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18019
2024-05-22 01:16:06 +01:00
Jeff Young
e332320108
Handle font when reading render cache.
...
(Also fixes a bug where the cache's triangulation wasn't
cached.)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17666
2024-05-21 11:31:35 +01:00
Jon Evans
4f3117aea0
Altium: avoid crash when imported zone has no fill
...
Fix https://gitlab.com/kicad/code/kicad/-/issues/18025
2024-05-17 20:16:01 -04:00
Jon Evans
4c42f5dae0
Remove extra NeedRIGHT in textbox parser
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18033
2024-05-17 09:05:04 -04:00
Jon Evans
e16130a02c
Move pad and via properties into PADSTACK
2024-05-14 20:57:56 -04:00
Jon Evans
c800fb790d
Start unifying padstack properties
2024-05-14 20:57:56 -04:00
Alex Shvartzkop
798db3b5c7
Improve "Selected file contains multiple footprints" string.
2024-05-14 16:04:05 +03:00
Seth Hillbrand
3024a7c569
Add layer remapping ability to Altium imports
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17987
2024-05-08 15:36:33 -07:00
Seth Hillbrand
4218664d88
Cleanup on 2581 header
2024-05-08 15:36:33 -07:00
Jeff Young
8184ed64e7
Explicit control over hidden text in bounding boxes.
...
In particular, don't consider hidden text when plotting,
and only when AsItemCheckboxes is checked for printing.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17958
2024-05-06 21:36:19 +01:00
jean-pierre charras
f6d0e17c8b
PCB_IO_KICAD_SEXPR_PARSER::parseEDA_TEXT(): ensure texts are not mirrored
...
When not specified as mirrored, texts must be not mirrored.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17955
2024-05-06 10:53:39 +02:00
Alex Shvartzkop
4ecca01392
Improve build times by not leaking <filesystem> everywhere.
2024-05-06 02:26:16 +03:00