jean-pierre charras
f866d15154
Pcbnew: fix crash when clicking on a footprint on a filled zone area.
2022-03-07 13:56:47 +01:00
Jeff Young
0dc857b5ab
Clean up pad handling in 3D viewer.
...
Most importantly, create F_Cu/B_Cu layers if they're otherwise empty
but we have plated pads to render on them.
Fixes https://gitlab.com/kicad/code/kicad/issues/10207
2022-03-06 13:57:12 +00:00
Seth Hillbrand
b5c2f0d39a
Remove the open array in favor of std containers
...
The containers allow iteration, size knowledge and lower bug surface
2022-03-03 16:03:26 -08:00
Jeff Young
08df5c0b01
Handle hidden layers in FP Editor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10946
2022-02-23 15:31:07 +00:00
Jeff Young
fad4c135fa
Use only a physical connection to determine flashing of pads.
...
Checking for proper nets just confuses things when the nets are set
wrongly for some reason. This way we generate clearer DRC errors.
Fixes https://gitlab.com/kicad/code/kicad/issues/10645
2022-02-20 20:54:56 +00:00
Jeff Young
1ee3ce45e8
Don't ask for layer of multi-layer objects.
2022-02-18 14:19:13 +00:00
Jeff Young
5efa354f0f
Add asserts to flush out incorrect uses of GetLayer().
2022-02-18 12:14:38 +00:00
Jeff Young
93c7046a77
Return nominal pad shape when a specific layer isn't specified.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10755
2022-02-11 22:09:22 +00:00
Jeff Young
50a4d610a6
Be cognizant of flashed layers when generating pad shapes.
2022-02-11 13:10:52 +00:00
Jeff Young
7ccac79192
More wxString wide literals.
2022-02-05 21:29:34 +00:00
Jeff Young
b9eb3e9b05
Be more explicit about string conversions.
2022-02-03 23:07:41 +00:00
Jeff Young
4eac8d7c66
Remove unit-less angles from geometry lib APIs.
2022-01-20 21:10:04 +00:00
Jeff Young
e61144d45a
Finish with EDA_ANGLE.
2022-01-16 21:15:40 +00:00
Jeff Young
9b661aea10
EDA_ANGLE for plotters.
...
Also fixes a compile error in the PNS Playground.
2022-01-16 01:19:45 +00:00
Jeff Young
3f98769a77
More EDA_ANGLE.
...
Includes bug fix for catastrophic error in Add() for converting to
radians.
Includes bug fixes for the fact that the pcbnew test can't seem to
find the ANGLE_* objects (getting all 0's instead).
2022-01-15 01:30:04 +00:00
Jeff Young
07013d00e1
More EDA_ANGLE.
2022-01-14 16:08:19 +00:00
Jeff Young
c9487bad18
Move BOARD_ITEM::Rotate() to EDA_ANGLE.
2022-01-14 16:08:19 +00:00
Jeff Young
abd3f5bc2b
Move footprints to EDA_ANGLE.
2022-01-14 16:08:18 +00:00
Jeff Young
d485eb2514
Move pads to EDA_ANGLE.
2022-01-14 16:08:18 +00:00
Marek Roszko
e4dbfcd92d
Swap out some wxSize for VECTOR2I
2022-01-04 20:42:27 -05:00
Marek Roszko
d1552c3fec
Some more wxPoint removal
2022-01-01 12:11:21 -05:00
Marek Roszko
c4c56de708
Neurotically update position wxPoint usages
2022-01-01 11:55:51 -05:00
Jeff Young
ef10b36948
Add mask-to-copper clearance parameter and rename mask margin.
2021-12-24 12:36:41 +00:00
Jeff Young
32721755bf
Hook up zone-pad connections to custom rules.
...
ADDED zone_connection constraint.
ADDED thermal_relief_gap and thermal_spoke_width constraints.
ADDED angle override for thermal relief spokes in Pad Properties.
Fixes https://gitlab.com/kicad/code/kicad/issues/4067
2021-12-23 22:30:26 +00:00
Jeff Young
1f9e75f676
Pad with hole same size or larger than pad isn't flashed.
...
... even if it's marked as being on copper layers.
Also changes the default hole clearance to 0.25mm.
Fixes https://gitlab.com/kicad/code/kicad/issues/9901
2021-12-08 23:16:33 +00:00
jean-pierre charras
3886e681ae
PAD Copy CTOR: fix missing copy of m_pinType member.
2021-11-28 14:34:26 +01:00
Jeff Young
99ec2b1801
Don't hide original object when highlight is only part of it.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9772
2021-11-25 23:42:13 +00:00
Wayne Stambaugh
06f206104d
Pcbnew: fix chamfered rectangular pad definitions in GenCAD exporter.
...
The pad comparison function was never updated when chamfered rectangular
and custom pads were added so if more that one variant of either of those
pad types existed in a design, only the first one would get generated and
assign to every pad of that type.
The custom pad primitive comparison has not be implemented so the exported
designs may be broken for custom pads.
2021-11-24 12:54:44 -05:00
Seth Hillbrand
b022b314a4
Account for pad hole is BBox
...
The bounding box is used for hit testing. If the hole is arbitrarily
larger than the pad, we need to allow the user to properly select it
2021-11-03 14:33:44 -07:00
Jeff Young
22ba640c2b
Remove locking from footprint editor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9496
2021-10-31 16:33:03 +00:00
Jeff Young
1abd45ac15
Report nets on pads.
2021-10-29 00:17:06 +01:00
Wayne Stambaugh
1f7fd436a2
Move board object polygon code into the object source files.
...
Having the board object polygon code all defined in a separate file made
finding the polygon code for an object difficult to find.
2021-10-25 17:42:11 -04:00
Jeff Young
463b82cf46
Be very careful when "doing what I mean".
...
Just wanting a SMD pad isn't enough -- the user may have already
set SMD settings into the master pad and changing the SizeX is
then very unexpected. Make sure the settings directly conflict
before making any "do what I mean" adjustments.
Also fixes the parent-footprint info when no parent exists.
Also gives a better title to the dialog when used to edit the masterPad
properties.
Fixes https://gitlab.com/kicad/code/kicad/issues/9427
2021-10-20 08:59:25 +01:00
Seth Hillbrand
07b9e2ee51
Fix errant debug message
...
__WXDEBUG__ is only for internal WX debugging and is always enabled even
on release builds because it is defined to be 0, 1 or 2. Use DEBUG to
limit to debug builds
Fixes https://gitlab.com/kicad/code/kicad/issues/9392
2021-10-13 09:16:55 -07:00
Jeff Young
e6ca9837a2
Clear numbers from non-numberable pads and don't run DRC on them.
...
This was also the last straw on the misnamed PAD::GetName() and
PAD::SetName(), which are now PAD::GetNumber() and PAD::SetNumber().
Fixes https://gitlab.com/kicad/code/kicad/issues/9017
2021-08-24 01:03:06 +01:00
Jeff Young
1e23ce1c95
Pull some fixes back from 7.0.
...
1) An earlier 6.0 fix to apply pad clearance overrides to NPTH pads
got broken, so this replaces it.
2) Allow min/max/opt to be set by different rules.
3) Fixes a bug where board minimum enforcement over a local override
didn't get the right message text.
2021-08-21 16:43:11 +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
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
Wayne Stambaugh
cf00319c85
More NULL expunging.
2021-07-20 07:27:18 -04: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
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
1f4a56005e
Remove extraneous isPrinting test.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8609
2021-06-25 12:44:51 +01:00
Marek Roszko
10e60acf34
Clean up including of board_design_settings.h
2021-06-06 15:03:42 -04:00
Marek Roszko
4df3cb912d
Remove another leaky wx/log.h header
2021-06-03 08:11:15 -04:00
Jon Evans
f6d6b7d263
Harmonize property names for zone/footprint/pad clearance and thermals
...
Use "override" instead of "local" for better clarity.
2021-05-29 14:12:23 -04:00
Marek Roszko
3a9a85b373
Enum class PAD_PROP_T
...
Renamed such that it does not affect python
2021-05-01 10:58:30 -04:00
Marek Roszko
03cf2b517f
Enum class PAD_ATTR_T
...
Renamed such that python stays the same
2021-05-01 10:51:54 -04:00
Marek Roszko
b243c2280d
enum class PAD_SHAPE_T
2021-05-01 08:22:35 -04:00
Jeff Young
e3eacafbcb
Run hole clearance tests on NPTH pads, but not copper clearance.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8295
2021-04-25 17:55:43 +01:00
Jeff Young
3b049b32cf
Show if pads, zones, and dimensions are locked in the status bar.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8255
2021-04-21 19:58:18 +01:00