Commit Graph

3117 Commits

Author SHA1 Message Date
Wayne Stambaugh c0d8657d97 Plot on all layers prep work.
We only need one bottom to top layer sequence definition.

Plot a sequence of layer IDs (LSEQ) in the order of the sequence.

Add helper method to layer set (LSET) to create a sequence of layer IDs
using another sequence for ordering.
2022-03-29 16:08:23 -04:00
Jeff Young b78a260326 Only write Allow DRC Violations if enabled.
Fixes https://gitlab.com/kicad/code/kicad/issues/11177
2022-03-29 19:31:02 +01:00
Jeff Young 6fa8cab188 Don't default to Annotate All just because the selection is empty.
Fixes https://gitlab.com/kicad/code/kicad/issues/11181
2022-03-28 17:52:50 +01:00
jean-pierre charras 9a342458fa Fix a few Coverity and compil warnings. 2022-03-26 16:21:23 +01:00
Jeff Young 92a229eec7 ADDED separate user-defined color for page limits.
Fixes https://gitlab.com/kicad/code/kicad/issues/5271
2022-03-24 14:11:41 +00:00
Seth Hillbrand 482dbcec54 All triangular trapezoid pads
A triangular trapezoid will have the deltaX/deltaY of the same size as
the length of that axis.  This creates a three-point polygon, which is
perfectly valid for our use

(cherry picked from commit 4e98ce87c7)
2022-03-22 13:39:55 -07:00
Jeff Young b3ae0fdca5 A little bit of nullptr safety.
Fixes https://gitlab.com/kicad/code/kicad/issues/11077
2022-03-21 20:07:33 +00:00
Jeff Young cf611f1742 Better safety around layersets. 2022-03-21 18:19:00 +00:00
Jeff Young 40e0c8257d Rotate textbox shape along with text.
Fixes https://gitlab.com/kicad/code/kicad/issues/11187
2022-03-21 18:19:00 +00:00
Seth Hillbrand 41c2a48802 Prevent crash on unplated holes
NPTH may not be flashed on any layer, so the set-layer-visible logic
shouldn't try to determine their layer for showing.

Fixes https://gitlab.com/kicad/code/kicad/issues/11193
2022-03-21 10:39:33 -07:00
Jeff Young 476f1a7d4d Preload PCBnew find with selection when appropriate. 2022-03-19 19:37:01 +00:00
jean-pierre charras 6bf47e44e4 pcbnew: DIALOG_PRINT_PCBNEW: activate right click context menu inside layer list. 2022-03-19 08:10:17 +01:00
Seth Hillbrand 3b6e8464c2 Fix expand variables for built-in
Allow falling back to the alternate variable definitions if the built-in
text block variables are not set.

Also push the project into variable resolution when plotting

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

