43908 Commits

Author SHA1 Message Date
Mike Williams
2c99bc6c6d new feature: Schematic Design Blocks
Added to advanced config, default to off.
EnableDesignBlocks=1 in kicad_advanced to test

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/2263
2024-09-05 08:35:49 -04:00
Jeff Young
43177b7554 More test debug output. 2024-09-05 13:24:55 +01:00
Jeff Young
58954afc41 Fix dumb-ass error in regex. 2024-09-05 12:01:27 +01:00
Jeff Young
8178469182 Fix slightly over-zealous optimisation.
(Also prunes double-matching against plainNumber regex.)
2024-09-05 10:42:56 +01:00
Alex Shvartzkop
c1e255c4fe Fix unreachable code warnings on non-OSX. 2024-09-05 06:17:16 +03:00
Alex Shvartzkop
36019314e9 Make simulation reporter warnings non-fatal.
Adds REPORTER::HasMessageOfSeverity for WX_STRING_REPORTER,
which allows us to show simulation warnings and fail only if there's errors.

Also fixes a crash when SPICE_GENERATOR_KIBIS throws an IO_ERROR.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18143
2024-09-05 05:59:35 +03:00
Alex Shvartzkop
16d9fa7f25 Fix compatibility with EasyEDA/LCEDA Pro v2.2.26
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18620
2024-09-05 05:59:35 +03:00
Alex Shvartzkop
660d26e572 Altium PCB import: fix textbox and text placement.
Especially when rotated and/or mirrored.

It's not perfect but it's close enough to being correct.

See https://gitlab.com/kicad/code/kicad/-/issues/18417

(cherry picked from commit bdc371f05720687bdc200274315fd7ca42ba2545)
2024-09-05 05:59:35 +03:00
Alex Shvartzkop
5d8323b69b Altium PCB import: don't add stroke width to text height.
For stroke fonts, KiCad's metrics are very similar to Altium's,
so there's no need to add more height.

(cherry picked from commit dc2dd20ec700f77140566739219e99122d6e692a)
2024-09-05 05:59:35 +03:00
Alex Shvartzkop
873d56e867 Altium PCB import: don't override text alignment in ConvertTexts6ToEdaTextSettings.
It is set already at callsite, no need to override.

