Jeff Young
f42b66bc1c
Regularize ellipsization of menu and status text.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12257
2022-08-22 17:52:58 +01:00
Wayne Stambaugh
c72457482c
Fix Eagle plugin footprint QA test issue.
...
Apparently mapping Eagle footprint layers to the KiCad Dwg_User
that were previously mapped to UNDEFINED_LAYER breaks the QA test
and causes the footprint editor to crash when opening Eagle
footprints. This means that the potential data loss issue when
loading Eagle footprints is still in play.
2022-08-22 09:11:30 -04:00
Jeff Young
792d7babe3
Performance (std::map -> std::unordered_map) and commenting.
2022-08-22 12:43:57 +01:00
Jeff Young
03454684fa
Commenting.
2022-08-22 12:43:57 +01:00
Jeff Young
4f0136db3b
Attempt to fix std::initializer_list lifetime issue.
2022-08-21 20:54:41 +01:00
Wayne Stambaugh
0bc1188897
Fix Eagle plugin board layer mapping issue.
...
The Eagle plugin layers have to be mapped differently depending on
whether a board is being imported or a footprint library is being
cached. Footprint libraries can bypass the manual layer remapping
step that happens when importing a board.
Please note that when loading footprints in the footprint editor
and viewer, all layers that do not directly map to KiCad layers are
put on the Dwg_User layer so that there is data loss. Users will
have to manually remap objects to the correct layer as required.
This is less than ideal but until the footprint library table parser
supports prompting users to remap unknown layers, it will have to do.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/11839
2022-08-21 14:56:04 -04:00
Seth Hillbrand
af34835fdf
Restore removed data
...
Functions and definitions used in Python scripting should not be
removed. Comments in header files should never be removed (only
updated/corrected)
2022-08-20 08:40:08 -07:00
Jeff Young
eac3d33266
Keep Footprint Checker info between runs.
2022-08-20 12:28:34 +01:00
Jeff Young
28f7221cc3
Allow selection of Footprint Checker markers.
...
(And do a cross-probe to the Footprint Checker dialog.)
2022-08-20 11:30:25 +01:00
Jeff Young
8b0efa8ac4
A bit of cleanup from last commit.
2022-08-20 11:14:44 +01:00
Jeff Young
aa2ad3b44c
Move KICAD_T[] to std::initializer_list<KICAD_T>.
2022-08-20 10:28:11 +01:00
Jeff Young
46df421064
ADDED defined pad groups for net-tie footprints
...
Each pad group is allowed to short nets with other pads in its group.
Legacy footprints with the "net tie" keyword hack will get a single
group auto-created with all the footprint's pads in it.
DRC and the router now allow a track to collide with copper graphic items
while entering a net-tie pad as long as the closest point in the collision
is within the pad.
DRC (and the footprint checker) now check for copper items in the
footprint shorting pads which are not in the same pad group.
Fixes https://gitlab.com/kicad/code/kicad/issues/2265
2022-08-19 18:54:20 +01:00
Jeff Young
508df402f6
Cleanup.
2022-08-19 18:54:19 +01:00
jean-pierre charras
a60053c800
selectAllItemsOnSheet(): fix a typo that prevent selection of items in root sheet.
2022-08-19 11:12:16 +02:00
jean-pierre charras
e0fbe2542f
Fix a few compil and Coverity warnings.
2022-08-19 10:53:29 +02:00
Marek Roszko
3a718385cf
Just match the type to the comparison type on second thought
2022-08-18 22:22:04 -04:00
Marek Roszko
675938375b
Use a larger data type for min_dist
...
Squared norms are massive and can logically exceed 32-bit ints
2022-08-18 22:19:36 -04:00
Seth Hillbrand
b9461f2ba7
Re-enable tests for zones
...
Avoid invalid substantial checks triggered by signed floating point
zeros. Adds a QA check to ensure zone-self checks are maintained
2022-08-18 17:06:29 -07:00
Seth Hillbrand
97d7ee1f30
Remove `/` from our forbidden LIB_ID list
...
It is still forbidden from footprint file names but that is handled
separately and it should not be forbidden in symbol files at all
2022-08-18 12:49:40 -07:00
Francois Berder
84745a6cdc
Fix wrong number of columns check
...
Signed-off-by: Francois Berder <fberder@outlook.fr>
2022-08-18 11:03:45 +00:00
Marek Roszko
98b3904c51
Fix reserve call with the wrong source for size
2022-08-16 23:38:08 -04:00
Mike Williams
f06e28b7a7
PCB: Finish Route, Route From End
...
Adds restart routing from other ratsnest' end and automatically finish
routing.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/5051
2022-08-17 03:15:46 +00:00
Jeff Young
6cfbf895fc
Make sure parent pos is factored in for polygons.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11945
2022-08-16 17:28:56 +01:00
Alex
371f6d917f
Use VECTOR2I::extended_type instead of long, and int for numeric limits.
2022-08-16 12:08:55 +00:00
Alex
405be8d15f
Bounds-awareness in Move, Rotate, point editor, drawing tool
2022-08-16 12:08:55 +00:00
Alex
b81a3f0533
GetClampedCoords: Better usability for rounding
2022-08-16 12:08:55 +00:00
Alex
4d7d367b25
Use KiROUND for BBox calculation, change parameter name, block negative padding.
2022-08-16 12:08:55 +00:00
Jeff Young
a3dc38cb32
Update schema versions so we can patch bad data from earlier bug.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12180
2022-08-15 23:48:38 +01:00
Seth Hillbrand
759e1a64ef
Fix broken const ref in wildcard
2022-08-15 12:09:30 -07:00
Seth Hillbrand
35ac39844f
Clean up some auto usage
...
Don't make new copies of shared_ptr if we can use references. Keep auto
usage down to hard-to-type-out sequences
2022-08-15 11:29:45 -07:00
Jeff Young
db91bcbabf
Bump file format version for allow-soldermask-bridges-in-FPs.
2022-08-15 18:03:03 +01:00
Jeff Young
1f347582f8
Introduce new marker type so we can track DRC errors on the drawing sheet.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12221
2022-08-15 18:03:03 +01:00
Seth Hillbrand
4b3ac52b1d
Fix shadowed variables
2022-08-15 08:03:30 -07:00
Seth Hillbrand
9828360759
Remove unused variable
2022-08-15 07:52:53 -07:00
Jon Evans
55bb374370
Fix crash when unloading board
2022-08-14 22:49:51 -04:00
Marek Roszko
c418b25756
Centralize the parseDouble functions in the parsers and gcc specialcase
2022-08-14 18:46:19 -04:00
Jeff Young
959681e472
Config Paths help is now inside the dialog, so we don't need quasimodal here anymore.
2022-08-14 22:56:29 +01:00
Jeff Young
86938aa425
Read, write and process the board-wide Allow soldermask bridges in FPs.
2022-08-14 22:56:29 +01:00
Jeff Young
a9536b5de9
CHANGED netclass assignments now done via canvas or via patterns.
2022-08-14 22:56:29 +01:00
Jeff Young
18ac169ac7
Add contexts to EDA_COMBINED_MATCHER.
2022-08-14 22:56:29 +01:00
Roberto Fernandez Bautista
6b349fdb0a
CADSTAR PCB: Allow remapping all non-electrical layers
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12196
2022-08-14 22:24:17 +01:00
Roberto Fernandez Bautista
69d696660b
cadstar: Report warning that imported text may be different
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12195
2022-08-14 22:24:16 +01:00
Marek Roszko
a070959209
Switch from strtod to std::from_chars for performance
2022-08-14 16:19:24 +00:00
Seth Hillbrand
2ee65b2d83
Force removal of zero-sized pads on load.
...
Pads with zero width or height cause issues when rendering and
selecting. KiCad has never allowed these elements but hasn't prevented
importing systems where they exist. This prevents their import and
cleans existing designs where the pads are placed
Fixes https://gitlab.com/kicad/code/kicad/issues/12200
2022-08-13 19:10:48 -07:00
Seth Hillbrand
1ce8fc1614
Ensure arcs are handled in topology
...
Use the connection-independent `Anchor()` function to get connection
points for either arcs or segments in topology. This allows the
ratsnest to be correctly drawn between nets with arcs
Fixes https://gitlab.com/kicad/code/kicad/issues/12205
2022-08-12 20:07:28 -07:00
jean-pierre charras
488a53e71b
Fix a few minor Coverity warnings
2022-08-12 10:51:36 +02:00
jean-pierre charras
5616ef2e7c
ZONE_FILLER::buildThermalSpokes() fix incorrect spoke shape for pad shapes with offset.
...
Fixes #12201
https://gitlab.com/kicad/code/kicad/issues/12201
2022-08-10 15:27:28 +02:00
Jeff Young
d6cd55e133
ADDED esc-removes-net-highlight preference to PCBEditor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8760
2022-08-09 08:46:12 +01:00
Marek Roszko
f695ae5522
Generate const keyword_hash maps at compile time
...
Or else the map gets pointlessly recreated during footprint loading thousands of times
2022-08-09 00:56:49 -04:00
Jeff Young
a11f48ef10
Markers provider is no longer responsible for all markers.
...
Unconnected items and schematic partity violations are also now
represented by markers, so the ERC/DRC window itself needs to do
the deep-delete.
Fixes https://gitlab.com/kicad/code/kicad/issues/12182
2022-08-08 22:02:20 +01:00
Jeff Young
73402d733e
Add labels for icon buttons. (They're used by screen readers.)
...
Also fixes a bunch of annoying wxWidgets asserts.
2022-08-08 22:02:20 +01:00
Jeff Young
4423755176
Pretty up the Teardrops dialog.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12170
2022-08-07 23:22:21 +01:00
Jeff Young
015bde8cb0
Test pad:hole violations in footprints as long as not same pad number.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12124
2022-08-07 19:49:39 +01:00
jean-pierre charras
05785ac6b9
Teardrops: use default zone settings instead of last settings set by the zone dialog.
...
Fixes #12171
https://gitlab.com/kicad/code/kicad/issues/
Fixes #12172
2022-08-07 08:52:40 +02:00
Jeff Young
509d233d97
Fix knockout text bounding boxes and hit testing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12133
2022-08-06 00:00:04 +01:00
Jeff Young
6a9b821b5c
Fix order of initialization resulting in net assignment getting lost.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12168
2022-08-06 00:00:04 +01:00
jean-pierre charras
ea914eac9a
Pcbnew: fix regression: Display board info when clicking on a empty place.
...
Previously: the displayed info was "Selected Items 0".
2022-08-05 13:49:01 +02:00
Seth Hillbrand
129905686f
Fix error in net list sorting
2022-08-04 10:27:01 -07:00
Seth Hillbrand
090e70ccd2
ADDED: Have Net Inspector report lengths per layer
...
When tuning high speed traces, you may need to extract data per layer
rather than just the summary as signal speed varies based on dielectric
and trace type
2022-08-03 16:35:58 -07:00
Jeff Young
96f01d33c8
Performance improvements.
...
1) Move a bunch of std::map's to std::unordered_map to get constant-time
look-ups
2) Lengthen progress-reporting intervals to spend more time doing work
and less time talking about it
3) Reverse order of SHAPE_LINE_CHAINs in thermal intersection checks to
make (much) better use of bbox caches
4) Don't re-generate bboxes we already have
5) Fix some autos that weren't by reference (and were therefore copying
large datasets)
6) Rename delta progressDelta so it's easier to search for in future
7) Get rid of a few more autos (because I don't like them)
8) Pass large items to lambdas by reference
Fixes https://gitlab.com/kicad/code/kicad/issues/12130
2022-08-03 11:59:42 +01:00
Seth Hillbrand
76b9e25143
Cleanup unused code
2022-08-02 08:33:59 -07:00
jean-pierre charras
f0efa9af9d
gen_footprints_placefile: re-add option to negate or not the X coordinate.
...
This option is for footprints on bottom side, and not for Gerber format.
This option was existing in 5.x version, but lost in 6.x version.
Fixes #4638
https://gitlab.com/kicad/code/kicad/issues/4638
2022-08-02 11:22:12 +02:00
Seth Hillbrand
f5283c6133
Fix cherry-pick issue
2022-08-01 21:32:56 -07:00
Seth Hillbrand
e4ca2408d4
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
(cherry picked from commit 57de5a6b65
)
2022-08-01 20:25:27 -07:00
Seth Hillbrand
e0b3f6c258
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
(cherry picked from commit 82e8e38054
)
2022-08-01 20:25:17 -07:00
Jeff Young
9a4136de00
Implement annular ring checking for pads.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12109
2022-08-01 17:45:34 +01:00
Jeff Young
f3936f24ae
Go back to single-threaded sliver checker.
...
Something was unhappy with the multi-threaded version.
(Note that we still multi-thread the polygon-building, which is the
most expensive part.)
2022-08-01 17:45:34 +01:00
Seth Hillbrand
17fdb7c6a8
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
(cherry picked from commit 6c617d84ca
)
2022-08-01 08:58:28 -07:00
Seth Hillbrand
5207a8d8b4
Properly scope the island removal enum
2022-08-01 08:58:04 -07:00
Seth Hillbrand
9fbf9973be
Remove obsolete IsKeepout and KeepoutAll functions
...
These are superceded by IsRuleArea and the individual keepouts
2022-08-01 08:05:09 -07:00
Jeff Young
7556d7152f
Fix errant return and improve progress reporting.
2022-08-01 13:09:51 +01:00
Jeff Young
43df863df2
Fix issue with caches not being initialized when printing msg bar.
2022-08-01 13:09:51 +01:00
Jeff Young
0304ad4494
Move connection width testing to rule system.
...
Also copies connection width progress reporting architecture over to
the sliver checker.
2022-08-01 13:09:51 +01:00
Jeff Young
927bc8141b
Init member variables.
2022-08-01 13:09:51 +01:00
Jeff Young
f2f04b1d20
Better progress reporting for thermal connections.
2022-08-01 13:09:51 +01:00
Jeff Young
b0a9cea6f6
Better progress reporting, and don't report necks that don't have items.
...
Since we aren't searching zones (they aren't in the m_CopperItemRTreeCache)
this will drop all errors that are zone-only (which are better handled by
zone-min-width).
2022-08-01 13:09:51 +01:00
Jeff Young
4bc7c16ce0
Don't auto-fill zones due to DRC marker insertion.
2022-08-01 13:09:51 +01:00
Jeff Young
54213bb7f1
Cleanup and move to DRC_ENGINE's status reporter.
...
1) brace formatting
2) get rid of some autos
3) get rid of a dyn_cast that CLion claims is bad
4) use DRC_ENGINE's status reporter
2022-08-01 13:09:51 +01:00
Jeff Young
661caf1de9
Make sure new zones are filled when auto-fill is on.
...
Also fixes some issues with enablement of the Remove Islands stuff.
Fixes https://gitlab.com/kicad/code/kicad/issues/12123
2022-08-01 13:09:51 +01:00
Jeff Young
6f49b57f9b
Cleanup & performance enhancements.
2022-08-01 13:09:51 +01:00
Marek Roszko
a8505d9c76
SEARCH_RESULT -> INSPECT_RESULT
...
To fix the name squatting it's doing for future functionality
2022-07-29 20:01:10 -04:00
Jeff Young
f0b9e67212
Add ignore-line-widths mode to CONVERT_TOOL.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5911
2022-07-29 21:39:03 +01:00
Jeff Young
753f2f3e4c
Display descriptions in second column of library trees.
...
Also fixes some bugs in how the columns are sized.
Fixes https://gitlab.com/kicad/code/kicad/issues/12090
2022-07-28 14:51:47 +01:00
Jeff Young
fc1afa6298
Improvements to convert tool.
...
1) Handle filled shapes
2) If a chained outline can't be found, build hulls of the individual
segments
3) Combine intersecting shapes
4) Simplify code
Fixes https://gitlab.com/kicad/code/kicad/issues/git
Fixes https://gitlab.com/kicad/code/kicad/issues/5911
2022-07-27 18:57:45 +01:00
Jeff Young
2bf33321d1
Update constraint mode in status bar during move.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10465
2022-07-27 18:57:45 +01:00
jean-pierre charras
aabc3b3cc6
FP editor: fix crash when duplicating a footprint.
...
Fixes #12098
https://gitlab.com/kicad/code/kicad/issues/12098
2022-07-27 19:08:27 +02:00
Jeff Young
cb6a2552d9
Use the FPEditor's status bar messages for FPBrowser.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11404
2022-07-26 18:45:02 +01:00
jean-pierre charras
4d48376eae
Fix some warnings detected by PVS-STUDIO (not used vars)
2022-07-26 16:00:14 +02:00
Jeff Young
ee0f93ed17
Fix some issue with hierarchy panel on OSX.
...
Also moves the option toolbars tight to the canvas for all windows.
Fixes https://gitlab.com/kicad/code/kicad/issues/12087
2022-07-26 14:51:43 +01:00
Jeff Young
032708860b
Include both text shapes and border shapes in textbox.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11806
2022-07-25 16:10:08 +01:00
Jeff Young
e10158ff10
ADDED show pin names on footprint pads when assigning to symbol.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4576
2022-07-24 23:41:41 +01:00
Jeff Young
1bad72f14f
Remove bad static_cast.
...
(m_settings isn't a PCBNEW_SETTINGS in non-PCB_EDIT_FRAMEs)
2022-07-24 23:41:41 +01:00
jean-pierre charras
82167a7c96
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-24 19:42:50 +02:00
jean-pierre charras
0604d7b813
Fix minor compil and Coverity warnings.
2022-07-24 09:33:43 +02:00
jean-pierre charras
c16d0603c6
Add fix missing in my commit 8eee7667
2022-07-24 09:10:51 +02:00
Jeff Young
fa679d3601
Pinned libs can also be found in program settings.
2022-07-23 20:17:04 +01:00
jean-pierre charras
8eee766791
Fix Cvpcb DISPLAY_FOOTPRINTS_FRAME: some display options not working. Commit 5e4a7041
moved 4 settings used in Cvpcb to a PCBNEW_SETTINGS struct. But in Cvpcb, this config struct does not exist. So these 4 settings are now moved to a section (PCB_VIEWERS_SETTINGS_BASE) common to Cvpcb and Pcbnew config.
2022-07-23 18:45:13 +02:00
Jeff Young
f0ef6932b8
Fix issues with plotting textbox outlines.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11943
2022-07-23 13:53:03 +01:00
Jeff Young
280ff3ccdc
Fix net highlight command enablement.
...
These always need to be enabled so that the current highlight can
be cleared.
Fixes https://gitlab.com/kicad/code/kicad/issues/12058
2022-07-23 12:42:11 +01:00
Jeff Young
9dd3bbf2cb
Change highlight net hotkey default.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12051
2022-07-23 12:34:48 +01:00
Jeff Young
bf5e649e44
Fix log errors in new solder masking checking code.
2022-07-23 09:26:04 +01:00
Jeff Young
f41af10007
Clean up hole shapes for safety (smart pointer) and consistency.
2022-07-22 23:06:07 +01:00
Jeff Young
a2c002e1da
Improve solder mask aperture testing.
...
1) For solder mask apertures report both the aperture and both
exposed items.
2) Don't process solder mask apertures in footprints with the
"bridging allowed" flag set.
Fixes https://gitlab.com/kicad/code/kicad/issues/12064
2022-07-22 23:06:07 +01:00
Jeff Young
5442d284f4
Improve strings for highlight net commands.
2022-07-22 09:31:11 +01:00
Jeff Young
def87c969e
Redo the pinned-libraries storage architecture.
...
1) always use preferences directly
2) allow nicknames from either preferences or project
3) store-after-modify
Fixes https://gitlab.com/kicad/code/kicad/issues/12000
Fixes https://gitlab.com/kicad/code/kicad/issues/11892
2022-07-22 09:31:10 +01:00
Jeff Young
b80fd5329d
Clear dimension pointer after committing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11864
2022-07-22 09:31:09 +01:00
Jeff Young
004abcd370
Leave originally selected items selected after cancelled move.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12024
2022-07-22 09:31:08 +01:00
Marek Roszko
b6b4ae959e
Shuffle around the helper script folders
2022-07-21 19:04:08 -04:00
Seth Hillbrand
16e3d40552
ADDED: Display calculated clearance in status bar
...
In addition to showing resolved clearance, we also show the calculated
clearance in the same method as is used for DRC. This will allow users
to better examine their system while working.
Fixes https://gitlab.com/kicad/code/kicad/issues/7934
2022-07-21 15:44:48 -07:00
Seth Hillbrand
9b74372f9d
Minor spelling fix
2022-07-21 11:55:44 -07:00
Tomasz Wlostowski
e558893851
router: use actual snap point position for routability checks of a segment instead of the segment endpoint(s).
...
Explanation:
- place a long segment A with something violating the rules close to its endpoint
- try to start routing in the 2/3 of the length of A (on the obstacle side)
- bummer - the router picks the nearest endpoint of A for the collision check (even though we don't care about this collision since we want to route far away from it)
2022-07-21 16:30:28 +02:00
Mike Williams
f8b157a1fb
PCB: Bitmaps should respect layer opacity and highlighting options
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/12045
2022-07-20 14:59:19 -04:00
Jeff Young
012d861aab
Get rid of error-prone reverse logic.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12049
2022-07-20 17:24:12 +01:00
Jeff Young
6a9c6e8599
Hook up ID_GRID_SETTINGS for footprint viewers.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12030
2022-07-19 21:24:45 +01:00
Jeff Young
763c77eab8
DXF parameters are for DXF (only).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12021
2022-07-18 17:51:20 +01:00
jean-pierre charras
49bf717c0e
fix minor compil warnings
2022-07-17 20:29:59 +02:00
Jeff Young
1ade5a8c72
Fix typo.
...
And clean up the code just a little to make it clearer.
Fixes https://gitlab.com/kicad/code/kicad/issues/12022
2022-07-17 17:04:04 +01:00
Jeff Young
b727bfc16d
Performance: avoid sqrt at all costs.
2022-07-16 18:42:32 +01:00
Jeff Young
d0547cbde7
Don't allow 0 line-width for unfilled shapes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12010
2022-07-16 16:26:05 +01:00
Jeff Young
2f00b4e170
Delete multiple rows if selected.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12013
2022-07-16 12:07:15 +01:00
Jeff Young
aa9fe58abe
Don't duplicate user-defined track widths, via sizes or DP dims...
...
... when appending to board.
Fixes https://gitlab.com/kicad/code/kicad/issues/12014
2022-07-15 20:52:08 +01:00
Seth Hillbrand
c8a383a48e
Get via font fill/color correct when highlighted
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11802
2022-07-15 11:40:46 -07:00
Seth Hillbrand
595e5cb3f2
Add sort feature to pre-defined list
...
Board setup rows should be sortable when inserting new elements. They
get sorted when saving, this keeps that representation while editing
Fixes https://gitlab.com/kicad/code/kicad/issues/12015
2022-07-15 11:16:15 -07:00
Jeff Young
2de10080cd
Add edge and margin clearances to message panel.
2022-07-15 16:14:32 +01:00
jean-pierre charras
50bb7c93a1
Fix bug in commit 64e1720f
2022-07-15 17:03:05 +02:00
jean-pierre charras
64e1720f12
FP_SHAPE in pads: always specify fill mode for shapes that can be filled or not.
...
Fixes #12012
https://gitlab.com/kicad/code/kicad/issues/12012
2022-07-15 16:50:38 +02:00
Jeff Young
c98826c8b0
Open newly-pasted footprint on canvas of Footprint Editor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11398
2022-07-15 14:13:39 +01:00
Seth Hillbrand
93fb00d815
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
2022-07-14 11:37:45 -07:00
Mike Williams
d44e34d513
Images: Add full properties editor
...
Converts dialog_image_editor to panel_image_editor. Embeds this panel in
a new properties dialog for the schematic and PCB editors that allows
editing position, layer, locked status, etc. like other items.
2022-07-14 11:23:23 +00:00
Mike Williams
99f8b21ed1
PCB: Add bitmap layer per board layer
2022-07-14 11:23:23 +00:00
Mike Williams
3669cb4673
PCB Editor: Add User Background Images
2022-07-14 11:23:23 +00:00
Seth Hillbrand
b5bf1da251
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
2022-07-13 19:25:24 -07:00
Seth Hillbrand
91e4d5e0ea
Add Apply button to "Edit Text and Graphics"
...
Allows the user to apply multiple sets of changes without closing the
window
Fixes https://gitlab.com/kicad/code/kicad/issues/11904
2022-07-13 16:44:15 -07:00
Seth Hillbrand
20a372ff69
ADDED Clearance data in PCB editor status bar
...
When selecting two objects, display the resolved clearance and
(optionally) hole clearance in the status bar
2022-07-13 15:04:32 -07:00
Seth Hillbrand
a9a5136c1c
Always allow blind/buried/micro vias
...
Removes a nanny setting that prevented the use of
blind/buried/micro-vias without a checkbox. If the designer does not
want microvias in their board, they simply do not place microvias.
2022-07-12 19:47:31 -07:00
Mike Williams
3d1d432c5e
PCB Editor: re-add missing color to dynamic ratsnest
2022-07-12 19:36:51 -04:00
Seth Hillbrand
e87ba10a5a
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
2022-07-12 11:01:34 -07:00
Jon Evans
664bf1382d
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
(cherry picked from commit 2512375988
)
2022-07-12 02:49:24 +00:00
Jeff Young
57acce9e55
Share more code between selection tools.
2022-07-11 19:04:08 -06:00
Alex
aaf99eb0cc
Performance optimizations.
2022-07-11 21:25:12 +00:00
Seth Hillbrand
3081023b5e
ADDED: Minimum copper connection width DRC check
...
Checks all copper connections in each net/layer for minimum width
setting.
Fixes https://gitlab.com/kicad/code/kicad/issues/9870
2022-07-11 19:26:56 +00:00
Wayne Stambaugh
6a74ecbffd
Pcbnew: fix minor white space issue in board file.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11669
2022-07-11 11:21:45 -04:00
Jeff Young
0a623bff9f
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
2022-07-10 23:07:04 -06:00
Jeff Young
43b82aeffc
Fix another case of Edge_Cuts & Margins needing to be treated as all-physical-layers.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11843
2022-07-10 20:32:28 -06:00
Jeff Young
19b4844102
Avoid OSX system shortcut.
...
CHANGED toggle net highlight from ctrl-` to opt-`.
Fixes https://gitlab.com/kicad/code/kicad/issues/10160
2022-07-10 20:20:22 -06:00
Jeff Young
1eb2a39eca
Fix errant test in board items plotter.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11944
2022-07-10 18:54:36 -06:00
Jeff Young
e122dc38bd
Add context menu item for clearing net highlighting.
...
In selection tools, drawing tools, router tool, line_wire_bus tool.
Fixes https://gitlab.com/kicad/code/kicad/issues/11920
2022-07-10 17:15:20 -06:00
Jeff Young
eb27a3f8b9
Added pinning support to various EDA_LIST_DIALOGs.
...
Footprint Save As, Symbol Save As, etc.
2022-07-09 20:44:49 -06:00
Jeff Young
05219e4d9a
Add pinned library support to Choose Symbol and Choose Footprint.
2022-07-09 20:06:31 -06:00
Jeff Young
190fb23e88
Add pinned library support to Footprint and Symbol Viewers.
...
Also includes adding libraray and symbol filters to Symbol Viewer.
2022-07-09 17:41:10 -06:00
Jeff Young
b8479bf6f1
Handle severity ignore rules in router.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11609
2022-07-09 11:24:47 -06:00
Seth Hillbrand
0cb5abd7f7
Fix highlight on route again
...
Added a clarifying comment that will hopefully keep the required code
block in place
2022-07-08 20:14:46 -07:00
Jeff Young
c7746fa000
Fix copy pasta error.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11986
2022-07-08 17:44:36 -06:00
Jeff Young
ded611aed5
Patch annoying large checkbox cols in wxWidgets 3.1.x on OSX.
2022-07-08 17:27:05 -06:00
Jeff Young
521b231873
Don't zero out width of shapes on Margin, only Edge_Cuts.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11967
2022-07-08 17:27:05 -06:00
Jeff Young
654740b90d
Add newly-drawn objects to any entered group.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11912
2022-07-08 17:27:05 -06:00
Jeff Young
8a9bf02b7e
Smarten up silk clearance & tented item handling.
...
The inspection tool will report whether or not the item is tented
(indicating in that case that any clearance will only be applied
to any hole).
The DRC test ignores tented items without a hole, and runs the
clearance test against the hole for items with a hole.
Fixes https://gitlab.com/kicad/code/kicad/issues/11954
Fixes https://gitlab.com/kicad/code/kicad/issues/11951
2022-07-08 17:27:05 -06:00
Jeff Young
f611f9f5d3
Allow zone connection rules to target footprints.
...
If the pad is set to inherit and a rule targets its parent footprint,
then that rule should fire.
2022-07-08 17:27:05 -06:00
Jeff Young
fa2e43f696
Reduce noise in board <-> library footprint tests.
2022-07-08 17:27:04 -06:00
Seth Hillbrand
0c47a09517
Ensure rectangles are normalized
...
Normalize on creation and fixup rectangles previously saved with
inverted coordinates
Fixes https://gitlab.com/kicad/code/kicad/issues/11965
2022-07-07 10:40:18 -07:00
jean-pierre charras
7b28804f67
Fix a minor compil and Coverity warning
2022-07-06 13:54:17 +02:00
Seth Hillbrand
7f9f37e507
Avoid double-caching FP zones
...
Leads to crashes/invalid data when multi-threading hits both at same
time
2022-07-05 20:07:18 -07:00
jean-pierre charras
f00de04336
FP editor: fix incorrect mirroring of zones in footprint.
...
This is due to a call to Mirror() with incorrect parameter.
Unfortunately, depending on FP items, one Mirror parameter has the opposite
meaning about mirror axis.
Fixes #11952
https://gitlab.com/kicad/code/kicad/issues/11952
2022-07-04 11:14:47 +02:00
Tomasz Wlostowski
3111b7679d
router: bring back the snap-to-hull behaviour in Mark Obstacles mode
2022-07-03 23:59:27 +02:00
jean-pierre charras
d41e47609c
Pcbnew: fix plot issue for non filled polygons in footprints.
...
Fixes #11959
https://gitlab.com/kicad/code/kicad/issues/11959
2022-07-03 11:24:23 +02:00
Seth Hillbrand
cde30d3dba
Clarify cross-probing options
...
Previous the cross-probing options were mixed between sending and
receiving cross-probe events. This clarifies so that all of the pcbnew
cross-probe options deal with whether the cross-probe is seen in pcbnew
and all of the eeschema options deal with seeing the event in eeschema.
Also updates the wording in the options panels to be the same where
possible and adds tooltips
Fixes https://gitlab.com/kicad/code/kicad/issues/11454
2022-07-01 16:47:09 -07:00
Seth Hillbrand
907d8fc018
Revert "Fix Swatch sizes"
...
This reverts commit 25c3a4681f
.
Windows default sizes are too big when they are the correct size on
Linux. We need the DU scaling for swatches
2022-07-01 11:37:55 -07:00
Seth Hillbrand
25c3a4681f
Fix Swatch sizes
...
The swatches are surrounded by non-scaling icons. We should not scale
the swatches unless we also scale the icons. This patch makes all
elements in the appearance panel equally non-scaling
This relates to https://gitlab.com/kicad/code/kicad/-/issues/11880
2022-07-01 10:56:13 -07:00
jean-pierre charras
2ff2a6ffcd
Kicad2step: fix STEP export from Pcbnew, broken by changes in commit 8456d6c
...
also: DIALOG_EXPORT_STEP: remember tolerance option during a session.
2022-07-01 09:56:15 +02:00
Seth Hillbrand
0c796697b4
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
2022-06-30 10:57:56 -07:00
luz paz
af6ba1a16e
Fix typos in pcbnew sub-directory
...
Found via `codespell -q 3 -S *.po,./thirdparty,./Documentation/changelogs -L aactual,acount,aline,alocation,alog,anormal,anumber,aother,apoints,aparent,aray,ba,busses,dout,einstance,leaded,modul,ontext,ot,overide,serie,te,,tesselate,tesselator,tht`
2022-06-30 09:39:45 -04:00
Jeff Young
f48ed79039
Rely on DRC rules when items might overlap.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/1790
2022-06-29 13:43:44 -06:00
Seth Hillbrand
802745398a
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
2022-06-29 12:10:24 -07:00
Seth Hillbrand
f1a054e6af
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
(cherry picked from commit 9cebea5f11
)
2022-06-28 14:03:43 -07:00
jean-pierre charras
7d8fe98d53
Pcbnew, exporter VRML: code refactor and remove unuded code.
...
It should help later, to use EXPORTER_VRML in python scripting helpers.
Mainly, EXPORTER_VRML avoid to expose the actual exporter VRML internal code.
2022-06-28 18:59:50 +02:00
Mike Williams
64b89639cf
PCB Editor: Make Ctrl-Click net highlighting configurable
...
Defaults to ctrl-click is exclusive or selection like other
applications. Footprint editor can only be exclusive or.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/10810
2022-06-28 16:29:14 +00:00
Jeff Young
ab9c42d427
Fix a typo which leads to a bogus type-cast.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11886
2022-06-27 23:07:06 -06:00
Jeff Young
833dc70bff
Add edge-exclusions to router (for castellated pads).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/1790
2022-06-27 15:16:37 -06:00
Ian McInerney
4e4b0962db
Create python subdirectory in pcbnew build for the symlink
2022-06-25 01:10:20 +01:00
Seth Hillbrand
03c279ffd4
ADDED: Threadpool
...
Thread pools are long-lasting executors that have close to zero overhead
when launching new jobs. This is advantageous over creating new threads
as we can use this for threading smalling jobs and smaller quanta. It
also avoids the heuristics needed to determine the optimal number of
threads to spawn
2022-06-24 22:59:24 +00:00
Seth Hillbrand
8418fe12d8
Allow board saves without modifying project files
...
Without the project files, certain settings will not be saved by this
python call. This defaults to false (current behavior) but setting the
`aSkipSettings` to true will revert to v5 behavior
Fixes https://gitlab.com/kicad/code/kicad/issues/11323
2022-06-24 15:28:56 -07:00
jean-pierre charras
35375a98c6
FP editor, dialog leader dimension: fix text frame setting not saved
...
Fixes #11900
https://gitlab.com/kicad/code/kicad/issues/11900
2022-06-24 17:45:51 +02:00
jean-pierre charras
3fcd959757
Gerbview: minor cosmetic enhancement: show if the file is X1 or X2 format.
2022-06-24 15:44:13 +02:00
Ian McInerney
f303d78723
Fix install of _pcbnew.so to allow DESTDIR to be used with it
...
We need to use the install directive to do an install so that the
install process uses all the variables correctly. So create a temporary
symlink in the build directory that points to nowhere and then install
that.
2022-06-23 23:15:49 +01:00
jean-pierre charras
c3f90d914b
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 11:56:27 +02:00
Ian McInerney
44a8f1e6e6
Create the symlink for the python module in the build tree as well
...
The unit tests need the python module to be loadable, so there needs to
also be a symlink to the kiface inside the build directory.
2022-06-23 00:27:35 +01:00
Ian McInerney
9bb5beb264
Use symlink to pcbnew kiface for python module on Linux
...
Instead of installing an identical shared library into the Python
folder, just use a link to the existing library instead.
Fixes https://gitlab.com/kicad/code/kicad/issues/9974
2022-06-22 23:40:29 +01:00
Ian McInerney
b51d8c9825
Introduce new CMake variable to store kiface install location
2022-06-22 23:40:25 +01:00
Seth Hillbrand
3ddd287004
Revert "Fixup python module install"
...
This reverts commit 6fd60c5561
.
Worked only for a single make. Second run fails due to missing file
2022-06-22 14:11:59 -07:00
Seth Hillbrand
6fd60c5561
Fixup python module install
...
INSTALL(FILE) does not handle setting linux-specific attributes in the
same way that INSTALL(TARGET) does. This patch is suggested by
StefanBruens
Fixes https://gitlab.com/kicad/code/kicad/issues/9974
2022-06-22 13:29:08 -07:00
Seth Hillbrand
a43fcd045f
Hyperlynx arcs are always CW
...
Previous test comparing start/end angles doesn't account for all cases.
This adds a more robust test to ensure all arcs are output in CW fashion
Fixes https://gitlab.com/kicad/code/kicad/issues/10782
2022-06-22 09:59:37 -07:00
jean-pierre charras
32c5a4d1ea
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.
2022-06-22 11:13:06 +02:00
jean-pierre charras
82b2df67be
Add 2 automatically generated files to the source tree.
...
These files are needed by translators, so it is better to add them to the source
without need to build kicad.
2022-06-22 08:51:04 +02:00
Seth Hillbrand
a852286eb5
Cleanup compile warnings
2022-06-21 17:04:56 -07:00
Miklós Márton
f2382a7bd1
Add Make selected active/inactive actions to the symbol libraries
...
context menu
Fixes #11372
2022-06-21 23:32:02 +00:00
jean-pierre charras
b54bb90975
DIALOG_FOOTPRINT_WIZARD_LIST_BASE: use a monospaced font to show the wizard errors.
...
A proportional font does not allow to correctly show the error message and the
marker showing the exact position of the error in the printed line.
2022-06-21 09:42:21 +02:00
jean-pierre charras
e73dd40f26
APPEARANCE_CONTROLS: fix incorrect behavior of Preset layers widget:
...
In non English languages, the selection of a previous choice was broken
due to the fact fixed (read only) presets have a English name, but the
UI list uses translated names, so the actual selection was not correctly
displayed.
2022-06-21 08:57:16 +02:00
Jeff Young
aad85a83da
Improvements to rotation/mirroring of dimensions inside footprints.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11861
2022-06-20 22:25:39 +01:00
Jeff Young
23e8bafd9c
Don't run courtyard conflicts in footprint editor.
2022-06-20 22:25:39 +01:00
Miklos Marton
426c46abb1
pcbnew: pad editor UI fixes
...
When editing a pad with circular hole the Y dimension is hidden
and Diameter is shown instead of Size X when opening the properties
of an existing pad.
Adjusted Pad shape: label to be vertically aligned to the pad shape
combobox.
2022-06-20 19:15:41 +00:00
jean-pierre charras
6679decc8d
Fix syntax issues in footprint wizards
...
Fixes #11867
https://gitlab.com/kicad/code/kicad/issues/11867
2022-06-20 20:31:18 +02:00
Jeff Young
048f277b1e
Don't reset Footprint Tests Run if the board didn't change.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11844
2022-06-20 17:25:43 +01:00
Jeff Young
d69e3fdb5e
Specify a winding for Hyperlynx arcs.
...
I can't test it, so it's a 50:50 guess. We may need to flip the
test....
2022-06-20 17:03:37 +01:00
Jeff Young
298edb09c3
Initialize TEXT_ATTRIBUTES justifications for text & textboxes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11805
2022-06-20 17:03:37 +01:00
jean-pierre charras
9db907cc70
pcbnew, plot footprint: fix typo that prevent ploting dimensions
...
Fixes #11860
https://gitlab.com/kicad/code/kicad/issues/11860
2022-06-20 17:20:56 +02:00
jean-pierre charras
d19705ac8c
FOOTPRINT::Flip(): add missing handle of dimensions.
2022-06-20 11:37:25 +02:00
jean-pierre charras
c8ce01ce8e
pcb_parser: fix an incorrect CHECK_MSG when parsing a dimension in a footprint.
...
this incorrect CHECK_MSG created a crash.
Fixes #11859
https://gitlab.com/kicad/code/kicad/issues/11859
2022-06-20 10:42:19 +02:00
Jeff Young
73836b50fc
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
2022-06-19 21:57:49 +01:00
Jeff Young
801a98a302
Don't clear marker counts when closing DRC dialog.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11844
2022-06-19 20:51:45 +01:00
Jeff Young
231ac567b8
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
2022-06-19 11:58:21 +01:00
Jeff Young
82ebc247b8
More performance enhancements for DRC.
2022-06-18 19:47:11 +01:00
Jeff Young
5da817649b
Fix nullptr bug.
2022-06-18 13:04:06 +01:00
Jeff Young
97b0005780
More caching for DRC.
...
Also fixes a bug where some physical clearance tests would be run even
if the clearance was 0 (or if the rule was set to IGNORE).
2022-06-17 23:58:31 +01:00
jean-pierre charras
f20cb0fda8
Activate teardrops: remove advanced config option and add teardrop keywords in files. (the ability to read teardrop keywords was added some time ago)
2022-06-17 19:42:27 +02:00
Miklós Márton
b912bef2f6
pcbnew: Display Diameter when circular shape selected in pad editor
2022-06-16 20:26:42 +00:00
Fabien Corona
bd8f0ae81a
Ibis: Fix coverity issues
2022-06-16 20:09:50 +00:00
Seth Hillbrand
4043dca613
Push wxString allocation to smaller context
...
Prevents creation of new wxString on stack for each clearance check
2022-06-16 08:26:28 -07:00
Seth Hillbrand
359d66bc81
Protect against invalid pads
...
Before dereferencing the front of the sequence, we have to ensure that
the pad exists on any layer. If not, just return the default (probably
F_Cu) for the element
2022-06-16 08:20:47 -07:00
Seth Hillbrand
5327b10064
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
2022-06-15 16:46:03 -07:00
Jeff Young
d40664d171
Handle double-click in dimension drawing tool.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11815
2022-06-15 18:07:50 +01:00
Jeff Young
5e80e2a421
58f553a9ca
requires that cache be layer-sensitive.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11814
2022-06-15 00:30:11 +01:00
Fabien Corona
bf62d6e9ee
Ibis: Coverity issues
2022-06-13 19:31:57 +00:00
jean-pierre charras
9fd5ee5a2f
paper min size set to 1 inch (previously 0.1 inch, very small indeed)
...
Avoid using magic numbers in file pcb_parser.cpp.
Fixes #11807
https://gitlab.com/kicad/code/kicad/issues/11807
2022-06-13 17:51:29 +02:00
Jeff Young
52bc2511cd
Add a radioButton mode to IMAGE_BUTTON.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11797
2022-06-12 20:09:46 +01:00
Marek Roszko
87f10ea206
Split off the netlist export content helper but it's advancedcfg
2022-06-11 23:09:47 -04:00
Marek Roszko
cb44d97ed4
Update pcbnew to the new filedlg customize
2022-06-11 22:10:49 -04:00
Jon Evans
e5ece4e460
ibis_parser: fixes to build on MSVC
...
Use stringstream instead of C arrays for formatting std::string
std::isnan(int) is invalid
Also fix a few report severities that seemed inconsistent
2022-06-11 18:09:17 -04:00
Jeff Young
9b70308f5c
Nullptr defensive code.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11690
2022-06-11 22:32:12 +01:00
Jeff Young
4f3cfdc92e
Clang says nan and isnan aren't in std namespace....
2022-06-11 22:14:14 +01:00
Jeff Young
f22cf1cc3a
Fill in missing bits of LAYER variable for printing/plotting.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11788
2022-06-10 22:38:01 +01:00
Seth Hillbrand
20f4e62176
Rename signalIntegrity to ibis
...
We do not use camelCase in KiCad
2022-06-10 13:35:48 -07:00
Tomasz Wlostowski
f5fe1d5462
router: another attempt at improving 'kink' robustness of the hull generator
2022-06-09 20:51:21 +02:00
Fabien Corona
0d35d69f70
ADDED: Read IBIS files
2022-06-09 18:30:51 +00:00
Seth Hillbrand
ac0f95683f
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
2022-06-09 11:10:34 -07:00
Seth Hillbrand
e857622dd4
Handle B_Cu ordering
...
Stopgap until we introduce multi-layer mapping widget
Fixes https://gitlab.com/kicad/code/kicad/issues/11750
(cherry picked from commit 32aabaf010
)
2022-06-08 17:19:37 -07:00
Seth Hillbrand
124bdb6673
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
(cherry picked from commit 72b7f9fe10
)
2022-06-08 16:27:17 -07:00
Jeff Young
f2c26ae528
Formatting.
2022-06-08 23:53:18 +01:00
Tomasz Wlostowski
56df462474
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)
2022-06-09 00:33:08 +02:00
Tomasz Wlostowski
990281a897
router: use either copper or hole clearance, whichever is larger, when checking track -> hole collisions
2022-06-09 00:31:47 +02:00
Tomasz Wlostowski
4192c0a709
router: move IsFlashedOnLayer to the IFACE_BASE class so that it can be used in the debugger tool
2022-06-09 00:30:57 +02:00
Tomasz Wlostowski
bcfe12ce47
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
2022-06-08 14:28:31 +02:00
Tomasz Wlostowski
e90ab055b9
router: remove unused LINE::Is45Degree()
2022-06-08 14:28:31 +02:00
Jon Evans
dc6c27b686
Don't wipe out visibility state when changing layer count
...
(cherry picked from commit 7053981835
)
2022-06-08 03:01:02 +00:00
Jon Evans
30fb298ed3
PNS: Re-enable hole clearance for non-flashed pads/vias
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11098
2022-06-07 19:49:38 -04:00
Jon Evans
23596812b6
PNS: Implement HoleHull for VIA
2022-06-07 19:49:38 -04:00
Jeff Young
bf71cada4e
ADDED: User viewports for 3D viewer.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5724
2022-06-06 22:24:02 +01:00
Jeff Young
244042ce51
Keep footprint selection in Symbol Chooser history list.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/1841
2022-06-06 22:24:02 +01:00
jean-pierre charras
9f38fa43cd
Fix some minor compil and Coverity warnings.
2022-06-05 11:44:49 +02:00
Jeff Young
d14fd5a9da
Fix logic error with silk overlap test.
2022-06-04 19:34:24 +01:00
Jon Evans
3747369aaa
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
(cherry picked from commit 5d4e2aa595
)
2022-06-04 00:04:03 -04:00
Jon Evans
9a2950cca1
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
(cherry picked from commit 2a91ba35c1
)
2022-06-04 00:04:03 -04:00
Jeff Young
8b75a32cfa
We only want "actual" shapes, not anything derived from SHAPE.
...
Also fixes a bug where GetParentFootprint would get confused by
groups.
Fixes https://gitlab.com/kicad/code/kicad/issues/11741
2022-06-04 00:24:27 +01:00
Jeff Young
d2a9cbe6e8
Use effective width for DRC.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11740
2022-06-03 23:27:10 +01:00
Tomasz Wlostowski
c8b93c39b6
router: remove some old cruft from the WALKAROUND class
2022-06-03 23:28:41 +02:00
Tomasz Wlostowski
0bd7f603a3
router: consider mouse drag event a valid route start/end event
...
L-clicks during routing operation while the mouse is moving (even slightly) were ignored, which was annoying to some users (myself included). Now the router
always fixes the track upon mouse click.
2022-06-03 23:28:41 +02:00
Tomasz Wlostowski
eaee610fd9
router: save project settings together with the debug log
2022-06-03 23:28:41 +02:00
Tomasz Wlostowski
f73acbb206
router: derive VIA class from LINKED_ITEM interface
2022-06-03 23:28:41 +02:00
Tomasz Wlostowski
cab08f859a
router: cluster extraction should only consider objects that are touching (instead of checking clearance)
2022-06-03 23:28:41 +02:00
Tomasz Wlostowski
297c60923e
router: return routing status from ROUTER::Move()
2022-06-03 23:28:41 +02:00
Tomasz Wlostowski
54f4f765b9
router: NODE|ITEM::QueryColliding() now can override clearance
...
Needed for clustering algorithm (to be committed later... ;-)
2022-06-03 23:28:41 +02:00
Tomasz Wlostowski
aca9cce5d5
router: more verbose debug messages for the debugger tool
2022-06-03 23:28:41 +02:00
Tomasz Wlostowski
2a0accd184
router: shove algorithm now considers cases where a small via sits 'inside' a fanout of wide (width > via diameter) segments.
...
The shove algorithm can't move the loose track ends. It always needs a via. In case of wide segments stitched with
a small via, the collision search finds only colliding segments and does not consider the via. This leads to frequent shove falilures
or 'choppy' behaviour when the head line only slightly overlaps with an end of a thick trace. This patch attempts at improving this behaviour
by considering the 'tiny via in wide segment' case explicitly.
2022-06-03 23:28:41 +02:00
Tomasz Wlostowski
08647bf035
router: temporarily disable via hole clearance check in the shove algorithm.
...
- needs refinements and additional checks for corner cases.
- disabled also to facilitate debugging of other shove bugs
2022-06-03 23:28:40 +02:00
Tomasz Wlostowski
8cb65a8a13
router: default values for LOGGER::Log()
2022-06-03 23:28:40 +02:00
Tomasz Wlostowski
752ba2ed76
router: log via toggle events
2022-06-03 23:28:40 +02:00
Tomasz Wlostowski
a4ad47cd08
router: use SHAPEs and PNS::ITEMs only in the ROUTER_PREVIEW_ITEM
2022-06-03 23:28:40 +02:00
Tomasz Wlostowski
b08280d00c
router: enable Hole Clearance rule only in Mark Obstacles mode
...
(it will be brought back to Walk/Shove modes as soon as all the underlying issues are fixed)
2022-06-03 23:28:40 +02:00
Jeff Young
d31bd4ea3e
Use default text properties for textboxes.
...
Also make sure text is mirrored when placed on back of board.
Fixes https://gitlab.com/kicad/code/kicad/issues/11739
2022-06-03 18:48:09 +01:00
qu1ck
13bece06cf
Fix swig wrapper for footprint 3d models
2022-06-03 17:35:40 +00:00
Mike Williams
857990a883
Hierarchy: turn into a left side pane
...
Drop auto-closing option as well.
2022-06-02 21:56:17 +00:00
Jeff Young
bd51b33f65
Clear point editor before recombining pad.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11731
2022-06-02 15:55:35 +01:00
Jeff Young
de12c63de6
Repair point editing of rotated text boxes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11432
2022-06-02 10:42:57 +01:00
Jeff Young
f8829de5ea
Formatting.
2022-06-02 10:42:57 +01:00
Jon Evans
40593930d0
PNS: Fix off-by-one in dragCornerInternal
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10919
(cherry picked from commit 8d8f96b094
)
2022-06-01 21:13:05 +00:00
Jeff Young
dee22a31d9
Expose footprint ID, description and keywords to property system.
2022-06-01 12:47:37 +01:00
Jeff Young
38bc653ce9
Add arc support to HyperLynx export.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10782
2022-06-01 12:47:37 +01:00
Jon Evans
6fd14ac945
[PNS] Fix invalid assumption in IsLineCorner
...
(cherry picked from commit a4aa447b95
)
2022-05-31 20:24:54 -04:00
Jon Evans
9470bd15a1
PNS: Fix skew calculation with pad-to-die specified
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11710
(cherry picked from commit 53dbd3bb02
)
2022-05-31 20:24:54 -04:00
Seth Hillbrand
6c0856c384
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
2022-05-31 13:03:32 -07:00
Jeff Young
155620cc9a
Move H/V/45 mode from zone properties to toolbar.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8587
2022-05-29 21:30:15 +01:00
Jeff Young
1fb7532859
Prepare for a more uniform implementation of H/V/45 mode.
2022-05-29 21:30:14 +01:00
Jeff Young
b056bbd9b9
Initialize enabled state of dimension text orientation combobox.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11674
2022-05-28 19:42:06 +01:00
Jeff Young
80124d2463
Write out partial pad-stacks for blind/buried/microvias.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11692
2022-05-28 00:19:13 +01:00
Jeff Young
2a525cf986
Coding standards.
2022-05-28 00:09:47 +01:00
Seth Hillbrand
35b79c2ec9
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
2022-05-27 10:09:40 -07:00
Mike Williams
21a7e050ab
REMOVED: PCB Editor Layer Alignment Target
...
No longer used by modern PCB processes.
Only the code to add the target to the board has been removed. Parsing
code for existing designs with targets is left in place.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/10006
2022-05-26 08:47:02 -04:00
Jeff Young
ae1ece7a78
Fix duplicate spaces before units.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11675
2022-05-26 10:54:08 +01:00
Jeff Young
4afca58ce7
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
2022-05-23 10:43:34 +01:00
Jeff Young
24ddf1ad20
Don't use zone connections to control optional via flashing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11299
2022-05-23 10:26:52 +01:00
Jeff Young
3f502b313d
Don't return false when a particular item doesn't connect.
...
We still have to search all the other items, as they might connect.
2022-05-23 10:26:18 +01:00
Jeff Young
a33e5c53be
Replace missing setting.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11453
2022-05-20 22:41:48 +01:00
Jeff Young
f7fcc310f8
Select next/prev copper layer whether we start on copper or not.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11600
2022-05-20 15:59:29 +01:00
jean-pierre charras
a09bd4ae12
Fix a bug in commit 57e59a49
2022-05-20 15:08:50 +02:00
Jeff Young
fa11e1c097
Take text height into account as well as thickness for knockout margin.
...
Also centralizes calculation so all clients will get the same answer.
Fixes https://gitlab.com/kicad/code/kicad/issues/11636
2022-05-20 12:29:01 +01:00
jean-pierre charras
e54ba87895
fix FootprintWizardBase.py compatibility with recent code.
2022-05-20 12:58:07 +02:00
jean-pierre charras
57e59a4959
Pcbnew, on line DRC when moving footprints: add visible collisions between courtyards
2022-05-20 12:58:05 +02:00
Jeff Young
deeb7d4d6d
Make use of board stackup data when exporting VRML.
...
Specifically layer colors and board thickness.
Fixes https://gitlab.com/kicad/code/kicad/issues/11627
2022-05-19 23:58:33 +01:00
Jeff Young
294b8e9051
Treat a textbox as filled when knocking out (whether it is or not).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11628
2022-05-18 17:14:57 +01:00
Jeff Young
cc86d3da2a
Give up trying to find a one-size-fits-all boudningBox for text.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11636
2022-05-18 17:14:57 +01:00
Jeff Young
23fb4c7433
Uniformly use a single facility for location-less prime events.
...
Also implements a uniform mechanism for avoiding auto-scroll after
a prime event or dialog which results in a mouse position at the
edge of the canvas.
Fixes https://gitlab.com/kicad/code/kicad/issues/11057
2022-05-16 23:43:00 +01:00
Seth Hillbrand
b00bf2bc6b
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
(cherry picked from commit 0d93be0af2
)
2022-05-16 15:26:05 -07:00
Jeff Young
4b668269b7
Don't try and use zone fill before it's been calculated.
2022-05-16 15:20:01 +01:00
Jeff Young
f2fc78f380
Don't copy modifiers to prime events.
...
The modifiers go with the hotkey, not with the action.
Fixes https://gitlab.com/kicad/code/kicad/issues/11618
2022-05-16 13:51:40 +01:00
jean-pierre charras
1f088984ce
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:24:13 +02:00
jean-pierre charras
97a8bfc27d
Pcbnew DIALOG_PLOT: fix incorrect association of LAYER_ID in Plot on All Layers list
...
The order of items in wxRearrangeList and the order of LAYER_ID values was incorrect,
at least on W10/msys2
The order of items in wxRearrangeList is no longer used to avoid issues.
2022-05-15 10:52:08 +02:00
Marek Roszko
88c7322a0d
EDA_TEXT Get/SetTextSize should use VECTOR2I
2022-05-14 08:16:15 -04:00
jean-pierre charras
5c7a79e287
(WIP) Teardrop: use a specific attribute in .kicad_pcb file to identify teardrops
...
the new attribute is:
"(attr (teardrop type padvia)))" or "(attr (teardrop (type track_end)))"
However (Work in Progress) writing this attribute in file is temporarily disabled.
2022-05-14 09:50:00 +02:00
Jeff Young
37838dffb9
Make sure physical_clearance rules are run against courtyard layers.
2022-05-10 23:02:53 +01:00
dsa-t
ad066ef09a
Fix cross-probing in complex hierarchies, remove unused code.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11493
2022-05-09 23:22:03 +03:00
Mike Williams
b7a77a9498
Schematic: Add CSV export to Symbol Fields Table
2022-05-09 12:02:12 -04:00
Jeff Young
8f937b17a2
Remove wxWidgets 3.0.x hack.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11540
2022-05-07 23:24:55 +01:00
Jeff Young
ecf6773f74
Remove dead code.
2022-05-07 21:10:04 +01:00
Jeff Young
492259a1d4
Outline font bug fixes for PCBNew dimensions.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11583
2022-05-06 18:14:25 +01:00
Jeff Young
30ecca464d
Rename mechanical_clearance -> physical_clearance.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11554
2022-05-06 15:54:46 +01:00
Jeff Young
dfdedfa605
Fix some issue with NPTH pads with holes same size as pad.
2022-05-06 00:06:00 +01:00
Jeff Young
f590dcf513
Fix a couple of typos.
2022-05-06 00:06:00 +01:00
Jeff Young
371091a09b
Make zone filler respect mechanical clearances.
2022-05-06 00:06:00 +01:00
Jeff Young
5d0d2201f3
Improve clearance report messages.
...
Removes some duplicated terms; puts in some more headers to make
visual parsing easier, and makes non-connected-pads report the correct
data.
Also fixes a bug where zone-connection overrides of none weren't getting
handled correctly.
Fixes https://gitlab.com/kicad/code/kicad/issues/11544
2022-05-03 16:30:04 +01:00
Jeff Young
bf2566a44f
Post-process board min clearance rather than building it in to netclasses.
...
The later makes the diagnostic messages harder to decipher.
2022-05-03 13:39:14 +01:00
Jeff Young
6b557d8631
Remove special-case processing of ${REFERENCE} and ${VALUE}.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11476
2022-04-30 23:02:04 +01:00
Jeff Young
4f63611ee5
SetWidth as well as SetMinWidth for MSW.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11467
2022-04-30 14:09:30 +01:00
Jeff Young
d72b9861f7
Translate net inspector column names on the fly.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11467
2022-04-30 00:22:27 +01:00
Jeff Young
5f10c15a87
Fix zone merge intersection algorithm.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11492
2022-04-29 22:17:53 +01:00
Jeff Young
37aa42d1e3
Don't allow Edge_Cuts or Margin in footprint private layers.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11431
2022-04-27 17:14:33 +01:00
jean-pierre charras
0177613ad3
footprint wizard touch_slider_wizard.py: fix compatibility with current code.
2022-04-27 10:03:38 +02:00
Jeff Young
8a97a46e6b
Release file before re-loading it for Revert.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11481
2022-04-26 22:28:35 +01:00
Jeff Young
e7f5deedb8
All via pad layers need checking for copper.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11429
2022-04-26 20:54:31 +01:00
Jeff Young
47e002a33d
Add font to status bar for text objects.
2022-04-26 18:52:53 +01:00
Jeff Young
e6f11c5c39
Reset outline font if bold or italic changed.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11462
2022-04-26 12:52:29 +01:00
Jeff Young
f5d612eaed
Switch <insert> replacement on OSX to <f1>.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11413
2022-04-25 10:01:33 +01:00
Jeff Young
d192d3c31d
Better violation title for disabled layers check.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11451
2022-04-25 09:39:49 +01:00
Jeff Young
3a47d50df4
Fix capitalization error.
2022-04-24 23:51:54 +01:00
Jeff Young
3bdae40881
Remove extra layer of parens.
2022-04-24 23:44:02 +01:00
Jeff Young
90bfe2d94b
Remove Save Copy As from fp editor, and rename to Save a Copy elsewhere.
...
It's still used by Eeschema and PCBNew when not in stand-alone mode.
Fixes https://gitlab.com/kicad/code/kicad/issues/9185
2022-04-24 19:46:57 +01:00
Jeff Young
3304ad75ca
Add on-the-fly i18n update for m_inactiveLayersLabel.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11435
2022-04-24 19:46:57 +01:00
Jeff Young
b04f1b2d93
Change pad-type-matches-hole-presence from warning to error.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11452
2022-04-24 14:14:35 +01:00
Jeff Young
4cd48cd5c9
Fix some test issues.
2022-04-23 22:15:39 +01:00
Jeff Young
f0dab2e07b
Fix some layer handling issues.
2022-04-23 21:29:46 +01:00
Jeff Young
dd561f1e4d
Improve Cleanup Tracks and Vias messages.
2022-04-23 21:04:43 +01:00
Jeff Young
e6684bf7c7
Add footprint checks to board-level DRC.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11437
2022-04-23 11:34:18 +01:00
Jeff Young
4525b1f085
More consistency in DRC error messages.
2022-04-23 09:39:34 +01:00
Jeff Young
c6f83b6dec
ADDED Duplicate Footprint, Rename Symbol and Rename Footprint.
2022-04-22 22:06:51 +01:00
Mike Williams
b42365190e
Schematic/PCB: deleting fields sets them to invisible
2022-04-21 16:20:23 +00:00
jean-pierre charras
1e80f3a65a
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. Fixes #11380 https://gitlab.com/kicad/code/kicad/issues/11380
2022-04-21 10:01:59 +02:00
jean-pierre charras
4afe4c0aa0
Fp editor: Add automatic zoom when loading a fp from library.
...
When loading from a board, the automatic zoom was already in play.
2022-04-21 09:00:04 +02:00
Jeff Young
7cb7a68b0e
Make sure Type regex doesn't match before Pad_Type or Pin_Type.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11423
2022-04-20 17:32:07 +01:00
Marcus A. Romer
df3e02d9b9
Fix initialisation of default line width settings
2022-04-20 15:57:55 +00:00
Jeff Young
4ab2c93070
Update Selection Filter title bar with language changes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11421
2022-04-19 21:12:13 +01:00
Jeff Young
08f15fe587
ADDED New Library functionality to Footprint/Symbol Save As.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2343
2022-04-19 19:55:30 +01:00
Jeff Young
c619a63c06
Fix backwards layer order and minor layout issue.
2022-04-19 19:55:30 +01:00
jean-pierre charras
c38ec9344f
DIALOG_NET_INSPECTOR_BASE: fix a truncation text in a wxComboBox.
...
Probably Windows only: the size was fixed, and can create issues in non English languages
2022-04-19 09:43:24 +02:00
Jeff Young
c3bed8f6ee
Resolve textvars before opening file browser.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6436
2022-04-18 22:45:02 +01:00
Jeff Young
ab131859f6
Bring footprint textvars in line with symbol textvars.
...
ADDED ${FOOTPRINT_LIBRARY} and ${FOOTPRINT_NAME} resolution.
2022-04-18 22:45:02 +01:00
jean-pierre charras
26370583fa
French translation update and fix a typo.
2022-04-18 11:25:51 +02:00
jean-pierre charras
0211d07060
Footprint viewers: fix regression: re-add automatic zoom option when loading a new footprint
...
Fixes #11402
https://gitlab.com/kicad/code/kicad/issues/11402
2022-04-18 11:15:14 +02:00
Jeff Young
71c2cb3180
ADDED revert for pcbnew and eeschema.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6802
2022-04-17 20:02:58 +01:00
Jeff Young
9b087a3c25
Add automatic precision choices for dimensions.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6690
2022-04-17 20:02:58 +01:00
Jeff Young
e09147db30
Cross-probing for ERC dialog.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11411
2022-04-17 00:33:56 +01:00
Jeff Young
9ff1ae5bdc
Better inspection reporting for netclasses, custom rules and DRC.
2022-04-17 00:33:56 +01:00
Seth Hillbrand
2f2e956921
Sync via/pad flashing for null boards
...
Pads return true by default and so should vias
(cherry picked from commit bfa1661edf
)
2022-04-15 15:15:07 -07:00
Jeff Young
7f3a75bccd
Add a bunch more inspections for rule resolution.
2022-04-15 22:10:13 +01:00
Seth Hillbrand
be7e9d300e
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
2022-04-15 11:17:01 -07:00
Jeff Young
18ac4ed842
Fix crash when selecting DRC marker (as opposed to one of its children).
2022-04-15 13:57:19 +01:00
jean-pierre charras
e9da8c3a00
Ensure net_code is not used by non copper zones when saving the board file.
...
For some obscure reason, non copper zones inside footprints can have non 0 netcode.
Fixes #11395
https://gitlab.com/kicad/code/kicad/issues/11395
2022-04-15 13:19:35 +02:00
Jeff Young
dbee441328
We've probably smoked out enough of the GetLayer() issues.
...
... and GetProperty() can query GetLayer() in user scripts.
2022-04-14 17:09:27 +01:00
Jeff Young
c78a47c3fb
Remove extra test.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10364
Fixes https://gitlab.com/kicad/code/kicad/issues/10364
2022-04-14 17:09:27 +01:00
Jeff Young
378a2de37c
Formatting.
2022-04-14 17:09:27 +01:00
Jeff Young
604a148f40
Don't apply electrical clearance to shapes on Edge.Cuts.
...
Also don't apply them to NPTH holes.
2022-04-13 23:38:45 +01:00
Jeff Young
a33e23e25a
Import radial dimensions from Eagle.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10763
2022-04-12 15:47:39 +01:00
Jeff Young
739f4d0a1e
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 15:47:39 +01:00
jean-pierre charras
74c3ad0b3a
Shadow on locked fp: do not show if LAYER_MOD_FR or LAYER_MOD_BK is not shown
2022-04-12 11:17:04 +02:00
Seth Hillbrand
819276bd98
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
(cherry picked from commit d0796399a2
)
2022-04-11 16:58:10 -07:00
Marek Roszko
f88e0481c8
Change the behavior of ACTION_MENU::Add to require clones if required outside the function
...
This reverts commit 2a5769607f
.
2022-04-11 19:03:01 -04:00
Jeff Young
830f1891c2
Don't forget Pos0 when updating position.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11373
2022-04-11 20:01:32 +01:00
Seth Hillbrand
2a5769607f
Revert "Change the behavior of ACTION_MENU::Add to require clones if required outside the function"
...
This reverts commit 403992a6f4
.
2022-04-11 11:39:03 -07:00
jean-pierre charras
f0f10a43a2
Ensure "Clear Recent Files" menuitem titles are updated after language change.
...
(missing fixes in commit ac8e2d076
)
2022-04-11 18:11:17 +02:00
Jeff Young
a49bb792bd
Insert chevrons when placing vias near tracks.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10898
2022-04-11 16:26:36 +01:00
jean-pierre charras
ac8e2d0768
Ensure "Open Recent" and "Clear files" menu titles are updated after language change.
2022-04-11 11:09:05 +02:00
Marek Roszko
403992a6f4
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:38:13 -04:00
Marek Roszko
5bb2cdf73d
Revert "Stop leaking submenu items"
...
This reverts commit 34c70a51ea
.
2022-04-10 22:33:43 -04:00
Marek Roszko
34c70a51ea
Stop leaking submenu items
...
Our menu bar code is interestingly complex. But we were throwing away newly made menu items to the void in the cases of constructed on the fly submenus
2022-04-10 22:04:48 -04:00
Jeff Young
29eb5931c2
Be more careful with forced cursor positions.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9977
2022-04-10 23:14:57 +01:00
Jeff Young
32a2490677
Prefer -90 to 270 for text rotation in dialog boxes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9868
2022-04-10 22:43:44 +01:00
Jeff Young
1dae5eb7c4
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.
2022-04-10 19:48:45 +01:00
Jeff Young
1a2e0d8226
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
2022-04-10 18:21:31 +01:00
Jeff Young
2663ad5340
Implement Eagle text variables.
...
Also fixes two bugs:
1) subsequent text items that are marked >NAME or >VALUE will now get
imported as text items with ${REFERENCE} or ${VALUE} (instead of overwriting
the previous text item)
2) we no longer (accidentally) capitalize all text items.
Fixes https://gitlab.com/kicad/code/kicad/issues/11321
2022-04-10 17:29:47 +01:00
Jeff Young
a23399a1af
Formatting.
2022-04-10 17:29:47 +01:00
Jeff Young
82820d4b1c
Cleanup.
2022-04-09 20:39:35 +01:00
Jeff Young
18fb2ddff6
Coverity fixes.
2022-04-09 20:12:29 +01:00
Jeff Young
8fc652270e
Cleanup.
2022-04-09 20:12:29 +01:00
Roberto Fernandez Bautista
0015574a60
${SHEETNAME} represents the sheet name + introduce ${SHEETPATH}
...
CHANGED: The text variable ${SHEETNAME} now always represents the name of the
sheet when used anywhere in the schematic editor, including the title block
ADDED: A new text variable ${SHEETPATH} which is replaced with the path to the
current sheet - e.g. "/Sheet 1/Sheet 2".
To ensure backward compatibility, the default drawing sheet now uses
${SHEETPATH}. Custom drawing sheets will need to be manually edited.
2022-04-09 15:45:58 +01:00
jean-pierre charras
5e52539939
eagle importer: fix incorrect conversion UTF8/wxString.
...
When importing a eagle board file using wxXmlDocument, the strings in eagle BOARD
(UTF8 encoded) are correctly converted to wxString (using unicode wide chars)
So trying to reconvert these strings using FROM_UTF8( <wxString>.c_str() )
is incorrect and can break initial string if non ASCII7 chars are found
2022-04-09 15:33:01 +02:00
jean-pierre charras
1d5be1adeb
Cairo GAL: fix incorrect size and thickness of text drawn by GAL::BitmapText()
2022-04-08 18:40:26 +02:00
Jeff Young
722b2588f4
Better error reporting for DP uncoupled length.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10087
2022-04-08 11:40:53 +01:00
Jeff Young
c17b90c8dc
Run pinning on sides as well as corners.
...
Also fixes a bug in LIB_SHAPE's Normalize() which wasn't handling the
upside-down coordinate system.
Fixes https://gitlab.com/kicad/code/kicad/issues/11339
2022-04-07 11:51:58 +01:00
Seth Hillbrand
9fcc641808
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
(cherry picked from commit 821fe6ea42
)
2022-04-06 17:05:19 -07:00
Seth Hillbrand
b66df1e4f3
Remove dead code
2022-04-05 16:26:08 -07:00
Jeff Young
0bd3341f0f
Allow textboxes to have no text. (They still have a defined box.)
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11286
2022-04-05 16:29:21 +01:00
Jeff Young
c591e19e9f
Smarten textbox conversion back to cardinal rectangle.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11302
2022-04-05 15:12:56 +01:00
Jeff Young
68ca385e07
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
2022-04-05 13:57:28 +01:00
Jeff Young
a118249093
NPTHs obey HOLE_CLEARANCE, not CLEARANCE.
...
Also, plating thickness appears on both walls, so diameter is drill
plus 2X plating thickness.
2022-04-04 20:43:08 +01:00
Jeff Young
f272056f20
Fix assert.
2022-04-04 20:43:08 +01:00
Jeff Young
921181b20b
Cleanup.
2022-04-04 20:43:08 +01:00
Seth Hillbrand
1926af0c34
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
(cherry picked from commit 7d96d5940d
)
2022-04-04 12:26:50 -07:00
Jeff Young
7f7910d922
Dirty text caches in pcb point editor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11319
2022-04-04 17:39:58 +01:00
Jeff Young
fd9fd1df05
Careful of skipping non-flashed pads for performance: they might still have a hole.
2022-04-04 15:03:01 +01:00
jean-pierre charras
dad31f50b7
VRML export: fix a different arc to segment approx for NP holes and Plated holes.
2022-04-04 14:42:29 +02:00
jean-pierre charras
ece9c45e95
VRML exporter: make export faster by using SHAPE_POLY_SET::PM_FAST.
2022-04-04 12:25:48 +02:00
jean-pierre charras
d05f5337ed
VRML export: fix different error values to approximate arcs depending on options.
...
When exported with option "link 3D shapes to external files", the error value
was bigger because the VRML unit used in calculations differs from the one used
when merging 3D shapes in board file (for historical reasons).
Fixes #11326
https://gitlab.com/kicad/code/kicad/issues/11326
2022-04-04 12:25:48 +02:00
Jeff Young
90af5a36d2
Show hole clearance lines around NPTH pads.
...
Also make the clearance line NONPLATED_HOLES colour, not the PADS_TH
colour.
2022-04-04 10:28:33 +01:00
Jeff Young
f22316b868
Careful about hiding pad layers.
...
We also draw netnames and clearance lines based on some of these layers.
2022-04-04 10:28:33 +01:00
Jeff Young
aee5ff8935
Make sure text caches get updated on move.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11319
2022-04-02 22:37:55 +01:00
Wayne Stambaugh
0bdbfe1446
Pcbnew: add plot on all layers feature.
...
ADDED: Any addition board layers can be plotted on all selected board layer
when plotting.
CHANGED: The new plot to all layers feature made the plot edge cuts option
obsolete. Users must now select the edge cuts layer from the list of
plot to all layer selections to include edge cuts on all layers when
plotting.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2449
2022-04-02 14:33:40 -04:00
Thomas Pointhuber
bd18e340f4
eagle: introduce *.lbr footprint import test
...
Bugs found but not fixed yet:
* Reference and Value are not converted correctly yet
* HOTFIX: test commented out
* GP3906-TLP and UBLOX_ZOE_M8-0-10 are not able to import the description again
* HOTFIX: description removed from gold file
2022-04-02 20:07:16 +02:00
Thomas Pointhuber
406c528ab7
altium: Create region for items on the KEEP_OUT_LAYER and use new Track unit-tests
2022-04-02 18:17:19 +02:00
Jeff Young
f7cdc7af75
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
2022-04-02 15:12:42 +01:00
Marek Roszko
b18e441a88
Free memory in dxf import sooner on bad_alloc
2022-04-02 09:57:30 -04:00
Marek Roszko
9f8c0a8185
Catch memory exhaustion trying to import large DXFs
...
See https://gitlab.com/kicad/code/kicad/-/issues/11308
2022-04-01 23:15:06 -04:00
Seth Hillbrand
737d65fd36
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
(cherry picked from commit 6706a5c462
)
2022-04-01 13:24:10 -07:00
Jeff Young
d174af4006
Handle textboxes moving back to RECT shape (ie: cardinal rotation).
2022-04-01 16:12:23 +01:00
Seth Hillbrand
49c48e2fe0
Consistently handle env/prj variables
...
User-defined variables cannot be used for internally-reserved variables
Fixes https://gitlab.com/kicad/code/kicad/issues/11232
(cherry picked from commit c23679d9bd
)
2022-03-31 17:05:53 -07:00
markus-bonk
1a9ef4bd0f
Add support for using a SpaceMouse to pan & zoom in the schematic editor.
2022-03-31 19:03:41 +00:00
Jeff Young
bb43a3926a
Math and I don't get along. So just be pedantic about text rotation.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11247
2022-03-30 19:54:18 +01:00
Wayne Stambaugh
c0d8657d97
Plot on all layers prep work.
...
We only need one bottom to top layer sequence definition.
Plot a sequence of layer IDs (LSEQ) in the order of the sequence.
Add helper method to layer set (LSET) to create a sequence of layer IDs
using another sequence for ordering.
2022-03-29 16:08:23 -04:00
Jeff Young
b78a260326
Only write Allow DRC Violations if enabled.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11177
2022-03-29 19:31:02 +01:00
Jeff Young
a54bbfe12b
Honour prime-event-location when starting router.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11239
2022-03-29 13:44:40 +01:00
Jeff Young
a35ae8cdce
Don't re-fetch selection when running select-in-same-sheet.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11110
2022-03-28 21:54:24 +01:00
Mike Williams
e51ab86225
Schematic Drag: fixes and improvements
...
Fixes:
* Various special cases around junctions on pins and dragging.
* Some rotations of endpoints resulting in a 45 degree rotate.
* Some cases where it was possible to get a line with neither
endpoint selected, and also substractive unselecting only one of two
selected endpoints unselecting both.
* Use line midpoint for sorting. Start and endpoints aren't
consistent in the order they appear on the X or Y axis. So,
we need to use the midpoint for our position for consistent
sorting when dragging groups of parallel lines where some
have the start and end reversed.
Other:
* Rename TEMP_SELECTED TO SELECTED_BY_DRAG. This is the actual meaning
of the flag, and should reduce confusion as
to when it should be used.
* Move usage of TEMP_SELECTED as an algorithmic mark to CANDIDATE
instead.
* Fix mistaken clearing of START_POINT and ENDPOINT.
* Move endpoint setting and clearing out of narrowSelection, and into
selectPoint and selectMultiple.
* Don't show dangling end warnings on new lines
2022-03-28 16:02:48 -04:00
Jeff Young
6fa8cab188
Don't default to Annotate All just because the selection is empty.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11181
2022-03-28 17:52:50 +01:00
Jeff Young
a2d4351b97
Correct initialization of justification.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11248
2022-03-28 17:11:20 +01:00
Jeff Young
343b2681d4
Midpoints for eeschema rectangles and text boxes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10362
2022-03-28 11:16:39 +01:00
jean-pierre charras
9a342458fa
Fix a few Coverity and compil warnings.
2022-03-26 16:21:23 +01:00
Wayne Stambaugh
150859c973
Try Coverity fixes that don't break unit tests.
2022-03-25 16:49:29 -04:00
Wayne Stambaugh
7da7864f5e
Fix some Coverity issues.
2022-03-25 15:51:05 -04:00
Wayne Stambaugh
7b2d9dfc0c
Fix some Coverity uninitialized scalar variable issues.
2022-03-24 13:17:07 -04:00
jean-pierre charras
a6606924f1
GERBER_JOBFILE_WRITER: fix a crash due to use of a null pointer.
...
Can happens when it is created from a Python script.
Fixes #11227
https://gitlab.com/kicad/code/kicad/issues/11227
2022-03-24 17:54:05 +01:00
Jeff Young
92a229eec7
ADDED separate user-defined color for page limits.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5271
2022-03-24 14:11:41 +00:00
Jeff Young
1d66925f5f
Enable bb and/or uvias when encountering them on Altium import.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10044
2022-03-22 22:33:51 +00:00
Seth Hillbrand
482dbcec54
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
(cherry picked from commit 4e98ce87c7
)
2022-03-22 13:39:55 -07:00
Jeff Young
118a37f19f
Fix issues with importing NPTH pads from CircuitStudio.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10493
2022-03-22 18:08:05 +00:00
Jeff Young
3271b43d4b
Formatting.
2022-03-22 18:08:05 +00:00
Jeff Young
b679a21651
Zero out parent rule when overridden by local property.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11197
2022-03-21 20:49:35 +00:00
Jeff Young
b3ae0fdca5
A little bit of nullptr safety.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11077
2022-03-21 20:07:33 +00:00
Jeff Young
cf611f1742
Better safety around layersets.
2022-03-21 18:19:00 +00:00
Jeff Young
40e0c8257d
Rotate textbox shape along with text.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11187
2022-03-21 18:19:00 +00:00
Seth Hillbrand
41c2a48802
Prevent crash on unplated holes
...
NPTH may not be flashed on any layer, so the set-layer-visible logic
shouldn't try to determine their layer for showing.
Fixes https://gitlab.com/kicad/code/kicad/issues/11193
2022-03-21 10:39:33 -07:00
jean-pierre charras
d27d2e0ad9
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.
Fixes #11103
https://gitlab.com/kicad/code/kicad/issues/11103
2022-03-21 18:10:07 +01:00
Jeff Young
4f62960334
Update message panel from PCB point editor and SCH drawing tools.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11186
2022-03-21 10:32:36 +00:00
Jeff Young
73f835437e
Don't modify outer loop variable inside inner loop.
2022-03-19 19:37:01 +00:00
Jeff Young
476f1a7d4d
Preload PCBnew find with selection when appropriate.
2022-03-19 19:37:01 +00:00
jean-pierre charras
6bf47e44e4
pcbnew: DIALOG_PRINT_PCBNEW: activate right click context menu inside layer list.
2022-03-19 08:10:17 +01:00
Seth Hillbrand
3b6e8464c2
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
(cherry picked from commit c44d31fcfb
)
2022-03-18 16:47:18 -07:00
Frank Zeeman
b3a319b77e
Append True to Python 3 AddPrimitivePoly() call
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11012
2022-03-18 20:00:32 +00:00
Jeff Young
5aa561abe1
Add overlapping pad test and share some tests between board & fp editor DRC.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10086
2022-03-18 19:58:42 +00:00
Jeff Young
dc39703d0e
Bring pcbnew print dialog in line with plot.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2171
2022-03-18 13:37:20 +00:00
jean-pierre charras
54c9e36556
Python, board.i: fix incorrect order of an include.
...
The result was ignoring PCB_SHAPE in pcb_text.i.
2022-03-18 14:19:14 +01:00
Jeff Young
c4c8848fa3
Performance enhancements for Cleanup Tracks & Vias.Performance enhancements for Cleanup Tracks & Vias.Performance enhancements for Cleanup Tracks & Vias.Performance enhancements for Cleanup Tracks & Vias.Performance enhancements for Cleanup Tracks & Vias.Performance enhancements for Cleanup Tracks & Vias.Performance enhancements for Cleanup Tracks & Vias.Performance enhancements for Cleanup Tracks & Vias.Performance enhancements for Cleanup Tracks & Vias.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11119
2022-03-18 11:04:53 +00:00
Jeff Young
0f359c8a3b
Careful of calculated fields when comparing board FPs with library.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10143
2022-03-17 13:19:25 +00:00
Seth Hillbrand
442aae19d9
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
2022-03-16 17:30:01 -07:00
Jeff Young
4225f92573
Slight improvements to via drawing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8717
2022-03-16 14:56:32 +00:00
Jeff Young
62f813fddc
Better error reporting for PTH pads.
2022-03-16 14:56:32 +00:00
Jeff Young
cabcaf933c
Cleanup.
2022-03-16 14:56:32 +00:00
Jeff Young
fa5a484797
Remove unused variable.
2022-03-16 14:56:32 +00:00
Jeff Young
f596ae3487
Allow mechanical-clearance checks between edge_cuts and other layers.
2022-03-16 14:56:32 +00:00
jean-pierre charras
567fd5ba74
Specctra import/export: fix some issues (tested only with FreeRouter):
...
- Better handling of locked tracks than commit cbb6ca85
- Locked tracks are now exported with attribute "fix".
- Incorrect view cleaning
- Fix memory leak.
2022-03-16 12:31:45 +01:00
Jeff Young
600dcd31ad
Allow track board edge clearance violations inside the holes of castellated pads.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10970
2022-03-15 00:05:23 +00:00
Jeff Young
8d682002c3
Fix previous breakage from shared_ptr going out of scope.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10970
2022-03-14 23:57:50 +00:00
Jeff Young
cbb6ca8500
Import specctra track locking.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11070
2022-03-14 23:02:19 +00:00
Jeff Young
a81c8d4922
Save pointer to markers provider.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11136
2022-03-14 22:13:39 +00:00
Jeff Young
e7bf4ab8fa
Separate board-edge silk clearance from mask-edge silk clearance.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10970
2022-03-14 20:19:09 +00:00
Jeff Young
2ec21c7720
Don't check for board edge collision on castellated pads.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10970
2022-03-14 20:19:09 +00:00
jean-pierre charras
c34dc13a8e
Rework on DIALOG_CLEANUP_TRACKS_AND_VIAS: do not immediately run the cleanup engine.
...
The cleanup engine is now run on request, before options are selected.
Needed for large boards because the calculation time can be significant.
2022-03-14 18:12:44 +01:00
Jeff Young
65185f53a1
Rotate fp zones before comparing with library versions.
...
Also includes some performance fixes to not copy around triangulation
data when it's not needed.
Fixes https://gitlab.com/kicad/code/kicad/issues/10143
2022-03-14 15:53:24 +00:00
Marek Roszko
d74a0cdaa3
Don't pre-scale the line width
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11122
2022-03-13 23:08:28 -04:00
Jeff Young
ced1e68ea1
A bit of wxT().
2022-03-13 16:09:06 +00:00
Jeff Young
06c1bccccd
Exclude hidden text from selection in FP Editor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11111
2022-03-12 23:29:01 +00:00
Jeff Young
db0b733be5
Clear DRC caches before running soldermask tests again.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10922
2022-03-12 19:44:34 +00:00
jean-pierre charras
7fb4a2c0a5
CONNECTIVITY_DATA::IsConnectedOnLayer(): fix crash in some cases.
...
Fix crash when a zone do not have filled areas on a given layer.
2022-03-12 19:31:46 +01:00
Marek Roszko
b8557e77ee
Tweak the "pyd" extension if for windows to be completely inclusive
2022-03-12 09:22:01 -05:00
Jeff Young
0a8718cd1d
Fix issue when we ask if a pad is connected to a zone we're in the middle of filling.
2022-03-12 14:17:53 +00:00
Jeff Young
89e61ff73b
More performance enhancements for DRC.
2022-03-12 14:17:52 +00:00
Jeff Young
e03b06927d
Fix rotation problems for knockout fp text, and implement 3D rendering.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11086
2022-03-12 14:17:52 +00:00
jean-pierre charras
f14ef477cc
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-12 11:04:57 +01:00
Jeff Young
7ab4d67e94
Make sure line style comboboxes get a default entry.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11083
2022-03-11 23:19:16 +00:00
Jeff Young
6f555b6258
wxT() and some cleanup in DRC.
2022-03-11 23:19:16 +00:00
Wayne Stambaugh
eec528ae48
Fix GCC build error on Linux.
2022-03-11 17:03:01 -05:00
Jeff Young
ae307e1b34
Parallelize DRC triangulation, keepout processing, and sliver checking.
...
Also fixes issue with adding fractured polygons in sliver checking which
slowed the board from hell down to less than a crawl.
2022-03-11 20:52:11 +00:00
Jeff Young
6ce1399811
Redraw pads when mask or paste layer is visible after board setup.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11079
2022-03-11 20:52:11 +00:00
Thomas Pointhuber
79aafd1bd3
altium: support keepout restrictions in Arcs, Fills and Regions
2022-03-11 19:15:58 +01:00
jean-pierre charras
8d05ca5982
Teardrop rework: avoid refill zones on a not updated connectivity data.
...
- Teardrops have now just their shape filled (much faster than a full refill)
- The full zone refill is no longer made after recreating teardrops.
- this is more compatible with the option Auto-refill zones"
Fixes #11106
https://gitlab.com/kicad/code/kicad/issues/11106
2022-03-11 16:12:27 +01:00
jean-pierre charras
2bf56c2441
DIALOG_GLOBAL_DELETION and teardrop.cpp: fix incorrect call to GetLayer() for ZONES
2022-03-11 11:16:09 +01:00
Fabien Corona
d452f79860
pcbnew: search for nets
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10601
2022-03-10 23:12:30 +00:00
Seth Hillbrand
f218da6ea5
Help repair invalid rotation settings
...
We had a period where we were writing invalid rotations leading to
values too large by a factor of 100. This clamps the stored values
while repairing those affected
Fixes https://gitlab.com/kicad/code/kicad/issues/11090
2022-03-10 09:44:26 -08:00
Jeff Young
eb9ccea559
Performance improvement.
2022-03-10 13:46:42 +00:00
jean-pierre charras
0440aa3d83
Extend layer LAYER_LOCKED_ITEM_SHADOW to draw shadow markers on other locked items:
...
tracks, texts, graphics.
2022-03-09 18:50:31 +01:00
jean-pierre charras
016af235db
Pcbnew: add a GAL layer (LAYER_LOCKED_ITEM_SHADOW) to draw markers on locked footprints
2022-03-09 17:54:58 +01:00
jean-pierre charras
e37bb2e0c3
swig: disable a few warnings generated by pcb_shape.i, math.i and version.i
2022-03-09 17:29:29 +01:00
Jeff Young
663edcf665
Better progress indication for board from hell.
2022-03-09 14:30:21 +00:00
jean-pierre charras
878c70c1ab
Pcbnew: fix erroneous IslandRemovalMode default mode in board files.
...
The default is ISLAND_REMOVAL_MODE::ALWAYS in *.kicad_pcb files
2022-03-09 13:17:18 +01:00
jean-pierre charras
e7f379c31d
Pcbnew, Knockout texts: fix issues seen with rotated texts.
...
Fixes #11085
https://gitlab.com/kicad/code/kicad/issues/11085
2022-03-09 11:22:05 +01:00