(cherry picked from commit c44d31fcfb)
2022-03-18 16:47:18 -07:00
Jeff Young 5aa561abe1 Add overlapping pad test and share some tests between board & fp editor DRC.
Fixes https://gitlab.com/kicad/code/kicad/issues/10086
2022-03-18 19:58:42 +00:00
Jeff Young dc39703d0e Bring pcbnew print dialog in line with plot.
Fixes https://gitlab.com/kicad/code/kicad/issues/2171
2022-03-18 13:37:20 +00:00
Jeff Young c4c8848fa3 Performance enhancements for Cleanup Tracks & Vias.Performance enhancements for Cleanup Tracks & Vias.Performance enhancements for Cleanup Tracks & Vias.Performance enhancements for Cleanup Tracks & Vias.Performance enhancements for Cleanup Tracks & Vias.Performance enhancements for Cleanup Tracks & Vias.Performance enhancements for Cleanup Tracks & Vias.Performance enhancements for Cleanup Tracks & Vias.Performance enhancements for Cleanup Tracks & Vias.
Fixes https://gitlab.com/kicad/code/kicad/issues/11119
2022-03-18 11:04:53 +00:00
Jeff Young 62f813fddc Better error reporting for PTH pads. 2022-03-16 14:56:32 +00:00
Jeff Young a81c8d4922 Save pointer to markers provider.
Fixes https://gitlab.com/kicad/code/kicad/issues/11136
2022-03-14 22:13:39 +00:00
jean-pierre charras c34dc13a8e Rework on DIALOG_CLEANUP_TRACKS_AND_VIAS: do not immediately run the cleanup engine.
The cleanup engine is now run on request, before options are selected.
Needed for large boards because the calculation time can be significant.
2022-03-14 18:12:44 +01:00
Jeff Young 7ab4d67e94 Make sure line style comboboxes get a default entry.
Fixes https://gitlab.com/kicad/code/kicad/issues/11083
2022-03-11 23:19:16 +00:00
jean-pierre charras 2bf56c2441 DIALOG_GLOBAL_DELETION and teardrop.cpp: fix incorrect call to GetLayer() for ZONES 2022-03-11 11:16:09 +01:00
Fabien Corona d452f79860 pcbnew: search for nets
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10601
2022-03-10 23:12:30 +00:00
jean-pierre charras 016af235db Pcbnew: add a GAL layer (LAYER_LOCKED_ITEM_SHADOW) to draw markers on locked footprints 2022-03-09 17:54:58 +01:00
Jeff Young 293021c58c ADDED: knockout pcb and fp text.
Fixes https://gitlab.com/kicad/code/kicad/issues/7055
2022-03-08 13:22:20 +00:00
Jeff Young bf44ae907b Minor fix for dialog. 2022-03-07 10:26:18 +00:00
Frank Palazzolo 3cb1a689a7 pcbnew: Fix Bezier "Add Primitive" in Pad Creation Dialog 2022-03-06 00:35:53 +00:00
jean-pierre charras cc5493e91e DIALOG_COPPER_ZONE_BASE: better tool tip. 2022-03-05 18:23:08 +01:00
jean-pierre charras 3bb1fd8311 Teardrops: fixes and enhancements:
- do not allow smoothing outlines: outlines are already optimized.
- do not allow settings incompatible with teardrop area (grid, thermal relief)
- DIALOG_COPPER_ZONE: export zone settings to similar zones only.
Fixes #11040
https://gitlab.com/kicad/code/kicad/issues/11040
2022-03-05 17:18:42 +01: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 2d1fa48a73 Improve solder paste tooltips.
Fixes https://gitlab.com/kicad/code/kicad/issues/10585
2022-03-03 23:08:36 +00:00
Jeff Young ec5b7a57ec Consistency in via dimensions terminology.
Fixes https://gitlab.com/kicad/code/kicad/issues/11024
2022-03-03 22:40:18 +00:00
Jeff Young 661488e932 Be more cognizant of multi-layer items. 2022-03-01 12:02:17 +00:00
Seth Hillbrand fab78af176 Remove TEDIT
This marker is not used in KiCad and creates merge conflicts when two
different users edit the same file
2022-03-01 00:25:44 +00:00
Jeff Young 2c6a2c3479 Repair tab order in Footprint Properties dialog.
Fixes https://gitlab.com/kicad/code/kicad/issues/10978
2022-02-26 16:41:22 +00:00
jean-pierre charras e61c48fbf2 DIALOG_BOARD_STATISTICS: Reset the drill count list before recalculations.
Fixes #10984
https://gitlab.com/kicad/code/kicad/issues/10984
2022-02-26 17:03:48 +01:00
Jeff Young 714c65275c Initial focus for Get and Place Footprint.
Fixes https://gitlab.com/kicad/code/kicad/issues/10230
2022-02-25 21:54:38 +00:00
jean-pierre charras c924b0155e DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS: fix a wx alert. 2022-02-24 19:33:29 +01:00
Jeff Young d465eb6425 ADDED: automatic zone refilling.
This is for the out-of-box experience for novice users.  It is presumed
that folks with larger more complicated boards will turn it off.

Fixes https://gitlab.com/kicad/code/kicad/issues/6413
2022-02-24 18:16:45 +00:00
Jeff Young a36bc27e6d Fix a couple of asserts. 2022-02-23 17:38:51 +00:00
Jeff Young 78ae3d286a Fix merge damage. 2022-02-20 21:25:50 +00:00
Jeff Young 866fade4ab Remove unnecessary validations.
Not sure if this will fix the bug or not as I can't reproduce it, but
I'd say odds are pretty good.

