Tomasz Wlostowski
e38796396f
qa/drc_proto: default values for fields in DRC_RULE
2020-08-13 14:50:59 +02:00
Tomasz Wlostowski
782fcc6139
qa/drc_proto: fix regressions in DRC_RULE_PARSER
2020-08-13 14:50:59 +02:00
Tomasz Wlostowski
59303adaca
BOARD_ITEM: assert on unimplemented GetEffectiveShape()
2020-08-13 14:50:59 +02:00
jean-pierre charras
ffabc17372
style cleanup and a few comments added.
2020-08-13 14:17:53 +02:00
jean-pierre charras
e0351b4e4c
Zone filler: make new algo (no thickness for filled outlines) the default
...
Add also a message info to the pcbnew constraints panel for arc to segment
approx min error value.
2020-08-13 10:01:23 +02:00
Jeff Young
a407befa4c
Fix breakage from layer change.
...
We have to be careful about processing edges on the Edge_Cuts even
when we're talking about a zone on some other layer.
2020-08-13 00:18:09 +01:00
Jeff Young
0c9d08249f
Fix crash where dummy edge doesn't have a valid parent.
2020-08-13 00:07:59 +01:00
Marek Roszko
c36080a250
Immediate fix to prevent crashing, don't call ClosePlayers twice
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5164
2020-08-12 18:35:18 -04:00
Jeff Young
e05cd0e914
Raise limit to prevent zooming on cross-probing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5149
2020-08-12 22:28:18 +01:00
Jeff Young
393bb0fd83
Fix assert where geometry routine wasn't ready to handle layers.
...
This introduces layer handling to a lot of the geometry routines.
Many of them don't do much with it now, but it does help multi-layer
zones and will help when padstacks are implemented.
2020-08-12 22:20:08 +01:00
Jeff Young
463100d67f
Remove a long-standing hack to keep divots out of adjacent zones.
...
The new algorithm unions any adjacent zones before doing the
chamfer/fillet and then subtracts the other zones back out afterwards.
Fixes https://gitlab.com/kicad/code/kicad/issues/3812
2020-08-12 22:20:08 +01:00
Jeff Young
a6d44676b3
Move commit handling outside of ZoneFiller.
...
This allows us to rever the commit on a cancel.
Fixes https://gitlab.com/kicad/code/kicad/issues/5107
2020-08-12 22:20:07 +01:00
Jeff Young
fad18dccd5
Make sure board design settings get updated when switching boards.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5129
2020-08-12 22:20:07 +01:00
Jeff Young
84425f5a40
Fix crash bug from bad static_cast.
2020-08-12 22:20:07 +01:00
Jeff Young
17d3e36bd6
Fix crash bug when condition expression is empty.
2020-08-12 22:20:07 +01:00
Graham Keeth
9057a46a20
circular pad array wizard: pin 1 optionally square
...
Add option to make pin 1 rectangular to Circular Pad Array wizard.
Default behavior is unchanged (oval pin 1).
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4614
2020-08-12 20:49:55 +00:00
Seth Hillbrand
c4de3c8f1a
Move mutual capacitance wizard to correct folder
2020-08-12 11:26:01 -07:00
Qbort
b41892e4da
Rename class GROUP in pcbnew to PCB_GROUP
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5156
2020-08-12 15:36:08 +01:00
Seth Hillbrand
826f81f57d
eeschema: Don't error when replacing references
...
Avoids an unneeded error message when checking the validity of the
replace action
2020-08-12 07:04:51 -07:00
J. F
5f2a1b31ed
Add mutual capacitance button wizard
...
This adds a python script to build a mutual capacitance button per the
document from http://ww1.microchip.com/downloads/en/appnotes/doc10752.pdf
(cherry picked from commit 1ebf7d349b92d1977d224c9219fca5b5ac225ce8)
2020-08-12 06:42:42 -07:00
Seth Hillbrand
d8d8f4f670
Removing extra parameters to super() calls
...
The extra parameters seem to cause problems for some Python
configurations and are not needed.
Fixes https://gitlab.com/kicad/code/kicad/issues/4896
2020-08-12 06:22:45 -07:00
Blake Smith
9614f6d0d9
Fix PadGridArray super call
2020-08-12 06:22:45 -07:00
Seth Hillbrand
ab58b67842
Adding triangulation viewing to AC
...
This adds a helper routine to visualize the quality of our
triangulation. It also renames an excessively long variable name for
the arc editor
2020-08-12 06:22:45 -07:00
jean-pierre charras
eae739d98e
ZONE_CONTAINER::TransformSolidAreasShapesToPolygonSet(): for polygons with outline
...
thickness, use another algo to create shapes mainly used in 3D viewer.
For the 3D viewer, the calculation time to build zones is significantly faster.
2020-08-12 10:13:54 +02:00
Seth Hillbrand
7c455f2357
First pass at DRC RTree functionality
...
This implements a copper-layer RTree with functions for iterating over
the elements in a copper layer and providing Nearest Neighbor returns
for BOARD_CONNECTED_ITEMS
2020-08-11 16:52:29 -07:00
Ian McInerney
fedc6519cd
Preserve the externally defined variables in the configure paths dialog
...
Previously the variables that were defined externally weren't being
readded to the variable map, so they would not appear in the dialog
the next time.
2020-08-12 00:25:58 +01:00
Ian McInerney
47f7c616f8
Fix Python environment variable handling
...
The variables in the common settings struct are only updated on
save, so Python must use the ones from Pgm to get its values.
This does lead to the observation that Python's changes to the
variables do affect KiCad (they can break resolvers). So apparently
it can mess with us but we can't mess with it easily.
Also, improve the environment variable tracing infrastructure to capture
more changes.
2020-08-12 00:14:19 +01:00
Ian McInerney
63b53c3968
Force regeneration of the lib tree on first load
...
Just setting the text field is not guaranteed to fire
a text event, so we must forcefully call the regenerate
function to ensure the preselect is handled.
Fixes https://gitlab.com/kicad/code/kicad/issues/4105
2020-08-12 00:14:19 +01:00
Jon Evans
433616cbf0
Prevent segfault on schematic frame close
...
We are seeing multiple events firing when closing via the manager frame.
Cleaning up the schematic should only happen once.
2020-08-11 18:56:47 -04:00
Jeff Young
d97e519036
Fix typo in regex.
...
Had to get rid of the regex as Search actually changes the user's
selection, which is not what we want. (It wasn't earlier because
the search would always fail due to the typo.)
It's much faster now that we're not scanning from the beginning every
time.
2020-08-11 22:04:38 +01:00
Jeff Young
bc9723340a
Add support for print-as-per-items-tab.
...
ADDED a print mode which allows the Layers Manager's Items tab to
control the visiblity of various items.
Fixes https://gitlab.com/kicad/code/kicad/issues/3894
2020-08-11 20:42:08 +01:00
Jeff Young
7f65b31cb6
Beautify the PCBNew print dialog.
...
Mostly fix some uneven spacing, but also indent the color theme
selection under the checkbox which controls it.
2020-08-11 20:42:08 +01:00
Joshua Redstone
ee428876ec
ADDED: Group/Ungroup function
...
This implements the group/ungroup functions to mark a set of EDA_ITEMs as a unit, allowing them to be moved and rotated as a unit
2020-08-11 19:37:07 +00:00
Jeff Young
f65a0037dc
Display violation layer (and select it) for DRC errors.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5123
2020-08-11 17:47:39 +01:00
Jeff Young
8b67d5185a
Update keepout rule syntax example to something with less "magic".
2020-08-11 15:22:48 +01:00
Jeff Young
a0f95855d1
ADDED board repair tool.
...
Currently it just fixes duplicate UUIDs.
2020-08-11 15:02:27 +01:00
Jeff Young
5ab39b7c06
Clean up reannotation UI.
2020-08-11 15:02:27 +01:00
jean-pierre charras
9c817638d9
ZONE_CONTAINER::TransformSolidAreasShapesToPolygonSet(): fix incorrect transform
...
For zones filled using the new algo (filled areas without thickness), a outline
with thickness was added, that is incorrect.
Used only in 3D viewer.
2020-08-11 11:49:08 +02:00
jean-pierre charras
29d6fe88f0
3D viewer: do not show via/pad shapes of pads not connected on copper layers.
...
Show the same vias/pad shapes as plot functions.
2020-08-11 11:26:00 +02:00
PJM
a06a0c1236
Fix Pcbnew tree order in "Preferences" tree
...
Eeschema and Pcbnew display the same dialog panels in a different order
in the 'Preferences' tree. This code make Pcbnew match the order of
Eeschema.
Fixes issue: https://gitlab.com/kicad/code/kicad/-/issues/5147
2020-08-10 19:01:04 -07:00
Ian McInerney
e03f6a3b49
Pcbnew: Route all display options updates through the frame
...
The frame contains the main option set that is used for setting the UI
state, so it must be updated. The frame also updates the view when set,
so calling the view separately to update the options isn't needed.
Fixes https://gitlab.com/kicad/code/kicad/issues/5069
2020-08-11 01:20:11 +01:00
Ian McInerney
0a0ed9e064
Escape all env var strings sent to the Python interpreter
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5130
2020-08-11 00:51:02 +01:00
Ian McInerney
259cacf648
Entries typed into the text size field should be read as mils
...
Previously, they were being interpreted as inches, and then being
displayed as mils - leading to a multiplication by 1000 if there
was no unit string included.
Fixes https://gitlab.com/kicad/code/kicad/issues/5117
2020-08-11 00:14:58 +01:00
Jeff Young
9716c62e32
Performance enhancements for PCBNew scrolling and zooming.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5136
2020-08-10 23:43:24 +01:00
Jeff Young
e1c449902d
Ask user before throwing away changes to DRC Rules.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5135
2020-08-10 23:43:24 +01:00
Jeff Young
de6314e3b5
Convert smart quotes and dashes to ASCII in DRC rules.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5135
2020-08-10 23:43:24 +01:00
Jeff Young
0a6a91b5ad
Convert smart quotes and dashes in reports to ASCII quotes and dashes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/1861
2020-08-10 23:43:24 +01:00
Ian McInerney
5684708b22
Remove shadowing linewidth member from the Cairo GAL
...
The base GAL has the linewidth property already, and its
accessor will only return the base version. This was causing
problems with the Cairo printing GAL, since that setter wasn't
using the base class version. Also, this removes the print-specific
setter, since the actual setting of line width shouldn't be done
there and is instead done where the drawing happens.
Fixes https://gitlab.com/kicad/code/kicad/issues/5089
2020-08-10 22:16:11 +00:00
Seth Hillbrand
f36c158696
Remove via contact minimum from connectivity check
...
Connectivity takes an absolute approach to whether elements are
connected. DRC will be adjusted to check to illegal necks that are less
than the board minimum width
2020-08-10 14:47:49 -07:00
Seth Hillbrand
e5ab97994d
pcbnew: Fix error in proximity calc for zones
...
Zone ContainsPoint() accuracy should be calculating the radial distance
and so does not need to be halved.
2020-08-10 14:46:34 -07:00