Commit Graph

11506 Commits

Author SHA1 Message Date
jean-pierre charras af88b01068 export_vrml: Better export of pad shapes, both on copper and paste layers.
It removes duplicate code between Pcbnew and the vrml exporter.
Remove also an useless option (plain board) that exported just the board body.
2021-03-18 20:43:27 +01:00
jean-pierre charras 8d5161dae2 export_vrml: more code cleanup and export solder mask 2021-03-18 16:44:28 +01:00
Jonathan Haas 95051c4786 Also duplicate arcs in pcbnew
Fixes https://gitlab.com/kicad/code/kicad/issues/7943
2021-03-18 13:35:30 +00:00
Jean-Samuel Reynaud e377f2667e Adding COMMIT support before/after invocation of a python script
Allows undo/redo of ACTION_SCRIPT commands
2021-03-18 12:52:17 +00:00
jean-pierre charras 16ef1910ff export_vrml: more code cleanup and fix incorrect shape of round chamfered pads 2021-03-18 13:35:06 +01:00
jean-pierre charras 074f0432f0 vrml exporter: more cleaning code and enhancements. Dialog exporter: Add option to use board center as coord origin. 2021-03-18 09:52:04 +01:00
jean-pierre charras b050823c98 export_vrml.cpp: mainly clean code and add some fixes. 2021-03-18 09:52:03 +01:00
Jeff Young 36259b1f6b Refresh lib trees after editing library tables.
Also make sure that we grab the library item descriptions from their
source rather than just the cached tree copy.

Fixes https://gitlab.com/kicad/code/kicad/issues/7875
2021-03-17 14:54:18 +00:00
Jeff Young 46d71f0d23 Go back to validate-on-OK, but stop doing design checks.
If we keep doing design validations at two different places, they can
only start to drift apart.  Board Setup should validate for malformed
data ONLY; everything else is the business of DRC.

This also fixes a bug where implementation validations would not allow
OK in the dialog, but wouldn't put up a message to say why.  We now use
the InfoBar impl from Jon's commit for that.
2021-03-16 14:49:03 +00:00
pgvoorhees bb8d31cd06 Fix context item selection filter type omissions
Fixes #7839
2021-03-16 13:08:50 +00:00
Jeff Young cad1cb0262 Improve naming. 2021-03-16 12:07:06 +00:00
Jeff Young c7648b4dba Formatting. 2021-03-16 12:07:06 +00:00
Jeff Young 2ad9da582a Refresh geometry when clearance changes if clearance lines are shown.
Fixes https://gitlab.com/kicad/code/kicad/issues/7906
2021-03-16 12:07:06 +00:00
Mikolaj Wielgus c3c3649211 Stop text from causing a shift during flip when >1 items are selected
1e1be730 fixed this only for one item.

Fixes https://gitlab.com/kicad/code/kicad/issues/7304
2021-03-15 21:24:16 +00:00
Jeff Young b2ac9cc29f Formatting & naming conventions. 2021-03-15 19:04:59 +00:00
Fabien-B a086795ac9 Pcbnew: fix dimensions text rotation and position.
Issue #6940 is not addressed, as being able to
rotate a dimension with a group is preferred over
easily rotating the text.

