Tomasz Wlostowski
f6ea753968
pcbnew: implement GetEffectiveShape() for tracks/vias/arcs/texts
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
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
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
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
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
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
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
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
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
Seth Hillbrand
5096deeb3b
pcbnew: Handle module ratsnest
...
Ensure we display the module ratsnest appropriately
2020-08-10 12:09:32 -07:00
Seth Hillbrand
211cbadc24
pcbnew: MODULEs are not BOARD_CONNECTED_ITEMS
...
Handling ratsnest requires first checking for modules, handling their
pads and then checking that the remaining elements derive from
BOARD_CONNECTED_ITEM
Fixes https://gitlab.com/kicad/code/kicad/issues/5131
2020-08-10 11:01:03 -07:00
jean-pierre charras
23a5b0ca5f
fix a few compil warnings and a Coverity warning.
2020-08-10 18:32:44 +02:00
Jeff Young
34705fd8b2
More clone vs duplicate bugs.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5120
2020-08-10 14:45:01 +01:00
Jeff Young
692aeff334
Fix a bunch of usages of copy ctor that really meant duplicate.
...
In particular, "duplicate" means "with a new KIID".
Fixes https://gitlab.com/kicad/code/kicad/issues/5127
2020-08-10 14:23:11 +01:00
Ian McInerney
dbede14ed2
Remove extra include accidentally added
2020-08-10 10:43:19 +01:00
jean-pierre charras
19602b0806
Pcbnew: do not include swig/python_scripting.h when compiling without python support.
...
Fixes #5132
https://gitlab.com/kicad/code/kicad/issues/5132
2020-08-10 11:35:52 +02:00
Seth Hillbrand
370bc89d5a
Lowercasing private variables in class_pad
2020-08-10 03:27:27 +00:00
Seth Hillbrand
2c8d20207e
Allow micro-via to begin/end in middle layers
...
Microvias can be drilled through adjacent layer pairs, not just F_Cu and
B_Cu
2020-08-10 03:27:27 +00:00
Seth Hillbrand
41edf5c5bf
Updating DRC to handle vias with differing layers
2020-08-10 03:27:27 +00:00
Seth Hillbrand
9a66a5acad
Cleanup code line endings
2020-08-10 03:27:27 +00:00
Seth Hillbrand
5fc6b74c89
ADDED: Remove unused pads
...
This option removes copper layers from pads and vias where they are not
connected to other board elements. This allows the inner layers to be
more closely routed if the via landing pad is not needed.
Fixes https://gitlab.com/kicad/code/kicad/issues/1835
2020-08-10 03:27:26 +00:00
Seth Hillbrand
2fc266ef02
Cleanup old defines/dead code
2020-08-10 03:27:26 +00:00