Jon Evans
64bc850d8f
Fix layer widget in HiDPI situations
...
(cherry picked from commit 89ef6b36f4
)
2023-03-07 08:49:06 -05:00
Jeff Young
154f64dae3
Edge connectors shouldn't trigger edge clearance violations.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/14199
(cherry picked from commit 33e7c78533
)
2023-03-07 12:23:56 +00:00
Seth Hillbrand
b62a8fe65a
Handle excessively large values when hatching
...
While unusual, ensure that hatched zones don't break KiCad if they are
close to the integer limit
Fixes https://gitlab.com/kicad/code/kicad/issues/14066
(cherry picked from commit ffcc0e50b7
)
2023-03-06 16:21:13 -08:00
Seth Hillbrand
a5d85e3281
Bitmaps are not actually copper
...
We report bitmaps as being 'on' a copper layer because they are
associated with it but they are not actually physical parts so should
not be included in the DRC checks
Additionally, Bitmaps effective shape starts are the top left corner
rather than the center (unclear why that was there in the first place)
Fixes https://gitlab.com/kicad/code/kicad/issues/14065
(cherry picked from commit 1b8b216ac8
)
2023-03-06 16:20:44 -08:00
Seth Hillbrand
e699bcf5a3
Use Chamfer lines when deflating
...
Rounded line ends when deflating leads to microscopic jags in the
outline that are not visible but add substantial computation time and
minor error when computing polygon offsets.
Instead, the chamfer deflate method prevents these jagged lines by
clipping angles < 90° by the error level. This does not impact deflate
calls where we explicitly require the angles to be maintained
(cherry picked from commit af10878954
)
2023-03-06 16:18:51 -08:00
Seth Hillbrand
7ef5e079fd
Smarten connection width checker looking for splits
...
Fractured polygons are always fractured along the x-axis, so when
checking to see if a segment is a fracture point, we check if the y
coordinate is equal. This avoids situations where there are multiple
fracture points between two inflection points
Additionally, we add a second check to ensure we don't hit spurious
blobs (all kinks should be symmetric and therefore be substantial in
each direction)
Fixes https://gitlab.com/kicad/code/kicad/issues/14130
(cherry picked from commit 7653a2bf99
)
2023-03-06 16:14:56 -08:00
qu1ck
d610486c1e
Add vector3 to swig
...
Fixes regression in 7.0 making fp 3d model offsets not accessible in
python
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14179
(cherry picked from commit 88062c5fc3
)
2023-03-06 11:23:09 -08:00
Jeff Young
7dbd920912
Don't allow footprint editor pad tools to run outside footprint editor.
...
(They can get called if a user re-assigns hotkeys to them.)
Fixes https://gitlab.com/kicad/code/kicad/issues/14166
2023-03-06 14:43:20 +00:00
Wayne Stambaugh
2c7f44f78d
Coverity fixes and code cleaning.
...
(cherry picked from commit 789bf6455a
)
2023-03-04 13:14:59 -05:00
Jeff Young
e17dc25bba
Add support for non-cardianlly-rotated text boxes.
...
Also fixes a couple of bugs in text boxes in flipped footprints.
Fixes https://gitlab.com/kicad/code/kicad/issues/14112
(cherry picked from commit 7638e23ff1
)
2023-03-02 14:58:44 +00:00
Salvador E. Tropea
d311915f9d
Fix the CONNECTIVITY_DATA::GetNetItems Python API
...
- The C++ member now uses std::vector<KICAD_T>
- The Python side can use a single value or a list,
like in v6.
The std::vector translation is based on the v6 KICAD_T[]
translation.
2023-03-01 18:49:12 +00:00
jean-pierre charras
dcc1009162
plotters rework: add plot fct to use TEXT_ATTRIBUTES class to pass text settings
...
Old PLOTTER::Text is not (yet) removed, but it use negative text size
to mirrored text, which is not really compatible with some plotters (especially PDF).
Using TEXT_ATTRIBUTES is much easy and much better,
so PLOTTER::PlotText() is added.
Note: "old" PLOTTER::Text() is not removed yet.
From master, commit 51d46c0e73
2023-03-01 10:45:23 +01:00
jean-pierre charras
d61e01ff4f
Plot Gerber format: ensure all attributes are added to polygon items.
...
Especially, TA.AperFunction,EtchedComponent for net tie footprints using polygons.
From master, commit ece34e1a0c
2023-03-01 09:39:15 +01:00
Seth Hillbrand
51b9d8e7ad
Allow for rounding error in connection width checker
...
We perform checks using squared distance but this loses the integer
rounding in the standard norm. To correct for this, we allow a single
IU in the restriction, allowing fractionally smaller connection widths
before calculating the squared limit
Fixes https://gitlab.com/kicad/code/kicad/issues/14130
Fixes https://gitlab.com/kicad/code/kicad/issues/14131
(cherry picked from commit a0f99ea8ba
)
2023-02-28 15:26:49 -08:00
qu1ck
90eb5e9c31
PCM: auto reload global libs after dialog is run
...
This adds Reset() method to KIFACE to reload global libs stored in
global static vars.
Also refactors some lib reload code in various frames to have
common MAIL_RELOAD_LIB handler.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12500
(cherry picked from commit 2975f53647
)
2023-02-28 16:48:28 -05:00
Seth Hillbrand
fb798a4150
Export footprint pad holes to STEP regardless
...
Footprint pad holes form a part of the board outline regardless of
whether the footprint is in the BOM or not
Fixes https://gitlab.com/kicad/code/kicad/issues/14013
(cherry picked from commit daf70f9b6a
)
2023-02-28 12:02:40 -08:00
Jeff Young
8a34f91172
Fix for overwriting non-specified constraints.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/14070
2023-02-28 18:29:43 +00:00
jean-pierre charras
ea0dcc8ebd
Fixes in build board outlines as polygon and convert_shape_list_to_polygon:
...
- Ensure Bezier curves have their polygon build before use it.
- When building board outlines as polygon the same chaining epsilon value
for DRC, export step and 3D view (default 0.01mm).
Fixes #14115
https://gitlab.com/kicad/code/kicad/issues/14115
Fixes #14009
https://gitlab.com/kicad/code/kicad/issues/14009
2023-02-28 17:26:28 +01:00
jean-pierre charras
3f5db9f7f9
EXPORTER_STEP: handle sub-layers in dielectric layer.
...
A dielectric layer (between 2 copper layers) can be made by more than one
layer (composite dielectric). Not frequent, but possible.
sub-layers where previously ignored.
2023-02-28 17:25:40 +01:00
Jeff Young
a6a0bba1b7
Stage group children when staging group.
...
Many operations such as move, rotate, etc. are applied directly to the
group's children, so it's the children that need staging.
Fixes https://gitlab.com/kicad/code/kicad/issues/13999
2023-02-28 14:21:12 +00:00
Johannes Pfister
33f835a437
When importing legacy PCB dimension: Use automatic dimension when Unit couldn't be determined
...
(cherry picked from commit a87550a2c6
)
2023-02-28 14:21:12 +00:00
Roberto Fernandez Bautista
a1a3f810f0
Add missing line from commit b03366c9e8
...
(cherry picked from commit bb8a3a7fdc
)
2023-02-27 23:13:44 +00:00
Roberto Fernandez Bautista
c96f0f2396
Fix CADSTAR importer memory leaks
...
We were leaking the xml tree when throwing exceptions
(cherry picked from commit b03366c9e8
)
2023-02-27 22:58:41 +00:00
qu1ck
1eb8191519
Treat dimensions in fp as text for bbox calculations
...
(cherry picked from commit 1ff021bb927e9a146f57277554f370f97c07041c)
2023-02-26 17:59:22 +00:00
qu1ck
396bda5611
Sync pcbnew selection with selected items after plugin is run
...
(cherry picked from commit 9f10c142c4
)
2023-02-26 17:58:57 +00:00
Jon Evans
cb334be8c4
PNS: Diff pairs can have different hole-to-hole size
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13993
(cherry picked from commit f12f2b8420
)
2023-02-26 17:57:47 +00:00
Jon Evans
8845cc0556
PNS: Safety for evaluating item nets for rules
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13993
(cherry picked from commit 459473ccc3
)
2023-02-26 17:57:33 +00:00
Jon Evans
e34800ad49
Allow shorting copper zones through negative clearance
...
This brings the zone filler in line with other places where
we use negative clearance rules to disable constraints.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14069
(cherry picked from commit b176881d49
)
2023-02-26 17:45:46 +00:00
qu1ck
5b574901b3
Fix swig mappings for PCB_BITMAP
...
From Master branch.
2023-02-26 10:28:59 +01:00
jean-pierre charras
8a9ac4f01f
Pcbnew: optimize netname and num text size and position display on pad.
...
Sizes where a bit too big. Fix also a difference between Cairo and OpenGL.
Fixes #13872
https://gitlab.com/kicad/code/kicad/issues/13872
2023-02-25 11:08:29 +01:00
Jon Evans
39df5f3b15
Do not invalidate board caches during DRC
...
Footprints now modify their parent container when destroyed due to
26542796
, and a temporary footprint is created during DRC
in some situations. This can lead to board caches being messed
with during DRC which can cause unpredictable bad effects due to
multithreading.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13844
(cherry picked from commit 8440d7258b
)
2023-02-25 03:56:27 +00:00
jean-pierre charras
c1f5ae1c5a
Plot footprint texts: add code to plot Knockout texts.
...
Fixes #14068
https://gitlab.com/kicad/code/kicad/issues/14068
2023-02-24 08:49:56 +01:00
Jon Evans
009211c740
Fix some PCB_SHAPE properties
...
Hide irrelevant position/start/end properties
for shape classes that don't use them.
(cherry picked from commit 1651b44ab1
)
2023-02-24 01:24:41 +00:00
Alex
1a208a1612
Print original netnames properly when reconnecting zones/vias.
...
Using GetNetname() after SetNet() isn't a good idea to get the original
name when updating PCB from Schematic.
(cherry picked from commit 9d96edc44f
)
2023-02-23 20:30:39 +00:00
Alex
b867e51c6c
pcbnew: Fix pads losing nets after Undo.
...
Wasn't fixed in all places after being broken in
13f5c78e89
(cherry picked from commit f31e5ea783
)
2023-02-23 20:30:20 +00:00
qu1ck
7693b93c50
Fix plugins in pcbnew breaking by opening fp editor
...
From master branch.
2023-02-23 15:31:00 +01:00
Marek Roszko
9f5e50f25e
Fix typo in appearance_controls.cpp
...
(cherry picked from commit c2a4dd93e8
)
2023-02-23 01:36:52 +00:00
Jon Evans
a091ab76d7
Disable auto-refill zones
...
We need a more advanced dirtying system for this to work out for
many users, it turns out. Right now too many changes cause full
zone refills which interrupt workflow.
(cherry picked from commit d8f4d04093
)
2023-02-23 01:16:21 +00:00
Marek Roszko
6b38927123
Fix crash parsing cadstar
...
Fixes sentry KICAD-B2
2023-02-19 08:11:33 -05:00
Marek Roszko
5d793193e0
Fix crash by using a shared_mutex to read/write lock the nickIndex
...
Fixes sentry kicad-ax
2023-02-18 13:02:25 -05:00
Alex
7949c09183
Prevent ghost image after canceling bitmap placement.
...
(cherry picked from commit ecb28ddf1c
)
2023-02-17 01:49:47 +00:00
Jeff Young
f23c6b0c2f
Clear dirty flags after a move.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11362
(cherry picked from commit 40e1296a8b
)
2023-02-16 18:10:26 +00:00
Jeff Young
6d22b8c6ed
Negative clearance means test won't run, not rule won't match.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13947
2023-02-16 18:10:26 +00:00
jean-pierre charras
8467e2d376
Pcbnew: Do not change visibility objects when changing Visibility layers
...
Fixes #13836
https://gitlab.com/kicad/code/kicad/issues/13836
2023-02-16 12:42:25 +01:00
jean-pierre charras
2529918d5f
Pcbnew: fix incorrect rotation of thermal spoke for rotated footprints.
...
If the footprint rotation is not a multiple of 90°, the thermal spokes
were not correctly rotated.
Fixes #13919
https://gitlab.com/kicad/code/kicad/issues/13919
2023-02-16 12:41:35 +01:00
Jon Evans
3dfc502814
Router: Do not collide items within a net tie footprint
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13909
(cherry picked from commit 2d7c5c5c0f
)
2023-02-14 21:10:42 -05:00
Jon Evans
1909ce9220
Properties: fix rebuilding when availability changes
...
(cherry picked from commit 61dd4b7043
)
2023-02-14 21:10:42 -05:00
Jon Evans
15bef82e1e
Properties: add some validators for PAD
...
(cherry picked from commit 0b3928d38f
)
2023-02-14 21:10:42 -05:00
Jon Evans
60a45241e6
Properties: introduce validators; re-enable zone hatch settings
...
(cherry picked from commit eb240fda9a
)
2023-02-14 21:10:42 -05:00
Jon Evans
d403e92315
Properties: introduce method chaining for initialization
...
(cherry picked from commit 254168c788
)
2023-02-14 21:10:42 -05:00