Fixes https://gitlab.com/kicad/code/kicad/issues/3847
2021-03-15 15:44:36 +00:00
jean-pierre charras cb451dc4b2 Pcbnew: Fix memory leaks and fix inefficient code. 2021-03-14 20:27:59 +01:00
Jon Evans 52e2bf0000 Keep focus on filter boxes in footprint viewer
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4884
2021-03-14 15:10:20 -04:00
jean-pierre charras a1b4bcc210 Refinements (add icons to menuitems and better help strings) 2021-03-14 18:44:31 +01:00
jean-pierre charras c763b0088e Fix some issues in drawing_stackup_table_tool.cpp 2021-03-14 17:44:16 +01:00
jean-pierre charras 3ba7fc0cc2 Move board stackup table drawing code from drawing_tool.cpp to drawing_stackup_table_tool.cpp
This avoid a too large drawing_tool.cpp file.
Remove also values in internal units and convert them to mm.
2021-03-14 17:44:16 +01:00
Jon Evans 521982cbf6 Avoid double-redraw on board load 2021-03-14 11:42:09 -04:00
Jon Evans 2cbd7b5043 Reduce scope of some view repaints to improve performance 2021-03-14 11:42:09 -04:00
jean-pierre charras 2528e1fc98 EXCELLON_WRITER: update info in comments. 2021-03-14 12:38:03 +01:00
jean-pierre charras 953279ce70 Gerber plot: fix missing AperFunction attribute for texts.
Fix also a incorrect AperFunction attribute for graphic items on Edge.Cuts
in footprints
2021-03-14 12:37:13 +01:00
Fabien Corona f428ce03f2 ADDED: pcbnew - stackup / characteristics table 2021-03-13 20:19:46 +00:00
Jeff Young 18470693fe Copy linewidths when coverting to polygons.
Fixes https://gitlab.com/kicad/code/kicad/issues/7893
2021-03-13 17:06:49 +00:00
Jeff Young 93db7a130a Offset 3D models when moving footprint origin.
Fixes https://gitlab.com/kicad/code/kicad/issues/7868
2021-03-12 17:37:38 +00:00
Jeff Young faf9cca938 Fix many cases of old mils flag getting interpreted as allowEval flag.
Fixes https://gitlab.com/kicad/code/kicad/issues/7883
2021-03-12 15:15:50 +00:00
Jeff Young 24fd326cd1 Make sure we have different strings for past & future tense.
(In English both were 'Set', but that means our translation framework
won't support two different strings in other languages.  Changed to
'Add' and 'Added'.)

Fixes https://gitlab.com/kicad/code/kicad/issues/7888
2021-03-12 14:59:38 +00:00
Jeff Young ba46a8d12d Fix some layout issues resulting from wxWidgets version bump. 2021-03-12 14:54:54 +00:00
Jeff Young a01bd52571 Use default line width when creating polygons.
Fixes https://gitlab.com/kicad/code/kicad/issues/7876
2021-03-12 14:54:54 +00:00
Jon Evans 18037e2f65 Rework bitmap system to load from archived PNGs
Bitmaps are now identified by an enum class instead of by pointers.
Bitmap loading and caching is now handled by a class in common, and
we no longer compile most bitmaps into the binary, so there is no
longer a bitmaps static library.

Instead, bitmaps are archived to a .tar.gz file which is installed
in ${KICAD_DATA}/resources/images.tar.gz

The source PNGs are checked in to Git as the original CPP files were,
so that people can build without the required dependencies to convert
SVGs to PNGs.

Initial support is also added for dark theme icons, although this
is not yet exposed in the GUI.

Stubs are present for multi-resolution image resources, but this is
not fully-baked yet and could use some refinement.
2021-03-11 08:37:35 -05:00
Jeff Young 4db10d419d Implement future & past tenses for dry-run vs. changes made report.
Also improves zone reporting to list either the zone name or the layer
and coordinates.

Fixes https://gitlab.com/kicad/code/kicad/issues/7851
2021-03-11 12:34:02 +00:00
Jeff Young ea9c269914 Don't fill polygons converted from lines.
The lines couldn't have been filled, so the polygon shouldn't start
out filled either.  The user can set it to filled if they want.

Fixes https://gitlab.com/kicad/code/kicad/issues/7867
2021-03-11 10:42:21 +00:00
Jeff Young 4b88d4beed Don't police the user.
There are too many holes and the police-state just makes it harder to
get back from error conditions.

Fixes https://gitlab.com/kicad/code/kicad/issues/7867
2021-03-11 10:38:32 +00:00
Jeff Young e48f86bfd6 Move default assignment on Mac.
CHANGED: add corner and repeat last command now default to 'I' instead
of '<insert>' on Mac.

1) wxWidgets doesn't currently display the correct graphic in the menu
for the insert key
2) Mac laptops don't have an instert key

