Seth Hillbrand
826f15a103
Prevent crash in nettie
...
We need to avoid collecting invalid layers in the net ties regardless of
their origins
2025-09-02 19:18:58 -07:00
Mike Williams
202619cd43
design blocks: fix PADs getting copied in routing, enable by default
2025-09-02 13:58:18 -04:00
Seth Hillbrand
1f1f8699e0
Prevent pads from moving inappropriately
...
Free pads is a setting unless we are in the footprint editor and needs
to be respected by the alignmen tool
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21626
2025-09-02 09:11:31 -07:00
Seth Hillbrand
de8c4d4b01
ADDED: via_dangling constraint
...
Allows programmatic suppression of this error if you don't care about it
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18058
2025-09-02 08:26:18 -07:00
jean-pierre charras
e01dfd3158
gendrill_Excellon_writer: remove use of LOCALE_IO
2025-09-02 16:18:09 +02:00
Jeff Young
cff261ce2e
Don't allow stack addresses to escape via long-life handlers.
2025-09-02 14:19:17 +01:00
John Beard
1e272ca21b
Geom: use SHAPE_SEGMENT for OVAL
...
OVAL didn't do anything SHAPE_SEGMENT couldn't already do.
2025-09-02 17:38:26 +08:00
John Beard
eedfb7a573
Pcbnew: pickup footprints by points, add a selection filter
2025-09-02 01:24:14 +08:00
Ian McInerney
c95c15dd4e
Don't throw away old hidden text that was converted to fields
2025-09-01 18:19:46 +01:00
Mark Roszko
4a4725c906
Avoid shadowed variable warning
2025-09-01 12:24:35 -04:00
Mark Roszko
267ee811a7
Try and suppress gcc warning
2025-09-01 11:58:13 -04:00
John Beard
e016dc52fd
Pcbnew: Add concept of a 'point'
...
This is a zero-dimensional object that can be used for snapping
and documentation of useful, but non-physical features on a
board or footprint. They do not correspond to any physical
output in exports or plots.
Points do have a "size", but this is a graphical property only
and determines how large they are drawn on the board.
They also have a layer, which allows them to be selected and
made visible according to layer filters.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/4691
2025-09-01 23:44:21 +08:00
John Beard
c4d9338097
Pcbnew: sort sexpr text items stably
...
Currently all texts on the same layer do not sort stably in the file
format. Add sorting criteria to sort by position, angle, size
and so on and finally by string.
2025-09-01 23:44:21 +08:00
John Beard
262f1fdabb
Pcbnew: add layer mode/stackup checks to library parity DRC
2025-09-01 23:44:21 +08:00
JamesJCode
bd04d508e0
Fix some compiler warnings
2025-09-01 14:50:22 +01:00
Jeff Young
4024a15a17
Don't reference stack variables from a long-life lambda.
...
In particular, a lambda for conditional menus should
never capture more than `[this]`. Even the tool's
frame pointer could change.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21615
2025-09-01 12:44:20 +01:00
jean-pierre charras
5b31b11731
SHAPE_RECT: add Normalize method to assure width or height > 0
...
ROUNDRECT: add option to normalize the rectangle on creation
if the created rectangle has a negative size(width or height) there are issues
when drawing it.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21613
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21610
2025-09-01 11:56:56 +02:00
Seth Hillbrand
2eb7ba2fb9
Simplify overlapping points after editing
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21571
2025-08-31 17:48:59 -07:00
Seth Hillbrand
2c4d792358
Stop converging at existing point
...
Prevents collapsing points into drag element when hitting convergence
2025-08-31 17:48:59 -07:00
Seth Hillbrand
7b4f4540b4
ADDED: Light snapping to 45° multiples
...
When modifying the points of a polygon, we add a small snap to the
points preferring multiples of 45° unless you are holding shift
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15709
2025-08-31 13:47:34 -07:00
Seth Hillbrand
eba8d0748c
Don't show angles for non-polygons
2025-08-31 12:54:38 -07:00
Seth Hillbrand
bbc762a546
ADDED: Angle preview for polygon mod
...
Shows angle for the current and adjacent corners and whether they are
congruent
2025-08-31 11:49:41 -07:00
Jeff Young
1309b436da
Allow stitching of graphic shapes.
2025-08-31 19:32:48 +01:00
Jeff Young
c47b7459aa
Set free vias to graphic net if available.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21578
2025-08-31 19:21:29 +01:00
Jeff Young
a2e98fb53c
Don't set point to a value we're not going to keep.
...
It just causes flicker.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19947
2025-08-31 17:13:11 +01:00
Seth Hillbrand
2cdeb0cd7c
Second pass at fixing warping and grids
...
First attempt caused additional problems for #21535
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18196
2025-08-31 07:54:21 -07:00
Seth Hillbrand
8c6f057f6c
Re-organize points to allow missing radius
...
Not all rectangles want/need the radius point, but we will only be able
to drag one point at a time. So we re-organize which point of an
overlapping set is selected
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21605
2025-08-31 07:10:14 -07:00
Seth Hillbrand
b22f259ccb
Make properties panel obey free pads setting
...
Pads should almost never be moved without their parent. Only allow this
in the case where free pads has explicitly been checked
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21591
2025-08-31 06:08:27 -07:00
Seth Hillbrand
b86cddbbe9
Fix RRECT handling in processClosedShape
2025-08-31 05:43:59 -07:00
Adam Wysocki
814f78f2b2
ADDED: Add pcb/sch upgrade cli command
2025-08-30 20:57:41 +00:00
Jeff Young
194b7f9dc5
Add corner radius to Shape Properties dialog.
2025-08-30 20:45:02 +01:00
Jeff Young
c6fcf7e0b8
Allow easier code searching for property names.
2025-08-30 19:09:15 +01:00
Jeff Young
7fd8b515b5
Prefer const&.
2025-08-30 17:45:49 +01:00
Jeff Young
acc7b1e508
ADDED: separate front/back silk and mask colours for STEP export.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21593
2025-08-30 17:45:49 +01:00
Jeff Young
6f59821930
Prefer const &.
2025-08-30 17:45:49 +01:00
jean-pierre charras
6592c75345
fix issues in ROUNDRECT. This also fix a change commit by mistake in aeafbe48
...
Fix incorrect ROUNDRECT Ctor. It also fixes a link issue on msys2
- Do not throw an error in CTor: this is not the place. It is much easy to
fix the value of incorrect radius.
Moreover, the Ctor is called without catching a throw-ed error in code.
- fix the test about radius validity, broken.
2025-08-30 17:35:26 +02:00
Seth Hillbrand
1a3f6028f8
Fix missed last points
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21596
2025-08-30 08:33:46 -07:00
Seth Hillbrand
fe4ddc66eb
Limit radius in more places
2025-08-30 08:19:35 -07:00
Seth Hillbrand
e3b550dd13
Add a little radius helper
...
When rounding a rectangle, add a helper that shows the current radius
2025-08-30 08:19:35 -07:00
Mark Roszko
1baa28a1e6
Kick out more strtod. Actually should have used parseDouble from DSNLEXER years ago.
2025-08-30 10:46:06 -04:00
Seth Hillbrand
0f1b514964
Handle corner radius in Create from selection
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21601
2025-08-30 07:33:30 -07:00
jean-pierre charras
aeafbe48fe
Step exporter: fix overzealous validity test.
...
When converting poly shapes with arcs in STEP_PCB_MODEL::MakeShapes,
when an error happens, a second try is made using a full polygonal shape.
However a fatal error was emitted at the first attempt, before the second try.
Now at first try, only a debug message is emitted on error. The fatal error
is emitted only if the second try fails.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21589
2025-08-30 12:58:56 +02:00
Mark Roszko
2b8542861c
Missed a strtod in kicad legacy pcb parsing
2025-08-30 06:57:48 -04:00
Mark Roszko
9dd642b66c
Kick out strtod in legacy parsers
2025-08-29 23:38:00 -04:00
Seth Hillbrand
8acf5c1a25
ADDED: Rounded Rectangles
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4742
2025-08-29 17:37:30 -07:00
Seth Hillbrand
e282dca102
Add configurable hysteresis to PCB snapping
...
Makes it harder to enter and harder to exit a snap. ideally this should
help make snapping more intuitive and easier to use. Once you have a
snap, it is harder to lose it but it avoids being overly snappy in the
begining
2025-08-29 16:21:35 -07:00
Seth Hillbrand
a811f61c39
Make Expand Connection respect the filter
...
Prevents expansion that would require traversing elements that are
disabled in the selection filter
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21581
2025-08-29 16:11:38 -07:00
Jeff Young
9525fae7c8
Run collision check on correct layer.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21586
2025-08-29 17:13:16 +01:00
Seth Hillbrand
e8cec41355
ADDED: Indication of filter blocking
...
If the selection filter has blocked all selections under the cursor,
show a subtle flash on which filter(s) did the blocking. Helpful for
people getting frustrated by not being able to select locked items.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20487
2025-08-29 07:08:27 -07:00
Jeff Young
8a60893249
Regularize content of item descriptions.
...
1) Use sentence capitalisation
2) Show text of text items
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21582
2025-08-29 12:03:55 +01:00