Fixes https://gitlab.com/kicad/code/kicad/issues/10467
2022-02-20 20:54:47 +00:00
jean-pierre charras 5efd29d6f4 Optimize DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS: a time consuming call (OnModify())
was made for each item change.
It is now made only once.
Fixes #10905
https://gitlab.com/kicad/code/kicad/issues/10905
2022-02-20 20:07:33 +01:00
jean-pierre charras b184b43431 PCB_DIM_ALIGNED and DIALOG_DIMENSION_PROPERTIES: fix bad text rotation.
Fixes #10901
https://gitlab.com/kicad/code/kicad/issues/10901
2022-02-19 10:24:44 +01:00
Jeff Young 8f670552a6 Allow Rule Areas on all physical layers.
Required to do things like modify silk_clearance rules.
2022-02-17 23:59:09 +00:00
Jeff Young 4966e2ebc2 Fix collapsing name column in Net Inspector. 2022-02-17 23:59:09 +00:00
Jeff Young 8d19b52aed Line stroking for 3D view.
Fixes https://gitlab.com/kicad/code/kicad/issues/10887
2022-02-17 18:02:56 +00:00
Mikolaj Wielgus 9fae9e8afc Fix sizing of the two last columns in drill statistics table 2022-02-15 17:19:11 +01:00
Mikolaj Wielgus 7632c0cf6f Fix board statistics drill grid column sizing
And remove the horizontal scrollbar.
2022-02-15 01:40:53 +01:00
Seth Hillbrand d2dc1f4623 Format string for translation
(cherry picked from commit 6147e997ff)
2022-02-14 09:19:02 -08:00
jean-pierre charras 0eddbe02c1 DIALOG_NETLIST_IMPORT: minor fix 2022-02-14 07:53:00 +01:00
Graham Keeth 4442f76add update custom rule syntax help to make diff pair rule examples clearer 2022-02-13 13:47:18 -05:00
Jeff Young 022e7385f9 Beautify the Rule Area Properties dialog. 2022-02-13 18:16:13 +00:00
jean-pierre charras cdd32df3a0 Import netlist: fix issues: do not read netlist before it is selected.
Now the netlist must be explicitly selected and read instead of beeing
read during dialog creation.
It also avoid a useless netlist read when closing the dialog or trying
to change the netlist filename.
2022-02-13 16:04:38 +01:00
Jeff Young a2ca8cf413 Improve SNR. 2022-02-12 18:38:11 +00:00
jean-pierre charras e742eea7ed DIALOG_NON_COPPER_ZONE and DIALOG_RULE_AREA_PROPERTIES: add option to set the pitch
of hatches around the zone outlines
2022-02-12 18:57:03 +01:00
jean-pierre charras d553d620c1 DIALOG_COPPER_ZONE: add option to set the pitch of hatches around the zone outlines
This parameter exists since the beginning, but never show in this dialog
2022-02-12 18:57:02 +01:00
Jeff Young 3deaf902bb Retire the V5 zone fill algorithm.
Fixes https://gitlab.com/kicad/code/kicad/issues/10578
2022-02-11 13:10:52 +00:00
Jeff Young ca56de7816 Show DRC overflows in both tab titles and number badges.
Fixes https://gitlab.com/kicad/code/kicad/issues/10617
2022-02-09 17:04:32 +00:00
jean-pierre charras 534dc1ba8a DRC dialog: very minor enhancement: add a busy cursor during tests. 2022-02-08 07:33:01 +01:00
Seth Hillbrand 162545ddf0 Validate arc output when editing
Handles checking output of the arc to ensure we don't end up generating
an invalid arc.  Also keeps the limit of the arc angle to be (360,360)
excluding 0.

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

(cherry picked from commit 8fc831cbc2)
2022-02-07 08:55:53 -08:00
Jeff Young e59aaf05c6 Make sure that GetConnectedItems searches from the root item.
Fixes https://gitlab.com/kicad/code/kicad/issues/10583
2022-02-06 19:43:25 +00:00
Jeff Young 7ccac79192 More wxString wide literals. 2022-02-05 21:29:34 +00:00
Seth Hillbrand 57df1b469a Allow dialogs to force evaluation of UNIT_BINDER
When setting previous values, we don't get the "OnFocus" event, so the
evaluation would not get triggered by simply repeating (using the
keyboard)

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

(cherry picked from commit 4c81307391)
2022-02-04 10:04:54 -08:00
Seth Hillbrand 6905cfb95b Update error message to match new arc dialog
We now provide arc end points and interior angle, so we cannot check for
null radius in the same fashion.  Instead, the starpoint==endpoint
indicates a zero radius

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

(cherry picked from commit ef94f31204)
2022-02-03 14:32:23 -08:00
Seth Hillbrand a2f845a41c Handle invalid pads more gracefully
Pads generated outside of KiCad may have self-intersecting polygons that
simplify to multiple sets.  We handle this by adding multiple primitives
for such polygons and limiting our fracture calls to only polygons that
have holes

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

(cherry picked from commit 6d84acfacd)
2022-02-02 13:40:07 -08:00
Jeff Young bebfbce9b2 Move pcb file rep of text_boxes to strokes. 2022-02-01 16:29:59 +00:00
Seth Hillbrand 56d204c4c9 Revise transferDataToPad to return False on failure
When the data doesn't allow the pad to be drawn, we return false and
skip the redraw/update steps.  This allows updating with invalid values
while typing

