Jon Evans
ef7b3c1715
Use constraints to determine netclas width
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14190
(cherry picked from commit 61d30ee5bc
)
2023-05-10 16:10:30 +00:00
jean-pierre charras
a42ef9de77
Navlib: Ensure a pointer is initialized.
2023-05-10 09:36:51 +02:00
Jeff Young
97be02356f
CLang can't do a dynamic_cast across the KiWay.
...
Rely on DRC for text readability instead.
(Fixes Sentry KICAD-R4 on Mac, and the assert when opening
Preferences from a non-PCBNew-module window.)
(cherry picked from commit 245c3ba6e4
)
2023-05-09 11:15:00 +01:00
Jeff Young
8e1bcaed37
Holes need a parent.
...
SetHole() handles all this for us. Make sure it's called.
Fixes https://gitlab.com/kicad/code/kicad/issues/14702
(cherry picked from commit 5b3798a370
)
2023-05-08 14:51:47 +01:00
Jon Evans
f3c864c178
PNS: Remove holes when removing items with holes
...
Related to https://gitlab.com/kicad/code/kicad/-/issues/14702
(cherry picked from commit b06f90335b
)
2023-05-08 02:48:55 +00:00
Jeff Young
947923509e
Fix a typo.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/14515
(cherry picked from commit 6059e895d7
)
2023-05-08 03:32:32 +03:00
Jeff Young
4e0f77c0f4
Don't allow thickness of 0 in case of an empty stackup.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10790
2023-05-07 22:30:01 +01:00
Seth Hillbrand
ce5f72207e
Cleanup printf bits
...
(cherry picked from commit 990641d2eb
)
2023-05-07 19:02:02 +03:00
Jeff Young
28fe5b0df5
Expand solder mask for pads *defined* to be on copper layers.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/14693
2023-05-06 21:29:18 +01:00
Jeff Young
e28b50e8d6
Fix a bunch more issues with sheetpaths and allowExtraText.
...
A sheetpath is required to correctly resolve text variables.
Depending on currentSheet is rife with bugs.
There are many places where we do *not* want to be prepending
field names to the field values, such as netlisting,
building PDF hypertext menus, etc.
Also, Find/Replace needs to work on unresolved text, as
that's what we're going to display (and if replace nuked
your variable references you wouldn't be happy).
(cherry picked from commit b41d446f58
)
2023-05-05 18:02:59 +01:00
Jeff Young
c31c14e46b
Don't call BuildInitialTrace() for entry gateways.
...
We're going to call it to connect the entry and target gateways
anyway, so all we need are gateways at 22.5 degrees to setup entry
at +/- 45 degrees from the current direction.
Fixes https://gitlab.com/kicad/code/kicad/issues/14324
Fixes https://gitlab.com/kicad/code/kicad/issues/12459
(cherry picked from commit 507a25f150
)
2023-05-04 11:52:02 +01:00
Mark Roszko
57ae43890c
Update 5 files
...
- /eeschema/CMakeLists.txt
- /eeschema/eeschema.cpp
- /pcbnew/pcbnew.cpp
- /qa/qa_utils/pcb_test_frame.cpp
- /qa/unittests/eeschema/test_module.cpp
2023-05-03 17:32:55 +00:00
jean-pierre charras
1c59574cbf
FOOTPRINT_EDIT_FRAME: do not delete settings when closing the frame.
...
They now are read when starting kicad, and must be not deleted.
(cherry picked from commit 0c544f1f45
)
2023-05-03 17:27:28 +00:00
Seth Hillbrand
a5698ce480
Remove locks from settings
...
Settings should be initialized on start-up. This removes the option of
lazily loading the settings from file and instead requires all settings
needed to be loaded on KiFACE start before requesting data from the
settings object
(cherry picked from commit e6ab9a88ce
)
2023-05-03 17:25:17 +00:00
Seth Hillbrand
1a2c9011e6
Rework Copper Sliver check
...
Adds QA checks to copper sliver tests. Adds the following checks:
- Dot product between two arms (quickly avoids checks for >90°)
- Checks the sliver is convex (area test)
- Eliminates minor slivers with angles that are approximately 0 and ones
with the opposite side width beneath a configurable level
- Updates Clipper2 to fix a couple of jagged edges on inflate
- Adds simplify during zone fill inflation to limit jaggies
Fixes https://gitlab.com/kicad/code/kicad/issues/14549
(cherry picked from commit f7f52d77e4
)
2023-05-03 10:22:49 -07:00
Jeff Young
600ac72a3d
Add missing property to footprint texts table.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/14357
2023-05-03 17:58:29 +01:00
jean-pierre charras
1118eed080
Use operator at() instead of [] to access a std::array item
...
It helps debug.
From Master branch
2023-05-03 17:21:36 +02:00
jean-pierre charras
e42c66bd0e
Pcbnew: fix crash when loading a file having vias on connected layers only.
...
It was due to an access out of bounds in a std::array
Fixes #14668
https://gitlab.com/kicad/code/kicad/issues/14668
2023-05-03 17:18:28 +02:00
Mike Williams
ef8e549d86
PCB Search Pane: show Board Setup / Net Classes on net activation
...
(cherry picked from commit bc8f81b14d
)
2023-05-03 11:55:50 +01:00
Mike Williams
a5470029a8
PCB Search Pane: activate item opens properties dialog
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/12475
(cherry picked from commit 71b687622b
)
2023-05-03 11:55:14 +01:00
Jeff Young
a3197578d6
Tighten lifecycle management of CN_ANCHOR/CN_ITEM.
...
In particular, when a CN_ITEM is freed set all its anchor's
item pointers to NULL. (The anchors have a separate
lifecycle due to being std::shared_ptrs.)
Hopefully fixes Sentry KICAD-KV.
(cherry picked from commit 0eac5c6748
)
2023-05-03 10:51:20 +01:00
Jeff Young
ebc14b35f5
Commenting and formatting.
2023-05-02 14:14:05 +01:00
jean-pierre charras
d0069e0e1d
specctra_export: fix unit conv PCB iu -> DSN
...
From Master branch, commit 28028c941e
Fixes #14656
https://gitlab.com/kicad/code/kicad/issues/14656
2023-04-30 20:58:12 +02:00
Jeff Young
03c2850c59
Record parent rule for DRC assertions.
...
(Particularly important if the rule specified a severity.)
Also fixes a bug looking up LSET layer names in the
GetStandardLayerNames array (which aren't the same).
https://forum.kicad.info/t/a-few-questions-about-custom-rules-syntax/40068/7
2023-04-29 21:17:56 +01:00
Jeff Young
2acc0a6844
Use Net() accessor uniformly; init hole parent in VIA::Clone()
...
Fixes https://gitlab.com/kicad/code/kicad/issues/14603
(cherry picked from commit 16e000f2b0
)
2023-04-28 18:33:27 +01:00
Lucas Dumont
8ffba3a52f
Update collide for hole
...
As hole don't keep track of the net, update the collide function to keep it working
(cherry picked from commit b1a4353c34
)
2023-04-28 16:20:31 +01:00
Jeff Young
f8270b9cec
Tighten ownership model of PNS::ITEM.
...
In particular, ownership must be explicitly set. It is
no longer inherited through copy/clone/etc.
2023-04-28 11:03:24 +01:00
Jeff Young
21eb2c8dad
Simplify PNS::VIA construction.
...
(cherry picked from commit 9646e3c1c0
)
2023-04-28 00:33:27 +01:00
Seth Hillbrand
a2ad9f8b10
Handle multiple holes in footprints
...
Our basic logic for whether we have a hole or an outline in a footprint
checks if there is copper pads outside of the closed edge. This misses
the case where the footprint is used to align multiple holes but has no
copper. Since we do not support multiple outlines in a board, we can
safely assume that multiple, closed edges in a footprint represent holes
and not outlines
Fixes https://gitlab.com/kicad/code/kicad/issues/14468
(cherry picked from commit 4b91c0c8ee
)
2023-04-26 09:37:08 -07:00
Lucas Dumont
9a0e2f3395
Fix typo in QueryConstraint switch
...
(cherry picked from commit 2992d7c68b
)
2023-04-26 14:21:38 +01:00
Seth Hillbrand
d08f937932
Move Spacemouse to advanced config
...
The spacemouse driver, particularly on Mac, is extremely unstable and
causes crashes even when not being used. This places the interface
behind an advanced config flag to ensure that users can affirmatively
opt-in to the potential for crashes
(cherry picked from commit 2cd854af14
)
2023-04-25 11:30:36 -07:00
Lucas Dumont
b926d2f0bd
Don't override clearance when routing
...
The default `m_overrideClearance = -1` used here was changed to 1.
Reseting it to -1 to solve linked issue
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14595
(cherry picked from commit e2e901de1d
)
2023-04-25 10:21:13 +01:00
Jeff Young
89d1d36e79
Don't try to keep track of a HOLE's net.
...
Keep track of it's parentPadVia instead.
Fixes https://gitlab.com/kicad/code/kicad/issues/14603
(cherry picked from commit 676a15df65
)
2023-04-24 18:32:48 +01:00
Marek Roszko
4ed45e0515
Fix gerbers and drill plot not logging errors
...
Partial fix for https://gitlab.com/kicad/code/kicad/-/issues/14437
(cherry picked from commit dbed94e4b1
)
2023-04-21 03:40:28 +00:00
Marek Roszko
9956c04526
Load custom drawing sheets for pcb cli
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14171
(cherry picked from commit 9f64c7f354
)
2023-04-21 03:18:27 +00:00
jean-pierre charras
b74af71312
* Eeschema: save worksheet filename in project file.
...
The call to saveProjectSettings() was missing.
From master branch, commit b96f3d085c
Fixes #14219
https://gitlab.com/kicad/code/kicad/issues/14219
Fix also a minor compil warning
2023-04-20 09:22:33 +02:00
Jeff Young
76cb15f545
Trim VRML export layers to board outline.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/14557
2023-04-18 16:47:42 +01:00
Jeff Young
e8a9485d5e
Markup fixes.
...
1) allow escape sequences inside markup sequences
2) keep overbar when inside nested markup
3) always place overbar at full height, not sub/superscript height
Fixes https://gitlab.com/kicad/code/kicad/issues/14553
Fixes https://gitlab.com/kicad/code/kicad/issues/13449
2023-04-17 17:52:11 +01:00
Lucas Dumont
0736c141b9
pcbnew: Fix crash with differential routing
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14537
(cherry picked from commit 469fe76994
)
2023-04-17 09:48:18 +01:00
jean-pierre charras
c599385c8b
footprint wizards: fixes and enhancements
...
From master branch
2023-04-16 17:32:31 +02:00
Jeff Young
1d37d3fdf7
Performance.
...
(cherry picked from commit 2793bb1d68
)
2023-04-16 15:38:32 +01:00
Jeff Young
f3db64af05
Multi-threading safety.
...
(Possible fix for KICAD-74.)
(cherry picked from commit b76ef8c7e2
)
2023-04-16 15:38:22 +01:00
jean-pierre charras
7843e6a709
Python: re-add "def Duplicate(self)" with the correct call to C++ Duplicate().
...
From master branch.
2023-04-15 16:20:42 +02:00
Jeff Young
1bf44561da
Allow setting 0 to min width, min track width, min via annular width, etc.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13822
(cherry picked from commit 299c88cfec
)
2023-04-15 13:22:52 +01:00
Jeff Young
ad612864ce
Update DRC exclusions model to match terminology.
...
DRC exclusions were originally written following the C++
pragma model (ie: allow this violation here). However, the
"exclusion" terminology we used in the GUI suggests a model
model where the exclusions go away when the violation no
longer exists.
Fixes https://gitlab.com/kicad/code/kicad/issues/14351
2023-04-15 12:10:23 +01:00
Jeff Young
1707436cad
Retire the lib-tree scoring algorithm.
...
It appears to cause more confusion than help.
Fixes https://gitlab.com/kicad/code/kicad/issues/13905
(cherry picked from commit d01c023d5a
)
2023-04-15 00:09:34 +01:00
Jeff Young
b011d508f8
Clear board soldermask when undoing/redoing items that affect it.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13446
(cherry picked from commit 4a3f77cd9d
)
2023-04-15 00:08:14 +01:00
Jeff Young
2d13ddc70c
Fix PNS_KICAD_IFACE_BASE::IsFlashedOnLayer() to be able to handle multi-layer queries.
2023-04-14 10:59:10 +01:00
Jeff Young
0be01f3c24
Don't steal an existing via's hole.
...
(cherry picked from commit 6fb30398ca
)
2023-04-14 10:09:03 +01:00
Jeff Young
eb492724c7
Further simplify PNS::ITEM::collideSimple().
...
Also brings text_pns_basic's mocks into line with their "real"
counterparts.
(cherry picked from commit 2f198bdcb2
)
2023-04-14 10:09:03 +01:00