jean-pierre charras
ca42f31bb5
Pcbnew, update footprint: fix loss of net info in some cases.
...
When pads having a similar name but some were not on a copper layer
(aperture pads) the net info update from old footprint to the new footprint
was incorrectly transferred. Now, only pads on copper layers are considered.
Fixes #8979
https://gitlab.com/kicad/code/kicad/issues/8979
2021-08-16 20:52:49 +02:00
Jeff Young
da3fda8dee
Fix typo in non-copper zone fill pattern, and cleanup spacing.
...
Also makes better use of UNIT_BINDER and fixes some other naming
inconsistencies with copper zone dialog.
2021-08-16 13:24:12 +01:00
Jeff Young
1a252b4f96
Add a compile error for ill-defined rules, and more performance.
...
Also adds const-safety to GetBoard().
2021-08-16 12:14:17 +01:00
jean-pierre charras
f0c957a2e2
Enable LAYER_MOD_TEXT_FR layer in fp editor as it should.
...
It also fixes a crash when changing visibility of other fp texts..
2021-08-16 09:30:54 +02:00
Jeff Young
f34e280c81
Garden-variety 100X performance improvement.
...
Adds a compile mode for layer strings.
2021-08-15 22:24:51 +01:00
Jeff Young
eaccbce48b
Fix logic errors in progress reporting in a couple of DRC providers.
2021-08-15 22:24:44 +01:00
Jeff Young
1ec70d30af
Cherry-pick some 7.0 Clearance Resolution improvements.
...
6.0 will be in the field for a long time, and the better the debugging
tools we have available the less costly it will be to maintain.
Fixes https://gitlab.com/kicad/code/kicad/issues/8961
2021-08-15 19:03:58 +01:00
Jeff Young
48521774cd
Formatting.
2021-08-14 21:18:11 +01:00
Jeff Young
41619ebbe2
Decouple PROGRESS_REPORTER interface from implementations.
2021-08-14 21:05:49 +01:00
jean-pierre charras
8ac5e318fb
Ugly hack to avoid crash on msys2 when running Pcbnew after running Eeschema+its Python console
...
The main bug still exists, but at least Kicad does not crash.
2021-08-14 21:08:56 +02:00
Jon Evans
8eba0b356b
Fix issues calling SaveBoard on board loaded from PcbNew frame
...
KiCad cannot have more than one board/project open, so disallow
the Python APIs for loading additional boards when the frame is
present. Inherit the SETTINGS_MANAGER from the frame when present
instead of creating a new one that won't have the loaded project.
2021-08-14 09:18:21 -04:00
Jeff Young
bff247b08a
Hook up 3D viewer colors to board stackup.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5173
2021-08-14 14:00:17 +01:00
Jeff Young
05fb582304
Expose missing annular ring properties in Track & Via Properties.
2021-08-14 10:49:42 +01:00
jean-pierre charras
3d61c8b0c4
PANEL_SETUP_BOARD_STACKUP: Do not limit the EpsilonR mantissa to 1 or 2 digits.
...
Fixes #8956
https://gitlab.com/kicad/code/kicad/issues/8956
2021-08-14 09:42:05 +02:00
Jon Evans
80355f04a9
Fix SHAPE_LINE_CHAIN::Replace at end of chain
2021-08-13 16:59:45 -04:00
Jeff Young
e5586fb974
Accept legacy hole token as well as new hole_size.
2021-08-13 21:28:11 +01:00
Jeff Young
d34e9e8946
Code safety.
2021-08-13 21:28:11 +01:00
Roberto Fernandez Bautista
35d5223825
Keep track of existing/excluded references when re-annotating the PCB
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8211
2021-08-13 19:09:37 +01:00
Roberto Fernandez Bautista
aa67abb681
PNS::NODE Use PointCount instead of calculating segment index manually
...
There is no need to manually calculate the segment index - we know
that the last point that was added is the start point of the segment.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8945
2021-08-13 19:09:33 +01:00
Jeff Young
4c3954aea8
Clearer DRC rule token name for hole_size.
2021-08-13 16:18:56 +01:00
Jeff Young
3b26db745f
Use more standard terminology.
2021-08-13 15:18:47 +01:00
Jon Evans
5bfafa5e4c
Add rounding epsilon to convert tool polygon search
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8927
2021-08-12 20:17:04 -04:00
Jeff Young
98d0ce00ee
Defensive coding.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8790
2021-08-12 21:35:05 +01:00
Stefan
02e7d9f809
pcbnew: swap x/y align text to match vertical/horizontal text on right click...
2021-08-12 13:03:52 +00:00
jean-pierre charras
f4a7565b9c
fix a compil warning
2021-08-11 08:16:26 +02:00
Jeff Young
13fc16b03f
Fix uninitialized variable.
2021-08-10 16:51:30 +01:00
Jeff Young
c536a4c4f2
Work around annoying wxWidgets assert.
2021-08-10 16:51:30 +01:00
Jeff Young
a208dac8d8
Convert hole clearance tests from NPTH holes to all holes.
2021-08-09 22:26:00 +01:00
Roberto Fernandez Bautista
0120c5fa4b
PNS Length Tuning: Recover original arc tracks after tuning
2021-08-09 21:10:33 +01:00
jean-pierre charras
69322a18e7
Fix missing call to ClearArcs()
2021-08-09 09:16:04 +02:00
Jon Evans
a90656900a
Allow creating polygon types from polygons
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7302
2021-08-08 20:29:00 -04:00
Jon Evans
e91218b876
PNS: don't mark holes only if there's also a solid violation
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8874
2021-08-08 15:41:39 -04:00
Jon Evans
3beeb52c43
Convert tool: create lines on active layer, not source layer
2021-08-08 15:12:23 -04:00
Jon Evans
2d9b06cbf9
Fix missing flatten step when filling zones with arcs
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8923
2021-08-08 15:09:12 -04:00
Jeff Young
54942a1401
Fix typos that would result in fp zone setting written into pads.
2021-08-08 18:12:29 +01:00
Jeff Young
e38c366695
Narrow zone dialog a bit.
2021-08-08 18:12:29 +01:00
jean-pierre charras
fa82fcb809
Router tool: ensure a internal layer exists when placing a microvia.
...
Fix also a minor compil warning.
Fixes #8931
https://gitlab.com/kicad/code/kicad/issues/8931
2021-08-07 20:29:49 +02:00
Jeff Young
bafa105ed0
Enforce hole clearance on NPTHs in zones.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8924
2021-08-06 18:16:38 +01:00
Jeff Young
a10f2b284c
Unify negative zero and percent handling in UNIT_BINDER.
...
Some values, such as solder mask margins, are usually negative and it
helps to display zero as "-0.0".
2021-08-06 18:16:38 +01:00
Jeff Young
e81b7b4a14
Give a few dialogs a bit of love.
...
1) improve spacing in copper zone properties.
2) improve spacing and naming in dielectric material properties.
3) clearer naming in board setup > constraints.
4) remove over-exuberant stretching in board setup > mask & paste.
2021-08-06 18:16:38 +01:00
Roberto Fernandez Bautista
6a9a177fa3
Remove zone filler arc collision workaround
2021-08-05 17:45:12 +01:00
Jeff Young
77680eba30
Naming conventions.
2021-08-05 14:31:36 +01:00
Jeff Young
5bf0b99813
Capture errant mouse-up from locked dialog in move tool.
...
Don't pass it on to other tools where it causes all kinds of mayhem.
Fixes https://gitlab.com/kicad/code/kicad/issues/7255
2021-08-04 17:42:40 +01:00
jean-pierre charras
76bdb423d7
Minor changes: minor code cleanup and fix minor Coverity warning
2021-08-04 16:47:41 +02:00
Jeff Young
ae99e627bd
Quiet Coverity.
2021-08-04 13:55:42 +01:00
Jeff Young
46bdce2747
Don't allow pads in groups in the board editor.
...
Bad stuff happens, including crashes.
2021-08-04 13:55:42 +01:00
Jeff Young
65f6e72b4c
Improve commenting.
2021-08-04 13:55:42 +01:00
jean-pierre charras
ac933d4e83
Fp editor: avoid having nil uuids when editing old footprints.
...
In Fpeditor, nil uuid has a special meaning and cannot be used as uuid in fp items.
Fixes #8914
https://gitlab.com/kicad/code/kicad/issues/8914
2021-08-04 12:37:52 +02:00
Jeff Young
c5e195bdff
Cleanup (includes and formatting).
2021-08-03 18:37:23 +01:00
Jeff Young
95b87ba29a
Freshen microwave polygon dialog and remove a bunch of dead code.
2021-08-03 01:11:11 +01:00
Jeff Young
43523df843
Measure distance from pad center, not pad hull.
...
Otherwise we think the wrong end of really short track segments is
connected to the pad, leaving the other end dangling.
Fixes https://gitlab.com/kicad/code/kicad/issues/8909
2021-08-02 22:42:54 +01:00
Jeff Young
8b9161b27d
Be more careful with alpha value.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8850
2021-08-02 18:24:16 +01:00
Jeff Young
6f1837b300
Formatting.
2021-08-02 01:52:58 +01:00
Jeff Young
c51b1dad72
Generalize infobar MESSAGE_TYPE handling and use for DRC errors.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8782
2021-08-01 21:51:39 +01:00
Jeff Young
0d539a84a2
Fix bugs in Tracks Cleaner.
...
1) Implement more robust connection checking so we don't decide very
short segments with both endpoints within a single track are connected
at both ends.
2) Make use of the IS_DELETED flag to perform iteration during dryRun
so that all deletions to be made are flagged.
Fixes https://gitlab.com/kicad/code/kicad/issues/8883
2021-08-01 15:50:01 +01:00
Jeff Young
b573712326
Cleanup.
2021-08-01 15:37:12 +01:00
Jeff Young
0f5a8f87d3
Add writing of pad primitive polys with arcs, and fix a bug in reading.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8827
2021-08-01 10:47:00 +01:00
Jeff Young
faa1ff4ec6
Add false-negative DRC tests (and fix first bug found by them).
2021-07-31 16:41:44 +01:00
qu1ck
7b4dcb6e10
Refactor ExportSpecctraFile to be usable in API
...
Currently there is pcbnew.ExportSpecctraDSN() but it needs a pcbnew
frame set which makes it unusable outside of the scripting window or a
plugin.
This refactors actual exporting logic into separate helper and adds an
overload to ExportSpecctraDSN(board, filename) that doesn't need pcbnew
window.
2021-07-31 09:55:48 +00:00
Seth Hillbrand
6cd4d68d57
Add drop shadows to MacOS icons
...
Apple UI guidelines ask for small drop shadows on the icons. We add
these using ImageMagick when resizing
2021-07-30 20:55:34 -07:00
Seth Hillbrand
e7d8b1a975
Resize MacOS icons and script their creation
...
Creates a script that will fomat the MacOS icons at 80% of the total
size in line with Apple's guidelines.
Script requires Inkscape 1.0 and png2icns (available on Linux boxen)
Fixes https://gitlab.com/kicad/code/kicad/issues/7977
2021-07-30 20:28:14 -07:00
Seth Hillbrand
ad8acd328c
Expunge some remaining references to kicad-pcb
2021-07-30 20:27:45 -07:00
Jeff Young
bceb3794f8
Remove ZONE_FILLER_TOOL since it's not really necessary.
...
It was causing intermittent failures on GTK. We'll no doubt want
tools in the QA framework at some point, but probably not necessary
for 6.0....
2021-07-31 01:50:42 +01:00
Jeff Young
8c69a856fc
Add zone filler tests.
...
One test has pads of a bunch of different shapes and provokes some
errors to make sure they're caught.
The others are all past issues with the zone filler to make sure we
don't suffer any regressions. (They should all just pass with no DRC
errors.)
2021-07-30 17:09:24 +01:00
Jeff Young
8aea2cbd03
When ignoring click events don't ignore synthetic ones.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7255
2021-07-29 18:07:04 +01:00
Jeff Young
138a965c2a
Remove shadowing member variable.
...
Perhaps the compiler always gets this right, but it's still confusing
when reading the code.
2021-07-29 16:03:25 +01:00
Jeff Young
9271ac1a4f
Don't allow deletion of pads when not in allow-free-pads mode.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8884
2021-07-29 16:03:25 +01:00
Jeff Young
6aaf4413b3
Fix kicad_string.h / string.cpp mismatch.
...
They don't define a KiCad string class, so the header file name was
somewhat misleading. But the fact that they didn't match definitely
made coding more difficult.
2021-07-29 16:03:25 +01:00
Jeff Young
f221220fe2
Rename layer ids file.
...
It hasn't had anything to do with colors or visibility for some time
now.
2021-07-29 16:03:25 +01:00
Jeff Young
46338403e7
Unwrap some std::library typedefs.
2021-07-28 22:16:38 +01:00
Ian McInerney
befd30a1a1
Switch the board footprint properties window to use the new 3d models panel
...
This allows it to also get the badge showing errors in the panel.
2021-07-28 20:56:17 +01:00
Ian McInerney
1a4a3400ba
Split the footprint 3d model panel into its own class
...
This allows it to be shared by both the PCB editor properties dialog
and the fpeditor dialog.
2021-07-28 20:56:17 +01:00
Wayne Stambaugh
f233f4a0a9
Expunge EDA_FILE_SELECTOR.
...
EDA_FILE_SELECTOR was just an obfuscation of wxFileSelector().
2021-07-28 14:12:51 -04:00
jean-pierre charras
b6e1fe11b6
Fix a collision name (perhaps msys2 specific)
2021-07-28 19:39:50 +02:00
Ian McInerney
36d66085f5
Add a column showing 3D model file loading errors
...
This adds an icon to the left of the row with an error symbol if the
file can't be found or opened, and shows a tooltip over the icon with
and error string.
Fixes https://gitlab.com/kicad/code/kicad/issues/3815
2021-07-28 16:42:22 +01:00
david-beinder
c0f12cf8b0
PCB painter: skip early to polygon algo in outline mode
2021-07-28 10:37:56 +00:00
Wayne Stambaugh
369d813a32
Pass std::string by reference instead of on the stack where applicable.
2021-07-27 13:30:05 -04:00
Jeff Young
1f2e7a94ca
Change Move Exactly hotkey to Shift + M to avoid OSX minimize.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8864
2021-07-27 18:20:32 +01:00
Jeff Young
dd5676f4bc
Implement a safer (RAII) tool re-entrancy guard.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8873
2021-07-27 16:37:34 +01:00
Jeff Young
886dc2f43e
Do-not-show-again section for common prefs & zone fill warning infobar.
...
Note that the dialogs which have mutliple options were not moved over
as it seems perahps not the right choice to have them save state between
sessions.
Fixes https://gitlab.com/kicad/code/kicad/issues/8762
2021-07-27 15:15:49 +01:00
Jeff Young
c74148fa88
Add infobar for those who confuse zone filling with display modes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8762
2021-07-27 15:15:49 +01:00
Wayne Stambaugh
37b200cb3e
Pass wxString objects by reference instead of on the stack.
2021-07-27 08:41:27 -04:00
Wayne Stambaugh
78e5e98ea0
Pass VECTOR2I objects by reference instead of on the stack.
2021-07-27 08:41:27 -04:00
qu1ck
c946070005
Fix TRACKs not being cast correctly in API
2021-07-26 22:37:22 +00:00
Wayne Stambaugh
8fd83cbb95
Pass wxPoint objects by reference instead of on the stack.
2021-07-26 15:35:33 -04:00
Jeff Young
e62969d007
Move zone fracture display mode to AdvancedCfg, and add triangulation.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8762
2021-07-26 18:57:35 +01:00
Wayne Stambaugh
89b1fdabe9
Pass COLOR4D object by reference instead of on the stack.
2021-07-26 13:28:56 -04:00
Seth Hillbrand
cb917e4c42
Avoid nonsensical intersections
...
When two segments are approximately parallel, we shouldn't look to find
their intersection. It will never be the nearest point and it overflows
the KiROUND call
Fixes https://gitlab.com/kicad/code/kicad/issues/8858
2021-07-26 09:02:54 -07:00
Jeff Young
d613292b67
Fix type in group command enablement.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8821
2021-07-25 13:31:52 +01:00
Jeff Young
39e938db3e
Save the show-page-limits setting.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8825
2021-07-25 13:29:16 +01:00
Anton Lazarev
42086a455d
fix blind via early return in VRML exporter
2021-07-25 12:22:55 +00:00
Jeff Young
373f0335c8
Convert Altium radial dimensions to leaders.
...
This is because we don't yet support radial dimensions.
Also fixes a bug where we fail to read an Altium circular track. We
now convert it to a pair of 180-degree arcs.
Also fixes a bug where we were failing to import prefixes on linear
dimensions.
Fixes https://gitlab.com/kicad/code/kicad/issues/8789
2021-07-24 14:25:59 +01:00
Jeff Young
531f5480a7
Reduce line-breaks and increase SNR.
2021-07-24 14:25:59 +01:00
Pradeepa Senanayake
dd31a5383b
Added the double click to footprint editor
2021-07-24 08:53:09 +00:00
jean-pierre charras
31d2b2df8b
QA test: fix a wx assert about Locale when running qa_python tests.
...
Probably happens only when the system locale uses a comma as fp separator.
2021-07-23 11:45:45 +02:00
Jeff Young
04b9b15255
Fix copy/paste error.
2021-07-23 01:11:22 +01:00
Seth Hillbrand
8d1dd1f8b0
Handle pad->custom conversion more closely
...
When converting pads to custom polygons, avoid padding with the polygon
width and keep the anchor pad within the boundary of the original pad
itself
Fixes https://gitlab.com/kicad/code/kicad/issues/8842
2021-07-22 12:12:42 -07:00
Jeff Young
a16b85db67
Read/write group locked state. Show locked state in dialog & statusbar.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8796
2021-07-22 12:49:30 +01:00
jean-pierre charras
49e1b5785f
PCB_SHAPE::GetFocusPosition(): returns a point on the outline instead of center.
...
This function is used in DRC to locate a graphic shape. For not filled shapes,
this point must be on the shape outline, not on the center of the shape (the center
shows nothing)
Fixes #8832
https://gitlab.com/kicad/code/kicad/issues/8832
2021-07-22 10:41:50 +02:00
Wayne Stambaugh
1a301d8eea
Stop using wxDialog::EndModal() from inside dialogs.
...
Calling wxDialog::EndModal() directly from inside the dialog is a
potential bug if the dialog is shown in the modeless or window modal
(quasi-modal). Use the internal button events where possible and
check for the appropriate mode before calling the correct end dialog
function.
2021-07-21 17:38:14 -04:00
Jeff Young
0fb864d596
Pull some name changes back from 7.0 to ease merging.
2021-07-21 20:58:59 +01:00
david-beinder
af90d47edc
Altium: Fix calculating third arc point from uninitialized memory
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8671
2021-07-20 19:13:32 +00:00
jean-pierre charras
234b414e2c
Fix misplaced break after code cleanup.
2021-07-20 17:05:00 +02:00
Wayne Stambaugh
cf00319c85
More NULL expunging.
2021-07-20 07:27:18 -04:00
Jon Evans
75190370dd
Convert -> Create from Selection
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8818
2021-07-19 18:45:33 -04:00
jean-pierre charras
6a886e7085
Wizard qrcode_footprint_wizard.py: fix a minor issue and update code.
2021-07-19 18:36:58 +02:00
luz paz
8bacc9fccb
Fix python 'testing for equality' syntax
...
'Testing whether an object is 'None' using the == operator is inefficient and potentially incorrect.'
Per https://lgtm.com/projects/g/KiCad/kicad-source-mirror/?mode=tree&ruleFocus=7900090
2021-07-19 15:42:30 +00:00
Jeff Young
e61822c9e0
Naming conventions and a bug fix on arc points.
2021-07-19 13:17:12 +01:00
jean-pierre charras
9cb4c9bfc2
3D viewer: ensure the activity messages are displayed on Linux after Frame creation.
2021-07-19 10:10:25 +02:00
jean-pierre charras
a43ca978df
3D viewer: do not build the board 3D data during 3D frame creation, but after.
...
Building the 3D data is time consuming, so creating the data after the 3D
frame is shown is better, and the build activity is visible, especially on Linux.
2021-07-18 17:55:40 +02:00
jean-pierre charras
56412cc843
PCB_TEXT: remove "hide" option, because they are never hidden.
...
- avoid write "hide" option in file
- always return true when calling IsVisible()
Fixes #8806
https://gitlab.com/kicad/code/kicad/issues/8806
2021-07-18 14:58:21 +02:00
jean-pierre charras
1a5e63bcab
PANEL_SETUP_BOARD_STACKUP: fix a incorrect behavior when changing layer count,
...
and add a button to adjust dielectric thickness (regression fix)
Fixes #8800
https://gitlab.com/kicad/code/kicad/issues/8800
2021-07-16 20:39:00 +02:00
Marek Roszko
c794a6ce7a
Add pdb install option for msvc
2021-07-14 23:42:45 -04:00
Jon Evans
e61b1f03b8
PNS: Discard duplicate tracks in FixRoute
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8737
2021-07-13 21:13:40 -04:00
Seth Hillbrand
ff2e470a6e
Remove virtual items from clearance calculations
...
Extends 3ea970f8c9
to ensure that virtual items do not interfere with
DRC calculations while routing
Fixes https://gitlab.com/kicad/code/kicad/issues/8788
2021-07-13 16:10:36 -07:00
Seth Hillbrand
3ea970f8c9
Don't add virtual items to the display
...
By definition virtual vias should only exist in the backend, not
affecting users
Fixes https://gitlab.com/kicad/code/kicad/issues/8788
2021-07-13 15:52:41 -07:00
Seth Hillbrand
2f41dd4074
Fix unit var warning
2021-07-13 09:53:31 -07:00
Jeff Young
f0513978ff
Back-port some fixes from 7.0 branch.
2021-07-13 17:24:23 +01:00
david-beinder
8b3ccab0a3
Implement explicit polygon construction for most pad shapes
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8650
2021-07-13 14:51:58 +00:00
luz paz
0446d35f0d
Fix source comment/doc typos (follow-up)
...
Found via `codespell -q 3 -S *.po,./thirdparty -L aactual,acount,aline,alocation,alog,anormal,anumber,aother,apoints,aparent,aray,dout,einstance,modul,ot,overide,serie,te,,tesselate,tesselator,tht`
2021-07-13 10:48:17 +00:00
Pradeepa Senanayake
8d65663566
Copper Zone Properties dialog modifications
...
* Changed the net sorting mechanism make it similar to the 'Net Inspector' window
* Replaced the 'Show All Nets' check box with 'Hide auto-generated nets' check box
* Replace the warning label with wxInfoBar
* Removed unused controls and renamed controls where applicable
* Re-arranged the Copper Zone Properties dialog layout to improve user experience
* Minor code refactoring of DIALOG_COPPER_ZONE class
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8547
2021-07-12 21:55:46 +00:00
Jeff Young
2889861c0b
Remove unused variables.
2021-07-11 23:42:40 +01:00
Jeff Young
e953cb6a27
Add default severities for new DRC violations.
2021-07-11 23:33:17 +01:00
jean-pierre charras
54b6f51633
DSN export: export RECT and ARC shapes (on silkscreen layer) from footprints
...
Also export arc track segments as lines. (Freerouter does not support QARCs)
Fixes #8769
https://gitlab.com/kicad/code/kicad/issues/8769
2021-07-11 18:15:40 +02:00
Jeff Young
01d3a88faa
Allow unnamed embedded step files in altium boards.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7898
2021-07-10 16:37:45 +01:00
Jeff Young
e02bb80bf3
Handle cancel when selecting copper layer.
...
Also changes the algorithm to ask only once, rather than one per
non-copper-layer object.
Fixes https://gitlab.com/kicad/code/kicad/issues/8767
2021-07-10 12:05:25 +01:00
Jeff Young
625006ca30
Remove front/back SMD pad color now that we have opacity sliders.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8761
2021-07-10 10:13:55 +01:00
Jeff Young
a06b95bb1f
Even out spacing around various panels.
2021-07-09 23:42:45 +01:00
Marek Roszko
11cd8738a3
Put wxSearchCtrl back by eliminating the excess focus events that in Windows land cause a "select all"
...
The setfocus calls were really because of the overtly aggressive mouse handler for the canvas that has been patched out.
2021-07-09 18:08:32 -04:00
Jeff Young
046fb58183
Better command names and tooltips for zone fill/unfill commands.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8762
2021-07-09 22:13:50 +01:00
Seth Hillbrand
387cd36f60
Fix GenCAD Export flipped footprints
...
GenCAD Exporter flips the board footprints before exporting. The
exporter assumes that the flip happens T/B and not L/R.
Fixes KSC Issue #356
2021-07-09 09:44:30 -07:00
Seth Hillbrand
c5571afbd9
Teach GenCAD exporter to handle chamfered rect pads
...
Chamfered rect pads can also have rounded corners, so we handle these
using a polygon transform before exporting
2021-07-09 09:44:30 -07:00
Wayne Stambaugh
6c3ba1c20b
Coverity issue fixes.
...
Issues #332032 , #332086 , #332157 , and #332171 .
2021-07-09 10:56:35 -04:00
Jeff Young
473f10ab1f
Tooltips for Board Setup > Constraints.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8764
2021-07-09 13:06:59 +01:00
Jeff Young
2bd735b631
A little more safety in setting the router idle mode.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8765
2021-07-09 10:26:12 +01:00
Jon Evans
00f1b609c4
PNS: Don't run fanout cleanup when manually forced
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8724
2021-07-08 19:56:42 -04:00
Jeff Young
e895af4ec6
Include arcs in create array. (Thanks to RigoLigoRLC.)
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6491
2021-07-08 18:28:21 +01:00
Wayne Stambaugh
65c7958293
Coverity issue fixes.
...
Issues #331869 , #331875 , #332203 , #332159 , #332171 , #332180 , and #332648 .
2021-07-08 08:33:08 -04:00
Marek Roszko
49e6b80fc5
Rollback searchctrl change for FOOTPRINT_VIEWER_FRAME
...
Fixes #8751
2021-07-08 07:26:42 -04:00
RigoLigoRLC
a15a91dc00
Turn Footprint Text on when user turn on Value or Ref
...
In the appearance panel the old implementation doesn't turn the meta-
control "Footprint Text" back on when you switch on "Footprint Value/
Reference" while "Footprint Text" is switched off. This is neither
logically correct nor making the elements rendered correctly (value/ref
swicthes would affects corresponding bottom texts, but doesn't affect the
meta-control).
I didn't find a corresponding GitLab issue around, so I'm not saying
"fixes" here.
2021-07-08 03:05:51 +00:00
Jon Evans
cafd42911e
Do not use opacity for zone outlines
...
The opacity is intended to aid seeing through
zone filled areas and applying it to outlines
makes them hard to see and select.
2021-07-07 22:04:11 -04:00
Jon Evans
edc2be9018
Update width status when user choice changes
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8265
2021-07-07 21:26:21 -04:00
Jeff Young
66eb2ddeb5
Remove auto when not needed for line length.
2021-07-07 20:05:50 +01:00
Roberto Fernandez Bautista
4207165c26
Fix PNS deleting too many segments
...
Don't exit the loop pre-emptively. Need to update lastLink.
2021-07-07 19:54:19 +01:00
Roberto Fernandez Bautista
cda26bd57b
SHAPE_LINE_CHAIN::NextShape instead of explicitly calculating indices
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8738
2021-07-07 19:46:47 +01:00
jean-pierre charras
7a1e8520ae
Specctra export: Fix incorrect export of holes from mirrored footprints.
...
If a footprint is containing a closed shape on Edges.Cuts it is exported as Hole
(keepout zone). For flipped footprints the hole was incorrect.
Fixes #8753
https://gitlab.com/kicad/code/kicad/issues/8753
2021-07-07 16:40:19 +02:00
jean-pierre charras
17ab2c7197
.kicad_pcb files: minor enhancements: add missing new lines in file.
...
No actual change, this is only a cosmetic change.
2021-07-07 11:44:11 +02:00
Wayne Stambaugh
9d348d7e6d
Coverity issue fixes.
2021-07-06 13:32:34 -04:00
jean-pierre charras
cd476e1728
Gerber plotter: ensure filled areas using thick outlines have a closed outline.
...
Fixes #8735
https://gitlab.com/kicad/code/kicad/issues/8735
2021-07-06 13:59:05 +02:00
jean-pierre charras
1a23502e98
PAD::TransformShapeWithClearanceToPolygon(): better polygonal shapes:
...
- Oval and round pads ensure at least 16 segments per CIRCLE (like other shapes)
- For ERROR_OUTSIDE option, ensure the aarc approx error is the actual error,
not max allowed error.
These changes can be seen only for a large max allowed approx error, especially
when filling zones.
2021-07-06 10:50:46 +02:00
Roberto Fernandez Bautista
81fa40d659
Code style: Fix missing space
2021-07-05 20:39:42 +01:00
Roberto Fernandez Bautista
04ff8cde5e
Drag & Fillet Tracks: Ignore mouse up / click events until move / drag
...
Ensures that any click/mouse up events generated after clicking "OK"
in the "Override locks" dialog are ignored.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8123
2021-07-05 20:29:25 +01:00
Roberto Fernandez Bautista
ce8132bf4f
Arc Track Drag & Fillet Tracks: Copy lock status to new track(s)
2021-07-05 20:29:25 +01:00
Jon Evans
b6e8beb38c
FP_TEXT: account for parent rotation when creating clearance shape
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8728
2021-07-05 13:49:40 -04:00
Jeff Young
ea6769b702
The REPORTER interface is inherently line-based.
...
Also fixes a bunch of error messages that were similar but not
identical (which just increases translation burden).
Fixes https://gitlab.com/kicad/code/kicad/issues/8723
2021-07-05 13:41:06 +01:00
Marek Roszko
a92d337905
Use wxSearchCtrl in the footprint viewer/picker.
2021-07-04 22:06:01 -04:00
Jon Evans
67762a11f6
Don't double-process arcs if we get one first
2021-07-04 12:22:52 -04:00
Jon Evans
b291f36dae
ADDED: Convert tool can create polygons with arcs from contiguous line and arc segments
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5409
2021-07-04 12:10:59 -04:00
Jon Evans
576d70fab0
Fix file format syntax of arcs in polygons
...
No format bump as there is no way to create these files yet.
2021-07-04 12:10:59 -04:00
Jeff Young
0116e9c94e
Silence Altium polygon-needs-at-least-3-verticies warning.
...
Too many Altium files appear to have these. Just ignore them instead.
Fixes https://gitlab.com/kicad/code/kicad/issues/8183
2021-07-04 11:02:59 +01:00
Jon Evans
e0146f73b9
PNS: Pick up complete lines between pads when dragging components
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7614
2021-07-03 20:00:54 -04:00
Jon Evans
91ea4a0569
PNS: Pick up segments directly between pads when dragging components
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7601
2021-07-03 19:50:04 -04:00
Jon Evans
ab38dfd7ae
Fix build
2021-07-03 19:47:58 -04:00
Jon Evans
77b68a827c
Remove unused variable
2021-07-03 19:20:54 -04:00
david-beinder
a5308e5f5c
Fix python console toggle to work across pcbnew/eeschema
2021-07-03 22:48:46 +00:00
Jeff Young
126cd14715
Fix width setting bug in Net Inspector.
2021-07-03 21:16:15 +01:00
Jeff Young
6a0a38ec29
Prevent wxWidgets assertion.
2021-07-03 21:16:15 +01:00
Jeff Young
37fac6de35
Use ChangeValue() instead of SetValue() to keep from firing events.
...
Otherwise setting a filter also turns off the Show All Nets checkbox.
Also make sure that config values get saved when they're changed.
2021-07-03 21:16:15 +01:00
Jeff Young
4b07a55ef8
Fix net name to net code map to handle sorting and filtering.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8714
2021-07-03 21:16:15 +01:00
Roberto Fernandez Bautista
3f73d8c2b5
SHAPE_LINE_CHAIN::Area() should always be positive
...
The algorithm relied on the assumption that the points were
ordered anti-clockwise. When ordered in a clockwise fashion, the
result was correct but negative.
Refer to https://www.mathopenref.com/coordpolygonarea2.html
for more information.
2021-07-03 19:37:50 +00:00
Roberto Fernandez Bautista
c3051ba48a
Refactor SHAPE_LINE_CHAIN to allow two shapes per point
...
m_shapes now has two possible indices. The first one is populated if
the point is associated with an arc and the second index is populated
if the point is shared between two arcs.
2021-07-03 19:37:50 +00:00
Seth Hillbrand
4f4deece6d
ADDED support for reading/writing arcs in polys
...
This adds support for reading and writing arc elements in polygons.
2021-07-03 19:37:50 +00:00
Jon Evans
252bf76452
Fix off-by-one in AssembleTuningPath
2021-07-03 14:37:52 -04:00
Jon Evans
3c59e452d6
PNS: Set tuned path correctly in skew tuner
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8708
2021-07-03 14:06:30 -04:00
Jon Evans
1b9893841b
Add a tooltip explaining the track width dropdown
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8719
2021-07-03 13:36:18 -04:00
Jon Evans
277bf2b719
Add feedback showing current router state to the message panel
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8265
2021-07-03 13:21:51 -04:00
Jeff Young
bc65b7173f
Don't use SCH version number when inspecting PCB files.
2021-07-03 15:24:54 +01:00
Wayne Stambaugh
3f6811f413
Minor dialog layout improvements.
2021-07-02 11:36:06 -04:00
Jeff Young
400f4ae506
Code cleanup.
2021-07-02 15:54:26 +01:00
Jeff Young
780a8a5154
Fix another place disallowing internal microvias.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8716
2021-07-02 15:54:26 +01:00
Marek Roszko
eff75b630f
Get rid of anonymous struct typedefs
...
We are using C++14 where there is no reason for this and is banned in C++20 under P1766R1. MSVC generates a warning under C++14 as a reminder.
2021-07-01 18:28:41 -04:00
Seth Hillbrand
c23e39dbe7
Avoid adding invalid text to temporary fp
...
Adding values/references to footprint text is an assertion. This avoids
the assert when copying a full footprint by skipping the extra text
2021-07-01 11:57:29 -07:00
Jeff Young
24e54178db
Make sure pin hittest regions don't get too hard to hit.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8616
2021-07-01 15:43:19 +01:00
Jeff Young
78d2e88f4b
Beautify export STEP dialog.
2021-07-01 15:43:19 +01:00
jean-pierre charras
740b028180
pns_line_placer: do not constraint the 45deg of current segment in free angle mode.
...
Fixes #8691
https://gitlab.com/kicad/code/kicad/issues/8691
2021-07-01 16:38:31 +02:00
Wayne Stambaugh
175b474c3e
Coverity issue fixes.
...
Fixes issues #280412 , #314755 , #329615 , #332459 , #332157 , #332167 ,
2021-06-30 18:08:49 -04:00
Jeff Young
e9c0920be2
Use a standard SHAPE_POLY_SET hittest for pads.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8705
2021-06-30 22:36:29 +01:00
Jeff Young
6810912f09
Refuse to load schematics from the future.
...
Also fixes a bug where an empty window would get left when loading
a file from the KiCad manager window errored out.
Also fixes a bug where we were getting the wrong exception because
we were rethrowing the type-casted one (rather than just calling
throw).
Fixes https://gitlab.com/kicad/code/kicad/issues/8604
2021-06-30 18:32:07 +01:00
Jeff Young
5cac8afe1d
Remove long-dead revision support for LIB_IDs.
2021-06-30 13:12:57 +01:00
Jeff Young
b1b4caee6a
Escape "naughty" characters in symbol names.
...
It's tempting to say that we don't need to exclude filename chars
from symbols, but we might regret that decision down the road. Better
to just escape them.
Fixes https://gitlab.com/kicad/code/kicad/issues/8694
2021-06-30 13:12:57 +01:00
jean-pierre charras
17737af130
Fix some issues related to SHAPE_ARC:
...
- Some are related to shape errors when the allowed error to approximate circle
by segment is large and arc radius small.
- fix the actual error used in ConvertToPolyline().
- Use SHAPE_ARC::DefaultAccuracyForPCB() instead of a fixed value as extra margin
in zones. It should not change something, because it is also a fixed value
(5 micrometers), but it is not a magic number.
-TransformArcToPolygon() fix some issues and add a new algo, based on the arc actual
outline shape (initial algo is still available in code, just in case).
2021-06-30 13:33:49 +02:00
Seth Hillbrand
0d8f0d361e
Allow aligning pads in FP editor when locked
...
Locking is not a concept in the footprint editor. The signature for
checking is slightly different in the alignment tool, so we need to move
the check higher to allow aligning items in fpeditor
2021-06-29 16:48:31 -07:00
Wayne Stambaugh
c6e4dcbecf
Pcbnew: fix incorrect geographical annotation dialog message.
2021-06-29 17:11:37 -04:00
Wayne Stambaugh
e4c108ee3a
Pcbnew: minor geographical annotation dialog user message improvements.
...
Remove schematic from the completion message as it can no longer be
updated though the dialog.
Add a warning to synchronize the schematic with the annotation changes.
2021-06-29 15:17:00 -04:00
Roberto Fernandez Bautista
04b71f5167
Meander minimum spacing can be equal to track width + minimum clearance
...
2x track width was too constraining in some scenarios
Also better wording "Min Spacing" to indicate to the user that
the actual spacing could be larger if there are any constraints.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8172
2021-06-29 19:30:01 +01:00
Roberto Fernandez Bautista
e402563087
Don't recalculate meander spacing. Use constrained value instead.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1776
2021-06-29 19:30:01 +01:00
Jeff Young
0c2ac9a711
Move GUI font code to common.
...
This also allows the Mac fixes for font facenames to be more
compartmentalized.
Fixes https://gitlab.com/kicad/code/kicad/issues/8657
2021-06-29 18:27:58 +01:00
Jeff Young
64f07ea9c6
Update text variables after changes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8697
2021-06-29 13:55:06 +01:00
Jeff Young
1db33c7b3a
More safety (and better impl) for not sharing FP table/info stuff.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8657
2021-06-29 12:46:16 +01:00
Jeff Young
a1dfc36233
More error message regularization.
2021-06-29 01:08:26 +01:00
Jeff Young
c159500101
Remove nags and make Sel Layer and add via commands uniform.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8686
2021-06-28 19:17:01 +01:00
jean-pierre charras
fa49b54f93
Fix minor issue in TransformCircleToPolygon() when aError is set to a large value.
...
pcb_painter.cpp: add (but not activate) compil option to show the conversion
of SHAPE_ARC::ConvertToPolyline as segments, for debug purposes.
2021-06-28 15:50:16 +02:00
jean-pierre charras
9a865b1989
Fix a typo and a minor compil warning
2021-06-28 14:37:35 +02:00
Jeff Young
d296bec5b8
Differentiate aSingleLine mode for SCINTILLA_TRICKS
...
This allows us to avoid the monospaced font (along with the tab-stop
handling), and process a <return> as an OK rather than just <shift> +
<return>.
Fixes https://gitlab.com/kicad/code/kicad/issues/8425
2021-06-28 11:20:12 +01:00
Jeff Young
062c4fda62
More error message regularization (and translatability improvements).
2021-06-28 00:45:24 +01:00
Jeff Young
08fb05e522
Make sure HPGL and DXF drill map generators honour origin setting.
...
ADDED: also adds origin setting to Footprint Position File dialog
and generators.
Fixes https://gitlab.com/kicad/code/kicad/issues/8669
2021-06-27 17:40:20 +01:00
Jeff Young
4aa8318dc2
More error message regularization.
2021-06-27 14:24:02 +01:00
Jeff Young
70ac70f360
Don't attempt to round-trip netnames through wxListBox.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8684
2021-06-27 12:02:21 +01:00
Jeff Young
1fcd7992a0
Performance improvement for adding/removing dielectric layers.
...
(Roughly a 10X speedup on Mac.)
2021-06-27 09:43:20 +01:00
Marek Roszko
b924c85f80
Start recording the precision of dxf imports
2021-06-27 00:38:19 -04:00
Jeff Young
0f27618125
Use a list dialog that can be parented by the Board Setup dialog.
...
(The current one keeps pulling the Kicad Manager window to the front
on OSX.)
I also removed the UpdateUI stuff which was probably causing:
Fixes https://gitlab.com/kicad/code/kicad/issues/5049
2021-06-27 01:41:35 +01:00
Jeff Young
0dfb5fcaf9
Error message cleanup.
...
wxString::Format is redundant in a wxLogXXX call.
Error messages should generally be translatable.
Error messages should use generally consistent sentence forms.
2021-06-26 22:53:24 +01:00
Jeff Young
4c5df22eb0
Don't show busy cursor when dialogs (including progress) are in use.
...
Also removes a stale comment.
Also moves the progress reporters earlier to lessen need for busy cursor.
Also cleans up some error strings and makes other more easily translatable.
2021-06-26 22:53:24 +01:00
jean-pierre charras
310adedf85
Add GetCircleToSegmentError() to geometry/geometry_utils.
...
This function returns the error created by a circle to segment approximation.
2021-06-26 18:57:07 +02:00
Jeff Young
5c21f93803
Consistency in progress and error messages.
2021-06-26 13:23:43 +01:00
Thomas Pointhuber
e50eaed7b9
altium: Improve parsing of UTF-8 data
...
This is an implementation based on d4ccec05 from @fxtentacle
2021-06-26 13:58:56 +02:00
Thomas Pointhuber
e6c047896c
altium: introduce progress reporting, fix possible nullptr when reading 3D models
2021-06-26 12:54:31 +02:00
Jeff Young
95ec9c786c
Board setup spacing.
2021-06-26 10:55:31 +01:00
Jeff Young
81fc710a5d
Use consistent terminology.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8681
2021-06-26 10:11:41 +01:00
jean-pierre charras
83b549741d
PCB_ARCS in zones: increase clearance to avoid DRC issues. This is a workaround,
...
but arcs in tracks are still not fully fixed.
The clearance is increased by only 4 microns, that should not create issues.
2021-06-25 19:45:32 +02:00
Jeff Young
9f51f7b055
Formatting and include cleanup.
2021-06-25 17:48:15 +01:00
jean-pierre charras
31d7a0a8d1
TransformArcToPolygon(): slightly better approximation of arc.
...
The error between the "right" shape and the polygon is slightly smaller.
The approximations of the inner arc and the outer arc are better, but not perfect.
Also add (for test and debug purpose only) the code to show the polygon when
drawing a PCB_ARC (currently disabled)
2021-06-25 18:46:16 +02:00
Jeff Young
1f4a56005e
Remove extraneous isPrinting test.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8609
2021-06-25 12:44:51 +01:00
jean-pierre charras
4eafd2664a
FootprintWizardBase.py: fix use of cmp(), non existing in python3
...
Fixes #8677
https://gitlab.com/kicad/code/kicad/issues/8677
2021-06-25 09:04:49 +02:00
Jeff Young
27804e40e2
Go back to using space-width for tabs (instead of max-char-width).
...
The max-char-width impl was buggy and never applied to PCBNew anyway.
Plus the stroke font has a max-char-width of 2.8 time the space width,
so it made for really wide tab spacing.
Also fixes a bug where the Scintilla editors weren't getting a
monospace font on Mac. (This bug may also exist on the other
platforms, but each would need its own fix.)
Also moves more of the Scintalla customizations to SCINTILLA_TRICKS
where they can be shared.
Fixes https://gitlab.com/kicad/code/kicad/issues/8666
2021-06-24 23:53:27 +01:00
Jeff Young
232ffe97be
Diff pair gap only overrides netclass clearance when it's smaller.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8676
2021-06-24 16:56:53 +01:00
Jeff Young
744dadd412
Naming conventions and formatting.
2021-06-24 16:56:53 +01:00
Jeff Young
a89f6404b4
Fix logic bug found by Coverity.
2021-06-24 12:18:22 +01:00
Jeff Young
8502fd6877
Divide-by-zero safety.
2021-06-24 12:18:22 +01:00
Jeff Young
a8028e3bd1
Fix uninitialized variables.
2021-06-24 12:18:22 +01:00
Fabien Corona
95ab53d119
pcbnew: fix missing layer names and missing layers in stackup table
2021-06-24 08:52:51 +00:00
Roberto Fernandez Bautista
b532ecec52
Fix ALTIUM_RULE_TOKEN qa test failure
2021-06-24 05:58:24 +00:00
Jon Evans
a7eb611744
Fix leftover vias in shove mode
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8597
2021-06-23 22:13:35 -04:00
Wayne Stambaugh
27e9750507
Pcbnew: fix footprint selection bug.
...
Do not remove footprint objects from list of selected objects when there
are no drawable objects other than the reference and value text.
Increase the minimum size rectangle for footprints from 0.025mm to 1mm
when the footprint has no drawing objects so that it is easier to select
the footprint in this case.
Add some pretty colors to the footprint bounding box and hull outline
so that it's possible to tell the difference between selection areas.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8379
2021-06-23 19:46:33 -04:00
Jeff Young
50eea4f487
Import progress dialog for FabMaster.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5315
2021-06-24 00:21:37 +01:00
Jeff Young
5fa5a73c6d
File open/import progress dialogs.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6864
Fixes https://gitlab.com/kicad/code/kicad/issues/2166
2021-06-23 23:55:54 +01:00
Jeff Young
ae612a454e
Make blind via rendering more intuitive by putting top on top...
...
bottom on bottom, and the via colour larger.
2021-06-22 18:24:46 +01:00
Jeff Young
7efca0113d
Reset m_inDrawingTool on exit.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8653
2021-06-22 13:02:45 +01:00
jean-pierre charras
a31b667e2a
Plotter: better shape for CHAMFERED_RECT and ROUNDRECT pads with margin.
...
The shape of the pad+clearance area is not similar to the shape drawn on screen
2021-06-21 18:55:33 +02:00
jean-pierre charras
9fb77473cd
pcb_painter.cpp: fix incorrect shape of CHAMFERED_RECT pads with negative clearance.
...
Negative clearance (for instance on mask or paste layer) was not taken in account
2021-06-21 18:52:57 +02:00
jean-pierre charras
00b4134eb8
pcb_painter.cpp: fix incorrect shape of ROUNDRECT pads with negative clearance.
...
If a negative clearance (for instance on mask or paste layer) is set to more
than the corner radius, the drawn shape was broken (fully incorrect size)
2021-06-21 13:44:30 +02:00
Jeff Young
685ee31c35
Workaround a few more OSX printf problems.
...
Also regularizes the frame title processing.
Also fixes a type where the library name wasn't processed for
variable expansion.
Fixes https://gitlab.com/kicad/code/kicad/issues/7742
2021-06-20 22:48:19 +01:00
Jon Evans
de4eb1fcef
Convert to zone: take dest layer from editor active layer
...
Show non-copper zone properties if active layer is non-copper
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8646
2021-06-20 15:13:18 -04:00
Jeff Young
b72545a432
Implement more aggressive re-entrancy blocking for drawing tools.
...
A similar strategy was already implemented in Eeschema.
Also adds some safety around clearing of autopan and mouse capture.
Fixes https://gitlab.com/kicad/code/kicad/issues/6909
2021-06-20 11:09:55 +01:00
Jeff Young
89718dd3ba
Naming conventions.
2021-06-19 19:36:53 +01:00
Jeff Young
c6606a0582
Hook up delete to undo last segment when routing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8362
2021-06-19 11:37:20 +01:00
Jeff Young
d26449cc29
Formatting.
2021-06-19 11:37:20 +01:00
Jon Evans
f8e9542004
Fix crash when opening board setup after zone filler exits
2021-06-18 12:23:12 -04:00
Jeff Young
3072422538
Allow caller to specify which library table to add library to.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8013
2021-06-18 11:39:18 +01:00
Jeff Young
e540752640
Allow all selected footprints/symbols to be changed.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7389
2021-06-17 23:34:56 +01:00
Jeff Young
16047b7419
3D preferences bug fixes.
...
1) Make sure prefs get saved when closing parent frame.
2) Add camera projection mode to settings.
Fixes https://gitlab.com/kicad/code/kicad/issues/8110
Fixes https://gitlab.com/kicad/code/kicad/issues/8626
2021-06-17 12:22:18 +01:00
Jeff Young
1722bc03b0
Consistent terminology and punctuation.
2021-06-17 00:05:17 +01:00
Seth Hillbrand
cbd9208d73
Fix missing translation
2021-06-16 12:48:47 -07:00
Seth Hillbrand
7953a5c62b
Work around MacOS printf/format issues
...
MacOS wxWidgets implementation of wxPrintf/Format suffers from some
issues when mixing string types. We avoid this by manually formatting
the string ourselves.
Fixes https://gitlab.com/kicad/code/kicad/issues/8404
2021-06-16 11:54:55 -07:00
Jeff Young
c8444913df
Implement lock between zone filler and drc.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8621
2021-06-16 16:12:01 +01:00
jean-pierre charras
db19ae226a
PANEL_PCBNEW_ACTION_PLUGINS: fix not working "open plugins folder" on Linux
2021-06-16 08:15:20 +02:00
Jon Evans
8f9800f760
Fix pad shape for certain legacy circular pads
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8615
2021-06-15 22:25:55 -04:00
Jeff Young
1a35d8ba5d
Setup layer mapping when importing Eagle library.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7891
2021-06-15 19:20:17 +01:00
jean-pierre charras
5b8f32acd2
Python script sample: fix compatibility with recent changes in code.
2021-06-15 18:19:58 +02:00
jean-pierre charras
142dd48c99
SCRIPTING_TOOL::showPluginFolder(): fix wxWidgets3.14 compatibility (Linux mainly)
2021-06-15 18:19:58 +02:00
Eeli Kaikkonen
3616a8f0ee
Use polygon coordinates relative to the board.
...
Footprint polygon coordinates are relative to the footprint.
Translate to the board coordinates when doing hittest with
a (selection) rect.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8596
2021-06-15 15:04:11 +00:00
Michal Schulz
38f18d0505
Fixed according to KiCad Style Guide.
2021-06-15 14:59:04 +00:00
Michal Schulz
aed0352828
pcbnew: Replace CR inserted on macOS instead of LF when CTRL+Enter is pressed.
2021-06-15 14:59:04 +00:00
Jeff Young
4418707e5e
Add a few more overbar syntax conversion calls.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8606
2021-06-15 13:09:18 +01:00
jean-pierre charras
fbbe723811
Fix board_item.i after recent changes in Pcbnew code.
...
(some class names changed)
2021-06-15 10:59:52 +02:00
jean-pierre charras
5d9ff0b9b7
Step export dialog: save 2 options in config file.
...
2 options (overwrite file and replace 3d shapes) were not saved previously.
2021-06-15 09:33:37 +02:00
Wayne Stambaugh
fb46cd8bc5
Expunge the use of the word component from Eeschema code.
...
The only exception to this is the SPICE simulator's use of component
when referring to physical component (R, L, C, etc.) values.
2021-06-14 14:00:21 -04:00
jean-pierre charras
30f3d11355
fix possible incompatibilities of python scripts due to recent code cleaning
2021-06-14 18:57:05 +02:00
Jeff Young
2c1da70181
Write all variables to temp config file and have Kicad2Step use that.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7670
2021-06-14 16:54:45 +01:00
jean-pierre charras
0527dc6fe0
Fp editor: fix initialization of default courtyard line thickness.
...
When no config file found it was initialized to DEFAULT_SILK_LINE_WIDTH,
although it was initialized to DEFAULT_COURTYARD_WIDTH in board editor.
Fixes #8344
https://gitlab.com/kicad/code/kicad/issues/8344
2021-06-14 08:31:55 +02:00
Jon Evans
82f3df4086
Attempt to fix Python qa code after renames
2021-06-13 11:20:19 -04:00
Jeff Young
5bb6b1a3cc
Minor cleanup.
2021-06-12 11:39:28 +01:00
Seth Hillbrand
3644224cb6
Build smoothed area at outline
...
The clearance to board edge will be set by the knockout routine.
Clipping twice can leave small imperfections in the edge that need to
get triangulated
2021-06-11 14:26:38 -07:00
Jeff Young
096e342386
Prefix TRACK, ARC and VIA.
2021-06-11 22:07:02 +01:00
Mikolaj Wielgus
ade38f48bc
Add conversion from old `~...~` to new `~{...}` notation
2021-06-11 18:40:57 +00:00
Jeff Young
16b0147af8
Prefix DIMENSION types.
2021-06-11 17:59:44 +01:00
Jeff Young
44086ff2b2
Pull 3D preferences into KiCad preferences architecture.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5187
2021-06-11 11:19:40 +01:00
jean-pierre charras
5492fafdf4
Pcbnew: allows access Layers context menu when right clicking from below layers list
...
Fixes #6614
https://gitlab.com/kicad/code/kicad/issues/6614
2021-06-11 09:32:47 +02:00
Seth Hillbrand
d8b1e827c7
Check all previous merge events
...
Typo only continued merge loop when last element was successfully
merged, leaving tracks where multiple segments were colinear
Fixes https://gitlab.com/kicad/code/kicad/issues/5020
2021-06-10 16:59:35 -07:00
Wayne Stambaugh
fbc135e69f
Rename SCH_COMPONENT to SCH_SYMBOL.
2021-06-10 10:34:49 -04:00
jean-pierre charras
1c3df973d6
Coverity warnings fixes.
2021-06-10 13:45:02 +02:00
luz paz
5f1e9bc8a7
Fix typos in source code
2021-06-10 01:24:15 +00:00
luz paz
f968fc8719
Fix source comment / documentation typos
2021-06-09 19:32:58 +00:00
david-beinder
410dbe17de
Fix inital predefined track width selection in track properties dialog
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8578
2021-06-09 09:59:25 +00:00
Marek Roszko
d946d6e68f
Cleanup some pgm_base.h includes
2021-06-08 21:56:00 -04:00
Marek Roszko
ffa87e69c6
Remove/replace some stdint.h includes
2021-06-08 21:17:57 -04:00
Seth Hillbrand
c650d47626
Add warning message on non-unity scaling
...
When exporting STEP model, warn the user if one of their footprints has
a non-unity scaled model as this compromises the integrity of the STEP
export.
Fixes https://gitlab.com/kicad/code/kicad/issues/1781
2021-06-08 16:38:47 -07:00
Seth Hillbrand
b891b5e1e2
Do not blindly substitute model names
...
Makes model substitution (VRML->STEP in STEP Export) optional. This can
prevent nasty surprises where the user doesn't see/can't affect the
outcome
Also, when substituting models, do not maintain scale factor. So a VRML
model with non-unity scaling will not be export as a STEP file (of the
same name) with non-unity scaling. This is the first step to address
https://gitlab.com/kicad/code/kicad/-/issues/1781
2021-06-08 16:38:47 -07:00
Marek Roszko
6e01ce84b9
Break out eda_item_flags.h, fix the typedef to std::uint32_t, fix some signed vars
2021-06-08 19:12:30 -04:00
Marek Roszko
c854811ac4
Parent frame already includes undo_redo_container.h
2021-06-08 19:12:30 -04:00
Jeff Young
2aaec31832
Don't put up "old version" warning for gerbview-generated PCBs.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8574
2021-06-08 22:12:44 +01:00
Wayne Stambaugh
e6346e3103
Pass objects by reference instead of on the stack part 2.
2021-06-08 13:47:21 -04:00
Jon Evans
75ce97e260
Fix the last cause of duplicate segments when completing a route
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6863
2021-06-07 20:34:09 -04:00
Marek Roszko
9268340dcc
Kick wx.h out of pcbnew
2021-06-07 18:38:51 -04:00
Jeff Young
97a2c4094b
Don't label free pads with connections as '*'.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8385
2021-06-07 23:36:37 +01:00
Jeff Young
3d32c096ab
Fix some problematic double-quotes.
2021-06-07 23:36:37 +01:00
Marek Roszko
8f2819cfa4
Kill the last of wx/wx.h in headers
2021-06-07 17:59:20 -04:00
Johannes Maibaum
022dd6072c
Add utility method to resolve symlinks
...
The same logic block to resolve possible symlinks exists in 5 different
places now. This change moves this duplicated code to a static member
function of WX_FILENAME instead.
2021-06-07 20:59:59 +00:00
Johannes Maibaum
542c02046b
Write through symlinks for schematics and PCBs
2021-06-07 20:59:59 +00:00
Seth Hillbrand
891e200fc8
Use Python to test for modules (not CPython)
...
CPython call requires Python 3.8+, so we work around to keep the 3.6
users happy
Fixes https://gitlab.com/kicad/code/kicad/issues/8554
2021-06-07 13:56:31 -07:00
Seth Hillbrand
d4edc70f65
Remove magic numbers where possible
...
Constant scales will be pre-calculated during compilation, so we can
leave the actual formula in place without penalty
2021-06-07 13:56:31 -07:00
Jeff Young
3ff670d2a4
Disable ACTIONS::openPreferences for now.
...
wxWidgets needs to move the item to the KiCad menu on Mac, and it
can only find it if it has the id wxID_PREFERENCES.
2021-06-07 20:51:45 +01:00
jean-pierre charras
6cfc2755ed
Remove a useless "#include wx/wx.h" from wx_html_report_panel.h
2021-06-07 09:26:13 +02:00
Jon Evans
49c5130123
PNS: Implement final cleanup pass for redundant colinear segs
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6863
2021-06-06 21:52:35 -04:00
Jon Evans
83080b67f5
Fix build on wx 3.0
2021-06-06 20:21:21 -04:00
Jon Evans
3c6b98a0d5
PNS: preserve auto-detected track width when changing via sizes
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8046
2021-06-06 20:18:09 -04:00
Jon Evans
99710aba48
PNS: use slightly less greedy algo to reset the mouse trail
2021-06-06 19:47:52 -04:00
Marek Roszko
0bc0f2265e
dialog_board_statistics.h shouldn't leak confirm.h
2021-06-06 19:34:53 -04:00
Jon Evans
6cb8154ec0
PNS: Remove code that broke width changes during placement
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8334
2021-06-06 19:21:52 -04:00
Marek Roszko
5bb6f8c5e3
hashtables.h doesn't need eda_item.h
2021-06-06 19:11:35 -04:00
Marek Roszko
33bbf85a3e
Use the parent frame GetSettings helper rather than including for Pgm()
2021-06-06 19:05:12 -04:00
Jon Evans
6789dac20b
PNS: Keep most recent good placement around for a rainy day
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8562
2021-06-06 18:56:33 -04:00
Jon Evans
c9bc45f7ed
PNS: Limit the maximum walkaround distance factor
...
The constant chosen is somewhat arbitrary and may need
further tuning or a more complex algorithm, but in general
this will prevent churning when solutions can't be found or
a solution can be found but it is unrealistic (going around
the entire board)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8558
2021-06-06 16:03:03 -04:00
Jon Evans
d32b9c1c25
Use debug group for line placer debug
2021-06-06 15:44:53 -04:00
Jon Evans
f5185f6927
Revert part of the anti-churn change, it causes bad side-effects
...
Further performance tuning could be useful but the part that
remains helps the most when hugging in large designs
2021-06-06 15:44:53 -04:00
Marek Roszko
66640f6144
Try and fix fedora build
2021-06-06 15:30:42 -04:00
Marek Roszko
8377ebb0e1
Fix msvc warnings
2021-06-06 15:30:31 -04:00
Marek Roszko
10e60acf34
Clean up including of board_design_settings.h
2021-06-06 15:03:42 -04:00
Marek Roszko
e4530fcf0d
PCB_MARKER does not need pcb_base_frame
2021-06-06 15:03:42 -04:00
Jon Evans
5349f47f95
PNS: Prevent walkaround churn in unsolvable situations
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8558
2021-06-06 14:57:52 -04:00
Jon Evans
3475d0cebd
PNS: Grab start item based on clearance if no direct hits found
...
Fixes annoying "routing start point violates DRC" messages when
entering the router from the hotkey and not directly over a track.
2021-06-06 14:57:52 -04:00
Ian McInerney
dc27079b71
cleanup tool event and tool action includes
2021-06-06 18:26:26 +01:00
Jeff Young
0d7e48d5b1
Coverity fix.
2021-06-06 17:57:46 +01:00
Jon Evans
17da050e69
Improve walkaround results when last point is inside the hull
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8563
2021-06-06 12:55:32 -04:00
Jon Evans
be61bf29dd
Use more accurate hull shapes for round solids
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8561
2021-06-06 09:53:51 -04:00
Marek Roszko
581ba21865
Remove wx includes out of cadstar_archive_loader.h
2021-06-06 09:28:02 -04:00
Marek Roszko
b610b905fc
Cleanup track.h includes
2021-06-06 09:06:55 -04:00
Jon Evans
3b7480c1c1
PNS: Invalidate start/end items after finishing a route
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8555
2021-06-06 08:52:39 -04:00
Marek Roszko
2d584ca5ec
board_item.h already included via board_connected_item.h
2021-06-06 08:47:59 -04:00
Marek Roszko
17d680de08
netinfo.h does not need to be in board_connected_item.h
2021-06-06 08:45:38 -04:00
Marek Roszko
4712d7a918
Remove a leaky wx/msgdlg.h include
2021-06-06 08:45:38 -04:00
Marek Roszko
e6c09b55a9
Remove unnecessary reporter.h include
2021-06-06 08:45:38 -04:00
Marek Roszko
dd9b8a9f73
Remove pcbnew.h includes in headers
2021-06-06 08:25:28 -04:00
Jon Evans
c9a660a80c
Rework JSON integration to speed up build
2021-06-05 17:08:38 -04:00
Johannes Maibaum
06e967354f
Fix symlink read-/write-through code
...
Use `realpath(3)` instead of `readlink(3)`, which offers support for
relative and absolute symlinks alike, since all symbolic links will be
resolved to the absolute path of the linked-to file.
Fixes #8082
2021-06-05 14:22:50 +00:00
david-beinder
86add3bb85
Fix MSVC C4312 warnings when casting 32bit ints to pointer types on 64bit builds
2021-06-05 02:57:51 +00:00
Jeff Young
d32d107923
Fix local ratsnest tooltip to mention "toggle".
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8415
2021-06-04 23:17:54 +01:00
Tomasz Wlostowski
ab04e24f9a
router: rhMarkObstacles should return a correct error status
...
Long story short: a few days ago I fixed error handling in routeStep(), so it actually started to recognize the wrong error status returned
by rhMarkObstacles() and think that the trace is always incorrect.
fixes: https://gitlab.com/kicad/code/kicad/-/issues/8557
2021-06-04 23:58:56 +02:00
Wayne Stambaugh
f57ef55cd6
Pcbnew header housekeeping round 3.
2021-06-04 13:50:08 -04:00
Wayne Stambaugh
c69c68a558
Pcbnew header housekeeping round 2.
2021-06-04 12:21:48 -04:00
Wayne Stambaugh
2a6c7a7c0f
Pcbnew header housekeeping round 1.
2021-06-04 09:08:38 -04:00
Ian McInerney
2533fb22b3
Add the new pcb item container header to the SWIG wrapper
2021-06-04 12:49:11 +01:00
Jon Evans
d8499e4914
I fixed the wrong typo in 6e272429
, heh
2021-06-03 22:39:14 -04:00
Jon Evans
6e2724294a
Fix typo in action description
2021-06-03 21:27:28 -04:00
Ian McInerney
0c879eead3
Cleanup headers in pcbnew pcad importer
2021-06-04 01:28:40 +01:00
Ian McInerney
f94816fbd4
Cleanup wx includes in the filter reader
2021-06-04 01:26:58 +01:00
Seth Hillbrand
3d4ce0796e
Add Gerber plot for SHAPE_ARC and SHAPE_LINE_CHAIN
2021-06-03 17:12:56 -07:00
Jeff Young
00791e1e37
Fix compile issues on clangd.
2021-06-03 23:41:06 +01:00
Marek Roszko
1c1ba25ffd
Use char_str instead of c_str in previous commit
2021-06-03 18:13:35 -04:00
Marek Roszko
daf510344f
Fix build error due to pns changes
2021-06-03 18:05:48 -04:00