Seth Hillbrand
2d092437f4
Make PCAD import case-insensitive
...
According to the PCAD specification, all tags are case insensitive.
Most exporters honor the defaults but there is always an outlier or two
Fixes https://gitlab.com/kicad/code/kicad/issues/11652
(cherry picked from commit 35b79c2ec9
)
2022-05-27 10:10:47 -07:00
Alex
6b2bb4d808
Allow sheet recursion, fix sheet paths in "Highlight on PCB".
...
"Highlight on PCB" and "Select" - "Items in Same Hierarchical Sheet"
actions were extended to select items on subsheets too.
"Highlight on PCB" now uses a proper full sheet path, allowing it to
work in subsheets.
Fixes https://gitlab.com/kicad/code/kicad/issues/11493
2022-05-25 23:38:52 +00:00
Seth Hillbrand
0d93be0af2
Make sure that we have a visible layer
...
Before setting the active layer to our visible sequence, make sure that
the sequence is not empty (leads to invalid layer id->crash)
Fixes https://gitlab.com/kicad/code/kicad/issues/11629
2022-05-16 15:24:22 -07:00
jean-pierre charras
bda1f684fc
gerber_placefile_writer: fix angle rotation for flipped footprints.
...
According to latest Gerber documents (rev 2022.02), the previous angle was
missing a +180 rotation
Fixes #11621
https://gitlab.com/kicad/code/kicad/issues/11621
2022-05-16 10:27:17 +02:00
Jeff Young
71ea56dea4
Remove special-case processing of ${REFERENCE} and ${VALUE}.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11476
(cherry picked from commit 6b557d8631
)
2022-05-09 12:05:51 +01:00
Jeff Young
058f6e0a9b
All via pad layers need checking for copper.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11429
(cherry picked from commit e7f5deedb8
)
2022-05-09 00:36:27 +01:00
Jeff Young
e3eaa50600
Add on-the-fly i18n update for m_inactiveLayersLabel.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11435
(cherry picked from commit 3304ad75ca
)
2022-05-09 00:36:27 +01:00
Jeff Young
c04a183141
Hand cherry-pick of fix from master.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11261
2022-05-09 00:36:27 +01:00
Jeff Young
2dcff109df
Update Selection Filter title bar with language changes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11421
(cherry picked from commit 4ab2c93070
)
2022-05-09 00:36:27 +01:00
Jeff Young
936040fe8b
Remove extra test.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10364
Fixes https://gitlab.com/kicad/code/kicad/issues/10364
(cherry picked from commit c78a47c3fb
)
2022-05-09 00:36:27 +01:00
Seth Hillbrand
485e89f7a5
Finally found the intermittant QA crash
...
When loading footprints/zones in parallel, we cannot reference a static
vector that gets cleared by other threads.
It is unclear why this element was ever static to begin with (premature
optimization?) but it has been this way for a long time. We never
noticed until we threaded load cycles, which gave the hatch a chance to
override itself and cause crashes
Fixes https://gitlab.com/kicad/code/kicad/issues/9888
(cherry picked from commit 8218f9ab44
)
2022-05-06 11:53:49 -07:00
Seth Hillbrand
611311697e
Revert "Fix another static variable instance"
...
This reverts commit 5bd3a9cca8
.
Reverted in favor of cherry-picking the more complete fix
from 8218f9ab44
2022-05-06 11:53:21 -07:00
Seth Hillbrand
5bd3a9cca8
Fix another static variable instance
...
Premature optimization appears to be the issue. When we threaded zone
handling and added multiple layers, we started overwriting the
pointbuffer variable, which was declared static for unknown reasons
Fixes https://gitlab.com/kicad/code/kicad/issues/9888
2022-05-06 11:49:57 -07:00
jean-pierre charras
6971e409bf
Pcbnew: fix lost of focus after clicking on a wxChoice in toolbar.
...
After changing track width, via size, grid or zoom from the toolbar, the
canvas has no longer the focus on Windows. So we force the focus after clicking
on these widgets.
From Master branch
Fixes #11103
https://gitlab.com/kicad/code/kicad/issues/11103
2022-05-05 11:54:47 +02:00
jean-pierre charras
fbc6c8f8f4
pcad importer: fix a truncation when converting mils to IU.
...
The value in mils is a double, but the function to convert in IU uses int.
From master branch.
Fixes #11380 https://gitlab.com/kicad/code/kicad/issues/11380
2022-05-04 17:37:11 +02:00
Seth Hillbrand
bfa1661edf
Sync via/pad flashing for null boards
...
Pads return true by default and so should vias
2022-04-15 11:39:18 -07:00
Jeff Young
110663d214
Fix crash bug when selecting marker.
2022-04-15 13:40:19 +01:00
jean-pierre charras
2de1bd7a4a
Ensure "Open Recent" and "Clear files" menu titles are updated after language change.
...
From Master branch.
2022-04-14 15:06:17 +02:00
Jeff Young
6818eff90e
Improvements to Eagle dimension importing.
...
1) Import leaders
2) Drop radius and angle dimensions
3) Import dimension text sizes
4) Correctly interpret which side dimension offset is on
5) Correclty handle offsets for non-cardinal dimensions
Fixes https://gitlab.com/kicad/code/kicad/issues/10763
2022-04-12 13:24:34 +01:00
Jeff Young
a60e7e27b6
A better blob vs web detector.
...
Since we're in a deflated state, a long web *could* still have a very
small area. So check max extents instead.
(cherry picked from commit 1dae5eb7c4
)
2022-04-12 13:24:34 +01:00
Jeff Young
601995c759
Apply the min-width-by-min-width test to islands after pruning.
...
We're looking for minimum *web* width. A blob does not a web make.
Fixes https://gitlab.com/kicad/code/kicad/issues/6907
(cherry picked from commit 1a2e0d8226
)
2022-04-12 13:24:14 +01:00
Marek Roszko
fe11bc8330
Change the behavior of ACTION_MENU::Add to require clones if required outside the function
2022-04-11 20:39:08 -04:00
Seth Hillbrand
d0796399a2
DP tolerance needs to be 1IU on each axis
...
ApproximatelyParallel will only check for parallel within 1 IU, so a 1x1
SEG will always be parallel and the projection is invalid
2022-04-11 16:55:54 -07:00
Seth Hillbrand
c2d72180f8
Revert "Change the behavior of ACTION_MENU::Add to require clones if required outside the function"
...
This reverts commit 651f50a26d
.
2022-04-11 11:03:19 -07:00
Marek Roszko
651f50a26d
Change the behavior of ACTION_MENU::Add to require clones if required outside the function
...
Fix https://gitlab.com/kicad/code/kicad/-/issues/10994
2022-04-10 22:40:58 -04:00
Jeff Young
529048dac1
Better error reporting for DP uncoupled length.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10087
(cherry picked from commit 722b2588f4
)
2022-04-09 23:09:10 +01:00
Jeff Young
43929781a2
On-the-fly translations for pin electrical types.
...
Also add on-the-fly translation for editor title bars.
Fixes https://gitlab.com/kicad/code/kicad/issues/11324
(cherry picked from commit 68ca385e07
)
2022-04-09 21:22:50 +01:00
Seth Hillbrand
821fe6ea42
Don't set the dirty bit when running DRC
...
Dirty bit is set in the zone filler separately, there is no action in
the DRC that needs to be saved
Fixes https://gitlab.com/kicad/code/kicad/issues/11344
2022-04-06 17:03:01 -07:00
Jeff Young
f8c92e355b
Plating thickness appears on both sides of hole wall.
2022-04-04 21:51:30 +01:00
dsa-t
fdfe5a813e
Clamp cursor to limits of coordinates representation
...
Also improves large distance handling.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8846
(cherry picked from commit 68655540eb
)
2022-04-04 13:38:50 -07:00
aris-kimi
636d009860
Added footprint rule area anchors
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10461
(cherry picked from commit 47c0672ff3
)
2022-04-04 13:38:00 -07:00
Seth Hillbrand
7d96d5940d
UNDEFINED_LAYER is always flashed
...
This is already true for vias and should be true for pads as well
Fixes https://gitlab.com/kicad/code/kicad/issues/11335
2022-04-04 12:25:55 -07:00
jean-pierre charras
604871518f
Export VRML: fix some (minor) issues, from Master branch.
2022-04-04 14:46:55 +02:00
jean-pierre charras
5a68077f60
VRML exporter: make export faster by using SHAPE_POLY_SET::PM_FAST.
2022-04-04 12:28:54 +02:00
Jeff Young
8054f1a948
Apply a more sophisticated test for ignoring isInCoupledDiffPair.
...
The basic problem is that the DRC engine does length testing and skew
testing by collecting all the diff pair constituent parts and pairing them
itself. Since each part is collected on its own, we need to ignore the
'B' unit when evaluating any conditional expressions. However, doing this
in general means that when evaluating "OwnClearance()" we also ignore the
'B' unit and return the diff pair CLEARANCE_CONSTRAINT when we shouldn't.
This implements a more discerning test which know what the current requested
constraint is when evaluating expressions.
See also https://forum.kicad.info/t/solved-custom-differencing-rule-not-working-drc/34034/6
Fixes https://gitlab.com/kicad/code/kicad/issues/11314
(cherry picked from commit f7cdc7af75
)
2022-04-03 18:23:41 +01:00
Jeff Young
e21f0ec9fb
Honour prime-event-location when starting router.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11239
(cherry picked from commit a54bbfe12b
)
2022-04-03 18:21:00 +01:00
Jeff Young
1adfca8f2d
Don't re-fetch selection when running select-in-same-sheet.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11110
(cherry picked from commit a35ae8cdce
)
2022-04-03 18:20:32 +01:00
Jeff Young
e98e9f72df
Only write Allow DRC Violations if enabled.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11177
(cherry picked from commit b78a260326
)
2022-04-03 18:13:04 +01:00
Jeff Young
f8ff9705ff
Fix issues with importing NPTH pads from CircuitStudio.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10493
(cherry picked from commit 118a37f19f
)
2022-04-03 15:51:33 +01:00
Jeff Young
6de8b99cf2
Don't default to Annotate All just because the selection is empty.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11181
(cherry picked from commit 6fa8cab188
)
2022-04-03 15:51:33 +01:00
Jeff Young
c9829cf9a8
Enable bb and/or uvias when encountering them on Altium import.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10044
(cherry picked from commit 1d66925f5f
)
2022-04-03 15:51:33 +01:00
Jeff Young
0fc4ccf8d9
Clean up pad handling in 3D viewer.
...
Most importantly, create F_Cu/B_Cu layers if they're otherwise empty
but we have plated pads to render on them.
Fixes https://gitlab.com/kicad/code/kicad/issues/10207
(cherry picked from commit 0dc857b5ab
)
2022-04-03 15:51:33 +01:00
Marek Roszko
455ec428f2
Free memory in dxf import sooner on bad_alloc
...
(cherry picked from commit b18e441a88
)
2022-04-02 13:58:35 +00:00
Marek Roszko
d5de4bb5c7
Catch memory exhaustion trying to import large DXFs
...
See https://gitlab.com/kicad/code/kicad/-/issues/11308
(cherry picked from commit 9f8c0a8185
)
2022-04-02 03:15:33 +00:00
Seth Hillbrand
6706a5c462
Skip zero-size elements when converting
...
Also fixes an assertion when converting to polygon from the board editor
Fixes https://gitlab.com/kicad/code/kicad/issues/11313
2022-04-01 13:22:08 -07:00
Seth Hillbrand
c23679d9bd
Consistently handle env/prj variables
...
User-defined variables cannot be used for internally-reserved variables
Fixes https://gitlab.com/kicad/code/kicad/issues/11232
2022-03-31 17:05:25 -07:00
jean-pierre charras
bf8c7d7697
GERBER_JOBFILE_WRITER: fix a crash due to use of a null pointer.
...
Can happens when it is created from a Python script.
From Master branch
Fixes #11227
https://gitlab.com/kicad/code/kicad/issues/11227
2022-03-24 18:01:24 +01:00
Seth Hillbrand
4e98ce87c7
All triangular trapezoid pads
...
A triangular trapezoid will have the deltaX/deltaY of the same size as
the length of that axis. This creates a three-point polygon, which is
perfectly valid for our use
2022-03-22 13:38:36 -07:00
Jeff Young
eeee5afdfd
Zero out parent rule when overridden by local property.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11197
(cherry picked from commit b679a21651
)
2022-03-21 20:56:00 +00:00
Jeff Young
790b810621
A little bit of nullptr safety.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11077
(cherry picked from commit b3ae0fdca5
)
2022-03-21 20:54:28 +00:00