Jeff Young
8ecf64b6c5
Don't run DRC rules on non-existant layers.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13753
2023-02-03 15:08:31 +00:00
Jeff Young
235925d62c
Clearer reporting of negative clearances.
2023-02-03 15:08:31 +00:00
Jeff Young
0d083d0230
AllCuMask() and AllTechMask() are static, they do NOT modify "this".
2023-02-03 15:08:31 +00:00
Seth Hillbrand
b427ad80f6
Don't make unneeded copies of std::pairs
2023-02-03 15:28:53 +01:00
Seth Hillbrand
dde336ee40
Split connectivity mutex locking
...
Internal routines have no need for locking the mutex they already own.
While external routines that want to recalculate the Ratsnest do need an
exclusive lock before being allowed access
Fixes https://gitlab.com/kicad/code/kicad/issues/13011
2023-02-03 15:26:19 +01:00
jean-pierre charras
8ce0a84ca7
Fix compatibility with older wxWidgets versions.
...
Fix also a compil warning
2023-02-03 08:24:38 +01:00
Wayne Stambaugh
e20c86ad5e
Minor dialog layout improvements.
2023-02-02 16:54:52 -05:00
Seth Hillbrand
e60152e351
Fix island removal when copper->edge clearance is 0
...
Just testing a single point to find copper that is outside the board works
until the arc->segment conversion moves the board outline just enough to
have the filled copper slightly (few IU) outside of the converted outline.
Instead, we do an expensive check of comparing the size of the
intersection between the island and the island's intersection with the
board. If the intersection is at least half as large as the original
island, we can say with certainty that the island is inside. The margin
could be much smaller than half but this preserves the intent without
picking an arbitrary number that might be violated
Fixes https://gitlab.com/kicad/code/kicad/issues/13717
2023-02-02 19:19:26 +00:00
jean-pierre charras
fcefb5f86d
Re-allows selection of bitmaps not owned by a footprint.
...
It was broken by my commit f8051d95
Fixes #13747
https://gitlab.com/kicad/code/kicad/issues/13747
2023-02-02 18:09:37 +01:00
Jon Evans
200bf696af
Fix importing of legacy netclasses
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13746
2023-02-02 08:29:43 -05:00
jean-pierre charras
737318a24d
struct ZONE_DESC: ensure ENUM_MAP<PCB_LAYER_ID> is initialized before use it.
...
ENUM_MAP<PCB_LAYER_ID> is tested initialized in some other XXX_DESC,
but not in ZONE_DESC
Fixes #13699
https://gitlab.com/kicad/code/kicad/issues/13699
2023-02-02 09:11:27 +01:00
Jon Evans
26b9d2f5ac
DRC: Allow disabling DP constraints in specific areas
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13743
2023-02-01 23:11:39 -05:00
Jeff Young
7874735810
Add doc link to custom rules syntax help.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13727
2023-02-01 23:40:53 +00:00
Alex
6543d23d9f
router: Re-add electrical path lines drawing for length tuning.
2023-02-01 20:36:52 +03:00
Alex
7d6218acb4
Unify checkbox borders in Interactive Router Settings.
2023-02-01 07:46:42 +03:00
Alex
1c2345776e
Remove unused variable.
2023-02-01 07:28:55 +03:00
Jon Evans
48e4005111
Fix diff pair router checking of min clearance
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13720
2023-01-31 19:53:35 -05:00
Kliment
68eac74458
pcbnew: Fix strokeWidth truncation to integer mm in SVG polygons import
...
The polygon conversion algorithm mistakenly stored the stroke width of
filled polygons in an integer variable. As a result, all stroke widths
were rounded down to the next smaller integer mm size. This commit changes
the types in the relevant functions and variables from int to double.
2023-01-31 20:34:25 +00:00
Seth Hillbrand
f34aa947d3
Allow on-outline zones to be considered inside
...
Also ensure that calculated areas for island removal are absolute.
The on-outline zone can happen when the clearance to the edge is
particularly small.
Fixes https://gitlab.com/kicad/code/kicad/issues/13717
2023-01-31 12:32:23 -08:00
jean-pierre charras
f8051d954a
Better handling of PCB_BITMAP items in a footprint.
...
- Ensure they can be erased in the FP editor
- Ensure they cannot be selected in the PCB editor (they are not show)
Fixes #13714
https://gitlab.com/kicad/code/kicad/issues/
2023-01-31 11:16:38 +01:00
Roberto Fernandez Bautista
44cfb1ea43
CADSTAR PCB: Don't create zero sized text items
...
Partially addresses https://gitlab.com/kicad/code/kicad/-/issues/13693
2023-01-30 19:56:22 +00:00
Roberto Fernandez Bautista
963e82ee7f
CADSTAR PCB: Correctly handle anticlockwise arcs
...
Also add some qa tests for EDA_SHAPE::SetAngleAndEnd
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13626
2023-01-30 19:56:22 +00:00
Jeff Young
50e9685490
Check for tented vias before expanding solder mask.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13705
2023-01-30 17:56:35 +00:00
Chris Morgan
ce06171561
Convert additional sprintf to snprintf
2023-01-30 16:22:03 +00:00
Marek Roszko
e928d72c3b
Fix relative step file export
...
Forgot to set the project relative path, and the library search path
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13696
2023-01-29 22:19:37 -05:00
vinsfortunato
5bdaf20af6
eagle: determine and use the minimum copper layer stackup count
...
Fixes: https://gitlab.com/kicad/code/kicad/issues/13484
2023-01-29 21:13:41 +00:00
Jon Evans
971abcfc1a
Fix DP meander placer when tuning from an uncoupled section
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12212
2023-01-28 22:25:46 -05:00
Wayne Stambaugh
68decdd4f2
Fix static event table derived object definitions.
2023-01-28 14:10:06 -05:00
Marek Roszko
d4a5e2caad
Fix crash when .kicad_pcb is renamed to .kicad_mod and load library attempted
...
Pick a random error message used elsewhere
2023-01-28 10:42:46 -05:00
Jon Evans
d04cda35c5
Handle hidden attribute in fp-lib-table
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13689
2023-01-28 09:23:25 -05:00
Jeff Young
b1018e8eeb
Relax no-zone-commands constraint on interactive placer tools.
...
These tools are initialized with an item (via/pad/microwave) so there's
no way to tell between during-placement and idle. Besides, they don't
update the ratsnest so they probably won't fall afoul of the original bug
(https://gitlab.com/kicad/code/kicad/-/issues/12736 ).
Fixes https://gitlab.com/kicad/code/kicad/issues/13686
2023-01-28 10:42:24 +00:00
Marek Roszko
4d811ba975
Enable layer arg for fp export svg
2023-01-27 23:45:42 -05:00
Jon Evans
b4994a7fa1
Locked shadows should not be on overlay
...
These are supposed to render under the component
and do not need to be pulled to the front for overlay.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12486
2023-01-27 22:09:42 -05:00
Ian McInerney
51c8f2c119
Fix library sort order in library viewers
...
The lib table returns a properly sorted list of libraries already, which
we just iterate through. A std::set is a sorted collection, but uses a
different sorting function than the lib table, so appending to a
std::set breaks the initial sorting that was done already.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13530
2023-01-27 23:39:50 +00:00
Kliment
f6dc48ead7
Pcbnew: Make "Substitute similarly named models" on by default in STEP export.
2023-01-27 23:32:23 +00:00
kliment
a3e3231605
Pcbnew: Increase the default size of the board setup dialog
2023-01-27 22:00:39 +00:00
Alex
8603c06ef3
Fix netnames.
2023-01-27 19:35:41 +03:00
Alex
13ce2ebf46
15% rendering optimization in PCB_TRACK::ViewGetLOD.
2023-01-27 18:37:43 +03:00
Jeff Young
8268234aa1
Reverse shown-source logic so we report if it's the netclass width.
...
(whether or not it's *also* the previous track width).
2023-01-27 15:31:02 +00:00
Jon Evans
675b6b5d5c
Fix logic error in ec4d377d
...
Also fixup goldens for importers for new default island mode
2023-01-27 10:16:56 -05:00
Jon Evans
ec4d377d15
Stop removing islands for fully-isolated zones
...
It is hard for a user to tell what is going on when their zone
just doesn't fill at all. We catch isolated areas in the DRC so
we can just leave them alone here until the zone has at least one
non-isolated filled area.
Also change default back to always remove islands to reduce confusion
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13271
2023-01-27 08:57:18 -05:00
Alex
e3fa447f0c
router: Remove extra qualification.
2023-01-27 11:56:23 +03:00
Alex
0ff6cb49d6
router: When dragging tracks, don't snap to parts of the original line.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10113
2023-01-27 11:06:36 +03:00
Alex
52edbf91dc
Better synchronization of various ratsnest visibility controls.
2023-01-27 10:01:12 +03:00
Alex
a872ed11bf
Fix paths for Copy default global library table.
2023-01-27 09:24:52 +03:00
Seth Hillbrand
a0236113da
Attempt fix to RATSNEST crash
...
We call 'RecalculateRatsnest' in multiple locations, this will
invalidate various pointers needed by VIEW::Redraw(). When this is
called through the normal connectivity routines, we have the mutex
locked to prevent conflict but we've added more locations that update
just the Ratsnest. The std::adopt_lock should take over the existing
lock when needed
Fixes https://gitlab.com/kicad/code/kicad/issues/13011
2023-01-26 17:32:38 -08:00
Seth Hillbrand
ec9e7eed90
Don't link DNP with Exclude from Pos files
...
Exclude from Pos file property follows the footprint but may be
different from the DNP property
Fixes https://gitlab.com/kicad/code/kicad/issues/13616
2023-01-25 13:54:12 -08:00
Seth Hillbrand
a6badd0313
Fix compile warning
2023-01-25 13:53:13 -08:00
Jeff Young
2312cf34c4
Pay attention to knockout text when adding to DRC Rtrees.
2023-01-25 18:34:03 +00:00
jean-pierre charras
b2f6c13b6a
Fp editor and Fp viewer: fix missing info on msg panel after loading a fp
...
Fix also duplicate/not used code
Fixes #11404
https://gitlab.com/kicad/code/kicad/issues/11404
2023-01-25 17:47:04 +01:00
Mike Williams
a76a4f9788
Router: don't unnecessarily change track widths on layer change
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13546
2023-01-25 09:34:17 -05:00
Marek Roszko
ae812bdf39
Try to use the theme setting for the cli pcb svg export
2023-01-24 22:57:28 -05:00
Jeff Young
e886ccacbd
Cleanup unused local variable.
2023-01-24 23:45:55 +00:00
Jon Evans
769afa6fe6
Properties: refactoring
2023-01-24 12:08:37 -05:00
Jon Evans
890103a012
Properties: Fix handling of mixed value selections
2023-01-24 11:51:26 -05:00
Simon Richter
05198b896f
Move PCB_EDIT_FRAME::ExchangeFootprint to pcb_edit_frame.cpp
...
No idea why it was in the dialog file, but there is no good reason for that.
2023-01-24 12:54:05 +00:00
Jeff Young
00e2bbac5a
Special-case net-ties for solder mask bridging.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13646
2023-01-24 11:33:08 +00:00
Jeff Young
b0ec006b81
The safety of running the event loop during doCloseWindow is debatable.
...
(Possibly a fix for Sentry KICAD-7T.)
2023-01-24 11:33:08 +00:00
Jeff Young
8eae75e8d6
Suppress handling of selection events until delete is done.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13451
2023-01-24 00:07:40 +00:00
Seth Hillbrand
e713a3eac2
Handle cleanup safely
...
Make sure that the connectivity has successfully completed before
attempting to merge segments. Also avoids reaching into the shared_ptr
if we don't need to
Fixes https://gitlab.com/kicad/code/kicad/issues/13639
2023-01-23 15:56:46 -08:00
Jon Evans
12b0a12d74
Handle DP checks for board minimum rules
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13640
2023-01-23 17:45:16 -05:00
Seth Hillbrand
efe12f2da5
Cleanup variable naming
...
Also remove ancient/unused code for lazy resolving
2023-01-23 22:21:12 +00:00
Seth Hillbrand
a9ed47f06c
Update KICAD6->KICAD7
2023-01-23 22:21:12 +00:00
Jeff Young
509b39e9e4
Propagate nets within non-conflicting clusters immediately.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13601
2023-01-23 16:25:29 +00:00
Jeff Young
ece775c53c
Blind/buried vias are drilled, and drilled holes need to avoid prior-burned holes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13627
2023-01-23 16:25:29 +00:00
Jeff Young
c430c88f9d
Immediate update of no-net objects when they're connected to something else.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13601
2023-01-23 16:25:29 +00:00
Jon Evans
4a55b7998a
Standardize on longer phrasing
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13514
2023-01-23 08:59:18 -05:00
Jon Evans
e11012fe06
Properties: show via friendly name
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13635
2023-01-23 08:56:21 -05:00
aris-kimi
09b83b95d0
PCB Editor: Locked filter unchecked by default
...
And some minor code style improvement in one place
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13246
2023-01-23 11:36:06 +00:00
jean-pierre charras
136c150460
plot_brditems_plotter: fix crash (null poiner use) when run from kicad-cli,
...
with a not initialized plotter render settings.
Fixes #13633
https://gitlab.com/kicad/code/kicad/issues/13633
2023-01-23 11:50:27 +01:00
jean-pierre charras
e0111f709b
Fix minor cosmetic issues in Print dialogs
...
Fixes #13629
https://gitlab.com/kicad/code/kicad/issues/13629
2023-01-23 09:21:23 +01:00
Jon Evans
1bc3f77d2e
Coverity fixes
2023-01-22 22:48:31 -05:00
Alex
1aca216f18
Add DRC suggestions for Via_Type
2023-01-23 05:14:06 +03:00
Alex
91d154cd28
Add DRC suggestions for Shape
2023-01-22 22:35:12 +03:00
Alex
05eafdc08b
Add missing DRC Type suggestions.
2023-01-22 22:35:12 +03:00
Jeff Young
bf8762c57c
Streamline color lookup (and a bit of wxS).
2023-01-22 17:18:03 +00:00
Jon Evans
09cb222252
Change indeterminate checkbox behavior to be more intuitive
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13604
2023-01-22 12:10:45 -05:00
Jon Evans
351f668645
Separate selection change updates from properties updates
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13624
2023-01-22 12:10:45 -05:00
Jeff Young
729b2deb5c
Use board layer names for properties grid.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13553
2023-01-22 15:47:57 +00:00
Marek Roszko
0ff32d20cd
wxS more things
2023-01-22 09:41:42 -05:00
Jeff Young
03a64492e8
Handle all member vars if not doing a std::swap on "this".
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13621
2023-01-22 13:00:18 +00:00
aris-kimi
86c12d35b4
Small order change for three View menu items
2023-01-22 01:04:17 +00:00
Jeff Young
005648f4db
The net inspector is a modeless panel, not a dialog.
...
No need for OK button.
2023-01-22 00:14:02 +00:00
Jeff Young
8a9a63134c
Minor dialog adjustments.
2023-01-22 00:14:02 +00:00
Jon Evans
3a9ef02fdf
Clean up handling of selection changes
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13620
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13609
2023-01-21 17:37:29 -05:00
jean-pierre charras
df4f9d4c94
FP editor: fix crash when trying to save a footprint after removing its library
...
Fixes #13619
https://gitlab.com/kicad/code/kicad/issues/13619
2023-01-21 18:18:38 +01:00
Jeff Young
12215647f1
Handler blind/buried/micro via drawing when all layers are hidden.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13607
2023-01-20 19:09:12 +00:00
Mike Williams
6586a2ca66
PCB Editor: prevent scroll wheel on track size opening board settings
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13218
2023-01-20 12:13:16 -05:00
Seth Hillbrand
34810d24a5
Remove unique dummy text
...
Text that will be replaced programmatically should be specified as
"dummy" in wxFormBuilder to avoid adding unneeded translation strings
2023-01-20 09:11:08 -08:00
Jeff Young
89d434255c
Run clearance rules for router status bar.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13605
2023-01-20 14:19:58 +00:00
Jeff Young
d9a90519f9
Flatten (and fix layout) of library table managers.
2023-01-20 14:19:58 +00:00
Jeff Young
24dd402e29
Finish processing last pad in pad group, and trim whitespace from pads.
2023-01-19 15:48:32 +00:00
Mike Williams
67eae77e9d
PCB/SCH/3D: Implement 3D cross-probing from schematic
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/3859
2023-01-19 10:39:47 -05:00
Mike Williams
b8352b07c5
PCB: Immediate mode copy should deselect if hover selecting
2023-01-19 09:45:47 -05:00
Seth Hillbrand
7e5a2450b8
Move multiple wxMessageBox to DisplayErrorMessage
...
Also provide protection for headless running in multiple callsites
Fixes https://gitlab.com/kicad/code/kicad/issues/13575
2023-01-18 16:54:01 -08:00
Seth Hillbrand
b99bd7633d
Allow commas, spaces in pad names for net-ties
...
Net tie groups are currently separated by comma. But comma is also an
allowed, albeit rare character for pad names. To allow pad names with
commas in net tie groups, the group definition must be escaped with a
forward slash for commas (and forward slashes).
Pad 1,2
Pad 2,3
Net-tie group "1\,2,2\,3"
Fixes https://gitlab.com/kicad/code/kicad/issues/13001
2023-01-18 14:45:52 -08:00
Seth Hillbrand
8f4486752d
Fix build error
2023-01-18 10:20:20 -08:00
Seth Hillbrand
7fa15b3fbb
Only update items that can be affected
...
When updating the view, don't force repaint all items. Changing the
line width only affects elements with lines
Fixes https://gitlab.com/kicad/code/kicad/issues/13579
2023-01-18 09:59:00 -08:00
Dag Lem
cff0560088
Eagle schematic import: Handling of escaped text
2023-01-18 12:33:36 +00:00
Jeff Young
3af9c658e6
Don't specify fonts in wxFormBuilder. It only leads to pain.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13547
2023-01-18 12:28:07 +00:00