Fixes https://gitlab.com/kicad/code/kicad/issues/5016
2021-03-10 13:35:04 +00:00
Wayne Stambaugh d4231d8e9f Pcbnew: add footprint keepouts to Specctra DSN exporter.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7684
2021-03-10 07:18:37 -05:00
Marek Roszko 3d4ac9af03 Relocate win32 resource files to the central folder for further consolidation 2021-03-09 21:48:14 -05:00
Wayne Stambaugh d160b30ff1 Pcbnew: add keepout helper methods to ZONE object. 2021-03-09 08:13:06 -05:00
Jeff Young 60b17e727a Make sure pad locked flags get transferred on ExchangeFootprint.
They used to be in the footprint but were moved to the individual
pads a few months ago.

Also applies to text items.

Fixes https://gitlab.com/kicad/code/kicad/issues/7844
2021-03-09 12:29:14 +00:00
Dominik Wernberger e2aa7be4b3 Added a lot of consts and refactored a few lines 2021-03-08 12:49:48 -08:00
Jeff Young 2bc10d58b5 Fix some cases where PCB_FP_ZONE_T was left out.
Fixes https://gitlab.com/kicad/code/kicad/issues/7615
2021-03-08 13:00:46 +00:00
Jonathan Haas 274d4e2eb4 Fix orientation of orthogonal dimensions
When drawing and editing orthogonal dimensions, take distance and
relative position to the end points into account.

Fixes https://gitlab.com/kicad/code/kicad/issues/7243

Fixes https://gitlab.com/kicad/code/kicad/issues/7189
2021-03-08 00:13:38 +00:00
Mikolaj Wielgus 0f22b54cd8 Clip the leader lines properly when using circular text frame
Fixes https://gitlab.com/kicad/code/kicad/issues/7810
2021-03-07 21:19:19 +00:00
Jon Evans 720147d272 Remove transitive inclusion of bitmaps.h 2021-03-07 16:08:57 -05:00
david-beinder df99ee39d9 PNS: new through vias should span all copper layers
Fixes https://gitlab.com/kicad/code/kicad/issues/7576
2021-03-07 17:58:43 +00:00
Jeff Young 47145d349b Don't run insideArea on ruleAreas.
Fixes https://gitlab.com/kicad/code/kicad/issues/7826
2021-03-07 17:55:30 +00:00
jean-pierre charras e0cbcc3330 Excellon drill files: add structured comments to identify via holes and pad holes.
This is useful for CAM tools because constraints for via holes and pad holes are
not the same
2021-03-07 17:47:37 +01:00
jean-pierre charras fde22da478 Greber drill files: Enable using flashed shapes for oval holes. 2021-03-07 17:44:59 +01:00
Jeff Young 0fde536223 Adjust zones when moving footprint origin.
Fixes https://gitlab.com/kicad/code/kicad/issues/7825
2021-03-07 15:04:01 +00:00
jean-pierre charras d57f5b1a2c DIALOG_GENDRILL: fix incorrect initialization of drill coord origin option
Fix also missing board change mark when drill plot settings are modified.
2021-03-06 09:47:42 +01:00
Jeff Young b691c18bfc Allow netclass assignents to unnamed nets.
Most of the code had already moved over to this, but there were a few
hold-outs.

Fixes https://gitlab.com/kicad/code/kicad/issues/7802
2021-03-05 19:16:09 +00:00
Jeff Young 3e9eb3c8ac More complete fix for crasher JP found.
Fixes https://gitlab.com/kicad/code/kicad/issues/7806
2021-03-05 15:30:52 +00:00
Jon Evans 68f958145d Gracefully handle lack of diff pair settings
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7806
2021-03-05 09:09:56 -05:00
Jon Evans 4ddb942ec0 Do not allow drag selection or drag move when already moving something
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7800
2021-03-04 19:01:31 -05:00
Jeff Young c85c14e6e4 Don't allow exponential notation in specctra export.
Fixes https://gitlab.com/kicad/code/kicad/issues/7786
2021-03-04 22:39:33 +00:00
Jeff Young bbf02a5f08 Formatting. 2021-03-04 21:23:45 +00:00
Jeff Young 528f933ad5 Don't revert commit after user has OK'ed the dialog.
Fixes https://gitlab.com/kicad/code/kicad/issues/7799
2021-03-04 19:16:43 +00:00
Jeff Young d18afa42cd Resync nets & netclasses after updateFromPCB.
Fixes https://gitlab.com/kicad/code/kicad/issues/7793
2021-03-04 15:05:06 +00:00
Jeff Young 91350ec9ea Don't update thickness unless it really changed.
Otherwise we're going to generate a continuous stream of OnUpdateUI
events....