(cherry picked from commit 057174caa00bc2608d55c6bb3f8e4454e1dfcb6b)
2024-09-05 05:59:34 +03:00
Alex Shvartzkop
a27475853a Altium PCB import: convert arcs with very small angle to segments.
See mb1791_bdp.zip for example.
2024-09-05 05:59:34 +03:00
Seth Hillbrand
92187e8f7d Import missing checkboxes in board setup
The style checkboxes are stored in the project file but accessible
through BDS.  Be sure to import all displayed fields at once
2024-09-04 13:09:28 -07:00
Seth Hillbrand
6c9980fca0 Leave full path in WS Editor draw list
Truncating the path leads to differences between viewing ${FILEPATH} and
printing/plotting ${FILEPATH}.  The variable does not appear to be used
elsewhere
2024-09-04 12:58:01 -07:00
Jeff Young
94f995c49e Reduce dependency on dynamic_cast.
(Especially where it is no-worky on MacOS.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17245
2024-09-04 17:24:49 +01:00
jean-pierre charras
43ea0d0adb DRC and flipped footprints: better fix than ugly commit 6bc51781
The sorting function used by DRC now also normalize segments.
2024-09-04 09:50:19 +02:00
Seth Hillbrand
3e5ca2ee7a Modify SHAPE_LINE_CHAIN::Simplify() to fix PNS
Issue raised by TomW, points included in new QA test where Simplify was
not properly removing colinear points.

Also removed TestSegmentHitFast() as the speed gains were minimal when
testing against the revised SEG::SquaredDistance routine in
TestSegmentHit()
2024-09-03 17:23:07 -07:00
jean-pierre charras
6bc51781b8 Fix a side effect of commit 513d659c (master) or 55fafe34 (8.0 branch)
This commit modify the order of end points of flipped graphic lines, and
create a DRC issue for flipped footprints (if flipped before this commit).
For segments inside a footprint, the "old" way to flip a segment is now
reused.
Expecting this ugly fix is only temporary.
2024-09-03 16:52:20 +02:00
Marek Roszko
89a3b7baa5 Move some things starting from reporter to kicommon 2024-09-02 21:15:14 -04:00
Jeff Young
d2b36cc38d Remove special-case for heat-sink pads.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18453
2024-09-02 12:41:23 +01:00
Jeff Young
c7859e7ed7 Clean up (and better comment) referential model handling. 2024-09-02 09:50:31 +01:00
Jeff Young
ee77d06be7 Turn off LTspiceXVII/lib/cmp hack.
Now that performance has improved and we process models
one-by-one there's no need to create fallback models for
the (copiously buggy) standard LTspice libs.
2024-09-01 22:14:15 +01:00
Jeff Young
baf7c592b9 Select model when loading library. 2024-09-01 22:14:15 +01:00
jean-pierre charras
edbe6e997d DIALOG_SELECT_3DMODEL: do not select the first 3D shape on root dir change.
It was especially annoying when selection the project dir: if a 3D step file
was existing, it was loaded just on this dir selection, and could take a while.
2024-09-01 17:03:39 +02:00
Jeff Young
33efd9e0ef Revert single parsing because we use different parsers
for different model types.

Alos fix AKO & SUBCKT model handling, which can't be done
in parallel because they refer to other models.
2024-09-01 10:56:05 +01:00
Jeff Young
1959bacf08 Performance.
Don't parse PEGTL twice, once for modelType and once for
model itself.

Also don't do O(n^2) searches on parameter names when
reading libraries.

And, because it's still too slow, multi-thread it.
2024-08-31 18:51:28 +01:00
jean-pierre charras
8f348820f3 EEschema: fix crash when repeat an item (ins key), due to a null parent
A recent change set the parent member of a item put in the repeat list to
nullptr (this is OK) but the code to copy an item from this list did not
update this parent member.
2024-08-31 18:04:41 +02:00
jean-pierre charras
87cf37c847 wip 2024-08-31 11:38:51 +02:00
jean-pierre charras
19ee73e7f7 STEP exporter: fix some issues:
* do not try to load vrml files for file formats that do not use them
* more tolerant test for step file: search header using up to 3 first lines
instead of only the first line
* dialog export: ensure the file ext is synchronized with the file format
the first time the dialog is opened
* more info messages: now a message is printed if the actual file format of
a 3D file is not recognized
2024-08-31 11:12:12 +02:00
Jeff Young
c22eac2fbf Performance.
Saves about 30% of the time to open the sim model
dialog.  Pretty much all the remaining time is in PEGTL,
and that's even with short-circuiting it for most param
values.
2024-08-30 22:49:29 +01:00
Jeff Young
ab1c179fa3 ADDED: ease selection of sim model from large libraries.
Replaces drop-down with a filter and a listbox.
2024-08-30 22:49:29 +01:00
JamesJCode
e80c595954 Deduplicate hierarchical pins in sync pins dialog
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18623
2024-08-30 19:28:34 +01:00
jean-pierre charras
c403b91ab3 PANEL_SETUP_LAYERS_BASE: remove a useless leading space in translatable string 2024-08-30 11:19:28 +02:00
jean-pierre charras
b3b7cbcab2 Fix a compil issue on msys2.
atoi() want a string, not a wxString.
2024-08-29 09:20:48 +02:00
Alex Shvartzkop
88272a59b7 Fix MSVC build. 2024-08-29 04:57:13 +03:00
Alex Shvartzkop
ebb418f22b Avoid some potential integer overflows in circle.cpp. 2024-08-29 00:35:38 +03:00
Jeff Young
3441861988 Make arrow keys respect grid overrides. 2024-08-28 19:54:23 +01:00
Jeff Young
94f7f073f2 Sort model names so that type-ahead is more useful. 2024-08-28 19:54:23 +01:00
Jeff Young
cfb93920ed ADDED: increment annotation.
Pushes the ref des numbers for matching prefixes starting
at a particular annotation.
2024-08-28 19:54:23 +01:00
Jeff Young
4601503660 Even the orphaned net must obey the min board clearance.
(And other Default netclass constraints.)
2024-08-28 19:54:23 +01:00
Seth Hillbrand
86c0aec468 Move zone connection filler out of AC
New algorithm to prevent zone fills that are smaller than the minimum
copper width.
2024-08-28 09:04:51 -07:00
John Beard
00f7ae2a20 Find dialog: 'Words' -> 'Whole words only'
This is the wording used, for example, in LibreOffice.

And add some Alt-hotkeys for the options, in particular:

* Alt-W: word only mode
* Alt-C: case sensitivity

Which (in English at least) is consistent with VS Code and Firefox,
which also allow Alt-hotkey toggling (Kate and Writer don't).
2024-08-28 13:49:36 +01:00
John Beard
b043f334de Update font when needed on italic/bold change
When the italic or bold nature is changed, text using outline fonts may
need to change its font. Add this to the SetItalic/SetBold functions.

Also add a counterpart SetItalicFlag function (following SetBoldFlag)
when you only need to set the flag (e.g. when importing or changing
everything in the text properties dialog).

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/18592
2024-08-28 13:49:36 +01:00
John Beard
6167be1e98 QA: Remove duplicate function that exists in qa_utils 2024-08-28 13:49:36 +01:00
John Beard
1fb2d7fe26 Pcbnew: Snap to graphic/track intersections
Relates-To: https://gitlab.com/kicad/code/kicad/-/issues/2329
2024-08-28 13:49:36 +01:00
John Beard
6c5c9fe89a Add a center snap point to rectangles 2024-08-28 13:49:36 +01:00
John Beard
0818ee1770 Pcbnew/FPedit: Add snap anchor type indicators
This allows to see what the current snap point is, which is useful when
zoomed in, or the point is like the corner of a rounded pad where it's
"in free space" and might not be immediately obvious.
2024-08-28 13:49:36 +01:00
John Beard
410e200f80 Newstroke: neaten some Chinese characters.
Many characters have doubled-up or broken
strokes. There are thousands, but fix a few of the most
common ones (e.g. numbers, colours, a few electronic
terms)
2024-08-28 13:49:35 +01:00
John Beard
18aa74a33b Newstroke: Add readable glyphs to character names
This means you don't have to keep referring to a Unicode
table to know which character is where - you can see it in the
list and use the symbol search system.

No change to generated output (such suffixes are stripped by the
fontconv.py script).
2024-08-28 13:49:35 +01:00
John Beard
38daf2e2fa Newstroke: Upgrade symbol library files
This results in much re-ordering and reformatting of the libraries due
to cosmetic changes in the output filter. But there is no graphical
changes.
2024-08-28 13:49:34 +01:00
jean-pierre charras
57ce2ef0bc DIALOG_RULE_AREA_PROPERTIES: cosmetic enhancement: reduce the min dialog size.
Due to some useless sizer constraints, a few empty areas were shown.
2024-08-28 14:44:20 +02:00