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
Jeff Young
fe7e72538e
Don't force user to be overly pedantic when writing diffpair rules.
2022-02-13 18:16:13 +00:00
Jeff Young
022e7385f9
Beautify the Rule Area Properties dialog.
2022-02-13 18:16:13 +00:00
jean-pierre charras
bff97df5f9
Fix a compil warning, at least on my msys install.
2022-02-13 16:26:05 +01: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
b7c9a1ad55
Fix repaints getting done after the wrong dialog.
2022-02-13 13:06:35 +00:00
Jeff Young
c4e133fdf7
Auto reduction and std::shared_ptr cover types reduction.
...
And a performance optimization or two resulting from above. (Using
const& intead of copying std::shared_ptrs.)
2022-02-13 12:04:03 +00:00
Jeff Young
90f6edad61
Move connectivity algo to collision-based routines.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/1800
Fixes https://gitlab.com/kicad/code/kicad/issues/1769
2022-02-13 00:35:11 +00:00
Jeff Young
a2ca8cf413
Improve SNR.
2022-02-12 18:38:11 +00:00
Jeff Young
8dcc933fc3
Don't use bounding box cache during insideArea.
...
For starters we can't rely on it having been updated, but we also
cache the entire result so there's no huge cost-savings anyway.
Fixes https://gitlab.com/kicad/code/kicad/issues/10821
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
Thomas Pointhuber
81b4229e12
altium: Improve test-coverage of *.PcbLib import functionality
...
* Add test-code for pads
* Move test-code into board_test_utils.cpp for reuse, one method per object
* Add a real (rather small) Altium footprint for testing purposes
2022-02-12 16:50:25 +01: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
00934fdd84
Move GUI queries in PLUGIN to a callback.
...
Also makes sure legacy zone fills get deleted and re-filled (since
just dropping the outline will change them).
2022-02-11 22:09:22 +00:00
Jeff Young
300ee022fa
Drop unsupported fills. No reason to keep them around.
...
Also removes the long-dead segment fill data structures.
2022-02-11 22:09:22 +00:00
dsa-t
68655540eb
Clamp cursor to limits of coordinates representation
...
Also improves large distance handling.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8846
2022-02-11 16:42:52 +00: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
50a4d610a6
Be cognizant of flashed layers when generating pad shapes.
2022-02-11 13:10:52 +00:00
Jeff Young
6e063247e5
Move CN_VISITOR from HitTest() to Collide().
...
The former isn't sufficiently aware of layer differences (such as for
pads with some layers unflashed).
2022-02-11 13:10:52 +00:00
Jeff Young
082c6f5bd6
Make sure plotter uses default font when specified.
2022-02-10 20:33:06 +00:00
木 王
261b1df47f
fix-npth
2022-02-10 10:06:59 +00:00
Thomas Pointhuber
3f36e7d725
altium: Start with a test-suite to validate that *.PcbLib footprints are correctly imported
...
The test simply loads every footprint of a library, and compares all elements with an equivalent
KiCad footprint. This allows us to quickly spot regressions in the altium and kicad footprint importer,
and any code in-between. This test is only a demo, as the checks are still incomplete and quite a few
tests are missing.
It has to be noted that mask expansion is not supported rigt now by the altium importer, thus the
reference footprint is adjusted to keep the test happy.
2022-02-09 22:34:04 +01: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
Wayne Stambaugh
06e00c7957
Fix shadow variable compile warning in text DRC provider.
2022-02-08 09:26:12 -05:00
Jeff Young
3b5474f190
Don't punt on TrueType char thickness; analyze it.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10740
2022-02-08 14:10:37 +00:00
Jeff Young
137edbe3f3
Add disclaimer for TrueType fonts to thickness test.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10740
2022-02-08 14:10:37 +00:00
Jeff Young
3c5ae6d317
Don't let zone cutout on different layer confuse us about intersections.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10583
2022-02-08 14:10:37 +00:00
Jeff Young
091055fa1d
Don't count track as a pre-existing connection.
2022-02-08 14:10:37 +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
51d7b49067
Don't halt expansion on zero-length
...
We avoid counting endpoints for tracks that have no length
2022-02-07 13:53:42 -08:00
Jeff Young
5ce559176d
Overhaul the font metrics calcs for overbar, italics and bboxes.
2022-02-07 17:36:40 +00: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
jean-pierre charras
2485648a54
Fix typo in a copy/paste and a minor compil warning
2022-02-07 17:32:19 +01: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
a60aa68b3a
Don't enforce a max of 4 for minimum-spoke-count.
...
See comments in code.
Fixes https://gitlab.com/kicad/code/kicad/issues/10583
2022-02-06 19:43:25 +00:00
Thomas Pointhuber
79f80c4cd7
altium: Fix Reference and Description parsing of footprint
2022-02-06 16:24:07 +01:00
Marek Roszko
d9c04da407
Sprinkle in some make_unique
2022-02-05 21:26:36 -05:00
Marek Roszko
0a5ddb8d40
Add some vector reservations
2022-02-05 21:12:29 -05:00
Marek Roszko
41f54349a5
Replace inserts/push_backs with emplace in some spots
2022-02-05 19:53:31 -05:00
Jeff Young
34a9a165c9
More wide-string declarations.
2022-02-05 22:26:31 +00:00
Jeff Young
b2e3f03222
More wide-string declarations.
2022-02-05 22:03:04 +00:00
jean-pierre charras
f8ff104003
Fix a compil issue.
2022-02-05 21:29:44 +00:00
Jeff Young
7ccac79192
More wxString wide literals.
2022-02-05 21:29:34 +00:00
Jeff Young
9582457fef
Be explicit about literal wide-strings.
2022-02-05 20:40:21 +00:00
Roberto Fernandez Bautista
290354e3f6
CADSTAR: Fix potential nullptr dereferencing bug
...
Don't assume the footprint will have the pad index that the file references.
2022-02-05 19:20:56 +00:00
Marek Roszko
b9f1aaf029
Fix typoed test condition for TH no hole pads PVS V501
2022-02-05 11:31:56 -05:00
Marek Roszko
193dee11e8
Add missing null check PVS V595
2022-02-05 11:25:09 -05:00
Marek Roszko
8588bea4b2
Avoid potential divide by zero in footprint spreading PVS V609
2022-02-05 11:23:05 -05:00
Marek Roszko
a7ebfc31f9
Fix some leaking objects identified by PVS Studio V773
2022-02-05 11:16:11 -05: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
Jeff Young
42917874dd
Add duplicated items to parent group.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10155
2022-02-04 14:26:57 +00:00
Jeff Young
4cc1ced2f3
Log an undo item when filling zones.
...
If we wanted to put it into the parent's undo item, then the *parent*
would need to not start a new undo record. Not starting one in the
zone filler tries to add it to the *previous* change, not to the parent
change.
Fixes https://gitlab.com/kicad/code/kicad/issues/10091
2022-02-04 13:45:32 +00:00
Jeff Young
93c3e6bd16
Clean up formatting.
2022-02-04 13:43:57 +00:00
Jeff Young
8d3e1639d0
Update text variables when they change.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10734
2022-02-04 12:52:46 +00:00
Marek Roszko
ca7840334c
Mark some limits as constexpr
...
gcc doesn't need it and computes during compile regardless, but experimenting in godbolt, both clang and MSVC actually do need it or else it's partially computed at runtime
2022-02-04 07:50:13 -05:00
Seth Hillbrand
917845cf00
Ensure we can version scripting properly
...
Adds Version() and FullVersion() calls to support reporting version to
scripts and scripting window
Fixes https://gitlab.com/kicad/code/kicad/issues/10079
(cherry picked from commit 0a13f15a9d
)
2022-02-03 15:59:10 -08:00
Jeff Young
b9eb3e9b05
Be more explicit about string conversions.
2022-02-03 23:07:41 +00: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
168ad58eef
Convert strings to wide when using wxString routines
...
WxString does not allocate space for wide strings needed during
conversion unless the string is explicitly wide. This can cause buffer
over/underflow
Fixes https://gitlab.com/kicad/code/kicad/issues/10605
(cherry picked from commit 7601a3385f
)
2022-02-03 13:08:33 -08:00
Seth Hillbrand
92dc06ac9d
Don't convert KIID on the fly
...
Converting to string on save prevent unneeded ops
(cherry picked from commit 901685f01b
)
2022-02-03 10:35:31 -08:00
jean-pierre charras
a970acd0bc
Fix some issues related to new textboxes and python:
...
- Fix duplicate class names returned by GetClass().
- replace MTEXT name (in GetClass) by better name (FP_TEXT, FP_TEXTBOX...)
- Add missing Cast_to_PCB_TEXTBOX and Cast_to_FP_TEXTBOX
2022-02-03 13:55:37 +01: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
c8d14ade65
Only run starved-thermals checks when pad is actually connected to zone.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10583
2022-02-02 13:09:27 +00:00
jean-pierre charras
27c25debea
teardrops: fix a not very good shape for not round targets after code change.
2022-02-02 13:31:29 +01:00
Steffen Mauch
61b2b0ff0c
EAGLE plugin: use specified RATIO value for text size calculation
2022-02-01 17:58:09 +00:00
jean-pierre charras
e560e765e6
PCB_TEXT::Rotate(): ensure the final orientation is -180 ... +180 deg
2022-02-01 18:07:14 +01:00
Jeff Young
bebfbce9b2
Move pcb file rep of text_boxes to strokes.
2022-02-01 16:29:59 +00:00
Jeff Young
0faf3a8bf5
Get rid of FP_TEXTBOX::ViewBBox(). We want to inherit FP_SHAPE's.
2022-02-01 12:49:28 +00:00
Jeff Young
63a3b1e20a
Estimate outline font thickness for DRC readability checks.
2022-02-01 12:01:04 +00:00
Jeff Young
1f8c29c395
Coverity fixup.
2022-02-01 12:01:04 +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
Seth Hillbrand
803675195d
Be more diligent in preventing drag line errors
...
They can happen even when there are no collisions, so we need to reset
the 'ok' flag before using the line again.
Fixes https://gitlab.com/kicad/code/kicad/issues/9555
(cherry picked from commit 833ce19221
)
2022-01-31 16:13:53 -08:00
Seth Hillbrand
098e8f7d9b
Revert "cmake: adding KICAD_MACOSX_APP_BUNDLE option"
...
This reverts commit ea9f960cc1
.
Reverted for updates as this currently breaks kicad-mac-builder
2022-01-31 15:57:56 -08:00
Jeff Young
f3cd36d1d7
Bring EEschema textboxes in line with PCBNew's.
...
Also adds Border checkboxes and fixes a bunch of bugs.
2022-01-31 21:46:40 +00: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
jean-pierre charras
c494274b2e
export D356 netlist: fix incorrect id for pads type connectors.
...
these pads are similar to SMD pads and should have the same id.
Fixes #10694
https://gitlab.com/kicad/code/kicad/issues/10694
2022-01-31 19:53:02 +01:00
Jonathan Haas
7b01530eca
EDA_ANGLE: use existing Normalize180 function here
2022-01-31 18:16:49 +00:00
jean-pierre charras
f846f6f704
PCB_CONTROL::unfilledZoneCheck(): skip rule areas: they are not filled by definition.
...
Fixes #10691
https://gitlab.com/kicad/code/kicad/issues/10691
2022-01-31 17:01:52 +01:00
markus-bonk
a8486c5296
Fix warning: declaration shadows a previous local [-Wshadow].
2022-01-31 10:41:51 +00:00
Alex
e9ffea83fd
Cross-probing: Do not center/zoom on empty BBox
2022-01-31 10:17:59 +03:00
jean-pierre charras
419010ec46
teardrop: add filtering to skip teardrops when pad/vias and tracks have similar sizes
2022-01-30 15:39:28 +01:00
jean-pierre charras
3a66f33d96
TEARDROP_MANAGER: add option to add teardrops on pads in zones.
2022-01-30 15:39:27 +01:00
jean-pierre charras
cc2a897e2b
very minor fix
2022-01-30 09:08:21 +01:00
jean-pierre charras
aef665b1e2
PCB_TARGET: add missing TransformShapeWithClearanceToPolygon() method.
...
Fixes #10653
https://gitlab.com/kicad/code/kicad/issues/10653
2022-01-29 18:19:22 +01:00
Seth Hillbrand
ad84b62b63
Prevent multiple single-point line solutions
...
Suggested by @rivimey, we test the case where both lines return singular
point lines and prevent them leaking into our drag solution
Fixes https://gitlab.com/kicad/code/kicad/issues/9555
(cherry picked from commit 38a4894d92
)
2022-01-29 07:07:29 -08:00
jean-pierre charras
43f5a7c746
DIALOG_PLOT: use a short living quasimodal dialog instead of a long living window.
...
In this case, a quasimodal dialog is the right way.
Fixes #10650
https://gitlab.com/kicad/code/kicad/issues/10650
2022-01-29 13:14:22 +01:00
Seth Hillbrand
c01e2dcfec
Fix large memory leak in DRC
...
All elements get effective shapes, many of which get triangulated. This
memory needs to be freed when destroying the tree
(cherry picked from commit c2707f3cc0
)
2022-01-28 17:08:33 -08:00
Seth Hillbrand
16e802aff4
Don't count zero-length as duplicate
...
We were checking for duplicate tracks by looking to see if the two
tracks had two shared points. A null track always matched this case,
which removed the valid track. We solve this by avoiding null tracks in
the duplicate checker. They are removed separately in the null track
stage.
This also fixes a GTK-specific tree issue where we require the
BeforeReset()/AfterReset() calls instead of Cleared() to prevent GTK
from dereferencing a parent after freeing
Fixes https://gitlab.com/kicad/code/kicad/issues/10624
(cherry picked from commit 8753051db6
)
2022-01-28 16:34:34 -08:00
Davide Gerhard
ea9f960cc1
cmake: adding KICAD_MACOSX_APP_BUNDLE option
...
ADDED: with cmake KICAD_MACOSX_APP_BUNDLE option the user can disable
the macOS app bundle creation when compiling on macOS. This permit to
use/install KiCad like any other *nix platform (/usr/bin, /usr/share,
ecc.). By default, cmake build the app bundle.
2022-01-28 15:49:37 -08:00
Seth Hillbrand
7277fd6218
Don't allow degenerate lines in dragger
...
If walkaround returns an invalid line, don't consider it for a track
Fixes https://gitlab.com/kicad/code/kicad/issues/9555
(cherry picked from commit 8ae304dcca
)
2022-01-28 15:19:06 -08: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
901a9387e9
Fix python fp wizards according to last kicad code changes, especially EDA_ANGLE
2022-01-28 19:33:51 +01:00
Seth Hillbrand
d32a72ddde
Fix PCAD arc import
2022-01-28 10:20:18 -08:00
markus-bonk
09886bac38
Fix missing pcbcommon dependency declaration.
...
The pcbnew_navlib library didn't have a proper dependency chain. It
relies on headers that come from pcbcommon.
2022-01-28 12:21:42 +00:00
markus-bonk
233b537170
Fix code style.
2022-01-28 12:21:42 +00:00
markus-bonk
8663a399ac
Move pcbnew_navlib compilation into pcbcommon.
...
Although pcb_base_frame.cpp is in the pcbnew source tree, it is compiled
and included in pcbcommon.lib. Because pcb_base_frame has a dependency
on pcbnew_navlib, the latter also needs to be included in pcbcommon to
avoid linkage issues.
The superfluous references to pcbnew_navlib in the qa projects have been
removed.
2022-01-28 12:21:42 +00:00
markus-bonk
b263e89dfe
Enable 3D mouse support in Footprint viewer.
...
The 3D mouse support is moved from PCB_EDIT_FRAME to PCB_BASE_FRAME.
This allows all PCB_BASE_FRAME derived windows to have 3D mouse enabled
2D navigation support.
2022-01-28 12:21:42 +00:00
markus-bonk
8e43409d27
Invoke correct base method in PCB_BASE_EDIT_FRAME::handleActivateEvent.
...
The base class of PCB_BASE_EDIT_FRAME is PCB_BASE_FRAME. Invoking
EDA_DRAW_FRAME::handleActivateEvent in the PCB_BASE_EDIT_FRAME override
will skip the definition in PCB_BASE_FRAME.
2022-01-28 12:21:42 +00:00
markus-bonk
be58ab679b
Fix coding style policy violations and CMake version.
...
Fix violations of 4.2.2 Function Definitions and 4.2.3 Control
Statements.
Set the minimum CMake version required to build to 3.1.
Removed the Visual Studio solution and project files.
2022-01-28 12:21:42 +00:00
markus-bonk
91d261d735
Fix "Error loading editor" when no 3Dconnexion driver installed.
2022-01-28 12:21:42 +00:00
markus-bonk
87d7bdbd5e
* PCB_EDIT_FRAME: Implement SpaceMouse navigation and command export for 3D-viewer.
...
Added full support for using a 3Dconnexion device in PCB_EDIT_FRAME. Commands are exported and can be assigned to 3D mouse buttons. Any limitations to the functionality are limitations of the installed 3Dconnexion driver for the device and OS.
Use build option KICAD_USE_3DCONNEXION (default = ON) to control whether the SpaceMouse support is compiled into the solution.
2022-01-28 12:21:42 +00:00
jean-pierre charras
2345e09a12
Pcbnew, export svg: Fix incorrect saving of layer set.
2022-01-27 13:03:00 +01:00
Thomas Pointhuber
744bc0bd18
altium: Fix pcb arc import using a hack with PCB_SHAPE as intermediate object
...
It would be nice to not use the workaround with PCB_SHAPE, but better than creating wrong geometries in the first place. This should be improved when I'm more in the mood to think about geometric.
2022-01-25 22:24:01 +01:00
Thomas Pointhuber
5a2f351f28
altium: Refactor shape based region parsing to make it reusable for footprint import
2022-01-25 21:54:25 +01:00
jean-pierre charras
f651e31965
Fix minor compil and Coverity warnings.
2022-01-25 12:52:13 +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
f3a583e490
Formatting & comment cleanup.
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
jean-pierre charras
be99240c8c
Fix strings and update French translation
2022-01-23 13:22:32 +01:00
jean-pierre charras
712b304da7
Teardrop: Simplify code.
2022-01-23 12:57:40 +01:00
jean-pierre charras
1b42152ba0
Teardrops: store parameters in BOARD_DESIGN_SETTINGS.
2022-01-23 10:57:08 +01: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
Jeff Young
f8d6bf4cc9
Hide text items which are required on a single-item delete.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9973
2022-01-22 22:27:41 +00:00
Jeff Young
407660201e
Expand text vars in titleblock before exporting.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10197
2022-01-22 15:54:34 +00:00
Jeff Young
de49f5090d
Formatting (and auto reduction).
2022-01-22 12:16:07 +00:00
jean-pierre charras
5449a92878
PCB_POINT_EDITOR: fix missing init of PAD pos0 after changing the PAD draw pos.
...
Fixes #10558
https://gitlab.com/kicad/code/kicad/issues/10558
2022-01-22 10:23:55 +01:00
Tomasz Wlostowski
441e5fd486
router: don't reject non-45 degree lines in the LINE_PLACER
2022-01-22 00:28:11 +01:00
Tomasz Wlostowski
ce28525172
router: include arc approximation tollerance in arc hull clearance calculation
...
fixes: https://gitlab.com/kicad/code/kicad/-/issues/10470
2022-01-22 00:28:11 +01:00
Jeff Young
09d0f6e17c
Map zone layers before checking their visibility.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10509
2022-01-21 23:26:10 +00:00
Steffen Mauch
55b782d66e
pcbnew: EAGLE importer does map value to wrong layer if nothing is defined in original EAGLE footprint
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10311
2022-01-21 21:14:40 +00:00
Jeff Young
d5a2059c21
Error messages for zone merging.
...
Also fixes a bug where zones meeting at a point would get merged
resulting in a self-intersecting zone.
Also fixes a bug where undo would not be handled correctly when zones
could not be merged.
Fixes https://gitlab.com/kicad/code/kicad/issues/10466
2022-01-21 19:55:57 +00:00
Jeff Young
7f6bc28f87
Flip arc endpoints when mirroring in FPEditor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10550
2022-01-21 15:01:12 +00:00
Jeff Young
8e4369f998
Repair arrowhead angles.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10551
2022-01-21 14:28:17 +00:00
Jeff Young
c8a50d9b50
Remove unit-less angles from VECTOR2I/D APIs.
2022-01-20 23:58:20 +00:00
Jeff Young
14006495d5
Angle cleanup.
2022-01-20 22:35:41 +00:00
Jeff Young
95caf0eff9
Fix typo in version numbers.
2022-01-20 21:10:04 +00:00
Jeff Young
4eac8d7c66
Remove unit-less angles from geometry lib APIs.
2022-01-20 21:10:04 +00:00
Jeff Young
4a05b36bc6
Prefer EDA_ANGLE to naked radians.
2022-01-20 21:10:04 +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
jean-pierre charras
8781f46d76
Fix compil issue on Linux
2022-01-20 13:37:42 +01:00
jean-pierre charras
05c414c816
Pcbnew: fix rotation angle issue in rotate commands.
...
The value of this rotation was store in 2 places: the config and the editor frame.
So after changing the rotation angle from the preferences, the value in editor
frames were not updated, and the rotation angle not modified.
Now only the config value is used.
2022-01-20 10:50:26 +01:00
Jeff Young
3e7e35343a
Fix bad merge between EDA_ANGLE and wxPoint changes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10514
2022-01-19 23:00:23 +00: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
aris-kimi
47c0672ff3
Added footprint rule area anchors
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10461
2022-01-19 18:25:20 +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
Jeff Young
8c758aeeb5
Use superclass's copy c'tor from within subclass copy c'tor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10481
2022-01-18 18:40:55 +00:00
Jeff Young
f60c05fc67
Use epsilon compartor for doubles.
2022-01-18 18:40:55 +00:00
jean-pierre charras
826154d666
teardrop: rework on code
2022-01-18 17:12:17 +01:00
Jeff Young
4e493e2cbc
Clean up some more deci-degrees.
2022-01-18 14:08:47 +00:00
Jeff Young
f310a5b986
Excise deci-degrees from trigo.
2022-01-18 11:44:55 +00:00
Jeff Young
b828355206
A bit more angle cleanup.
2022-01-18 09:48:24 +00:00
Jeff Young
8ea66ee06e
Clean up angle handling in fabmaster importer.
2022-01-18 02:37:38 +00:00
Jeff Young
622f94e7b9
Angle cleanup in Altium importer.
2022-01-18 02:31:37 +00:00
Jeff Young
0218b782f4
Angle cleanup in Eagle importer.
2022-01-18 02:31:37 +00:00
Jeff Young
dcaec78cc5
A bit more angle cleanup.
2022-01-18 02:18:55 +00:00
Jeff Young
180137baa4
Convert PCAD importer to EDA_ANGLE.
2022-01-18 02:05:59 +00:00
Jeff Young
8c246a761d
Move EDA_ANGLE from int to double.
2022-01-17 20:57:54 +00:00
Thomas Pointhuber
010b705ecd
altium: Use new Sin/Cos function
2022-01-17 20:43:41 +01:00
Thomas Pointhuber
8608c22b73
altium: Refactor fill parsing to make it reusable for footprint import
2022-01-17 19:56:47 +01:00
Thomas Pointhuber
7f667764bf
altium: Refactor pad parsing to make it reusable for footprint import
2022-01-17 19:56:47 +01:00
Thomas Pointhuber
efb0e9f98f
altium: Refactor text parsing to make it reusable for footprint import
2022-01-17 19:56:47 +01:00
Thomas Pointhuber
fe861459a7
altium: Unify arc parsing
2022-01-17 19:56:47 +01:00
Thomas Pointhuber
0b176eb5fc
altium: Refactor arc parsing to make it reusable for footprint import
2022-01-17 19:56:46 +01:00
Thomas Pointhuber
f5720d6e9a
altium: Refactor track parsing to make it reusable for footprint import
...
Also refactor the code to import MULTI_LAYER items really on multiple layers.
2022-01-17 19:54:28 +01:00
Thomas Pointhuber
5aff3ef949
altium: First prototype to parse tracks of a footprint
2022-01-17 19:54:28 +01:00
Thomas Pointhuber
f92c1341a2
altium: Move file loading from altium_pcb into altium_*_plugin
2022-01-17 19:54:27 +01:00
Thomas Pointhuber
0129e49b79
altium: Introduce new ALTIUM_COMPOUND_FILE object to handle file opening and searching for streams at a central place
2022-01-17 19:54:26 +01: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
Thomas Pointhuber
c6504628f0
altium: Fix Compound File Reader which returned wrong entries
...
It was possible that we confuse multiple files with the same name. This should not be that relevant for board and schematic import, but is important for library import!
2022-01-17 19:51:51 +01:00
Thomas Pointhuber
05e7f59550
altium: extend documentation so we can parse Altium *.PcbLib files in the future
2022-01-17 19:51:51 +01:00
Jeff Young
2defd8d911
Move show-bounding-boxes to a tool on the toolbars.
2022-01-17 11:56:40 +00: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
jean-pierre charras
21cdc5aec0
make dialog_teardrop_base translatable.
2022-01-16 21:09:05 +01:00
Jeff Young
e84c574830
Some more EDA_ANGLE cleanup.
2022-01-16 19:16:18 +00:00
jean-pierre charras
ef6ce972d6
Fix missing filtering of teardrop targets.
2022-01-16 17:20:48 +01:00
Wayne Stambaugh
c154e85ebd
Footprint editor: use most recently used path on footprint import.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10418
2022-01-16 09:47:08 -05:00
jean-pierre charras
5b0527bdfe
Teardrop: add separate settings for round, rect shapes and tracks
2022-01-16 10:24:23 +01: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
1539fa5af2
Move SHAPE_ARC to EDA_ANGLE.
2022-01-16 01:19:45 +00:00
hogthrob
b605d6d9ae
Fix issue with DXF plot not plotting small drill marks
...
Code was missing to convert mm to internal units for small drill mark size in PlotLayerOutlines (which is only used in DXF Plot). All other plot formats like PDF use PlotStandardLayer which does not have that problem.
2022-01-15 13:04:50 +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
0967cc82e2
Exclude rules which match no enabled layers.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10227
2022-01-15 01:30:03 +00:00
Seth Hillbrand
22a77d3556
Move EDA_ANGLE to KiMath lib
...
KiMath should only depend on itself not on other elements in the tree
2022-01-14 17:12:24 -08:00
jean-pierre charras
bc77a1e2dd
drc_test_provider_library_parity: fix a crash due to a incorrect if()...else() logic.
...
The incorrect logic allowed execution of the else sequence when it should not be executed.
2022-01-14 18:17:27 +01: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
037dfb6e01
Move FP_TEXT::KeepUpright() to EDA_ANGLE.
2022-01-14 16:08:19 +00:00
Jeff Young
5176512de3
Move PCBNew rotation increment to 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
Jeff Young
e048e51f5d
Improve SNR of EDA_ANGLE stuff.
2022-01-14 16:08:18 +00:00
Jon Evans
d3d2ebe349
Do not check key states for non-key events in TryBefore
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10127
(cherry picked from commit 2306d00c89
)
2022-01-13 22:31:39 -05:00
Jon Evans
eac1936303
PNS: Do not clear layer pairs when importing new sizes
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10225
(cherry picked from commit 20bbf9b179
)
2022-01-13 20:38:08 -05:00
Jon Evans
3011ae1d51
PNS: Do not allow smart pads when in 90-degree mode
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10386
(cherry picked from commit cf4d46b24d
)
2022-01-13 20:38:01 -05:00
qu1ck
33a4c9b08e
FOOTPRINT::GetProperty() swig extension
2022-01-13 21:08:52 +00:00
Wayne Stambaugh
a77b5649cc
Footprint editor: fix Eagle plugin footprint library layer mapping bug.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10354
2022-01-12 20:51:45 -05:00
Tomasz Wlostowski
79fe0bf456
router: use VIA::PushoutForce() for via push force calculation in the shove algorithm
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/10317
2022-01-13 00:43:27 +01:00
Tomasz Wlostowski
4d0a317e3d
router: fix via force propagation for vias where hole clearance > copper clearance
2022-01-13 00:42:50 +01:00
Tomasz Wlostowski
2aee47487a
pcbnew: consider worst case hole-to-hole clearance in GetBiggestClearanceValue()
2022-01-13 00:42:08 +01:00
dana
8373180cbb
Handle Unicode clipboard data in pcbnew and symbol editor
...
Fixes #10323
2022-01-12 17:15:47 +00:00
jean-pierre charras
cf11abda3d
Fix test_drc_regressions.cpp: disable tests that need a footprint library
...
DRCE_LIB_FOOTPRINT_ISSUES and DRCE_LIB_FOOTPRINT_MISMATCH imply a library
but the test cases do not have a library.
2022-01-12 15:57:41 +01:00
jean-pierre charras
ea3efac2b6
drc/drc_test_provider_library_parity.cpp: protect against null pointer use.
...
qa tests, test_solder_mask_bridging.cpp: filter not relevant DRC tests
2022-01-12 14:41:11 +01:00
Jeff Young
8c6c87eaf4
Separate footprint lib issues from footprint mismatch issues.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10132
2022-01-11 22:28:24 +00:00
Jeff Young
6ccfec0553
Layer handling for copper sliver exclusions.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10147
2022-01-11 22:28:24 +00:00
Frank Zeeman
f063c00bf1
Fix gr_arc indentation level
2022-01-11 21:03:45 +00:00
Roberto Fernandez Bautista
de7158b80e
Include Footprints within Groups when re annotating duplicates
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10329
2022-01-11 20:51:03 +00:00
Jeff Young
267eca28cd
Font support for global edit text & graphics dialogs.
2022-01-11 15:34:24 +00:00
Jeff Young
8f7d2dd06a
More VECTOR2D -> VECTOR2I and wxPoint cleanup.
2022-01-11 14:20:14 +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
Marek Roszko
fcfe42d67c
Continue the war on wxPoint
2022-01-10 19:52:26 -05: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
jean-pierre charras
4cdfd14f25
Fix a compil issue.
2022-01-10 21:03:22 +01:00
Seth Hillbrand
fade00a2b8
Remove default hotkey for toggle zone display
...
It is too easy to accidentally hide your zones and the 'A' hotkey is
intuitively mapped to Add Footprint, to match Add Symbol in eeschema.
This won't change current hotkey customizations but will help prevent
future user error. Users can still map the action to a hotkey if the
new toggle is useful to their workflow
(cherry picked from commit 4d899d7820
)
2022-01-10 11:52:41 -08:00
jean-pierre charras
ac78d51b14
Teardrops: better dialog, and better code
2022-01-10 20:04:41 +01:00
jean-pierre charras
5644f236d8
Allow teardrops only if advanced config define AllowTeardrops=1
2022-01-10 20:04:41 +01:00
jean-pierre charras
d42514ad30
Add code and dialog to create/add/remove teardrops, step 1
2022-01-10 20:04:40 +01: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
jean-pierre charras
cfe93e34a2
PCB_BASE_FRAME::FocusOnItem(): avoid extremely long calculation time for zones.
...
The algo used to calculate a focus point on a zone can be *extremely* time
consuming when using the filled areas in zone (can be matter of minutes and more).
So we use now only the zone outlines usually having not a lot of vertices.
2022-01-10 18:14:19 +01:00
Jeff Young
73a2984963
Fixes for rotated footprint text.
2022-01-10 15:30:19 +00:00
Jeff Young
236feeb592
Cleanup GRText APIs, 3D Viewer <-> board APIs, and Plotter APIs.
...
Also fixes a bug where outline fonts weren't being handled for footprint
text in 3D Viewer, and a copy/paste error in stroke font handling for
both PCB and footprint text in 3D Viewer.
Fixes https://gitlab.com/kicad/code/kicad/issues/10319
2022-01-10 14:17:11 +00:00
Jeff Young
2563518f3a
Fix compile error.
2022-01-10 14:05:21 +00:00
jean-pierre charras
c24985e8cf
drc_test_provider_sliver_checker.cpp: skip very small vertices when testing.
...
Very small vertices (length <= 2 or 3 iu) are frequent in filled areas, and
create false positive detections because one cannot calculate a meaningful
orientation of these vertices.
2022-01-10 11:50:29 +01: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
76368af7b9
Font cleanup and bug fixes.
2022-01-09 18:33:53 +00:00
Wayne Stambaugh
f379c49084
Pcbnew: honor footprint exclude from BOM setting.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10297
2022-01-09 11:27:34 -05:00
Jeff Young
2fea9e7513
Fix bone-headed copy/paste error formatting gr_poly and fp_poly.
2022-01-09 11:44:06 +00:00
Jeff Young
3c60b92472
Add custom rule examples from Martin Straub.
2022-01-09 11:34:20 +00:00
Jon Evans
974a66ddec
Ensure LIB_TREE cleans up while frame still exists
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10266
(cherry picked from commit 76f21d950d
)
2022-01-08 17:32:42 -05:00
Jeff Young
e3328e54c4
Fix view switcher on Mac.
...
Solution for MSW/GTK still isn't great.
2022-01-08 22:23:44 +00:00
Jeff Young
27c967421c
Commenting and "auto" reduction.
2022-01-08 16:47:45 +00:00
Jeff Young
aef2a3fca4
Default font for eeschema.
2022-01-08 16:47:45 +00:00
Jeff Young
eb58d7e44c
Text glyph caches and bug fixes.
...
1) Unify metrics between stroke and outline fonts
2) Unify handling of rotation and mirroring
3) Bug fixes in collision handling
4) Use of VECTOR2I (instead of VECTOR2D) for world-coordinates
5) Generate outline font overbar with rounded ends and fix rotation
bugs
6) Generate wxEVT_CHOICE events from FONT_CHOICE::SetFontSelection
7) Change text-item PNS SOLIDs to use compound shapes
2022-01-08 16:47:45 +00:00
Jeff Young
72340fcee2
Implement router and DRC collisions for outline fonts.
2022-01-08 16:47:45 +00:00
Jeff Young
a2030a5956
GUI for font selection.
2022-01-08 16:47:45 +00:00
Ola Rinta-Koski
72b69e8d7f
File format changes for fonts.
2022-01-08 16:47:45 +00:00
jean-pierre charras
9c29cc945c
prepare teardrops, round 2
2022-01-08 16:56:41 +01:00
jean-pierre charras
2b20a58615
Zone fill: fix an issue that uses thermal spoke width as thermal gap.
...
Fixes #10300
https://gitlab.com/kicad/code/kicad/issues/10300
2022-01-08 14:24:14 +01:00
jean-pierre charras
33dbe92deb
drc_test_provider_mechanical_clearance: add missing handling of SHAPE_T::RECT
...
test_ee_item.cpp: add missing call to ClearFieldsAutoplaced();
2022-01-08 10:49:47 +01:00
Seth Hillbrand
4a16c603e9
Don't bind to Alt+Tab
...
The Alt key is not usable by programs under Windows and Alt+Tab is
reserved on both MSW and Linux. Instead, we use the Shift modifier to
determine which preset to open
2022-01-07 15:35:46 -08:00
Seth Hillbrand
26c0a78947
Plot pads in layer color
...
v6 pads are not allowed to be a different color from the rest of the
copper layer, so don't query the GAL layer for a color
Fixes https://gitlab.com/kicad/code/kicad/issues/10293
(cherry picked from commit bfca928900
)
2022-01-07 08:56:22 -08:00
jean-pierre charras
53770fec68
Ensure thermal spoke widths are smaller than the pad size (fix a regression)
...
This is needed to create good thermal reliefs, and ensure the DRC about
thermal spoke count works.
Fixes #10246
https://gitlab.com/kicad/code/kicad/issues/10246
2022-01-07 16:38:27 +01:00
jean-pierre charras
534d635dd4
DIALOG_DRC: avoid use UNDEFINED_LAYER when select or activate a physical layer.
...
Although strangely it did not create issues on Linux, it does not work on Windows
2022-01-07 12:53:10 +01:00
Seth Hillbrand
4f874057ab
DRC scripting: load project from board if possible
...
s_SettingsManager is not always initialized when the WriteDRCReport is
run. We should first attempt to extract the project from the actual
board being checked. Failing that, we fall back to the static settings manager and then exit if we don't have a project associated.
Fixes https://gitlab.com/kicad/code/kicad/issues/10221
(cherry picked from commit 78e737b9d8
)
2022-01-06 11:51:05 -08:00
jean-pierre charras
7fa451dc93
Thermal reliefs: fix incorrect calculation
...
commit eeef655
did not fix the calculations.
2022-01-06 09:00:29 +01:00
Steffen Mauch
82f147ecef
pcbnew: EAGLE plugin is case sensitive to >VALUE / >NAME
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10253
2022-01-05 12:51:02 +00:00
Steffen Mauch
a5307c6f59
pcbnew: fixing eagle_plugin with empty class names
...
Fixes #10229
https://gitlab.com/kicad/code/kicad/issues/10229
2022-01-05 12:19:53 +00:00
jean-pierre charras
eeef65533a
Pad Thermal Reliefs: fix spoke incorrect angle for rotated pads.
...
Fixes #10251
https://gitlab.com/kicad/code/kicad/issues/10251
2022-01-05 11:19:43 +01:00
jean-pierre charras
c8d6ad0714
Pcbnew, dimensions fix params incorrectly saved for ortho dim
...
Fixes #10254
https://gitlab.com/kicad/code/kicad/issues/10254
2022-01-05 10:57:32 +01:00
Marek Roszko
cc5003a919
Update python for the pad wxSize switch
2022-01-04 23:28:06 -05:00
Jon Evans
bf38cb56b7
Handle footprint shapes in polygon creation
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10259
(cherry picked from commit f9d8ec6137
)
2022-01-04 21:31:47 -05:00
Jon Evans
4be56825bb
Fix creating polygons from footprint rule areas
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10257
(cherry picked from commit e9b91b6fab
)
2022-01-04 21:31:40 -05:00
Marek Roszko
726d873c53
Tear down the wxPoint trigo helpers
2022-01-04 21:23:11 -05:00
Marek Roszko
e4dbfcd92d
Swap out some wxSize for VECTOR2I
2022-01-04 20:42:27 -05:00
Marek Roszko
98ee6c5f85
Cleanup some wx/gdicmn.h includes
2022-01-04 20:32:27 -05:00
Seth Hillbrand
e6b5cb3a5c
Fix missing FOOTPRINT cast in swig
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10236
(cherry picked from commit ca8cf14dff
)
2022-01-04 11:09:51 -08:00
Thomas Pointhuber
de39bffd90
altium: Fix board outline import with arcs using SHAPE_LINE_CHAIN instead of a hack
2022-01-04 19:10:33 +01:00
jean-pierre charras
c2b54faceb
CvPcb: fix crash due to a null pointer: pcbconfig() can return null.
...
CvPcb has no config option and pcbconfig() returns nullptr.
In this case use default settings.
Fixes #10250
https://gitlab.com/kicad/code/kicad/issues/10250
2022-01-04 14:51:32 +01:00
Seth Hillbrand
ed35f4bfc5
Fix pad snapping in renumber pads
...
Snap shouldn't be looking for other items in this routine or using the
grid
Fixes https://gitlab.com/kicad/code/kicad/issues/10238
(cherry picked from commit ed9a3deb57
)
2022-01-03 19:39:04 -08:00
Marek Roszko
ac715d2e51
Scoop up some more wxPoint instances
2022-01-03 20:00:53 -05:00
Jeff Young
6f52edd618
Replace accidental delete of ExpandNode calls.
2022-01-04 00:46:08 +00:00
Seth Hillbrand
2a0e4a8324
Catch errors from `load()`
...
Loading footprints may throw in some cases. We need to catch these
nicely without breaking out of the full loading process
Fixes https://gitlab.com/kicad/code/kicad/issues/10213
(cherry picked from commit 1874ad2f7e
)
2022-01-03 15:31:14 -08:00
Jeff Young
e21fa31f64
Rip out rest of macHack architecture.
2022-01-03 22:09:56 +00:00
Jeff Young
b70cf1473f
Allow solder mask aperture objects to inherit nets during DRC.
...
The issue is that object A (the solder mask aperture object) can
bridge objects B and C which have different nets. Since we only do
object-to-object compares we don't find this. By allowing object A
to inherit the first net it collides with (either object B's or
object C's), we'll generate a violation with the second collision.
Fixes https://gitlab.com/kicad/code/kicad/issues/10189
2022-01-03 20:58:01 +00:00
jean-pierre charras
dde629330d
Pcb plot: fixcrash due to a null pointer
...
Fixes #10223
https://gitlab.com/kicad/code/kicad/issues/10223
2022-01-03 15:11:42 +01:00
jean-pierre charras
5879227ee2
Update footprint wizards after changes wxPoint->VECTOR2I
2022-01-03 11:43:15 +01:00
qu1ck
356cddd474
Template for vector<VECTOR2I> in swig
2022-01-02 21:33:58 +00:00
Jon Evans
60c0891c5f
Exit router and invoke edit tool when attempting to drag an arc track
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10208
(cherry picked from commit 45182febaf
)
2022-01-02 16:10:50 -05:00
Jon Evans
0e2f79ad8d
Fix highlighting color logic when net colors are active
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10157
(cherry picked from commit 134b09004b
)
2022-01-02 12:11:58 -05:00
Jon Evans
41e8606fe6
Fix saving of existing appearance presets
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10166
(cherry picked from commit c52421869a
)
2022-01-02 12:11:52 -05:00
Jeff Young
0365c6bf4b
Coverity fixes.
2022-01-02 14:57:03 +00:00
Jeff Young
89c0f8e297
Move to new font engine.
2022-01-02 14:57:03 +00:00
Simon Richter
d25fe17b28
Bump minimum required CMake version to 3.11
...
Signed-off-by: Marek Roszko <mark.roszko@gmail.com>
2022-01-01 21:35:08 -05:00
Marek Roszko
7d671cff1e
Scoop up some more wxPoints
2022-01-01 21:06:40 -05:00
Seth Hillbrand
410ed8a071
Prevent ops on empty selection
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10164
(cherry picked from commit bd75cffff3
)
2022-01-01 15:29:18 -08:00
Tomasz Wlostowski
dafa8ec671
pcbnew: fix incorrect type cast in DRC_TEST_PROVIDER_TEXT_DIMS
...
FP_TEXT cannot be casted to PCB_TEXT for obvious reasons, but what I don't understand is why downcasting to EDA_TEXT also crashes due to incorrect vtable method pointer (Clang10/Linux here).
I leave this as a curiosity for whoever knows C++.
2022-01-01 22:42:16 +01:00
Jeff Young
dc2e93cd0f
Fix setting/fetching angle out of footprint angle control.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10176
2022-01-01 20:46:45 +00:00
Marek Roszko
c91d3e3cf9
Remove some more wxPoint
2022-01-01 14:12:20 -05:00
Marek Roszko
ea613cf448
Another batch of point changes
2022-01-01 13:17:12 -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