Jeff Young
0f359c8a3b
Careful of calculated fields when comparing board FPs with library.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10143
2022-03-17 13:19:25 +00:00
Seth Hillbrand
442aae19d9
Separate flashing check for connectivity
...
When building the connectivity database, we should not be using the
connectivity to check for shapes.
To make this deterministic, we introduce two flags (ALWAYS_FLASH and
NEVER_FLASH) that are used with connectivity building to determine
whether a pad is flashed for connectivity or not. ZONE <-> PAD/VIA
connectivity will be checked with ALWAYS_FLASHED and all other
connectivity will be checked with NEVER_FLASHED if they are marked for
potential annular ring removal. If they are not marked for removal,
they will be checked ALWAYS_FLASHED.
Fixes https://gitlab.com/kicad/code/kicad/issues/11114
2022-03-16 17:30:01 -07:00
Jeff Young
4225f92573
Slight improvements to via drawing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8717
2022-03-16 14:56:32 +00:00
Jeff Young
62f813fddc
Better error reporting for PTH pads.
2022-03-16 14:56:32 +00:00
Jeff Young
cabcaf933c
Cleanup.
2022-03-16 14:56:32 +00:00
Jeff Young
fa5a484797
Remove unused variable.
2022-03-16 14:56:32 +00:00
Jeff Young
f596ae3487
Allow mechanical-clearance checks between edge_cuts and other layers.
2022-03-16 14:56:32 +00:00
jean-pierre charras
567fd5ba74
Specctra import/export: fix some issues (tested only with FreeRouter):
...
- Better handling of locked tracks than commit cbb6ca85
- Locked tracks are now exported with attribute "fix".
- Incorrect view cleaning
- Fix memory leak.
2022-03-16 12:31:45 +01:00
Jeff Young
600dcd31ad
Allow track board edge clearance violations inside the holes of castellated pads.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10970
2022-03-15 00:05:23 +00:00
Jeff Young
8d682002c3
Fix previous breakage from shared_ptr going out of scope.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10970
2022-03-14 23:57:50 +00:00
Jeff Young
cbb6ca8500
Import specctra track locking.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11070
2022-03-14 23:02:19 +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
Jeff Young
e7bf4ab8fa
Separate board-edge silk clearance from mask-edge silk clearance.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10970
2022-03-14 20:19:09 +00:00
Jeff Young
2ec21c7720
Don't check for board edge collision on castellated pads.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10970
2022-03-14 20:19:09 +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
65185f53a1
Rotate fp zones before comparing with library versions.
...
Also includes some performance fixes to not copy around triangulation
data when it's not needed.
Fixes https://gitlab.com/kicad/code/kicad/issues/10143
2022-03-14 15:53:24 +00:00
Marek Roszko
d74a0cdaa3
Don't pre-scale the line width
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11122
2022-03-13 23:08:28 -04:00
Jeff Young
ced1e68ea1
A bit of wxT().
2022-03-13 16:09:06 +00:00
Jeff Young
06c1bccccd
Exclude hidden text from selection in FP Editor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11111
2022-03-12 23:29:01 +00:00
Jeff Young
db0b733be5
Clear DRC caches before running soldermask tests again.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10922
2022-03-12 19:44:34 +00:00
jean-pierre charras
7fb4a2c0a5
CONNECTIVITY_DATA::IsConnectedOnLayer(): fix crash in some cases.
...
Fix crash when a zone do not have filled areas on a given layer.
2022-03-12 19:31:46 +01:00
Marek Roszko
b8557e77ee
Tweak the "pyd" extension if for windows to be completely inclusive
2022-03-12 09:22:01 -05:00
Jeff Young
0a8718cd1d
Fix issue when we ask if a pad is connected to a zone we're in the middle of filling.
2022-03-12 14:17:53 +00:00
Jeff Young
89e61ff73b
More performance enhancements for DRC.
2022-03-12 14:17:52 +00:00
Jeff Young
e03b06927d
Fix rotation problems for knockout fp text, and implement 3D rendering.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11086
2022-03-12 14:17:52 +00:00
jean-pierre charras
f14ef477cc
Fix a incorrect filename in a copy command (MSW specific).
...
Also fix a regression and respect the KICAD_BUILD_QA_TESTS build option.
2022-03-12 11:04:57 +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
Jeff Young
6f555b6258
wxT() and some cleanup in DRC.
2022-03-11 23:19:16 +00:00
Wayne Stambaugh
eec528ae48
Fix GCC build error on Linux.
2022-03-11 17:03:01 -05:00
Jeff Young
ae307e1b34
Parallelize DRC triangulation, keepout processing, and sliver checking.
...
Also fixes issue with adding fractured polygons in sliver checking which
slowed the board from hell down to less than a crawl.
2022-03-11 20:52:11 +00:00
Jeff Young
6ce1399811
Redraw pads when mask or paste layer is visible after board setup.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11079
2022-03-11 20:52:11 +00:00
Thomas Pointhuber
79aafd1bd3
altium: support keepout restrictions in Arcs, Fills and Regions
2022-03-11 19:15:58 +01:00
jean-pierre charras
8d05ca5982
Teardrop rework: avoid refill zones on a not updated connectivity data.
...
- Teardrops have now just their shape filled (much faster than a full refill)
- The full zone refill is no longer made after recreating teardrops.
- this is more compatible with the option Auto-refill zones"
Fixes #11106
https://gitlab.com/kicad/code/kicad/issues/11106
2022-03-11 16:12:27 +01: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
Seth Hillbrand
f218da6ea5
Help repair invalid rotation settings
...
We had a period where we were writing invalid rotations leading to
values too large by a factor of 100. This clamps the stored values
while repairing those affected
Fixes https://gitlab.com/kicad/code/kicad/issues/11090
2022-03-10 09:44:26 -08:00
Jeff Young
eb9ccea559
Performance improvement.
2022-03-10 13:46:42 +00:00
jean-pierre charras
0440aa3d83
Extend layer LAYER_LOCKED_ITEM_SHADOW to draw shadow markers on other locked items:
...
tracks, texts, graphics.
2022-03-09 18:50:31 +01: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
jean-pierre charras
e37bb2e0c3
swig: disable a few warnings generated by pcb_shape.i, math.i and version.i
2022-03-09 17:29:29 +01:00
Jeff Young
663edcf665
Better progress indication for board from hell.
2022-03-09 14:30:21 +00:00
jean-pierre charras
878c70c1ab
Pcbnew: fix erroneous IslandRemovalMode default mode in board files.
...
The default is ISLAND_REMOVAL_MODE::ALWAYS in *.kicad_pcb files
2022-03-09 13:17:18 +01:00
jean-pierre charras
e7f379c31d
Pcbnew, Knockout texts: fix issues seen with rotated texts.
...
Fixes #11085
https://gitlab.com/kicad/code/kicad/issues/11085
2022-03-09 11:22:05 +01:00
Jeff Young
e4b56ab7f1
Performance fixes for the board from hell....
2022-03-08 23:54:34 +00:00
Jeff Young
392a3ec131
Fix typo which leads to catastrophic performance on boards with tons of zones.
2022-03-08 20:16:37 +00:00
Jeff Young
f6dac9eb13
Support text knockouts in non-copper zones.
2022-03-08 18:06:41 +00:00
Jeff Young
40fd8860fe
Plotting (and some bug fixes) for knockout text.
2022-03-08 18:06:41 +00:00
jean-pierre charras
b6aa5bd1ed
Pcbnew: PCB_TEXT: save the Locked flag in file.
...
Previously, one could lock a graphic text on a board, but the lock state was not saved.
2022-03-08 17:35:26 +01:00
jean-pierre charras
bafd8ac9d5
plot_board_layers.cpp: Add missing layers (USer_x) in list
...
Fixes #11072
https://gitlab.com/kicad/code/kicad/issues/11072
2022-03-08 14:41:10 +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
Seth Hillbrand
6934bc124c
Move temp save files to temporary directory
...
Avoid excess writes to the project directory to dodge issues with remote
file systems not fully writing data.
wxRename works across disk boundaries (in theory) and falls back to
wxCopy/wxRemove when it fails
Fixes https://gitlab.com/kicad/code/kicad/issues/10747
2022-03-07 20:13:28 -08:00
Jeff Young
bf0f2aa4a8
Adjust bitmap text spacing a bit so it's closer to the stroke font.
...
This helps the text better match the highlighting when it gets small
enough that we switch to the bitmap font for performance.
2022-03-07 20:30:50 +00:00
Thomas Pointhuber
a9ebb42ecd
altium: Parse keepout restrictions of tracks
2022-03-07 19:58:43 +01:00
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
bf44ae907b
Minor fix for dialog.
2022-03-07 10:26:18 +00: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
jean-pierre charras
dbfdd3fb56
Fix some Coverity warnings.
2022-03-06 09:48:33 +01:00
Frank Palazzolo
3cb1a689a7
pcbnew: Fix Bezier "Add Primitive" in Pad Creation Dialog
2022-03-06 00:35:53 +00:00
Jeff Young
1fc99dd2c0
Don't call GetLayer() on a multi-layer object.
2022-03-05 23:07:43 +00:00
Jeff Young
23088e6e1a
Minor performance enhancements for zone filler.
...
Be smarter about not knocking out some classes of pads twice.
2022-03-05 20:32:08 +00:00
Jeff Young
fed5bcbdf6
Improvements for pads/vias in zones which knockout other zones.
...
1) Drop tiny islands which might cause connection problems.
2) Cleanup some dead code in filler
3) Don't estabilish a connection to an island that is fully covered
by whatever its connecting to.
Fixes https://gitlab.com/kicad/code/kicad/issues/11036
2022-03-05 18:59:53 +00:00
Jeff Young
878c4d2f6b
Must clear arcs before calling Clipper.
2022-03-05 18:59:53 +00:00
Jon Evans
cb6d6d7ef4
Settings: allow multiple project access from Python standalone
...
We can't handle this in the UI, but we can externally, so allow
it for Python scripting and eventually we'll use this in the UI
also...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10540
(cherry picked from commit 1394509734
)
2022-03-05 13:04:19 -05:00
jean-pierre charras
69453964b4
pcbnew_scripting_helpers: fix a potential crash when running a script outside kicad.
...
BOARD* LoadBoard( wxString& aFileName, IO_MGR::PCB_FILE_T aFormat ) crashes if a
old project file (*.pro) exists and the *.kicad_pro file doses not exists.
The crash happens when trying to convert the old config outside kicad.
2022-03-05 18:26:33 +01: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
c18d9b9baf
Normalize `IsInsideCourtyard`
2022-03-04 15:49:02 -08:00
Seth Hillbrand
cd7141fd10
Cache read arc data for stability
...
Arcs can be altered by the process of changing from on-disk
representation to in-memory representation. Saving back to disk without
modifying the arc should not modify the calculated values.
This stores a copy of the on-disk representation that is only used to
save back to disk in the event that the arc is not modified during
editing.
Fixes https://gitlab.com/kicad/code/kicad/issues/10442
2022-03-04 15:20:31 -08:00
Seth Hillbrand
8218f9ab44
Finally found the intermittant QA crash
...
When loading footprints/zones in parallel, we cannot reference a static
vector that gets cleared by other threads.
It is unclear why this element was ever static to begin with (premature
optimization?) but it has been this way for a long time. We never
noticed until we threaded load cycles, which gave the hatch a chance to
override itself and cause crashes
Fixes https://gitlab.com/kicad/code/kicad/issues/9888
2022-03-04 11:37:49 -08:00
jean-pierre charras
006e1be69c
ZONE: display number of vertices on the info panel (regression fix)
...
This is a useful info because the calculation time depend on this number.
2022-03-04 10:42:32 +01:00
Seth Hillbrand
e7673f7198
Remove unneeded condition to rotate
...
The condition that the board must have elements on it before allowing
the rotate command is invalid as we allow rotating new elements before
placement
Fixes https://gitlab.com/kicad/code/kicad/issues/10581
(cherry picked from commit c1dcfdffb1
)
2022-03-03 16:04:22 -08: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
c4b6801f3a
Improve some strings and measurements.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10482
2022-03-03 22:40:18 +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
Seth Hillbrand
9d927f3135
Check for additional connections between tracks
...
Prevents removal when a track is connected not just to other tracks but
also other connected items
Fixes https://gitlab.com/kicad/code/kicad/issues/10916
2022-03-03 12:07:20 -08:00
jean-pierre charras
27db23eba0
FP_TEXT::ViewGetLOD() fix incorrect test (LAYER_MOD_VALUES color has no matter)
...
Fixes #11026
https://gitlab.com/kicad/code/kicad/issues/11026
Fixes #11028
2022-03-03 11:57:19 +01:00
Tomasz Wlostowski
adace996f4
qa/pns: refactored the P&S debug tool:
...
- factored out 'business' code from the UI code
- moved to the new DEBUG_DECORATOR interface
- UI-less log file and log player classes as a step towards P&S unit tests
2022-03-03 01:02:00 +01:00
Tomasz Wlostowski
45f7cf9571
router: rework the DEBUG_DECORATOR a bit:
...
- support for dumping complete PNS::ITEMs and generic SHAPEs
- support for log nesting levels
- wxT-ized strings
- more verbose output where needed
2022-03-03 01:02:00 +01:00
Tomasz Wlostowski
b6fc96c1d5
pcbnew: check for null SETTINGS in RATSNEST_VIEW_ITEM (prevents crash in the P&S debug tool)
2022-03-03 01:02:00 +01:00
Seth Hillbrand
2fafa55647
Maintain width of converted tracks
2022-03-02 10:45:53 -08:00
Seth Hillbrand
7e836ae27a
Select the copper layer before processing
...
If we are converting to tracks, the copper layer needs to be selected
before any other elements are processed, otherwise, we end up with the
default undefined layer
Fixes https://gitlab.com/kicad/code/kicad/issues/11025
(cherry picked from commit 9396735733
)
2022-03-02 10:41:44 -08:00
Jeff Young
513486b0ec
Overhaul show no-net indicators logic.
...
It doesn't appear that it was ever finished the first time around.
Fixes https://gitlab.com/kicad/code/kicad/issues/11020
2022-03-02 18:28:39 +00:00
Jeff Young
6b806bbe9c
Make sure Cleanup handles shapes other than segments.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10955
2022-03-02 18:28:39 +00:00
Seth Hillbrand
4d6c2e4868
Update end item before moving on track/via change
...
The move even dereferences m_enditem for logging and perhaps other
actions. We need to ensure that the end item has not been invalidated
before taking this action
Fixes https://gitlab.com/kicad/code/kicad/issues/10732
(cherry picked from commit 901c330478
)
2022-03-02 09:23:15 -08:00
Jeff Young
495b42c39f
Fix logic error. Footprint is sometimes the item and sometimes its parent.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10949
2022-03-01 21:18:01 +00:00
Jeff Young
298940e3d3
Switch zone auto-fill default to false.
2022-03-01 19:27:00 +00:00
Jeff Young
0677ef6510
Default isolated copper DRC violation to a warning.
2022-03-01 19:21:09 +00:00
Jeff Young
1966972fc1
Retire no-pads warning in favour of defaulting to area-based remove islands strategy.
2022-03-01 19:19:18 +00:00
Jeff Young
c4143b0ff6
Reconcile two different printing bug fixes.
...
a9f092b370
6f5cb1f97d
Fixes https://gitlab.com/kicad/code/kicad/issues/11004
2022-03-01 17:28:37 +00:00
Jeff Young
bbfbfc2cd2
High-contrast mode: don't render vias that don't cross high-contrast layer.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8740
2022-03-01 16:00:28 +00:00
Jeff Young
843a56c4e4
Implement two-staged zone priority: assigned priority followed by UUID.
2022-03-01 14:53:35 +00:00
Jeff Young
914e706023
Replace zone-with-no-pads test with isolated copper test.
...
The later is far more discriminating.
Fixes https://gitlab.com/kicad/code/kicad/issues/11009
2022-03-01 12:02:17 +00:00
Jeff Young
661488e932
Be more cognizant of multi-layer items.
2022-03-01 12:02:17 +00:00
Jeff Young
a4a3f6ff74
Fix zone/connectivity deadlock.
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
58b8d63ff8
Draw boundary based on first zone layer.
2022-02-28 21:40:36 +00:00
Jeff Young
69a6033905
Hysteresis for track netnames.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10416
2022-02-28 21:11:01 +00:00
jean-pierre charras
aa0787f2b4
Gerber plotter: fix broken plot of SHAPE_LINE_CHAIN with arcs.
...
Also simplify SHAPE_T::POLY plot.
Fixes #10989
https://gitlab.com/kicad/code/kicad/issues/10989
2022-02-28 18:10:16 +01:00
Jeff Young
1f16092e29
Infobar warning if symbol loading was cancelled.
...
Also makes sure the progress dialog is closed when we're done reading
symbols (it used to stay up for much of the symbol editor initialization).
Also makes sure that any cancel in the preLoad step is honoured in the
sync step. (The preload is done because it is multi-threaded and therefore
faster than the single-threaded sync.)
Also makes sure that individual threads pay attention to the cancellation,
not just the GUI thread.
Fixes https://gitlab.com/kicad/code/kicad/issues/8372
2022-02-27 17:06:08 +00:00
Jeff Young
d299ddbc7e
Cleanup.
2022-02-27 12:05:39 +00:00
jean-pierre charras
8de4f762e1
svg importer: fix a crash when importing some files with no graphic item
2022-02-27 09:59:42 +01:00
jean-pierre charras
a178de8744
FP editor: fix crash when trying to export a footprint to the board editor.
2022-02-27 08:38:19 +01:00
Jeff Young
ae85f57577
Drop a knee between tracks to a single item when dragging.
...
This prevents the disambiguation menu from coming up when we don't
really care which element we start the drag on.
Fixes https://gitlab.com/kicad/code/kicad/issues/10745
2022-02-26 22:54:23 +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
89c14f01f7
Repair algorithm to avoid slow movement issue.
...
This goes back to the previous code for this one part.
Fixes https://gitlab.com/kicad/code/kicad/issues/10976
2022-02-26 15:58:44 +00:00
jean-pierre charras
0e00ca31ea
APPEARANCE_CONTROLS: fix missing update when toggling a layer view.
...
Fixes #10977
https://gitlab.com/kicad/code/kicad/issues/10977
2022-02-26 10:36:57 +01:00
Seth Hillbrand
c9746fb34b
Handle list double-click without shortcuts
...
The LIST_DCLICK event can be fired by spacebar or enter in GTK. This
conflicts with using the spacebar to reset local coordinates. Instead,
we capture the double-click event manually to add the footprint to the
board
Fixes https://gitlab.com/kicad/code/kicad/issues/5714
Fixes https://gitlab.com/kicad/code/kicad/issues/10633
(cherry picked from commit ff6f398607
)
2022-02-25 16:53:27 -08:00
Seth Hillbrand
535ea800c0
Honor modifier keys in diambiguation
...
Needs to be reset for the new action before selecting elements at a
point.
Fixes https://gitlab.com/kicad/code/kicad/issues/9712
(cherry picked from commit a30ad0b54a
)
2022-02-25 16:16:15 -08:00
Steffen Mauch
78620347c8
Fixing Eagle refs that do not work with KiCad
...
KiCad has stricter requirements for what consititutes an annotated
symbol. This checks for and corrects annotations that begin with '#',
do not begin with a non-numeric character or do not end with a number
2022-02-25 23:42:47 +00: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
Seth Hillbrand
283aaff2df
Use board polygon instead of bbox for size
...
Board BBox uses the visible size of the board, which includes edge cut
thickness. This is not appropriate for the Board characteristics.
Using the outline polygon gives accurate results and falls back to a
bounding box in the case where the outline is invalid
Fixes https://gitlab.com/kicad/code/kicad/issues/10972
(cherry picked from commit 54f621c570
)
2022-02-25 11:14:54 -08:00
jean-pierre charras
a7b8a1446b
fix minor compil warnings.
2022-02-25 14:26:37 +01:00
Jeff Young
bc51c89c90
Reconcile zone-auto-fill with undo.
2022-02-25 13:05:49 +00:00
jean-pierre charras
77f1aad77e
Fix incorrect conversion from lines to rect in fp editor.
...
Fixes #10965
https://gitlab.com/kicad/code/kicad/issues/10965
2022-02-25 12:41:57 +01:00
Seth Hillbrand
3ac121620d
Handle negative arc angles
...
Plotter expects the arc angles to be positive, so check and flip before
plotting if we have track arcs that might be negative angles
Fixes https://gitlab.com/kicad/code/kicad/issues/10968
2022-02-24 17:27:08 -08:00
Jeff Young
5c54f40eae
Layer visibilities aren't stored in project for footprint editor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10953
2022-02-25 00:08:49 +00:00
Jeff Young
639fdb915a
Implement real layer test for visibility.
2022-02-24 21:32:43 +00:00
Jeff Young
d65f9ad2d8
Implement multi-layer stitching via logic.
2022-02-24 21:32:43 +00:00
Jeff Young
369f53bb19
Better DRC checking when placing vias.
2022-02-24 21:32:43 +00:00
Jeff Young
b7be42375d
Add an infobar warning when trying to fill a zone which is not connected.
2022-02-24 21:32:43 +00:00
jean-pierre charras
c924b0155e
DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS: fix a wx alert.
2022-02-24 19:33:29 +01:00
Greg Davill
429c311ec3
action_plugin: Remove duplicated entry in UndoList
2022-02-24 18:31:16 +00: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
f076d07e9e
Fix asserts.
2022-02-24 18:16:45 +00:00
jean-pierre charras
8ef4ef8d96
fp texts are not upright when footprint rot is not n*90deg
...
Fixes #10882
https://gitlab.com/kicad/code/kicad/issues/10882
2022-02-24 09:08:09 +01:00
Jeff Young
d2069e1548
Copy Pad_Master when copying BOARD_DESIGN_SETTINGS.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10932
2022-02-23 18:11:27 +00:00
Jeff Young
cb16ad7557
Debounce layer visibility buttons and fix issues with FP Editor.
2022-02-23 17:52:08 +00:00
Jeff Young
a36bc27e6d
Fix a couple of asserts.
2022-02-23 17:38:51 +00: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
6e35406015
Fix copy/pasta.
2022-02-23 12:21:07 +00:00
Jeff Young
41f6e634c6
Partially integrate grid snapping with constraints.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10941
2022-02-22 22:19:55 +00:00
jean-pierre charras
6d5d6d7302
PCB_EDIT_FRAME: do not forget to pass wxIdleEvent to other clients.
2022-02-22 19:51:32 +01:00
Jeff Young
e6c617b74d
Respect ERROR_OUTSIDE when inflating polygons.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10896
2022-02-21 15:19:46 +00:00
Jeff Young
79c7859052
Apply a19d9105f0
to zone case as well.
...
Also improves on the previous comments.
Fixes https://gitlab.com/kicad/code/kicad/issues/10922
2022-02-21 13:48:34 +00:00
Jeff Young
d9d23dd06b
Commenting.
2022-02-21 12:26:59 +00:00
Jeff Young
5544dd8018
Don't call GetLayer() on a multi-layer object.
2022-02-21 00:08:43 +00:00
Jeff Young
aa2c8e9b0c
A more discerning un-flashed-connectivity test.
2022-02-20 23:49:02 +00:00
Jeff Young
78ae3d286a
Fix merge damage.
2022-02-20 21:25:50 +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
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
Thomas Pointhuber
52a2d52bf0
altium: Parse solder and paste mask settings of tracks and arcs
2022-02-20 20:18:40 +01: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
Jeff Young
df3291c59d
Fix nullptr error (no router tool in footprint editor).
2022-02-20 16:56:53 +00:00
Jeff Young
f18aae679c
Use router to update message panel when routing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10068
2022-02-20 16:50:30 +00:00
jean-pierre charras
d2cf68bcdd
Plotters: add plot Arcs using EDA_SHAPE or center, start point and end point.
...
It avoid trying to calculate arc angles (start, end or arc angle) that
frequently create issues due to reverse Y axis, plot mirrored and/or
angle normalization with different criteria.
Fixes #10914
https://gitlab.com/kicad/code/kicad/issues/10914
2022-02-20 17:17:20 +01:00
Jeff Young
85805b95ba
Cancel or commit pad edit mode when switching footprints.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10209
2022-02-19 19:36:19 +00:00
Thomas Pointhuber
8ef7252330
altium: Don't use string concatenation for paths pointing in the compound file
...
* std::vector do not need to be split apart again
* supports backslash in footprint names
2022-02-19 16:46:20 +01:00
Jeff Young
6ce63d66e8
On-the-fly language updating for appearance panel & selection filter.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10040
2022-02-19 14:59:51 +00:00
Jeff Young
86988225c3
Exclude some fab attrs from library parity check.
...
Also excludes zone outline hatching, which is just a visualization
property.
Fixes https://gitlab.com/kicad/code/kicad/issues/10903
2022-02-19 14:59:50 +00:00
Thomas Pointhuber
86c025eb30
altium: Fix parsing of zones which use the KEEP_OUT_LAYER
2022-02-19 14:37:05 +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
Seth Hillbrand
a19d9105f0
Fix SolderBridge check to only check across multiple
...
We should not generate an error when overlapping a single copper element
with a soldermask that is not associated with copper.
Fixes https://gitlab.com/kicad/code/kicad/issues/10906
2022-02-18 11:47:28 -08:00
Seth Hillbrand
f0e4448a9d
Remove broken call to normalize outlines
...
We should never be editing the user's outlines for them. This creates
broken zones that are hard to repair. In this case, there was also a
secondary zone with no outline that would crash the system
Fixes https://gitlab.com/kicad/code/kicad/issues/10904
(cherry picked from commit f0d7a09af9
)
2022-02-18 09:31:52 -08:00
jean-pierre charras
7de0159e0e
pcbnew: fix incorrect calculation of the board thickness from board stackup.
...
dielectric sub layers were not taken in account.
Fixes #10899
https://gitlab.com/kicad/code/kicad/issues/10899
2022-02-18 18:09:16 +01:00
Jeff Young
6f6cf995ba
Don't ask for layer of multi-layer item.
2022-02-18 14:53:10 +00:00
Jeff Young
1ee3ce45e8
Don't ask for layer of multi-layer objects.
2022-02-18 14:19:13 +00:00
Jeff Young
89907a18ce
Don't ask for layer of multi-layer object.
2022-02-18 13:30:40 +00:00
Jeff Young
ce0233577b
Don't try to fetch layer of multi-layer objects.
2022-02-18 13:20:36 +00:00
Jeff Young
81bed9ab96
Add zone margin when subtracting other graphics and zones.
...
It was already added for pads and tracks, but not the other objects.
Fixes https://gitlab.com/kicad/code/kicad/issues/10896
2022-02-18 13:20:36 +00:00
Jeff Young
e09ecd8380
Don't ask for layer of multi-layer objects.
2022-02-18 13:20:36 +00:00
jean-pierre charras
2fddc9daf3
Pcbnew: fix missing connectivity update when adding an item.
...
Skipping connectivity update when adding an item is possible only when loading a file
Fixes #10879
https://gitlab.com/kicad/code/kicad/issues/10879
2022-02-18 13:24:14 +01:00
Jeff Young
8ee81e0fc4
Fix plotting of PCB arcs.
2022-02-18 12:14:38 +00:00
Jeff Young
5efa354f0f
Add asserts to flush out incorrect uses of GetLayer().
2022-02-18 12:14:38 +00:00
Seth Hillbrand
3a29d94c0a
Prevent merging tracks across pads
...
When merging co-linear tracks, we should maintain the existing break if
it exists on pads, vias and other connection points
2022-02-17 19:43:04 -08: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
bc24002be7
Don't print clearance lines.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10883
2022-02-17 23:59:09 +00:00
Seth Hillbrand
cf88b9aaec
Maintain connectivity while cleaning tracks/vias
...
When merging segments that loop back on each other, we need to merge
them in such a way to to keep the resulting endpoints connected to the
original adjoining endpoints
Fixes https://gitlab.com/kicad/code/kicad/issues/10780
(cherry picked from commit 8e9d44942f
)
2022-02-17 15:24:54 -08: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
qu1ck
b53b68c686
Fix double loading plugins and sys.path entires multiplying
2022-02-17 17:41:52 +00:00
jean-pierre charras
e140298878
GERBER_JOBFILE_WRITER: allows all *_User layers to be listed in *gbrjob file.
2022-02-17 15:22:18 +01:00
Jeff Young
662fb40605
Slightly cleaner impl.
2022-02-17 12:48:29 +00:00
jean-pierre charras
529d598c36
GERBER_JOBFILE_WRITER: fix missing handling of User_1 to User_9 user layers.
...
Fixes #10878
https://gitlab.com/kicad/code/kicad/issues/10878
2022-02-17 11:41:23 +01:00
jean-pierre charras
5a9fb08778
zone_filler_tool: fix crash due to a null pointer use in zone filler.
...
Fixes #10875
https://gitlab.com/kicad/code/kicad/issues/10875
2022-02-17 09:21:14 +01:00
qu1ck
a041492736
SWIG mappings for all shapes
2022-02-16 20:58:52 +00:00
Jeff Young
b1bd8421e0
Performance: remove associated triangle sets when removing outline.
...
This saves us having to re-triangulate at the end of zone filling.
2022-02-16 17:00:54 +00:00
Jeff Young
327ddad79f
Performance: get rid of rawPolys / finalPolys distinction.
...
(The final fractured polys are required, and we don't really ever use
the raw polys anyway, so they were removed.)
2022-02-16 15:33:12 +00:00
Jeff Young
08383e923c
Formatting.
2022-02-16 14:18:25 +00:00
Jeff Young
ca095896cb
Performance: multi-thread CN_ZONE_LAYER RTree generation.
2022-02-16 14:11:09 +00:00
Jeff Young
3b292a4941
Cleanup and code clarity.
2022-02-16 12:00:18 +00:00
Jeff Young
7ddd3137a3
While flags are in prefs, actual clearance values are in board setup.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10852
2022-02-15 22:15:53 +00:00
Thomas Pointhuber
fc5772ad92
altium: Extend test-suite to support FP_ZONE validation
2022-02-15 21:42:03 +01:00
Jeff Young
72a389e612
Performance: check line ends first before doing collision.
2022-02-15 19:19:03 +00:00
Jeff Young
2172810600
Performance: better sharing of zone fills.
2022-02-15 19:19:03 +00:00
Jeff Young
d8c4f2cb09
Performance improvements for zone filler.
2022-02-15 19:19:02 +00:00
Jeff Young
8e26946567
Don't shrink progress reporter when message changes; only grow.
2022-02-15 19:19:02 +00:00
Mikolaj Wielgus
9fae9e8afc
Fix sizing of the two last columns in drill statistics table
2022-02-15 17:19:11 +01:00
Jeff Young
5c9e718407
Performance enhancements for connectivity.
...
1) Generate SHAPE_POLY_SET triangulation by outline so they can be
shared between connectivity system and other clients.
2) Don't add items to connectivity when reading board; we're going
to do a total rebuild anyway.
3) Use multithreading when caching triangulation.
2022-02-15 12:20:34 +00:00
Jeff Young
98b9c6e2a1
Better progress reporting and a slight performance boost on commit.
2022-02-15 12:20:34 +00:00
Jeff Young
d2de114d21
More performance optimizations.
2022-02-15 12:20:34 +00:00
Mikolaj Wielgus
7632c0cf6f
Fix board statistics drill grid column sizing
...
And remove the horizontal scrollbar.
2022-02-15 01:40:53 +01:00
jean-pierre charras
a455dd8815
Fix issue for stand alone python scripts, when running without project.
2022-02-14 18:58:55 +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
876061369b
Fix some Pcbnew crashes due to null pointers
2022-02-14 13:46:05 +01:00
jean-pierre charras
0eddbe02c1
DIALOG_NETLIST_IMPORT: minor fix
2022-02-14 07:53:00 +01:00
Jeff Young
d07910de06
Improve performance of checkZoneZoneConnection.
2022-02-14 01:15:06 +00:00
Tomasz Wlostowski
018f4531a5
Fixes in the SVG import polygon postprocessing:
...
- don't drop subsequent polys when a non-filled primitive is imported 'in between'
- fix missing holes (also related to the interleaving of stroke and filled shapes, depending on the software that wrote the SVG file)
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/10813
2022-02-14 00:54:31 +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