Marek Roszko
3bf2fb2c0e
Fix more C5266 warnings
2023-05-18 22:08:50 -04:00
Jon Evans
27afd22bbf
Specctra: remove grouped tracks from group before cleaning up
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14763
2023-05-17 23:03:06 -04:00
Seth Hillbrand
0de24bfd59
Cleanup text alignment between version 6 and 7
...
Version 7 text alignment changed subtly for stroke fonts from version 6.
Additionally, the output has been different between screen and plotting,
leading to offset text in plotted output relative to the text shown on
screen.
This introduces a fudge factor in FONT::getLinePositions to correct the
offset in the plotting output relative to v6.
This also changes the SCH_PAINTER and PCB_PAINTER to correct the
relative offsets between GAL and PLOTTER classes. The source of these
offsets is atm unclear.
Fixes https://gitlab.com/kicad/code/kicad/issues/14755
2023-05-17 13:33:49 -07:00
Ian McInerney
20ec8ed303
Fix GitLab URLs to point to the correct project page
...
GitLab 16.0 removes support for URLs that don't contain /-/ after the
repository name, so the report bug feature and various links we had in
the source (including the git-fixes script) would lead to a 404 error.
See GitLab docs for deprecation/removal notice:
https://docs.gitlab.com/ee/update/deprecations.html?removal_milestone=16.0#legacy-urls-replaced-or-removed
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/14759
2023-05-17 11:23:00 +01:00
jean-pierre charras
66651327bd
STEP export: in board outlines, export Circles as Cylinders, round 2.
...
Other arcs (not 360 deg arcs) are still exported as polylines
2023-05-16 13:39:16 +02:00
jean-pierre charras
99bdb82dff
Revert "STEP export: in board outlines, export Circles as Cylinders."
...
This reverts commit 09515fe821
.
It does not pass a QA test
2023-05-16 09:59:53 +02:00
jean-pierre charras
09515fe821
STEP export: in board outlines, export Circles as Cylinders.
...
Other arcs (not 360 deg arcs) are still exported as polylines
2023-05-16 08:46:34 +02:00
Jon Evans
94130716a5
PNS: Collision search context may be null
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14741
2023-05-14 17:20:59 -04:00
Alex
d790865549
Make sure text bounding box exists when syncing PNS world.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/14733
2023-05-14 13:40:14 +03:00
jean-pierre charras
22de1c8813
Teardrop dialog: refinements. Show a PROGRESS_REPORTER when refilling zones.
2023-05-12 10:06:20 +02:00
Steve Bollinger
85f4f0d6c8
pcbnew: switching track posture may not work on first attempt
...
If you drag a track out and connect to a pad then press the hotkey
to switch the track posture it may not switch because the track
posture selected when the pad was reached is different than the one
that the mouse trail placer drew. As the aspect switching is done
in the mouse trail placer it does not know that the line placer
already override the track.
To correct this, in LINE_PLACER::FlipPosture() if the aspect is not
currently manually forced then copy the current aspect from the
line placer to m_mouseTrailPlacer before calling the FlipPosture()
method of m_mouseTrailPlacer. This will only be done once per
dragging session as once the aspect is manually forced it remains
manually forced. This seems to fix the issue with no undesirable
side effects.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/12369
2023-05-11 23:35:21 +00:00
Jon Evans
89aae88e96
PNS: make sure context options are used in collideSimple
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14659
2023-05-11 16:48:15 -04:00
Jon Evans
2e60315959
PNS: Don't use clearance epsilon for calculating shove distances
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14707
2023-05-11 13:09:03 -04:00
Jeff Young
35158a7db9
Use track opacity for teardrops.
2023-05-11 15:57:44 +01:00
Jeff Young
4da6d5ff28
Add "generate raw teardrops" option to Add Teardrops dialog.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/14711
Fixes https://gitlab.com/kicad/code/kicad/issues/14704
2023-05-11 15:47:42 +01:00
Jeff Young
daa3a1aae9
Revert addition of update-teardrops checkbox to DRC dialog.
2023-05-11 14:53:28 +01:00
Jeff Young
9481a218c7
Lazy loading of stackup UI widgets.
2023-05-11 14:37:48 +01:00
Jeff Young
3f44c811c7
Don't run onPageChanged() event handler during initialization.
2023-05-11 12:51:55 +01:00
Jeff Young
03c9b1c202
Move remainder of Board Setup to lazy loading.
2023-05-11 11:43:10 +01:00
Jeff Young
ddc6ecf7be
Lazy loading of Schematic Setup panels.
2023-05-11 11:43:10 +01:00
Jon Evans
932f171e96
Remove hard-coded safety margin from specctra output
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14713
2023-05-10 21:55:47 -04:00
Jeff Young
9ae8255202
Insta-prefs.
2023-05-10 18:14:14 +01:00
jean-pierre charras
31d613c746
Fix a few Coverity warnings (not initialized vars)
...
It also fixes a potential crash when closing Kicad.
2023-05-10 09:21:39 +02:00
Jeff Young
245c3ba6e4
CLang can't do a dynamic_cast across the KiWay.
...
Rely on DRC for text readability instead.
(Fixes Sentry KICAD-R4 on Mac, and the assert when opening
Preferences from a non-PCBNew-module window.)
2023-05-09 11:10:33 +01:00
Jeff Young
2dcbc10a09
Performance optimization.
2023-05-08 11:46:04 +01:00
Jeff Young
5b3798a370
Holes need a parent.
...
SetHole() handles all this for us. Make sure it's called.
Fixes https://gitlab.com/kicad/code/kicad/issues/14702
2023-05-08 11:41:12 +01:00
Jeff Young
f883b7fd4d
Fix layout inconsistencies in Gen Footprint Pos file dialog.
2023-05-08 10:57:43 +01:00
Jon Evans
b06f90335b
PNS: Remove holes when removing items with holes
...
Related to https://gitlab.com/kicad/code/kicad/-/issues/14702
2023-05-07 22:12:11 -04:00
Jeff Young
7978941fa8
Don't allow thickness of 0 in case of an empty stackup.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10790
2023-05-07 22:24:40 +01:00
Jeff Young
5bf450a89f
Performance. (Coverity)
2023-05-07 14:58:44 +01:00
Jeff Young
2762fa7787
ADDED: track width & via size filters in Edit Track & Via Properties
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13315
2023-05-06 23:20:39 +01:00
Jeff Young
7bb81f7573
Expand solder mask for pads *defined* to be on copper layers.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/14693
2023-05-06 21:39:01 +01:00
Lucas Dumont
a22e6db982
Add Zone when dragging component
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14629
2023-05-06 09:32:38 +00:00
Jeff Young
b41d446f58
Fix a bunch more issues with sheetpaths and allowExtraText.
...
A sheetpath is required to correctly resolve text variables.
Depending on currentSheet is rife with bugs.
There are many places where we do *not* want to be prepending
field names to the field values, such as netlisting,
building PDF hypertext menus, etc.
Also, Find/Replace needs to work on unresolved text, as
that's what we're going to display (and if replace nuked
your variable references you wouldn't be happy).
2023-05-05 17:23:52 +01:00
Jeff Young
cd43dccb18
Add missing property to footprint texts table.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/14357
2023-05-03 17:57:13 +01:00
jean-pierre charras
152f6d80e5
Use operator at() instead of [] to access a std::array item
...
It helps debug.
2023-05-03 16:40:40 +02:00
jean-pierre charras
631dde3ed1
Pcbnew: fix crash when loading a file having vias on connected layers only.
...
It was due to an access out of bounds in a std::array
Fixes #14668
https://gitlab.com/kicad/code/kicad/issues/14668
2023-05-03 16:06:32 +02:00
Jeff Young
0eac5c6748
Tighten lifecycle management of CN_ANCHOR/CN_ITEM.
...
In particular, when a CN_ITEM is freed set all its anchor's
item pointers to NULL. (The anchors have a separate
lifecycle due to being std::shared_ptrs.)
Hopefully fixes Sentry KICAD-KV.
2023-05-03 10:50:31 +01:00
Jeff Young
b53f337938
More accurate terminology for cross-probe settings.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13088
2023-05-03 10:50:31 +01:00
Jeff Young
f27bc16d62
Cleanup API and use text bounding box for routing.
...
If someone wants to route around the text more tightly
they can now convert the text to polygons.
Fixes https://gitlab.com/kicad/code/kicad/issues/14252
2023-05-02 16:03:43 +01:00
Jeff Young
80f8cd2254
Commenting and formatting.
2023-05-02 14:16:02 +01:00
Jeff Young
df7d62fdd3
Added a sort-order dropdown to lib-tree filters.
...
Also simplifies the scoring algorithm so that it only
differentiates between exact-match, match-at-start and
any-match. The rest of the position-based matching
stuff is gone, as is the knowledge of the name vs the
keywords vs the description. All that is left to the
provider of the weighted search terms array.
2023-05-01 21:26:43 +01:00
Mike Williams
04a53ea40d
Picker Tools: make sure we know what tool we are
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/14621
2023-05-01 12:43:09 -04:00
Mike Williams
39cc686dc4
Back Annotation: add support for DNP and Exclude from BOM attributes
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/14584
2023-05-01 08:54:14 -04:00
Jeff Young
c31fb435e6
Add missing setting to Dimension Properties dialog.
...
Also fixes a bug where during file save we were calling
GetPosition() on the PCB_TEXT but getting the DIMENSION's
version.
Fixes https://gitlab.com/kicad/code/kicad/issues/8447
2023-04-30 22:45:19 +01:00
Jeff Young
2f9889ff62
Add settings for plotting PDF property popups.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/14450
2023-04-30 18:10:04 +01:00
jean-pierre charras
096af19d9a
Minor fix and cosmetic change:
...
- SCH_SYMBOL::GetMsgPanelInfo(): slighly change the displayed lines to allow
longer strings in Description and Keywords
- panel_setup_rules_help.md: fix incorrect html link (URI), creating ERR 404
2023-04-30 17:37:30 +02:00
Jeff Young
1c6b765ba5
Formatting and cleanup.
2023-04-30 13:43:25 +01:00
Jeff Young
af7753c7cd
Record parent rule for DRC assertions.
...
(Particularly important if the rule specified a severity.)
Also fixes a bug looking up LSET layer names in the
GetStandardLayerNames array (which aren't the same).
https://forum.kicad.info/t/a-few-questions-about-custom-rules-syntax/40068/7
2023-04-30 13:01:09 +01:00
Seth Hillbrand
f4b43617e7
Add COMMIT structure to Schematic and Symbol editors
...
Provides a single-point access for modifying the schematic and symbol
elements that allows chaining updates and reverting partial changes.
Standardizes the undo hierarchy between pcb and schematic editors
As this is another layer on the existing undo/redo structure, the
initial commit does not replace all undo/redo calls currently existing.
These will be handled in a series of follow-on commits
2023-04-28 17:05:47 -07:00
Jeff Young
251161dbeb
Bring inspection reporting in line with zone filler
...
1) "clearance" rules don't apply to NPTH holes with no copper
2) local zone clearance applies even if other item has no copper
Fixes https://gitlab.com/kicad/code/kicad/issues/14575
2023-04-28 22:15:10 +01:00
Jeff Young
16e000f2b0
Use Net() accessor uniformly; init hole parent in VIA::Clone()
...
Fixes https://gitlab.com/kicad/code/kicad/issues/14603
2023-04-28 18:32:58 +01:00
Jeff Young
6807ca6f9f
Allow text input to Convert to Polygon/Zone/Keepout.
...
Also fixes non-copper zone filler to honor fill keepouts.
Fixes https://gitlab.com/kicad/code/kicad/issues/14566
2023-04-28 17:43:08 +01:00
Lucas Dumont
b1a4353c34
Update collide for hole
...
As hole don't keep track of the net, update the collide function to keep it working
2023-04-28 10:20:55 +00:00
Jeff Young
b2a45023bc
Tighten ownership model of PNS::ITEM.
...
In particular, ownership must be explicitly set. It is
no longer inherited through copy/clone/etc.
2023-04-28 11:05:39 +01:00
Jeff Young
9646e3c1c0
Simplify PNS::VIA construction.
2023-04-28 00:32:49 +01:00
Lucas Dumont
c781fde236
pcbnew: don't move twice
...
In pcbnew, if you press M to move your selection and press M again, then escape, you will trigger the https://gitlab.com/kicad/code/kicad/-/blob/master/common/tool/tools_holder.cpp#L106 assert
2023-04-26 15:37:18 +00:00
Lucas Dumont
2992d7c68b
Fix typo in QueryConstraint switch
2023-04-26 13:20:32 +00:00
jean-pierre charras
2f392352b5
EDIT_TOOL::doMoveSelection(): avoid calling PushTool() and, just after,PopTool()
...
for the *same* event: TOOLS_HOLDER::PopTool() does not work fine in this case.
2023-04-26 13:00:50 +02:00
Seth Hillbrand
f7f52d77e4
Rework Copper Sliver check
...
Adds QA checks to copper sliver tests. Adds the following checks:
- Dot product between two arms (quickly avoids checks for >90°)
- Checks the sliver is convex (area test)
- Eliminates minor slivers with angles that are approximately 0 and ones
with the opposite side width beneath a configurable level
- Updates Clipper2 to fix a couple of jagged edges on inflate
- Adds simplify during zone fill inflation to limit jaggies
Fixes https://gitlab.com/kicad/code/kicad/issues/14549
2023-04-25 10:32:46 -07:00
jean-pierre charras
b9ed84b7db
Fix minor compil warnings
2023-04-25 12:43:15 +02:00
Lucas Dumont
e2e901de1d
Don't override clearance when routing
...
The default `m_overrideClearance = -1` used here was changed to 1.
Reseting it to -1 to solve linked issue
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14595
2023-04-25 09:18:53 +00:00
Jeff Young
676a15df65
Don't try to keep track of a HOLE's net.
...
Keep track of it's parentPadVia instead.
Fixes https://gitlab.com/kicad/code/kicad/issues/14603
2023-04-24 18:32:17 +01:00
jean-pierre charras
d180ce7865
Pcbnew, minor fix: make Image Properties dialog re-sizable.
2023-04-24 10:21:31 +02:00
jean-pierre charras
8fc70d577f
better QFNWizard.
2023-04-23 17:34:21 +02:00
jean-pierre charras
c617abe8e9
SCH_BITMAP and PCB_BITMAP: rename m_image to m_bitmapBase. Add more info
...
in GetMsgPanelInfo() (PPI, scale).
m_image name was confusing: it is not a wxImage, but a BITMAP_BASE item,
and m_image name was already in use in BITMAP_BASE, used inside SCH_IMAGE.
Bitmap properties dialog: show PPI value and add Title to dialog.
2023-04-22 17:28:06 +02:00
jean-pierre charras
0c544f1f45
FOOTPRINT_EDIT_FRAME: do not delete settings when closing the frame.
...
They now are read when starting kicad, and must be not deleted.
2023-04-22 11:46:52 +02:00
Marek Roszko
dbed94e4b1
Fix gerbers and drill plot not logging errors
...
Partial fix for https://gitlab.com/kicad/code/kicad/-/issues/14437
2023-04-20 23:39:59 -04:00
Marek Roszko
9f64c7f354
Load custom drawing sheets for pcb cli
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14171
2023-04-20 23:17:52 -04:00
Seth Hillbrand
990641d2eb
Cleanup printf bits
2023-04-20 15:19:04 -07:00
Seth Hillbrand
4b91c0c8ee
Handle multiple holes in footprints
...
Our basic logic for whether we have a hole or an outline in a footprint
checks if there is copper pads outside of the closed edge. This misses
the case where the footprint is used to align multiple holes but has no
copper. Since we do not support multiple outlines in a board, we can
safely assume that multiple, closed edges in a footprint represent holes
and not outlines
Fixes https://gitlab.com/kicad/code/kicad/issues/14468
2023-04-20 14:56:36 -07:00
Seth Hillbrand
b56db30019
Ensure that even open paths with fills are filled
...
SVG paths that are "open" can still have a fill internally, so avoid
dropping fills for these non-standard polygons
Fixes https://gitlab.com/kicad/code/kicad/issues/14518
2023-04-20 12:31:04 -07:00
jean-pierre charras
d4cf063e40
Fix a few more doxygen errors (no actual code change)
2023-04-19 20:24:42 +02:00
jean-pierre charras
a20f757d8c
undo a change (it was only a test) committed by mistake.
2023-04-19 16:57:35 +02:00
jean-pierre charras
1406341d2d
Fix a few doxygen errors (no actual code change)
2023-04-19 16:20:24 +02:00
Marek Roszko
ea077bc34d
Banish ignore.h to core
2023-04-18 22:44:04 -04:00
Seth Hillbrand
32d17547e5
Fixup settings loading
...
Settings loading needs to account for potential chaining, so each
instance should be created before being Load()ed. Additionally, add the
settings loading to QA
2023-04-18 16:00:31 -07:00
Seth Hillbrand
e6ab9a88ce
Remove locks from settings
...
Settings should be initialized on start-up. This removes the option of
lazily loading the settings from file and instead requires all settings
needed to be loaded on KiFACE start before requesting data from the
settings object
2023-04-18 13:40:25 -07:00
Jeff Young
c682d11fa0
Trim VRML export layers to board outline.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/14557
2023-04-18 17:31:29 +01:00
jean-pierre charras
ba12f00c15
Pcbnew: re-add draw umbilical line for texts in footprints.
...
It was lost after removing FP_TEXT in code.
2023-04-18 09:48:46 +02:00
Jeff Young
7e5fedef6a
Markup fixes.
...
1) allow escape sequences inside markup sequences
2) keep overbar when inside nested markup
3) always place overbar at full height, not sub/superscript height
Fixes https://gitlab.com/kicad/code/kicad/issues/14553
Fixes https://gitlab.com/kicad/code/kicad/issues/13449
2023-04-17 17:56:54 +01:00
qu1ck
9b58f50c68
Add usable PCB_GROUP::GetItems() swig wrapper
2023-04-17 15:41:49 +00:00
Nimish Telang
51e55dd750
Convert sprintf to snprintf in most files
2023-04-17 15:39:34 +00:00
jean-pierre charras
d0676118c1
BOARD_NETLIST_UPDATER: better warning message (I hope...) in Report.
...
Fixes #14548
https://gitlab.com/kicad/code/kicad/issues/14548
2023-04-17 14:30:47 +02:00
Lucas Dumont
469fe76994
pcbnew: Fix crash with differential routing
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14537
2023-04-17 14:17:14 +12:00
jean-pierre charras
725c2fd661
footprint wizards: fix for my previous commit 50502c4
2023-04-16 17:16:54 +02:00
jean-pierre charras
50502c450f
footprint wizards: fixes and enhancements
2023-04-16 17:03:32 +02:00
Jeff Young
b76ef8c7e2
Multi-threading safety.
...
(Possible fix for KICAD-74.)
2023-04-16 15:36:21 +01:00
Jeff Young
2793bb1d68
Performance.
2023-04-16 15:36:21 +01:00
Jeff Young
26c14271f2
Formatting and warnings cleanup. (No functional changes.)
2023-04-16 15:36:21 +01:00
jean-pierre charras
7545097d7f
Fix a compil issue on msys2/gcc12.2, due to changes in commit dd1c58dc
2023-04-16 15:28:34 +02:00
Marek Roszko
dd1c58dcf5
Fix MSVC C4840 warning
...
va_start requires trivially copy able classes.
wxString is not trivial. The correct thing to do is to use wxChar*
2023-04-16 07:36:41 -04:00
Jeff Young
299c88cfec
Allow setting 0 to min width, min track width, min via annular width, etc.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13822
2023-04-15 13:20:34 +01:00
Jeff Young
2d15067453
ADDED allow update of teardrops before running DRC.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/14264
2023-04-15 12:18:41 +01:00
Jeff Young
521aa5b5ae
Update DRC exclusions model to match terminology.
...
DRC exclusions were originally written following the C++
pragma model (ie: allow this violation here). However, the
"exclusion" terminology we used in the GUI suggests a model
model where the exclusions go away when the violation no
longer exists.
Fixes https://gitlab.com/kicad/code/kicad/issues/14351
2023-04-15 12:18:41 +01:00
jean-pierre charras
27ebba6b33
Python and footprint wizard: fix issues and update to be compatible
...
with recent changes in Kicad code.
2023-04-15 10:30:33 +02:00
Jeff Young
4a3f77cd9d
Clear board soldermask when undoing/redoing items that affect it.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13446
2023-04-15 00:06:58 +01:00
Jeff Young
d01c023d5a
Retire the lib-tree scoring algorithm.
...
It appears to cause more confusion than help.
Fixes https://gitlab.com/kicad/code/kicad/issues/13905
2023-04-14 23:35:27 +01:00
Salvador E. Tropea
d5c0bf3d0e
Load the global fp-lib-table before running the Python DRC
...
Without this we get parity errors for all the KiCad footprints
(cherry picked from commit e5087ca3db
)
2023-04-14 12:09:48 -04:00
Jeff Young
26609bbf05
Fix PNS_KICAD_IFACE_BASE::IsFlashedOnLayer() to be able to handle multi-layer queries.
2023-04-14 12:02:36 +01:00