Alex Shvartzkop
5de55b8c4a
STEP export: fix a Bnd_BoundSortBox usage bug.
2023-11-21 14:21:12 +03:00
Alex Shvartzkop
58b9d68084
STEP export: make use of footprint names instead of "SOLID".
...
Should help when importing into software that does deduplication
based on label names (e.g. SolidWorks).
2023-11-21 14:11:16 +03:00
Alex Shvartzkop
f3fdfa73e6
STEP export: Do not set BRepBuilderAPI precision.
...
This caused issues when loading some STEP models.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15485
2023-11-21 00:47:38 +03:00
Jon Evans
87ba1f7ea0
Fix expand selection for graphic shapes on graphic layers
2023-11-20 16:14:56 -05:00
Jeff Young
d382a11c2a
Apply new on-canvas-item marking to footprint editor tree.
2023-11-20 19:46:03 +00:00
jean-pierre charras
ed1924b975
Pcbnew, place menu: some enhancements:
...
- move place dimensions to a sub menu (they are not frequently used, and it
reduce the size of the place menu
- add reset drill origin, similar to reset grid origin.
2023-11-20 13:23:16 +01:00
snhobbs
5cf244dd90
Added a ImportSpecctraSession overload that doesn't require a PCB_EDIT_FRAME
2023-11-20 03:06:27 +00:00
Alex Shvartzkop
8dfad68d69
ADDED: option to optimize exported STEP files (disable pcurves)
2023-11-19 15:23:17 +03:00
Alex Shvartzkop
1321c8c6af
STEP export: fix an issue when cutting circular holes in zones.
2023-11-19 14:04:31 +03:00
jean-pierre charras
7fd9226bec
Fix issue in CalcArcCenter( VECTOR2D& aStart, VECTOR2D& aMid, VECTOR2D& aEnd )
...
It happens when the segment (aStart, aMid) is horizontal
Probably also when the segment (aEnd, aMid) is horizontal
Slopes with value 0.0 are set to double:: epsilon(), but it was a too small values
generating broken calculations.
Now set to 1e-10 (it seems working).
Fixes #16089
https://gitlab.com/kicad/code/kicad/-/issues/16089
2023-11-18 20:08:26 +01:00
Wayne Stambaugh
930b695b9f
Board editor array dialog fixes.
2023-11-18 13:21:13 -05:00
Wayne Stambaugh
9e1caa0d39
Fix crash when creating an array of footprint fields in board editor.
...
Attempting to create an array of footprint child objects other than a pad
causes the crash due to the fact that only pads where checked. The change
now checks if any object has a footprint as a parent. This should prevent
any future issues when new footprint child objects are added.
There was also another subtle bug fixed when more than one child object of
a footprint were selected, the array feature would make as many copies of
the footprint as selected child items.
https://gitlab.com/kicad/code/kicad/-/issues/16088
2023-11-18 11:18:18 -05:00
Jeff Young
21d53d0b86
Make sure Use-Netclasses checkbox gets set when loading dialog.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16110
2023-11-18 12:18:45 +00:00
Wayne Stambaugh
a5c34c50d7
Use natural sorting for net inspector when sorting by net name.
...
wxString sorting doesn't work when sorting strings with numbers which
results in 1,10,11...2 instead of 1,2,...9,10,11.
https://gitlab.com/kicad/code/kicad/-/issues/16100
2023-11-17 15:25:07 -05:00
Jeff Young
a4a946ab75
Clearer naming.
2023-11-17 18:36:33 +00:00
Jeff Young
78c46e5f4e
Improved clarity and comments.
2023-11-17 18:36:33 +00:00
Alex Shvartzkop
76352234e5
ADDED: Support Altium .IntLib (Integrated Library) in fp/sym library tables.
2023-11-17 07:20:18 +03:00
Jon Evans
6cb046a4eb
macOS: add a few more known file types
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14206
2023-11-16 12:11:42 -05:00
jean-pierre charras
ed9dd55fde
DRAWING_TOOL::PlaceImportedGraphics() do not add twice items when adding to new group.
2023-11-16 12:53:00 +01:00
jean-pierre charras
83ee2ffdab
Pcbnew, dialog import graphics: add tool-tips and minor cosmetic enhancements.
2023-11-16 12:50:45 +01:00
Jeff Young
b218617469
Honour bounding-hull setting on closed shapes and chained segments.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16092
2023-11-16 09:07:54 +00:00
jean-pierre charras
a663dd7ec4
Pcbnew, import graphics: fixes and enhancements:
...
- fix regression: allow grouping or not imported items
- store more settings in Pcbnew settings: all options are now stored.
- default tolerance to connect items is now 0.01 mm. 1 mm is a too big value,
and can create serious artifacts in imported outlines.
2023-11-15 20:26:05 +01:00
Jeff Young
9bb6b11c1d
Separate fields from text items in FPEdit's Defaults panel.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15135
2023-11-15 10:56:14 +00:00
Jan Wichmann
b1a044e22a
pcbnew: ADDED new feature "Center on FP" in the dialog "Edit Text and Graphic Properties"
2023-11-14 16:35:01 +00:00
Jeff Young
ca8cb5a206
Fix typo.
...
We want recursion into descendants here. Alternatively we could
change the caller to RunOnDescendents(), but it seemed cleaner to
omit the scoping of the Stage() call....
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16077
2023-11-14 14:23:23 +00:00
jean-pierre charras
e3bbe32793
drc_test_provider_library_parity: Better algo to compare footprint graphics
...
Instead of changing the footprint in test to have a non flipped, non rotated
fp, change the footprint template from library to have the same transform.
It reduce problems like rounding and graphic shape convert for rectangles.
Fixes #16075
https://gitlab.com/kicad/code/kicad/-/issues/16075
2023-11-13 18:38:30 +01:00
jean-pierre charras
f6314e6401
FOOTPRINT::cmp_drawings(): fix a incorrect sort criteria for polygons:
...
for polygons, GetStart() and GetEnd() have no meaning and cannotbe used
for sorting.
2023-11-13 18:36:00 +01:00
jean-pierre charras
d5a5d25623
rework on commit b564d0713c50e50282a0545ee23bb3ec51906cfd: better fix
2023-11-13 11:16:21 +01:00
Ian McInerney
e5f688e865
Plot footprint edgecuts in PDF drill map file
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15247
2023-11-12 23:21:46 +00:00
Zhuang Jiezhi
9b8fa85b32
feat:Add python API GetKicadCurrentLanguage
2023-11-12 22:52:54 +00:00
jean-pierre charras
b564d0713c
DRC: fix one of some things that can create false positive.
...
in bool shapeNeedsUpdate(), if a shape is a rectangle and the other is a polygon,
we need to try to convert the polygon to a rectangle for comparison, because some
transforms ( and especially PCB_SHAPE::Normalize() ) can convert a polygon to a rectangle
So a poly and a rectangle can be in fact the same shape
Partial fix of bug 16075.
2023-11-12 20:19:09 +01:00
Alex Shvartzkop
05e954ad5d
Fixes for length tuning patterns.
2023-11-12 12:17:08 +03:00
Alex Shvartzkop
78c7dc85f0
Fix moving tuning patterns, disable rotation.
2023-11-12 02:24:35 +03:00
jean-pierre charras
0904231000
Partial revert of commit d8498b62e0
, due to
...
comments in PCB_TEXTBOX::TransformShapeToPolygon()
2023-11-11 17:01:01 +01:00
jean-pierre charras
d8498b62e0
PCB_TEXTBOX::TransformShapeToPolygon(): fix incorrect transform: when it
...
is a polygon (rotated rect by a non cardinal angle) the polygon is not
filled, so the shape is just a set of thick segments.
Fixes #16072
https://gitlab.com/kicad/code/kicad/-/issues/16072
2023-11-11 16:44:04 +01:00
Jeff Young
7e46e85c7d
Update copyrights.
2023-11-11 15:29:34 +00:00
jean-pierre charras
75e0bf0cba
Python fp wizards: Add a text ("${REFERENCE}") on fab layer to a few wizards.
2023-11-11 11:19:21 +01:00
Jeff Young
3e58425671
Flip rotation angle when board view is flipped.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15954
2023-11-10 22:30:06 +00:00
Jeff Young
9ef05fb762
Don't store document values in global PROPERTY_MANAGER.
...
At best it leads to the wrong units being used if they're different
between (for instance) PCB Editor and Footprint Editor. (And this
will only get worse if we ever to to a single binary.)
At worst it causes crashes when accessing freed ORIGIN_TRANSFORMS.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16062
2023-11-10 18:37:29 +00:00
Jeff Young
d41f4ec842
Only disable unflashed layers when they're conditionally flashed.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16061
2023-11-10 13:57:56 +00:00
Jeff Young
e6081cf31a
Use position of isolotaed spoke when reporting it.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16058
2023-11-10 12:49:19 +00:00
jean-pierre charras
2f594e441b
Fix a compil warning (shadowed variable).
2023-11-10 10:31:40 +01:00
Jeff Young
6ecfc89a4a
Honour originTransforms in search panels.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15031
2023-11-09 18:41:18 +00:00
Alex Shvartzkop
7589de6120
Optimize footprint/symbol library hover previews.
2023-11-09 19:02:10 +03:00
Jeff Young
cc721c4907
Improve encapsulation of group internals.
...
(It's still leaking into BOARD_COMMIT and some other places, but at
least it no longer leaks into all the edit tools.)
Also fixes some bugs when moving/copying/pasting multiple selections
containing length-tuning patterns.
2023-11-09 14:05:35 +00:00
Jeff Young
78e00ade7a
Clearer naming.
2023-11-09 14:05:35 +00:00
Ian McInerney
dd933b7d0e
Update CERN copyrights
2023-11-08 21:34:14 +00:00
Jeff Young
a003515ee7
Enable drill/place file origin for plotting PDF.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15834
2023-11-08 16:40:28 +00:00
Jeff Young
72c985bc07
Rewrite scoring algo again. (Third time's the charm?)
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16042
2023-11-08 12:33:09 +00:00
Alex Shvartzkop
7abe2e3ea0
Restore clearance cache usage in PNS::NODE::NearestObstacle.
...
This (and the other commit) restores router performance to pre-7.0.3 levels.
(cherry-picked from commit 5e93814283
)
2023-11-07 23:25:53 +03:00
Seneral
55c44966d9
Added a temporary item cache to improve router performance
...
Some items only used within algorithms were never cached
Because they are hard to manually clean up
But caching them does help the algorithms a lot
So this solution is the best I can think of
(cherry picked from commit d29c07a663
)
2023-11-07 23:23:52 +03:00
Jeff Young
6d43ef5678
Don't specify sizes when we don't need to.
...
However, in some places we *do* have to because otherwise wxWidgets
will pick a minimum size for us (and it's rather large).
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16039
2023-11-07 14:53:41 +00:00
Jeff Young
abda3c0d33
Handle various keepout flags independently.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16037
2023-11-07 11:57:23 +00:00
Marek Roszko
23676eb988
Ensure output directory exists for drill files cli export
2023-11-06 21:11:35 -05:00
Jeff Young
5f6dab931a
Save order of all-layers in Plot Dialog.
...
Also adds an all-layers-specific context menu which includes an item
to sort in board-stackup order.
2023-11-06 19:56:42 +00:00
Jeff Young
7788c8f21c
Fix textbox mirroring and rotation (again).
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15576
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14159
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14912
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14178
2023-11-06 14:03:58 +00:00
Alex Shvartzkop
6c21e0607b
Use wxFileName::Mkdir instead of wxMkDir.
...
wxMkDir is a CRT wrapper that doesn't actually return bool.
2023-11-06 17:02:34 +03:00
Jeff Young
c5520b3eef
Save state of as-item-checkboxes checkbox.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13749
2023-11-05 16:22:20 +00:00
jean-pierre charras
d90981d981
Pcbnew: fix Swap command that improperly rotates footprints when flipping.
...
Fixes #16025
https://gitlab.com/kicad/code/kicad/-/issues/16025
2023-11-05 15:09:48 +01:00
Jeff Young
f83d60a48f
Clean up autosave files when reverting.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15998
2023-11-05 12:20:31 +00:00
Jeff Young
1df5d9c48c
Make sure to add enough wiggle room when MaxError is very large.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16024
2023-11-04 23:11:51 +00:00
Alex Shvartzkop
8752f75ef9
EasyEDA Std: COPPERAREA parsing failsafe.
...
Fixes KICAD-41Q
2023-11-04 13:55:29 +03:00
Jeff Young
ac172b944a
Don't get stuck cycling through invisible layers.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16019
2023-11-03 18:17:36 +00:00
Jeff Young
bc99b42c08
ADDED: put Renumber Pads in the edit menu.
...
Context-menu-only is too hidden.
2023-11-03 12:36:30 +00:00
Jeff Young
141b953d12
Show selection before opening menu.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15922
2023-11-03 12:36:30 +00:00
Jeff Young
92ae0f4793
Save Footprint chooser size and location.
...
(We're using a FRAME to mimic a dialog, so we need some of the
DIALOG_SHIM logic inside it.)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15807
2023-11-03 10:34:27 +00:00
Jeff Young
50ff5e616f
Don't delete text when cancelling changes.
...
Also changes margins of compile button so it correctly lines up at
the top of the error window.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16002
2023-11-02 18:37:55 +00:00
Wayne Stambaugh
91b503f875
Minor dialog layout fixes.
2023-11-02 09:37:44 -04:00
Jon Evans
1b4e77d53c
Fix another gcc 11 compile error
2023-11-01 20:49:08 -04:00
Jeff Young
7f8e397dfb
Behave (or assert) when source or target are null or dirty.
2023-11-01 17:11:42 +00:00
Jeff Young
2ce4adc739
Check physical_clearance rules in the router.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16007
2023-11-01 14:13:16 +00:00
Jeff Young
fb59f83683
Clean up references in RN_NETs when garbage collecting CN_ITEMs.
2023-11-01 13:53:30 +00:00
Jeff Young
d93bb464bf
When garbage collecting locally we also need to clear global references.
2023-11-01 12:47:54 +00:00
Jeff Young
67d8b13b02
And Font to properties manager for EDA_TEXT items.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16004
2023-11-01 00:39:42 +00:00
jean-pierre charras
d8be69c3c1
PAGE_INFO: use double instead of int to store the page size.
...
For historical reasons, they are stored in mils, but using int create rounding
issues when converting to/from mils to IU in dialogs.
This is a minor but annoying issue.
Fixes #16000
https://gitlab.com/kicad/code/kicad/-/issues/16000
2023-10-31 13:47:32 +01:00
Jeff Young
e7fca68384
Don't double-delete unused nets (or anything else, for that matter).
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15979
2023-10-31 12:10:21 +00:00
Alex Shvartzkop
3d5721a217
Fix some warnings.
2023-10-31 04:25:19 +03:00
Alex Shvartzkop
e24c8de4b8
EasyEDA Std: Fix open polygon shapes in symbols.
2023-10-31 02:21:32 +03:00
Alex Shvartzkop
f48a248db4
EasyEDA Std: Handle HTML escape characters in text.
2023-10-31 02:21:32 +03:00
Jeff Young
b5d904b45d
Ignore VVIAs when assembling length-tuning line.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15995
2023-10-30 19:55:51 +00:00
Jeff Young
42d9bc4a98
Hook up Import Settings to tuning patterns and custom rules.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15980
2023-10-30 18:12:42 +00:00
Jeff Young
87571ed8b8
Not all font sizes, fill properties or color properties are the same.
2023-10-30 17:30:15 +00:00
Wayne Stambaugh
6183a1e4de
Coverity warning fixes.
2023-10-30 09:16:24 -04:00
Alex Shvartzkop
847ab093c8
ADDED: Project chooser dialog for EasyEDA Pro import.
2023-10-30 09:35:27 +03:00
Seth Hillbrand
6d957e9d65
Don't use KiROUND when we should trunc
...
When calculating the viewport extents, we only need the maximum size
that can be represented. Anything larger should be truncated. We do
this in many other places (wx_view_controls, ruler_item,
ds_proxy_view_item, etc) and this brings pcb_selection_tool into
alignment with this, avoiding an unneeded warning message
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15529
2023-10-29 10:42:33 -07:00
Jeff Young
fc0017fc95
Normalize rects higher up.
...
We don't want to normalize footprint children to their board-relative
coordinates.
2023-10-29 11:45:16 +00:00
jean-pierre charras
acda18465c
DIALOG_EXPORT_STEP: fix missing init of m_outputFileName widget at opening.
...
Add also a validity test for the filename.
2023-10-29 10:20:51 +01:00
Jeff Young
0747d35228
Minor formatting fixes.
2023-10-28 17:58:33 +01:00
Jeff Young
a2f19ea6bb
Push m_forceMarkObstaclesMode down into the DRAGGER.
...
The existing flag was never read anyway, and it's only the DRAGGER
that knows that the starting state is already colliding and that we
need to force mark-obstacles mode.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8641
2023-10-28 17:52:15 +01:00
Jeff Young
c1f01877a8
Improve length calculation for vias.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10690
2023-10-28 13:14:21 +01:00
Jeff Young
4df5f9969a
Remove unnecessarily restrictive IsCopper() checks.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11588
2023-10-28 12:12:34 +01:00
Jeff Young
6c6a7cf862
Provide a callback for supplying file filters just-in-time.
...
This allows us to make them dependent on the current plugin type in
the fp lib table.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13959
2023-10-28 11:18:17 +01:00
Ian McInerney
171458a27b
Introduce action friendly names
...
Friendly names can be used to display action information that is clearer
in non-hierarchical contexts (e.g. not in menus).
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8075
2023-10-27 23:58:29 +01:00
Ian McInerney
9f21d0d719
Don't hardcode units for length/height/width in properties dialog
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15967
2023-10-27 23:58:29 +01:00
Wayne Stambaugh
6269453416
Coverity warning fixes.
2023-10-27 16:48:14 -04:00
Seth Hillbrand
8b3ac31646
Update GenCAD export to handle arbitrary outline
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15961
2023-10-27 12:46:37 -07:00
jean-pierre charras
0345e0f75c
export gencad: clean and update old code. Should not really change the export.
...
- code refactory.
- allows export to be done from kicad-cli (kicad-cli code is not yet updated)
Need more work.
2023-10-27 20:03:12 +02:00
Wayne Stambaugh
98cae68ea5
Fix pad properties dialog control updating.
...
This fixes an issue (at least on GTK builds) where the hidden controls
that change when selecting a different pad type and or pad shape get
shown are not laid out correctly.
2023-10-26 13:36:32 -04:00
jean-pierre charras
93b5038382
FOOTPRINT_EDIT_FRAME: ensure the canvas type comes from the FOOTPRINT_EDITOR_SETTINGS config
...
Previously, although the fp editor preferences has an option to select the canvas type,
it was read from the the PCBNEW_SETTINGS config, using Kiface().KifaceSettings().
2023-10-26 17:58:33 +02:00
Jeff Young
8d3a3419f8
Honour 90-degree router mode in a few more places.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10421
2023-10-26 14:18:28 +01:00