Fixes https://gitlab.com/kicad/code/kicad/issues/5049
2021-03-04 14:15:39 +00:00
Marek Roszko 8831c5567c Add win32 version manifest block 2021-03-04 00:34:48 -05:00
Jon Evans 1fc399fa31 Fix a few more cases of picking up wrong mouse positions
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7745
2021-03-03 20:09:24 -05:00
Mikolaj Wielgus 1e1be730d8 Do not recalculate center from boundaries when flipping
Fixes https://gitlab.com/kicad/code/kicad/issues/7304
2021-03-03 23:33:31 +00:00
Jeff Young b9d26a55f2 Show variable references of text in status bar.
Fixes https://gitlab.com/kicad/code/kicad/issues/7790
2021-03-03 18:58:04 +00:00
Jeff Young fcb9af2b12 When saving footprint to library don't detach from board too early.
In particular, make sure it's been flipped to the front layer first.
We need to know the layers to do the flip.

Fixes https://gitlab.com/kicad/code/kicad/issues/7780
2021-03-03 15:07:01 +00:00
Ian McInerney 51d445007f Switch to using make_shared in another place 2021-03-03 02:19:46 +00:00
Ian McInerney 908de37e7c Don't hardcode the file extensions where possible 2021-03-03 01:13:59 +00:00
Mikolaj Wielgus 81570e02f3 Do not change orientation when moving orthogonal dimensions
Fixes https://gitlab.com/kicad/code/kicad/issues/7727
2021-03-02 19:59:16 +00:00
WhiteChairFromIkea bbd6a1db0e Formatting 2021-03-02 19:57:19 +00:00
WhiteChairFromIkea b33ec125ac use "pattern" instead of "sourcelibreference" for footprints 2021-03-02 19:57:19 +00:00
WhiteChairFromIkea a9ca1e4ebd use "pattern" instead of "sourcelibreference" for footprints 2021-03-02 19:57:19 +00:00
WhiteChairFromIkea 6533b47f0a use "pattern" instead of "sourcelibreference" for footprints 2021-03-02 19:57:19 +00:00
Jonathan Haas f90164f7cf Fix some typos and improve wording 2021-03-02 19:13:49 +01:00
qu1ck 3199a88d54 Fix pcbnewshell not showing namespace inspector tools
on msvc build with recent wxpython
2021-03-02 17:12:57 +00:00
Wayne Stambaugh 79a9d69ff5 Coverity fixes for issues 314755, 316287, 324536, 324539, and 324539. 2021-03-02 08:10:37 -05:00
Jeff Young d06e8ef01c Honour pre-defined-size selections for diff pairs.
Fixes https://gitlab.com/kicad/code/kicad/issues/7759
2021-03-02 12:12:05 +00:00
Jeff Young 7760570d76 Treat action buttons in Symbol/Footprint Properties as OK, not Cancel.
Fixes https://gitlab.com/kicad/code/kicad/issues/7001
2021-03-01 20:37:04 +00:00
Jeff Young 57e948ff08 Make sure axesEnabled is set before saving config.
We don't actually allow the user to change this at present, so one
could argue that we should remove it from what is saved out of the
config.  But this is a smaller, safer change.