Fixes https://gitlab.com/kicad/code/kicad/issues/10684
2022-01-31 17:02:10 -08:00
Jeff Young 5739505aa3 TextBoxes for PCBNew. 2022-01-31 20:00:47 +00:00
Jeff Young 60bcfd1bf1 Bug fixes in arc & textbox printing.
Also removal of the no-longer-used clipping code from GR*.
2022-01-31 20:00:47 +00:00
Jeff Young 0036f44e37 Support (and save/recall) zoom in/out in Custom Rules editor.
Fixes https://gitlab.com/kicad/code/kicad/issues/5796
2022-01-28 21:38:15 +00:00
jean-pierre charras 5b8eb8f9ec SVG plotter rework: use mm as units in file. Remove useless inch option.
Use 4 digits in mantissa as default and when exporting SVG.
Allow 0 as line width: this is the right value to draw filled shapes with no outline thickness.
2022-01-28 19:33:51 +01:00
jean-pierre charras 2345e09a12 Pcbnew, export svg: Fix incorrect saving of layer set. 2022-01-27 13:03:00 +01:00
Jeff Young e5d5ee07f0 Resolve textvars in plot directory.
Fixes https://gitlab.com/kicad/code/kicad/issues/10405
2022-01-23 18:14:07 +00:00
Jeff Young 8838a3cb81 When focusing on Unconnected Items use ratsnest endpoints.
(instead of item centers)

Fixes https://gitlab.com/kicad/code/kicad/issues/9233
2022-01-23 18:14:07 +00:00
Jeff Young 29841ba315 Bring ERC & DRC dialogs into parity.
Fixes https://gitlab.com/kicad/code/kicad/issues/9350
2022-01-22 22:27:41 +00:00
Seth Hillbrand 881af75029 Always use the project directory for default save
Fixes https://gitlab.com/kicad/code/kicad/issues/10478

(cherry picked from commit dd7029ea07)
2022-01-20 11:51:45 -08:00
Jeff Young af20d46d06 Fix converting angles from tenths of a degree.
(Conversion was upside-down.)

Also fixes bugs with rotation angle increment not getting units
set and with a 0 footprint editor value overwriting a non-zero
pcb editor value (or vice versa).
2022-01-19 19:55:50 +00:00
Jeff Young 9d5322cfdf Move rotation angle increments to UNIT_BINDER and EDA_ANGLE. 2022-01-19 15:15:33 +00:00
Jeff Young 038db715a3 Move zone hatch orientation to EDA_ANGLE. 2022-01-19 00:34:03 +00:00
Jeff Young 0091c76a6f Excise deci-degrees from UNIT_BINDER.
Fixes https://gitlab.com/kicad/code/kicad/issues/10495
2022-01-19 00:10:32 +00:00
Jeff Young 60fc75e239 Don't findnext on an empty string; show the dialog.
Fixes https://gitlab.com/kicad/code/kicad/issues/10313
2022-01-18 18:59:40 +00:00
Thomas Pointhuber 2cc9517cfd altium: Allow extraction of names of footprints stored in *.PcbLib file
See: https://gitlab.com/kicad/code/kicad/-/issues/10274
2022-01-17 19:51:51 +01:00
Jeff Young e61144d45a Finish with EDA_ANGLE. 2022-01-16 21:15:40 +00:00
Jeff Young 4b7fe5bce3 EDA_ANGLE cleanup. 2022-01-16 21:15:40 +00:00
dsa-t bc1ff6756f Cross-probing/selection for multiple items (SCH->PCB) 2022-01-16 20:29:03 +00:00
Jeff Young e84c574830 Some more EDA_ANGLE cleanup. 2022-01-16 19:16:18 +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 1b19ff5f42 More EDA_ANGLE changes. 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
Jeff Young 267eca28cd Font support for global edit text & graphics dialogs. 2022-01-11 15:34:24 +00:00
Seth Hillbrand acf2e1601c Fix copy-paste error
(cherry picked from commit 8dca61ce9c)
2022-01-11 06:08:38 -08:00
Seth Hillbrand 70b0ac15ea Handle arcs in global track width changes
Also add defensive code against invalid indices

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

(cherry picked from commit bd7841bf96)
2022-01-10 17:20:22 -08:00
Jeff Young 21790fcab7 Fix a pair of dereference-freed-pointers in DRC.
Fixes https://gitlab.com/kicad/code/kicad/issues/10335
2022-01-10 21:06:03 +00:00
Seth Hillbrand 6165fd2be5 Fix FP circle validity check
Radius is encoded by m_endX

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

(cherry picked from commit 4907b90215)
2022-01-10 10:54:45 -08:00
Jeff Young 7d032f9c2f Outline font rendering for Cairo, plotter, printer and 3D viewer.
Fixes https://gitlab.com/kicad/code/kicad/issues/10319
2022-01-10 01:54:28 +00:00
Jeff Young 3c60b92472 Add custom rule examples from Martin Straub. 2022-01-09 11:34:20 +00:00