Jeff Young
7b5e3feb19
By-hand cherry-pick of 004abcd370
.
2022-08-04 00:05:48 +01:00
Seth Hillbrand
a12ae5050a
Cleanup unused code
...
(cherry picked from commit 76b9e25143
)
2022-08-02 08:51:04 -07:00
Seth Hillbrand
82e8e38054
PNS: Handle via-in-pad distances when tuning
...
Tuning with a via in pad, the via isn't a part of the full line. But we
still need to account for the line length distance of the
starting/ending vias. To do this, we simply measure the height from
the ending track to the ending pad and starting track to starting pad
2022-08-01 20:23:07 -07:00
Seth Hillbrand
57de5a6b65
Net Inspector: Handle via layers
...
Rather than measuring the total via height, measure from the entry to
exit track height to get a more accurate distance
2022-08-01 20:22:13 -07:00
Seth Hillbrand
6c617d84ca
Prevent drag index from exceeding full line count
...
Simplification removes segments, so we might lose our valid index.
Ideally, we would simplify during the assembly or pass the input index
to the simplify routine to maintain the proper value.
Fixes https://gitlab.com/kicad/code/kicad/issues/12137
2022-08-01 08:57:45 -07:00
jean-pierre charras
06e612661c
Kicad2step: fix STEP export from Pcbnew, broken by changes in commit 8456d6c
...
also: DIALOG_EXPORT_STEP: remember tolerance option during a session.
From Master branch.
Fixes #12119
https://gitlab.com/kicad/code/kicad/issues/12119
2022-07-29 19:46:34 +02:00
Jeff Young
3f448a7eaa
Clear dimension pointer after committing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11864
(cherry picked from commit b80fd5329d
)
2022-07-28 10:46:02 +01:00
Jeff Young
5214290000
Get rid of error-prone reverse logic.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12049
(cherry picked from commit 012d861aab
)
2022-07-28 10:45:56 +01:00
Jeff Young
fcd7e827e6
Hook up ID_GRID_SETTINGS for footprint viewers.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12030
(cherry picked from commit 6a9c6e8599
)
2022-07-28 10:44:03 +01:00
Jeff Young
466f1283c1
DXF parameters are for DXF (only).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12021
(cherry picked from commit 763c77eab8
)
2022-07-28 10:43:56 +01:00
Jeff Young
7bd073b5cb
Make sure there are no translation changes for 6.0.x.
2022-07-28 01:08:42 +01:00
Jeff Young
af40ddd0e1
Make sure strings are either 6.0.7 values or 5.1 values.
2022-07-28 00:25:45 +01:00
Jeff Young
e59d8b0a2d
Fix up merge errors.
2022-07-28 00:12:25 +01:00
Seth Hillbrand
7113f1f879
Fix through via drawing width
...
Related to fix for https://gitlab.com/kicad/code/kicad/-/issues/11851
2022-07-27 12:09:35 -07:00
jean-pierre charras
a5b676fa0e
Avoid crashes when, for some reason, a dll cannot be loaded.
...
In this case a null pointer was returned by the internal code.
This pointer is now tested against nullptr to avoid the application crashing.
Fixes #12080
https://gitlab.com/kicad/code/kicad/issues/12080
2022-07-26 16:04:27 +02:00
Jeff Young
38b75db12c
Fix merge breakage.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12088
2022-07-26 14:42:36 +01:00
Jeff Young
ac28ed9888
Cherry-pick fix for pad clearances from master.
2022-07-25 21:50:23 +01:00
Jeff Young
d9fef3da72
Don't allow 0 line-width for unfilled shapes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12010
(cherry picked from commit d0547cbde7
)
2022-07-25 21:46:27 +01:00
Jeff Young
61bb793324
Save fp browser list widths and apply known hack to work around wxWidgets bug.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11744
Fixes https://gitlab.com/kicad/code/kicad/issues/11745
(cherry picked from commit 0a623bff9f
)
2022-07-25 21:21:23 +01:00
Jeff Young
e06e65cdde
Add newly-drawn objects to any entered group.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11912
(cherry picked from commit 654740b90d
)
2022-07-25 21:02:26 +01:00
Jeff Young
0f882d91e5
Add proper collision test to via placer.
...
Also moves DISALLOW constraint processing outside the loop as it
performs it's own loop over any objects referenced by the rules.
Fixes https://gitlab.com/kicad/code/kicad/issues/11832
(cherry picked from commit 73836b50fc
)
2022-07-25 20:16:01 +01:00
Jeff Young
2fdddb970f
Bug fixes for printing vias.
...
Blind/buried and microvias didn't get their layers trimmed properly,
nor did through vias with dropped pads.
Fixes https://gitlab.com/kicad/code/kicad/issues/11851
(cherry picked from commit 231ac567b8
)
2022-07-25 20:05:40 +01:00
Jeff Young
0321d96b1e
Fill in missing bits of LAYER variable for printing/plotting.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11788
(cherry picked from commit f22cf1cc3a
)
2022-07-25 19:49:09 +01:00
Jeff Young
06baaa33fa
Rely on DRC rules when items might overlap.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/1790
(cherry picked from commit f48ed79039
)
2022-07-25 19:31:05 +01:00
Jeff Young
cd5b4ec8f2
Add edge-exclusions to router (for castellated pads).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/1790
(cherry picked from commit 833dc70bff
)
2022-07-25 19:30:49 +01:00
Jeff Young
58451335cb
Apply DRC fixes to ERC.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11844
(cherry picked from commit 83a2f43661
)
2022-07-25 19:23:57 +01:00
Jeff Young
e7dd9f9337
Don't reset Footprint Tests Run if the board didn't change.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11844
(cherry picked from commit 048f277b1e
)
2022-07-25 18:41:48 +01:00
Jeff Young
7bf66be2ac
Don't clear marker counts when closing DRC dialog.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11844
(cherry picked from commit 801a98a302
)
2022-07-25 18:41:21 +01:00
Jeff Young
0bc97b7952
Handle double-click in dimension drawing tool.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11815
(cherry picked from commit d40664d171
)
2022-07-25 18:35:29 +01:00
Seth Hillbrand
c1ec63d4f9
Protect the Kiway dereference
...
Also find a few more places where we are reaching into a new frame to
perform actions that need to have dialogs closed.
Running actions should also wait for the next cycle rather than being
immediately executed when we are calling into a new frame. This allow
for the cleanup actions onClose() to happen prior to the next action
starting
Fixes https://gitlab.com/kicad/code/kicad/issues/11891
(cherry picked from commit 93fb00d815
)
2022-07-18 09:48:50 -07:00
Seth Hillbrand
a8c0bc0430
Keep track of blocking windows
...
Allows the calling KiWAY player to send messages to the blocking window
before signaling a separate call
Fixes https://gitlab.com/kicad/code/kicad/issues/11891
Fixes https://gitlab.com/kicad/code/kicad/issues/11772
(cherry picked from commit b5bf1da251
)
2022-07-18 09:47:32 -07:00
Seth Hillbrand
63e638cfab
Enforce group selection to abide by L/R behavior
...
When selecting greedy (right to left), selecting any part of the group
will get the whole group. When selecting left to right, we must select
all items in the group to get the grouped items unless we are in the
group itself
Fixes https://gitlab.com/kicad/code/kicad/issues/11902
(cherry picked from commit e87ba10a5a
)
2022-07-18 09:45:10 -07:00
jean-pierre charras
9c50a9fa4a
FP_SHAPE in pads: always specify fill mode for shapes that can be filled or not.
...
From Master branch
2022-07-15 17:42:31 +02:00
jean-pierre charras
926818097b
Fix compatibility issues with wxWidgets 3.2 and gcc 12.1:
...
hastable.h: remove deprecated binary/unary base class not actually needed.
Fix compil warnings.
From master branch.
2022-07-12 18:24:12 +02:00
Jon Evans
2512375988
PNS: Fix IsLineCorner logic
...
Handle segment width test in the case of locked segs
Fix logic failure where vias on path cause crash
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11990
2022-07-11 22:47:28 -04:00
Wayne Stambaugh
4b4d082fa4
Pcbnew: fix minor white space issue in board file.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11669
(cherry picked from commit 6a74ecbffd
)
2022-07-11 11:25:02 -04:00
Jeff Young
042b49ee7b
Update message panel from PCB point editor and SCH drawing tools.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11961
(cherry picked from commit 4f62960334
)
2022-07-06 19:48:09 -07:00
Seth Hillbrand
55de16e874
Remove extraneous files added in 69858ab4c0
...
Files were master-only
2022-06-30 11:09:03 -07:00
Seth Hillbrand
ef2bb0b621
Avoid documentation in dialogs
...
If the nomenclature is unclear, we should rework the dialog rather than
adding documentation strings to a crowded dialog.
This also prevents new strings from appearing in v6
(cherry picked from commit 0c796697b4
)
2022-06-30 10:58:13 -07:00
Seth Hillbrand
7a3a7d1af6
Python add param to change UUIDs on fp load
...
By default, we load all footprints with a new UUID set to allow them to
be added to the board as unique objects. But when editing footprints,
we want to maintain the same UUID.
Fixes https://gitlab.com/kicad/code/kicad/issues/11870
(cherry picked from commit 802745398a
)
2022-06-29 12:10:51 -07:00
Seth Hillbrand
9cebea5f11
Correct SWIG call for board design settings
...
Use the backend call rather than rely on the naming of internal
variables
Fixes https://gitlab.com/kicad/code/kicad/issues/11924
2022-06-28 14:02:56 -07:00
jean-pierre charras
20bebeb543
Gen Drill map: Re-add Gerber option but only using X2 format.
...
Only the X2 format allows the TF.FileFunction option, mandatory to
avoid mistakes about this file that is not a standard Gerber file.
2022-06-23 14:20:32 +02:00
jean-pierre charras
1f4b288664
gen drill maps: remove unusable format (HPGL and GERBER) for map files.
...
Especially, on a regular basis, map files in gerber format create problems
for board house.
From Master branch.
2022-06-22 11:29:27 +02:00
Seth Hillbrand
45329ceafa
Push wxString allocation to smaller context
...
Prevents creation of new wxString on stack for each clearance check
(cherry picked from commit 4043dca613
)
2022-06-21 10:30:42 -07:00
Seth Hillbrand
69858ab4c0
Remove shared wxString instance in DRC
...
Threaded DRC access will write to this string, re-allocating the memory
without any synchronization between threads using the string. Comment
adding this listed performance as a reason for using shared strings.
Measured performance does not seem noticeably different in either case,
even with high-error count boards. If there is a case where the
performance is limiting, we can replace these wxStrings with
std::wstring and utilize fmt
Fixes https://gitlab.com/kicad/code/kicad/issues/9888
(cherry picked from commit 5327b10064
)
2022-06-21 10:27:21 -07:00
Jeff Young
00226cb0f2
Make sure Type regex doesn't match before Pad_Type or Pin_Type.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11423
(cherry picked from commit 7cb7a68b0e
)
2022-06-13 10:59:33 -07:00
Jeff Young
38a7cb9731
Write out partial pad-stacks for blind/buried/microvias.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11692
(cherry picked from commit 80124d2463
)
2022-06-13 10:11:58 -07:00
Seth Hillbrand
b6e7bf4768
Handle updated document description format
...
parentheses are rarely if ever used independently, so trim the unmatched
ones regardless of whether we find the starting parenthesis in the
description
Fixes https://gitlab.com/kicad/code/kicad/issues/11403
(cherry picked from commit be7e9d300e
)
2022-06-13 10:02:26 -07:00
jean-pierre charras
24d049c017
Fix bounding box of text in footprint not properly rotated in 6.0.5 stable version
...
It is fixed in Master branch, so apply a fix similar to b6e8beb3
from master
Fixes #8728
https://gitlab.com/kicad/code/kicad/issues/8728
2022-06-13 16:46:40 +02:00
Jeff Young
54c68080f5
Nullptr defensive code.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11690
(cherry picked from commit 9b70308f5c
)
2022-06-12 10:43:30 +01:00
Tomasz Wlostowski
b59c334edb
router: another attempt at improving 'kink' robustness of the hull generator
...
(cherry picked from commit f5fe1d5462
)
2022-06-10 09:17:07 -04:00
Seth Hillbrand
817c4645eb
Sort PCAD layers
...
Better fix for 11750. Instead of figeting with layer values, we sort
our map based on the layer numbers in the PCAD file. F_Cu is always
layer 1 and B_Cu is always layer 2.
Fixes https://gitlab.com/kicad/code/kicad/issues/11750
(cherry picked from commit ac0f95683f
)
2022-06-09 11:11:15 -07:00
Seth Hillbrand
32aabaf010
Handle B_Cu ordering
...
Stopgap until we introduce multi-layer mapping widget
Fixes https://gitlab.com/kicad/code/kicad/issues/11750
2022-06-08 17:17:26 -07:00
Seth Hillbrand
72b7f9fe10
Check for older tags in pcad import
...
The pourOutline/planeOutline do not include support for fillets
Fixes https://gitlab.com/kicad/code/kicad/issues/11749
2022-06-08 16:17:40 -07:00
Tomasz Wlostowski
4d5b5d3791
router: fix SegmentHull() corner case when it 'chamfers' more than the clearance permits (corner case for 0-length segments, which we use
...
for representing holes)
(cherry picked from commit 56df462474
)
2022-06-08 22:39:22 +00:00
Tomasz Wlostowski
4694a2622e
router: use either copper or hole clearance, whichever is larger, when checking track -> hole collisions
...
(cherry picked from commit 990281a897
)
2022-06-08 22:39:08 +00:00
Tomasz Wlostowski
92ba60628e
router: improvements in robustness of SegmentHull()
...
- ensure the 'chamfer' radius and clearance is rounded before computing the actual hull vertices
- for small, non-45 degree line segments (present in many boards), generate a slightly larger but still axis-aligned 45 degree hull instead of following exactly the segment direction
(cherry picked from commit bcfe12ce47
)
2022-06-08 16:14:03 +00:00
Jeff Young
275afdc1d5
Expose footprint ID, description and keywords to property system.
...
(cherry picked from commit dee22a31d9
)
2022-06-08 15:58:53 +01:00
Jeff Young
3a8ad7165b
Clear point editor before recombining pad.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11731
(cherry picked from commit bd51b33f65
)
2022-06-08 15:58:52 +01:00
Jeff Young
4a5f74422c
Take pad angle into account when generating spokes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11765
2022-06-08 15:46:56 +01:00
Jon Evans
7053981835
Don't wipe out visibility state when changing layer count
2022-06-07 23:00:32 -04:00
Jon Evans
895314b639
PNS: Fixup hole clearance to use exact hulls for walkaround
...
(partially cherry picked from commit 30fb298ed3
)
2022-06-07 22:34:16 -04:00
Jon Evans
6253b878a0
PNS: Implement HoleHull for VIA
...
(cherry picked from commit 23596812b6
)
2022-06-08 02:05:25 +00:00
Jon Evans
5d4e2aa595
PNS: Remove offsets from hull generation
...
This is likely an old workaround to numerical precision issues
in the DRC system that no longer exist. Removing this is necessary
for "exact" hull generation to produce walkaround results that
look nice (paths falling exactly on the grid lines)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10710
2022-06-03 17:39:22 -04:00
Jon Evans
2a91ba35c1
PNS: Use exact hulls for walkaround path generation
...
When we generate hulls, by default we subtract the clearance epsilon
to prevent false collisions in the router that wouldn't be flagged
by DRC. However, we need to use the actual hull with no epsilon
when generating hulls for pathfinding in the walkaround system.
Without this change, it is possible for the walkaround to generate
a valid-seeming path that results in a DRC violation, for example
when dragging a drag against a board edge.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10536
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11365
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10710
2022-06-03 17:39:22 -04:00
Jon Evans
8d8f96b094
PNS: Fix off-by-one in dragCornerInternal
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10919
2022-06-01 17:11:03 -04:00
Jon Evans
a4aa447b95
[PNS] Fix invalid assumption in IsLineCorner
2022-05-31 20:19:20 -04:00
Jon Evans
53dbd3bb02
PNS: Fix skew calculation with pad-to-die specified
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11710
2022-05-31 20:19:19 -04:00
Jeff Young
781e98acbc
Eagle octagonal pads are regular (~29% chamfered).
...
Also cleans up setting of KeepTopBottom (which is ignored unless
we're doing optional flahing -- which we're not for Eagle imports).
Fixes https://gitlab.com/kicad/code/kicad/issues/11664
(cherry picked from commit 4afca58ce7
)
2022-05-31 23:21:43 +01:00
Jeff Young
ab70124b68
Make use of board stackup data when exporting VRML.
...
Specifically layer colors and board thickness.
Fixes https://gitlab.com/kicad/code/kicad/issues/11627
(cherry picked from commit deeb7d4d6d
)
2022-05-31 23:21:43 +01:00
Jeff Young
aac4f30b7d
Fix zone merge intersection algorithm.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11492
(cherry picked from commit 5f10c15a87
)
2022-05-31 23:21:43 +01:00
Seth Hillbrand
a2e9c0ea73
Text BB is already rotated, don't re-do
...
EDA_TEXT::TransformBoundingBoxWithClearanceToPolygon already accounts
for text rotation, so we don't need to apply that twice
Fixes https://gitlab.com/kicad/code/kicad/issues/11714
2022-05-31 13:46:16 -07:00
Seth Hillbrand
0f4eefc9fc
Fix PCAD silk layer for solder-side fp
...
The layer should be flipped based on the footprint mirror value rather
than the text mirror value (which is independent)
Fixes https://gitlab.com/kicad/code/kicad/issues/11652
(cherry picked from commit 6c0856c384
)
2022-05-31 13:03:53 -07:00
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
Seth Hillbrand
e33bf78d96
Separate flashing check for connectivity
...
When building the connectivity database, we should not be using the
connectivity to check for shapes.
To make this deterministic, we introduce two flags (ALWAYS_FLASH and
NEVER_FLASH) that are used with connectivity building to determine
whether a pad is flashed for connectivity or not. ZONE <-> PAD/VIA
connectivity will be checked with ALWAYS_FLASHED and all other
connectivity will be checked with NEVER_FLASHED if they are marked for
potential annular ring removal. If they are not marked for removal,
they will be checked ALWAYS_FLASHED.
Fixes https://gitlab.com/kicad/code/kicad/issues/11114
(cherry picked from commit 442aae19d9
)
2022-03-21 08:37:53 -07:00
jean-pierre charras
1b108afd0b
Specctra import/export: fix some issues (tested only with FreeRouter):
...
- Handling of locked tracks
- Locked tracks are now exported with attribute "fix".
- Incorrect view cleaning
- Fix memory leak.
From master branch.
2022-03-20 19:05:23 +01:00
jean-pierre charras
a8384beb6f
Python, board.i: fix incorrect order of an include.
...
The result was ignoring PCB_SHAPE in pcb_text.i.
2022-03-20 18:47:14 +01:00
Seth Hillbrand
c44d31fcfb
Fix expand variables for built-in
...
Allow falling back to the alternate variable definitions if the built-in
text block variables are not set.
Also push the project into variable resolution when plotting
Fixes https://gitlab.com/kicad/code/kicad/issues/11168
2022-03-18 16:46:36 -07:00
Frank Zeeman
4a1abd239a
Append True to Python 3 AddPrimitivePoly() call
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11012
(cherry picked from commit b3a319b77e
)
2022-03-18 13:01:56 -07:00
Jeff Young
f69ebe55ad
Improved performance for Cleanup Tracks & Vias.
...
(cherry picked from commit 14378812be
)
2022-03-18 12:50:09 -07:00
Jeff Young
ff604cc6a3
Pull some fixes back from master.
...
Mostly wxT(), but also some performance, and some for better response
to Cancel button.
(cherry picked from commit 5c63df28e4
)
2022-03-18 12:49:54 -07:00
Seth Hillbrand
b0f8055377
Revert "Pull some fixes back from master."
...
This reverts commit 5c63df28e4
.
2022-03-17 16:21:37 -07:00
Seth Hillbrand
33f4fc9873
Revert "Improved performance for Cleanup Tracks & Vias."
...
This reverts commit 14378812be
.
2022-03-17 16:21:34 -07:00
Jeff Young
d34faf30cc
Save pointer to markers provider.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11136
(cherry picked from commit a81c8d4922
)
2022-03-16 16:23:10 +00:00
Jeff Young
47de9f8f04
Fix typo which leads to catastrophic performance on boards with tons of zones.
...
(cherry picked from commit 392a3ec131
)
2022-03-16 15:16:11 +00:00
Jeff Young
14378812be
Improved performance for Cleanup Tracks & Vias.
2022-03-16 15:15:20 +00:00
Jeff Young
5c63df28e4
Pull some fixes back from master.
...
Mostly wxT(), but also some performance, and some for better response
to Cancel button.
2022-03-16 15:15:09 +00:00
Jeff Young
e5ea37507c
Exclude hidden text from selection in FP Editor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11111
(cherry picked from commit 06c1bccccd
)
2022-03-16 15:15:01 +00:00
Jeff Young
53bd87d792
Performance fixes for the board from hell....
...
(cherry picked from commit e4b56ab7f1
)
2022-03-16 15:14:51 +00:00
Jeff Young
b9d7a0565f
Hand cherry-pick fixes from master.
...
0a8718cd1d
7fb4a2c0a5
2022-03-15 13:19:12 +00:00
jean-pierre charras
ad2486b09f
Fix a incorrect filename in a copy command (MSW specific).
...
Also fix a regression and respect the KICAD_BUILD_QA_TESTS build option.
2022-03-14 21:14:04 -04:00
Marek Roszko
40462012ee
Don't pre-scale the line width
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11122
(cherry picked from commit d74a0cdaa3
)
2022-03-14 03:09:23 +00:00
Marek Roszko
43aa0bfdc3
Tweak the "pyd" extension if for windows to be completely inclusive
2022-03-12 15:47:48 -05:00
Jeff Young
c241032a3b
Redraw pads when mask or paste layer is visible after board setup.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11079
2022-03-10 17:54:38 +00:00
Seth Hillbrand
0cf1a67e29
Cache read arc data for stability
...
Arcs can be altered by the process of changing from on-disk
representation to in-memory representation. Saving back to disk without
modifying the arc should not modify the calculated values.
This stores a copy of the on-disk representation that is only used to
save back to disk in the event that the arc is not modified during
editing.
Fixes https://gitlab.com/kicad/code/kicad/issues/10442
(cherry picked from commit cd7141fd10
)
2022-03-08 10:33:49 -08:00
Seth Hillbrand
f4cdb97141
Normalize `IsInsideCourtyard`
...
(cherry picked from commit c18d9b9baf
)
2022-03-08 10:07:59 -08:00
Seth Hillbrand
0cfa88ca9a
Move temp save files to temporary directory
...
Avoid excess writes to the project directory to dodge issues with remote
file systems not fully writing data.
wxRename works across disk boundaries (in theory) and falls back to
wxCopy/wxRemove when it fails
Fixes https://gitlab.com/kicad/code/kicad/issues/10747
2022-03-08 10:05:04 -08:00
jean-pierre charras
c75c7d084a
plot_board_layers.cpp: Add missing layers (USer_x) in list
...
Fixes #11072
https://gitlab.com/kicad/code/kicad/issues/11072
2022-03-08 14:44:53 +01:00
jean-pierre charras
dd154c155f
pcbnew: Fix Bezier "Add Primitive" in Pad Creation Dialog (From master branch)
2022-03-08 14:44:05 +01:00
Jon Evans
1394509734
Settings: allow multiple project access from Python standalone
...
We can't handle this in the UI, but we can externally, so allow
it for Python scripting and eventually we'll use this in the UI
also...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10540
2022-03-05 12:50:45 -05:00
Jeff Young
1ffe0da204
Improvements for pads/vias in zones which knockout other zones.
...
1) Drop tiny islands which might cause connection problems.
2) Cleanup some dead code in filler
3) Don't estabilish a connection to an island that is fully covered
by whatever its connecting to.
Fixes https://gitlab.com/kicad/code/kicad/issues/11036
2022-03-05 15:40:30 +00:00