Fixes https://gitlab.com/kicad/code/kicad/issues/7666
2021-03-01 20:37:04 +00:00
qu1ck cc6df515a1 Make ARCs accessible from python 2021-03-01 17:34:47 +00:00
Jeff Young f4cc9b86e3 Inform user (and bail on UpdatePCB) if annotation failed.
Fixes https://gitlab.com/kicad/code/kicad/issues/7310
2021-03-01 16:57:29 +00:00
Jeff Young 1a9f55872c Don't leave a pad with a netinfo pointer from the footprint editor.
Fixes https://gitlab.com/kicad/code/kicad/issues/7766
2021-03-01 11:12:51 +00:00
Jeff Young 83d07dc7f7 Comments. 2021-03-01 11:12:51 +00:00
Jon Evans 63b5d8db43 Pcbnew: use MRU path when opening files in standalone mode
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7734
2021-02-28 14:30:16 -05:00
Jon Evans dbb6d0fb4a Move paste and mask clearance settings back to board file
These are needed for correct Gerber plotting so need to be stored
along with the board file
2021-02-28 14:04:28 -05:00
Marek Roszko 4debfbcc53 Fix pcbnew cross probing ignoring the disabling of the cross probing zoom to fit setting 2021-02-28 10:39:51 -05:00
Jon Evans cd7a2cd807 Fix shadowing fix that caused logic bug and different shadowing 2021-02-27 20:01:14 -05:00
Jon Evans 65531accf6 DRC: allow testing against particular diff pair membership 2021-02-27 19:54:55 -05:00
Jeff Young 061218e567 Take a stab at fixing Python build issue. 2021-02-27 23:56:47 +00:00
Jeff Young 3538c8a963 Thread safety for new caches (which are also used during zone fill).
Fixes https://gitlab.com/kicad/code/kicad/issues/7749
2021-02-27 21:33:30 +00:00
Jeff Young 2606ecc619 Add isDiffPair() to custom rule syntax examples.
Fixes https://gitlab.com/kicad/code/kicad/issues/7746
2021-02-27 19:45:03 +00:00
Jon Evans ccba4b1462 Pcbnew: don't show project warning on stackup pages
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5568
2021-02-27 14:28:24 -05:00
Jeff Young 14e670408e Fix some bugs in rule examples and add some more examples.
Fixes https://gitlab.com/kicad/code/kicad/issues/7744

Fixes https://gitlab.com/kicad/code/kicad/issues/6884
2021-02-27 19:21:41 +00:00
Jon Evans d269778cd4 PNS: disable smart pads in walkaround if posture is forced
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7710
2021-02-27 13:48:01 -05:00
Wayne Stambaugh 5ca25a609e Pcbnew: fix shadow variable in expression evaluator. 2021-02-27 12:09:06 -05:00
Seth Hillbrand f952434aee Replace "pours" with "fill" in Rule Area
KiCad terminology refers to copper "Fill" rather than copper "Pour".

Also adds some tooltips for the various options

Fixes https://gitlab.com/kicad/code/kicad/issues/7740
2021-02-27 08:32:05 -08:00
Seth Hillbrand bcc3767c2a FABMASTER: Fill both kinds of silk polys
Silkscreen polygons are always filled (I think) in FABMASTER.  Other
layer polygons are not
2021-02-27 06:58:04 -08:00
Jon Evans eae9e954c3 Hide BOARD internals that shouldn't be wrapped from swig 2021-02-27 08:54:21 -05:00
Jeff Young 6d6765cdaf Improve DRC status reporting.
1) Don't report on tests not run.
2) Don't cancel subsequent tests because the current test didn't
have any constraints
3) Exit a little bit quicker when cancelled

Fixes https://gitlab.com/kicad/code/kicad/issues/7724
2021-02-27 13:44:45 +00:00
Jeff Young 4ede4e061e More DRC performance work.
Push DRC zone RTrees into BOARD so that they can also be used by
insideArea.

All these caches are a bit of an encapsulation leak, but they make a
significant impact on performance.

Fixes https://gitlab.com/kicad/code/kicad/issues/7720
2021-02-27 11:45:04 +00:00