Alex Shvartzkop
74075fe4d6
Fix target skew not working properly in meander skew placer.
2023-10-07 03:51:26 +03:00
Alex Shvartzkop
e4e769493c
Skip very short segments in MEANDER_SHAPE::forward.
2023-10-07 03:51:18 +03:00
Jeff Young
da5f5536c8
Honour custom layer names for Layer_Top and Layer_Bottom.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15835
2023-10-06 21:55:57 +01:00
Jeff Young
3f0067cbaa
Adjust colours in appropriate direction depending on background.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15841
2023-10-06 21:27:02 +01:00
Jeff Young
83d896951a
Apply epsilon more uniformly to footprint checks.
...
Rotation can cause round-off errors even in ints.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15838
2023-10-06 21:04:23 +01:00
Jeff Young
420cadab34
Separate meander settings from target length/skew.
...
Settings move to Board Setup, while target length is sourced from
the custom rules (or a text-entry dialog if no rules are active for
the track).
Target skew is sourced from the coupled-trace-length minus the
trace-to-be-tuned length.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12075
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15826
2023-10-06 19:46:55 +01:00
Jeff Young
b9e1908ffe
Try to find a happier medium for text entry box widths.
...
Most dialogs have units outside the text entry, and the likelihood
of 14 significant digits & units is low enough to allow scrolling
in that case.
2023-10-06 19:46:55 +01:00
Alex Shvartzkop
d7863b09c5
Move CORNER_STRATEGY out of SHAPE_POLY_SET.
2023-10-06 15:42:50 +03:00
Alex Shvartzkop
bf29b25190
EAGLE PCB: fix a regression causing polygons not being imported.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15829
2023-10-06 01:13:58 +03:00
Ian McInerney
0876fb0985
Re-implement direct layer switching in the router tool
...
Also add a new framework to allow grouping actions that are similar into
a single context that can then be used for mass comparisons.
2023-10-05 13:34:25 +01:00
Jeff Young
31c488bc23
NETINFO_ITEMs are owned by BOARD.
...
Lifecylce management must go through BOARD_COMMIT (or at least
the frame's undo/redo lists).
2023-10-04 21:01:33 +01:00
Mike Williams
c2d7b26ebd
PCBNew: don't grab the wrong parameter type when placing vias
2023-10-04 12:17:15 -04:00
Hasan Jaafar
c45ebfcccd
Add hot key column on layer select dialog
2023-10-04 12:17:15 -04:00
jean-pierre charras
37df47a3e7
genDrillMapFile: reduce the pen width used to plot oval shapes (better look)
2023-10-04 15:47:47 +02:00
Jeff Young
9f5e583ced
Readability.
2023-10-03 17:14:03 +01:00
Jeff Young
9b60e99660
Use wxSTAY_ON_TOP instead of wxFRAME_FLOAT_ON_PARENT for choosers.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15808
2023-10-03 14:49:50 +01:00
Jeff Young
a3d83cdb6d
Pass symbol netlist from Field Properties dialog.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15806
2023-10-02 23:41:06 +01:00
Jeff Young
987e382f96
Add missing member variable initialization.
2023-10-02 22:18:31 +01:00
Jeff Young
e242f54816
Fix crash trying to create a new board.
2023-10-02 22:12:07 +01:00
Jeff Young
8760bd8c80
Reconcile "apply defaults to new footprints" with DRC lib checks.
...
Moves apply defaults settings to Board Setup (where they were
duplicated anyway due to an earlier botched merge).
Modifies the apply-to-graphics algorithm to skip copper shapes.
Modifies DRC library check to skip STROKE_PARAMS for non-copper
shapes.
2023-10-02 22:10:13 +01:00
Jeff Young
2d3a8ee4c9
Readability and comments.
2023-10-02 20:56:16 +01:00
Jeff Young
9d678e96cd
Improve spacing.
2023-10-02 16:33:26 +01:00
Jeff Young
06446bb80e
Only expand lib tree when filtering.
2023-10-02 16:24:53 +01:00
Mike Williams
7c8e74c156
Fields: fix redundant update messages
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15801
2023-10-02 11:02:10 -04:00
Marek Roszko
6d3b846eb5
Add more missing destructor event cleanups
2023-10-02 07:22:00 -04:00
Jeff Young
eaa3ee43e9
Tighten terminology consistency in clearance & constraint reports.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15800
2023-10-02 11:12:18 +01:00
Jeff Young
609dedda3c
Insert lazily-created-rows at right position in grid sizer.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15652
2023-10-02 11:12:18 +01:00
Jeff Young
cf02bb171f
Expose exclusion flags in search pane.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15776
2023-10-01 22:46:34 +01:00
Jeff Young
904bdc3c66
Use netclass values when reaching netclass entry.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15774
2023-10-01 21:01:46 +01:00
Jeff Young
9214e47367
Only allow switching to enabled layers.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15779
2023-10-01 15:27:55 +01:00
Marek Roszko
bfbba632df
Guard GetModificationTime with IsValid otherwise it'll return based on INT64_MIN.
...
Fixes KICAD-3Z0
2023-10-01 09:43:09 -04:00
Marek Roszko
f1c5581802
Don't continue with a null board in board import
...
Some plugin is failing and returning a null-board when the usual convention was exceptions
Fixes KICAD-3ZJ
2023-10-01 09:38:44 -04:00
Alex Shvartzkop
25cca5adfe
EasyEDA Std: fix polygon pad orientation.
2023-10-01 16:21:26 +03:00
Alex Shvartzkop
9cca8e5970
EasyEDA Std: assign nets to PCB circles and rects.
2023-10-01 16:21:17 +03:00
Thomas Pointhuber
7005dd7c48
altium: make special string parsing on pcb a bit more generic
...
Only special strings starting with a dot are supported. Parsing of concatenated special strings using quotes needs to be implemented, but at least a few test-cases are already there now.
2023-10-01 15:10:50 +02:00
Thomas Pointhuber
3b3e4fd34a
Move duplicated code of plugin.cpp and sch_plugin.cpp into a new plugin_utils located in commons
2023-10-01 13:58:38 +02:00
jean-pierre charras
629081af65
fix FOOTPRINT::GetLikelyAttribute() to follow the comments of
...
FOOTPRINT::CheckFootprintAttributes(): at least one through hole pad
means most probably a footprint through hole attribute.
2023-10-01 11:21:11 +02:00
John Beard
311f041421
ADDED: Polygon boolean operations in PCB editor
...
This allows common operations like merging a pin courtyard
into the body courtyard in the fooprint editor, taking a
"bite" out of a polygon and so on,
For now, this only supports polygons made of straight lines.
There are some wierd cases when the operations result in nothing
(e.g. wen a big polygon is substracted from a smaller one that
it contains entirely). I have tried to do something senisble in
these cases, but there may be more optimal ways to handle it.
Relates-To: https://gitlab.com/kicad/code/kicad/-/issues/13025
2023-10-01 00:10:10 +01:00
John Beard
b6cd7e3b4a
Make ITEM_MODIFICATION_ROUTINE status messages more general and easier to call
2023-10-01 00:10:10 +01:00
Jeff Young
b18fd12694
Improve clarity.
2023-09-30 23:59:25 +01:00
Jeff Young
efd004b042
Fix typo.
2023-09-30 23:37:36 +01:00
Marek Roszko
02bbfc8f57
Fixes EDIT_TOOL::Move parameter assert
...
SENTRY KICAD-2CK
2023-09-30 16:00:15 -04:00
Marek Roszko
2bb811555b
Guess at fixing the InlineDrag action missing param
...
Fixes KICAD-41T
2023-09-30 15:53:35 -04:00
Jeff Young
9805aca5a0
Handle backslash-escaped quotes in libeval.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15786
2023-09-30 17:38:44 +01:00
jean-pierre charras
7bc2d69ab7
Fix a typo and a Coverity warning
2023-09-30 18:17:09 +02:00
Jeff Young
31e30a5f56
Fix typo in arguments list to EvalRules().
...
Also fixes a bug where we weren't clearing the previous tabs from
the notebook.
2023-09-30 13:14:27 +01:00
Marek Roszko
a347aa7647
StartPlot can fail and leave a broken file handle
...
Related https://gitlab.com/kicad/code/kicad/-/issues/15782
2023-09-29 19:52:21 -04:00
Jeff Young
e1c51ed192
A few performance improvements from profiling.
...
Most of them are very small; the removal of the Fracture() in
DRC_TEST_PROVIDER_COPPER_CLEARANCE::testZonesToZones() is the only
significant one.
2023-09-29 21:54:59 +01:00
Jeff Young
fa11e9138d
ADDED support for pin and fp filtering in FOOTPRINT_CHOOSER.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7176
2023-09-29 17:03:50 +01:00
Marek Roszko
98685b37ff
Don't search when board is null (during board changes)
2023-09-29 07:08:56 -04:00
Alex Shvartzkop
3b28ba83c6
EasyEDA Pro: don't fail on attributes for dimensions.
2023-09-29 12:17:30 +03:00
Alex Shvartzkop
e34d95bb45
EasyEDA Pro: deduplicate footprint 3D model fields.
2023-09-29 12:16:44 +03:00
Jeff Young
b592a6634e
Cleanup.
2023-09-29 00:13:13 +01:00
Jeff Young
974da4ea7c
Push most of DIALOG_CHOOSE_SYMBOL down into PANEL_SYMBOL_CHOOSER.
...
Includes a dialog wrapper (DIALOG_SYMBOL_CHOOSER) and a frame
wrapper (SYMBOL_CHOOSER_FRAME).
2023-09-29 00:13:12 +01:00
Jeff Young
23033451b1
Cleanup.
2023-09-29 00:13:12 +01:00
Jon Evans
077159ac13
Plotting: use theme color for worksheets
2023-09-28 16:58:02 -04:00
Marek Roszko
6b12a12b3e
On second thought rename PROJECT_PCBNEW to PROJECT_PCB
2023-09-27 23:15:54 -04:00
Seth Hillbrand
c772d116b2
Ensure that layer names are unique when importing
...
Altium allows duplicate layer names but KiCad prefers to have unique
names for each layer. This enforces a unique name for each layer when
importing
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15583
2023-09-27 18:05:21 -07:00
Marek Roszko
7e8b18035f
Eliminate the conditional pcbnew/cvpcb definition of PROJECT
2023-09-27 20:53:46 -04:00
Jeff Young
1047130046
Push most of footprint chooser into PANEL_FOOTPRINT_CHOOSER.
...
Create 2 wrappers for it: DIALOG_FOOTPRINT_CHOOSER and
FOOTPRINT_CHOOSER_FRAME. The first now gets called from wxGrid
editors, text button editors (such as Change Footprints), etc.
Retire FOOTPRINT_VIEWER_FRAME_MODAL. FOOTPRINT_VIEWER_FRAME still
exists, but has very few uses at this point.
2023-09-27 16:02:13 +01:00
jean-pierre charras
4e77c9089e
Fix typos
2023-09-27 17:01:21 +02:00
Zhuang Jiezhi
618c2be380
Pcbnew: Adding net pop-up menu for placing via
...
ADDED: Add feature showing a pop-up menu of possible nets when it's ambiguous in Pcbnew
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15003
2023-09-26 19:42:55 +00:00
Jeff Young
54171ec030
Add action for switching to Project Manager.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15740
2023-09-26 17:25:57 +01:00
Marek Roszko
37e8a008ab
Remove obsolete config_params.h includes
2023-09-25 20:40:29 -04:00
Jeff Young
be532e96d6
Fix errors in calculating tuning length.
...
Fix mismatched parameter passing in TOPOLOGY::followTrivialPath()
and TOPOLOGY::AssembleTrivialPath().
Fix logic error in PNS::JOINT::IsLineCorner().
Handle VVIAs in PNS::JOINT::IsNonFanoutVia().
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10614
2023-09-25 15:50:44 +00:00
jean-pierre charras
58d52df97c
Fix missing header on wxMSW
2023-09-25 15:19:27 +02:00
Jeff Young
bf493f32f5
Nullptr safety for various panels.
...
Also moves preference saving out to parent as different parents
save different settings.
2023-09-25 12:35:54 +01:00
Jeff Young
7835b8ddc7
Bring various appearance managers into line over preset editing.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15726
2023-09-25 12:35:54 +01:00
Seth Hillbrand
91450c22cc
Allow disambiguation menu configurability
...
Adds an advanced config flag to all testing different values for
different users.
Related to https://gitlab.com/kicad/code/kicad/-/issues/15128
2023-09-24 16:33:05 -07:00
Jeff Young
63558d4b09
Don't double-code the format of unconnected netnames.
...
It's owned by SCH_PIN::GetDefaultNetName().
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15723
2023-09-24 22:54:10 +01:00
Jeff Young
e962615407
Use original event position if it's available.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15623
2023-09-24 19:01:53 +01:00
Jeff Young
aef0f44b8e
Smarten up double-click handing in PCBNew drawing tool.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15700
2023-09-24 18:49:41 +01:00
Jeff Young
c2c71facb1
Tidy up shutdown of APPEARANCE_CONTROLS.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15024
2023-09-24 18:27:06 +01:00
Jeff Young
d428b0e20e
Improve SameLogicalPadAs() shorting nets test.
...
This is required to support 4cd26ab6bc
.
2023-09-24 16:19:26 +01:00
Marek Roszko
f8e33be07f
Break out the boundary violating parts of gal into common through subclassing
2023-09-23 09:37:47 -04:00
jean-pierre charras
e7233a8dc6
DIALOG_CREATE_ARRAY, minor changes: better look, and added a few tool tips.
2023-09-23 10:08:37 +02:00
Seth Hillbrand
4cd26ab6bc
Ensure NC nets are not connected in board
...
Even when a pin connects to multiple pads, placing an NC indicator on
the pin type or the connected net means that all pads for that pin
should be independent and not ratsnest with each other
We accomplish this by assigning a unique id "unconnected-(REFDES-PAD#_#)" to each
pad with the pintype "no_connect". The pad numbers and uniquely
incremented per footprint based on UUID ordering
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15692
2023-09-21 21:36:19 +00:00
Jeff Young
9e2fc9b07c
Footprint item positions are relative.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15477
2023-09-21 14:28:25 +01:00
jean-pierre charras
e152f97f35
Fix minor Coverity warnings. Small code cleaning in pcb_parser.cpp
2023-09-21 11:33:29 +02:00
Seth Hillbrand
f4afd7e363
Thread testTrackClearances
...
We are frequently testing thousands of track segments. They can each be
uniquely tested in parallel with reporting and marking guarded by
mutexes. This speeds up the DRC tests substantially
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15466
2023-09-20 19:51:33 -07:00
Seth Hillbrand
88cbbbcdae
Add error message when we cannot form a polygon
...
Explains to the user why the polygon creation failed
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15704
2023-09-20 13:42:31 -07:00
Jon Evans
d781d70a09
PNS fix dragging a single footprint
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15693
2023-09-20 11:53:43 -04:00
Jon Evans
d371bb06ae
New macOS installation scripts
...
Replaces BundleUtilities that got broken by recent updates
and is basically unmaintained by cmake.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15376
2023-09-19 17:23:30 -04:00
Jeff Young
58889f8120
Improve shape properties dialog layout.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15683
2023-09-19 17:04:05 +01:00
jean-pierre charras
0a26ab1cae
PANEL_SETUP_BOARD_STACKUP: save the m_HasDielectricConstrains BOARD_STACKUP member.
...
This member was not saved in the board stackup data.
Fixes #15690
https://gitlab.com/kicad/code/kicad/-/issues/15690
2023-09-19 17:47:29 +02:00
jean-pierre charras
e24c6d04ff
DIALOG_CREATE_ARRAY: enhancement to commit f775637d: ensure last selection
...
(Set center by radius / Set center by position) has the right widgets enabled
when reopen the dialog.
2023-09-19 16:22:38 +02:00
Josue Huaroto
f775637da8
Add Radius and Angle parameters to set center in Circular Array
2023-09-19 14:02:17 +00:00
Jon Evans
5a9c028e85
PNS: Allow dragging more than one footprint
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11312
2023-09-18 22:37:11 -04:00
Marek Roszko
22b733209d
Fail GAL on its header leaking audit
...
Maybe we should rethink directly accessing GAL so much, but at least 600 files didn't need GAL leaked into them due to view_overlay.h
2023-09-18 19:52:27 -04:00
Alex Shvartzkop
1decd31baf
Vertically center wxGrid cells by default.
2023-09-18 17:15:34 +03:00
Jeff Young
469a94db8c
Fix mirroring of TextBox.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15576
2023-09-18 14:49:38 +01:00
Alex Shvartzkop
06463fd35a
Fixes for Wayland cursor warping:
...
- Emulate the mouse position, since no motion events are sent after warp
- Do not call wl_surface_commit to prevent an assert
- Re-organize code a bit
2023-09-18 12:56:54 +00:00
jean-pierre charras
b59910a749
catch exception thrown by LIB_TABLE::FindRow().
...
Previously, was not handled, and crashes Pcbnew.
2023-09-18 14:30:47 +02:00
Jeff Young
ec97ac189c
Fix typos in FOOTPRINT_EDIT_FRAME::SaveFootprintAs().
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15678
2023-09-18 13:12:13 +01:00
Jeff Young
ef92429ac2
Implement changed notifiers for textvar, netclasses and severities.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15440
2023-09-17 17:35:15 +01:00
Jeff Young
c80eb44900
Disentangle IBIS model controls from built-in model controls.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13855
2023-09-17 12:42:06 +01:00
Jon Evans
467c672bcd
Fix all-layer snapping for footprint editor
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15538
2023-09-16 22:55:40 -04:00
Jeff Young
9114578004
Improve custom rules syntax help (based on info in docs).
...
Also turns on table processing in ConvertMarkdown2Html().
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15609
2023-09-16 14:41:43 +01:00
Jeff Young
ed292e180d
Don't assert on 0-width tracks. Just don't inherit from them.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14558
2023-09-15 19:09:58 +01:00
Jeff Young
408f505b75
Formatting.
2023-09-15 19:09:58 +01:00
Jeff Young
68111a1682
Handle redraws from any tent-vias changes in plot settings.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15254
2023-09-15 18:32:33 +01:00
Jeff Young
5842e9c57e
Smarten the UpdateAllItemsConditionally() tests in SetActiveLayer().
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15329
2023-09-15 17:44:43 +01:00
Jeff Young
28e16fbdb9
Don't do layer trimming when importing Altium footprint libraries.
...
It's unclear (to me) what the long-term solution should be here --
Kicad can't currently show any FP layers other than F.Cu, B.Cu, and
In1.Cu -- but that might change.
2023-09-15 14:54:05 +01:00
Jeff Young
c7f69503c0
Do full high-contrast update of vias & pads if netnames are shown.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15657
2023-09-15 14:54:05 +01:00
jean-pierre charras
581cc0de5c
Pcbnew, apparence control: add missing control of layer footprint confict
...
the selection of color and visibility of LAYER_CONFLICTS_SHADOW was missing.
2023-09-15 10:31:25 +02:00
Marek Roszko
cb7d7b09e3
config_params doesnt need color4d
2023-09-14 19:21:55 -04:00
Jeff Young
962f79334f
Don't import Altium objects to disabled layers.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15586
2023-09-14 17:17:07 +01:00
Alex Shvartzkop
ff49d5ada9
Fix ambiguous overloads on wx 3.3
2023-09-14 19:05:46 +03:00
Jeff Young
cc0facdd4e
ADDED: Convert Pad to Polygon
2023-09-14 16:36:37 +01:00
jean-pierre charras
a7b1448ccd
Fix a compil warning.
...
Fix also an incorrect comment.
2023-09-14 15:19:46 +02:00
Jeff Young
c7e865e4a2
Safety for negative pen widths.
2023-09-14 13:39:35 +01:00
jean-pierre charras
51456d973b
Better detection of degenerated PCB_ARC.
2023-09-14 11:40:20 +02:00
jean-pierre charras
931401b5be
Fix a compil issue (missing header) and a minor compil warning
2023-09-14 08:44:09 +02:00
Jeff Young
e492efe3c5
Finish up custom-shaped pad spoke templates.
...
Also fixes a bug in number box for rotated pads.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13962
2023-09-13 23:34:25 +01:00
Jeff Young
d6b75c64e1
ADDED: custom-shaped pad spoke templates.
2023-09-13 23:34:25 +01:00
Jeff Young
31c88d1bcb
Don't show cursor or grid axes in pad preview; do show the pad anchor axes.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15631
2023-09-13 23:34:25 +01:00
jean-pierre charras
2c10d5e3a0
Pcbnew: fix some issues with very small arcs (size a few internal units)
...
these very small arcs do not allow to calculate a reliable center position,
and therefore a reliable radius.
So seeing them as a very small segment fix plotting/drawing issues.
Fixes #15639
https://gitlab.com/kicad/code/kicad/-/issues/15639
2023-09-13 17:54:57 +02:00
Jeff Young
375a4af478
Don't throw the number box baby out with the bathwater....
2023-09-12 23:49:08 +01:00
Josue Huaroto
2d54bc42cb
Save flip board status in custom preset
2023-09-12 17:10:41 +00:00
Tomasz Wlostowski
a7ae4d8e9a
router: orphaned net is not the same as null net handle
2023-09-12 16:03:55 +02:00
Jeff Young
93f004ff65
Formatting, and a fix for a shadowed variable.
2023-09-12 13:45:28 +01:00
jean-pierre charras
7bc0e138fb
DIALOG_NET_INSPECTOR: add a close button to allow closing the dlg by ESC.
...
Fixes #15624
https://gitlab.com/kicad/code/kicad/-/issues/15624
2023-09-12 09:28:17 +02:00
Jeff Young
3fcbde00c9
Clean up dead code.
2023-09-11 22:05:24 +01:00
Jeff Young
9f5a268f15
Don't go through a middle man when reading pad shape primitives.
...
They're both PCB_SHAPEs.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15073
2023-09-11 22:05:24 +01:00
Jeff Young
0315adc646
Dim other SMD pads when in Pad Edit Mode.
2023-09-11 22:05:24 +01:00
Jeff Young
84a9f6f665
Set padEntered when entering pad edit mode with a non-custom shaped pad.
2023-09-11 22:05:24 +01:00
Jeff Young
899fe8be17
Fix change footprints dialog to use correct selection state.
2023-09-11 22:05:20 +01:00
jean-pierre charras
c66d4bab9c
SEXPR_BOARD_FILE_VERSION: fix a typo in commit 0e382669: the date is incorrect.
...
was set to 20230606 instead of 20230906. it creates some issues when reading
files having a 20230606 as file version.
Fixes #15617
https://gitlab.com/kicad/code/kicad/-/issues/15617
2023-09-11 10:40:07 +02:00
Alex Shvartzkop
7eb4b0710d
Fix reading/writing thermal spoke angles for custom pads.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15518
7.0 commit: 86ec36d183
2023-09-10 19:02:16 +03:00
jean-pierre charras
45e83541cd
Try to make DIALOG_CREATE_ARRAY more understandable for circular arrays.
...
Added toop-tips and info texts.
No actual code change.
2023-09-09 11:06:36 +02:00
jean-pierre charras
f2f572c370
drc_test_provider_text_dims.cpp: ensure glyphs to test are OUTLINE_GLYPH.
...
For non Kicad font texts with a overbar, the overbar is not a OUTLINE_GLYPH.
Fixes #15604
https://gitlab.com/kicad/code/kicad/-/issues/15604
2023-09-09 10:28:28 +02:00
Marek Roszko
11de95778b
Unwrap the FROM_UTF8 macro in favor of direct function
...
The extern just gets annoying to try to export the func later. We also yeet TO_UTF8 to string_utils.h for parity.
2023-09-09 00:10:57 -04:00
Marek Roszko
bd3aca2887
Cleanup the kiface dll export declaration slightly
...
Why in the bloody world would you pass in the return type as part of the macro for export/import preprocessing
2023-09-08 20:44:08 -04:00
Marek Roszko
3bbf3a61b5
Remove PNS APIEXPORT that never made sense
...
It can't work because all base classes must be APIEXPORTed
2023-09-08 18:44:46 -04:00
Marek Roszko
ab1a6651a9
send multivector.h and sync_queue.h to core
2023-09-08 07:14:34 -04:00
Marek Roszko
5da88d1d0e
Move UTF8 to core
2023-09-07 20:55:16 -04:00
jean-pierre charras
8aa408f0c9
fix a minor compil warning
...
fix a typo in translatable string.
2023-09-07 20:00:29 +02:00
Jeff Young
d3e255a383
Allow context-menu update/change footprint for multiple footprints.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15595
2023-09-07 17:51:18 +01:00
Marek Roszko
7505fd0f37
Profile can live in core
2023-09-07 07:47:01 -04:00
jean-pierre charras
3e6f7ab3e5
Fix compil issues (especially easyeda_parser_base.xx) and compil warnings
...
Compil issues can be gcc13/msys2 specific.
2023-09-07 13:41:25 +02:00
Alex Shvartzkop
21ee65aa9c
ADDED: Importers for EasyEDA (JLCEDA) Standard / Professional.
2023-09-07 11:02:40 +03:00
Alex Shvartzkop
892761920a
FOOTPRINT::AutoPositionFields: reset justification and angle as well.
2023-09-07 10:57:02 +03:00
Alex Shvartzkop
f211b2cdd0
Remove unused method from router_tool.h
2023-09-07 10:57:02 +03:00
Alex Shvartzkop
1b8abdfde7
ADDED: Basic STEP manipulation utils available to Python.
2023-09-07 10:57:02 +03:00
Marek Roszko
67b031adab
Painter base class should just live in gal instead of being in denial
2023-09-06 20:23:19 -04:00
Josue Huaroto
cef0f176d3
Add Unselect all in menu
2023-09-06 23:44:39 +00:00
Marek Roszko
4d77fd48ef
Shove thread_pool to core
2023-09-06 17:50:12 -04:00
John Beard
3c5052c1ac
Add snaps to pad hole edges
...
This is often useful when measuring the distance from an
object to a pad hole edge, and also when dimensioning
holes.
2023-09-06 21:34:17 +01:00
John Beard
78c8de9b08
Fix oval pad snapping
...
Previously the snap points computed for oval pads didn't get all the
points correct. This breaks out the "find snap points for ovals"
into a function, reworks the logic, adds some tests.
Also adds "extremum points" when the oval isn't exactly H/V.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15594
2023-09-06 21:33:45 +01:00
Seth Hillbrand
1662f6aad6
Speed up footprint loading by caching
...
Store the COMPOUND_FILEs in a map referenced to the library name. This
keeps the COMPOUND_FILE cache in memory rather than regenerating it each
time
2023-09-06 19:15:35 +00:00
Seth Hillbrand
1b63d11adf
Speed up Altium compound file reader
...
Just read the footprint list once and store the cache for later use.
2023-09-06 19:15:35 +00:00
Seth Hillbrand
b8b2498e0c
Add support for fp cutouts in Altium libs
2023-09-06 19:15:35 +00:00
Seth Hillbrand
cb3c712a9c
ADDED: memberOfSheet() design rule function
...
Footprints that are a member of a specific sheet may be assigned
distinct rules, allowing users to group their rules based on sheet
layout
2023-09-06 19:14:00 +00:00
Seth Hillbrand
f9b745f3d2
Allow multiple format image saving
...
- Keep original image data. When loading JPEG, this avoid recompression
that changes file data and decreases image quality
- Allow schematic and page layout editors to store non-PNG data as well
- Move page layout editor to store base64 instead of hex-coded data
2023-09-06 12:12:32 -07:00
Seth Hillbrand
0e382669d0
ADDED: Support for saving JPEG files in kicad_pcb
...
When users add an image to the board, this change keeps the original
file format when saving instead of converting the files into PNG-format,
which had the effect of making some board files much larger and slower
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14892
2023-09-06 12:12:32 -07:00
Jeff Young
c07e9c834f
Validate new footprint / save as footprint info before exiting dialog.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13923
2023-09-06 12:49:37 +01:00
Alex Shvartzkop
e09a15ae4c
Altium PCB import: fix rectangular keepout fills.
2023-09-06 09:02:54 +03:00
Alex Shvartzkop
4f303a8dc2
Altium PCB import: Polygon Cutout only cuts copper fill.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15587
2023-09-06 08:43:12 +03:00
jean-pierre charras
cbcaaa001c
fix some Coverity and compil warnings.
2023-09-05 20:30:08 +02:00
Marek Roszko
f894f7ec4c
Use the right path for loading drawing sheet in pcbnew cli
2023-09-05 11:01:57 -04:00
Alex Shvartzkop
a5a93f808e
Populate symbol library type choices from SCH_IO_MGR list.
2023-09-05 07:19:15 +03:00
Marek Roszko
b566f994bb
Flip the RegisterSettings order to avoid legacy import crashes
...
(cherry picked from commit 32c2135047
)
2023-09-05 03:23:07 +00:00
Marek Roszko
a2522a2230
Don't call .Load() and cause settings to reload from disk
...
RegisterSettings can load the new settings json as added by not turning off the load now parameter
2023-09-04 22:42:00 -04:00
Jeff Young
ea6d64e996
Set line width when changing annotation proxy flag.
...
(This prevents rectangle from not getting combined into pad if
proxy flag is turned off as Clipper collapses the polygon union
because it's too small.)
2023-09-04 20:49:52 +01:00
Jeff Young
7c718db5d2
Remove dialog-based primitive editing in favour of Pad Edit Mode.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13561
2023-09-04 20:49:52 +01:00
Jeff Young
0e26f3ab30
Allow pad number box creation in pad edit mode.
...
(Also fixes a bug where we'd include pad number box in pad shape.)
2023-09-04 20:49:52 +01:00
Alex Shvartzkop
3215223ee2
Move fix_board_shape.cpp to pcbcommon.
2023-09-04 22:26:47 +03:00
jean-pierre charras
2bf8602912
DIALOG_EXPORT_STEP_LOG: print the command line sent to kicad-cli in report window.
...
It can be useful in case of problems.
2023-09-04 19:03:04 +02:00
Jeff Young
0cde8cff1d
Don't include plating thickness when drawing hole clearance lines.
...
We don't include it in the router, and the code didn't
differentiate between plated and non-plated holes, and it confuses
users.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15575
2023-09-04 16:06:09 +01:00
Matus Pavelek
d57c5d3ad9
QFN footprint wizard - Allow different number of pads in x and y directions
2023-09-04 13:39:28 +00:00
Marek Roszko
63824487d0
Hide the unsupported Visible prop for textbox text
2023-09-04 09:28:59 -04:00
Marek Roszko
4b31de61b3
Rename txtbox props to border props
2023-09-04 09:28:59 -04:00
Jeff Young
fe0fb92441
Reduce visual clutter in GAL display options.
2023-09-04 13:06:46 +01:00
Jeff Young
c9fd03202a
Generate an immediate refresh when loading new footprint.
2023-09-04 11:12:34 +01:00
Alex Shvartzkop
2bb457d477
Remove unused variable.
2023-09-04 07:00:23 +03:00
Alex Shvartzkop
ab6a049b90
Add a routine for joining PCB shapes.
2023-09-04 06:46:24 +03:00
Alex Shvartzkop
24e0a9455e
Fix a string in step exporter.
2023-09-04 06:45:25 +03:00
Alex Shvartzkop
b2a0d85c84
Hide std::abs for EDA_ANGLE from Python.
2023-09-04 06:45:12 +03:00
Jeff Young
9bba8e5956
Don't allow duplication of footprint items outside of footprint editor.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15487
2023-09-03 22:04:50 +01:00
Jeff Young
d27413a032
Remove up/down buttons until we implement layer ordering.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14574
2023-09-03 21:31:46 +01:00
Jeff Young
60419f542a
Bug fixes for paste margins on custom-shaped pads.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15125
2023-09-03 20:43:48 +01:00
Jeff Young
a24a8aaca7
Don't start a pack&move when already in an EDIT_TOOL drag or move.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15545
2023-09-03 14:03:52 +01:00
Jeff Young
624203f2e1
Don't start a router drag when already in an EDIT_TOOL drag or move.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15312
2023-09-03 14:03:52 +01:00
Josue Huaroto
a8e18e2d8c
Flip Viewport when Flip board is enabled
2023-09-03 12:30:32 +00:00
aris-kimi
38748cce84
Small order change for three View menu items v2
2023-09-03 12:29:06 +00:00
Jeff Young
43862d767e
Don't return separate shapes from a custom-shaped pad.
...
It just confuses the hull generator.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15553
2023-09-03 13:23:53 +01:00
Jeff Young
61bcf46ffe
Don't show preview for lib-item loaded on to canvas.
2023-09-03 12:07:09 +01:00
Jeff Young
e6b0a6abca
ADDED: lib tree previews.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2418
2023-09-02 23:30:22 +01:00
Jeff Young
891583f616
Fix nullptr error.
2023-09-02 12:08:37 +01:00
Jeff Young
41e274684c
Make sure pads with no net get assigned Default netclass on board open.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15562
2023-09-02 10:11:38 +01:00
Jeff Young
2d762acc7d
Remove accidentally-checked-in debugging code.
2023-09-02 10:11:38 +01:00
Alex Shvartzkop
90eb59cf9f
Fix saving a new footprint library.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15563
2023-09-01 23:30:27 +03:00
Jeff Young
69a1b30b8a
Implement undo/redo around Pad Edit Mode changes.
2023-09-01 18:48:46 +01:00
Jeff Young
aacb85bdab
Make sure enum gets initialized.
2023-09-01 18:48:46 +01:00
Jeff Young
68c839b214
Stop trying to zero-out offset of custom-shaped pads.
...
It causes *way* to many issues.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15555
2023-09-01 18:48:46 +01:00
Marek Roszko
f357e79f77
Add --define-var / -D to the cli opts for some commands
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15437
2023-08-31 21:46:37 -04:00
Marek Roszko
b542539546
Add --drawing-sheet arg for various cli commands for overriding the project sheet
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15438
2023-08-31 19:53:23 -04:00
jean-pierre charras
160ec181ac
dialog_export_svg: add color theme selection.
...
Previously, the Kicad Classic theme was always used.
2023-08-31 20:33:44 +02:00
Jeff Young
5358343023
Make button alignment consistent.
2023-08-31 17:47:28 +01:00
jean-pierre charras
0aaafc92fc
Fix a compil issue with gcc created by commit 21c54f97
(gcc only)
2023-08-31 16:21:40 +02:00
Jeff Young
9a045af81f
Make all debugging statments use netcode (instead of some using netname).
2023-08-31 15:15:57 +01:00
Jeff Young
05135eed66
Extra debugging info for pns regression tests.
2023-08-31 15:15:57 +01:00
Jeff Young
c049e1e90d
Formatting (no functional changes).
2023-08-31 15:15:57 +01:00
Marek Roszko
37717a8281
Fix other stroke types still drawing the border regardless of enable
2023-08-31 07:52:19 -04:00
Marek Roszko
21c54f9721
Add two more border props to props panel
2023-08-31 07:49:15 -04:00
jean-pierre charras
085485717c
Gerber place file: change DCode size of pads others than 1 or A1 to 0.1 mm
...
Previously it was a round shape 0.0 mm (allowed but not visible)
Gerber Format rev 2023-08 changed it to 0.1 mm (still a round shape)
2023-08-31 11:02:50 +02:00
jean-pierre charras
5bf0689ac8
Fix typos in translatable strings.
...
fix also a coding style issue.
2023-08-31 10:27:36 +02:00
Marek Roszko
ffbe0f36da
Tweak the textbox file indentation
...
(layer was previously misaligned as it wasn't intended to be used on a new line
2023-08-30 22:47:10 -04:00
Marek Roszko
2e58f4ea60
Fix three spots it always failed to check if the border was enabled
2023-08-30 22:39:07 -04:00
Marek Roszko
2dcb7caacf
Add an explicit border property to textboxes
...
This means it can remember the last border stroke between enabling/disabling the border
2023-08-30 22:33:55 -04:00
Alex Shvartzkop
e128896ba6
Schematic plugins refactoring, fixes for PCB plugins.
...
- Move PLUGIN_FILE_DESC to common.
- SCH_PLUGIN: rename Load -> LoadSchematicFile, Save -> SaveSchematicFile.
- Use PLUGIN_FILE_DESC and CanRead* in schematic plugins.
- Return none/unknown types from Find/GuessPluginType functions.
- Iterate over file types for file wildcards.
- Clean-up header checking in IO plugins.
- Use PCB plugin list in IO_MGR::GuessPluginTypeFromLibPath.
2023-08-31 05:08:03 +03:00
Jeff Young
cf14b3c233
Fix conversion to netnames in PNS_DBG output.
2023-08-31 00:25:20 +01:00
Mike Williams
b8a61719c3
Grids: make overrides use existing grids (choice box)
2023-08-30 13:33:04 -04:00
Mike Williams
b1a388ca69
Grids: Support X and Y for all grids, add optional names
2023-08-30 11:22:19 -04:00
Jeff Young
d74e9ba040
Support SHORT_NET_NAME(pin_number) and friends on symbols.
...
While it's of debatable use in the schematic, some users want to
author them there so that they're then copied onto the board.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15544
2023-08-30 11:43:35 +01:00
jean-pierre charras
67d3528866
fix minor compil warnings
2023-08-30 09:09:54 +02:00
Alex Shvartzkop
f8dac43325
STEP export: add short segments as circles.
...
Because OCC can't connect two arcs together sometimes.
2023-08-29 23:58:25 +03:00
Josue Huaroto
156288bfcf
Extend boundary size of PCB_VIEW
2023-08-29 19:41:36 +00:00
Josue
94e86a69be
Update RECT to RECTANGLE
2023-08-29 11:50:22 -05:00
Josue
ae3a9d05b5
Remove dialog events
2023-08-29 11:50:16 -05:00
Josue
761929c052
Add OnKillFocus Event for Coordinates and Segment, Rectangle properties
2023-08-29 11:50:15 -05:00
Josue
e5316fd1aa
Change name: Truncate -> Round
2023-08-29 11:50:12 -05:00
Josue
54aaec3a57
Add Enter event to coordinates and Segment, Rectangle properties
2023-08-29 11:50:10 -05:00
Josue
8d7255aae3
truncate angle values in Segment properties
2023-08-29 11:50:09 -05:00
Josue
6429051750
change Rectangle property: Length to Height
2023-08-29 11:50:05 -05:00
Josue
c3766bb250
Implement Length and Width for RECT
2023-08-29 11:50:02 -05:00
Josue
f31a524026
add rectangle properties to UI
2023-08-29 11:49:57 -05:00
Josue
5061ca54e7
add length and angle properties to segment
2023-08-29 11:49:55 -05:00
Jeff Young
f24cf2250e
Make sure we have a BOARD when trying to read nets.
...
Also fixes a nullptr bug when trying to write nets when we don't
have a NODE.
2023-08-29 17:30:00 +01:00
Alex Shvartzkop
af62e4276b
Wrap FILE_LINE_READER in try-catch blocks in PCB plugins for CanRead*.
2023-08-29 19:13:55 +03:00
Jeff Young
d161602e92
Don't snap a footprint (or group) to its children.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15535
2023-08-29 13:05:08 +01:00
Alex Shvartzkop
a9a2d4aa7a
Improve error reporting when running Python action plugins.
...
Python error traceback is now logged to stderr.
On Windows, a console window will pop up if wxTheApp gets destroyed,
because message dialogs crash due to hooks that wxWidgets sets up.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15520
2023-08-29 07:06:11 +03:00
Ian McInerney
ba22347904
Move pcb_actions to new constructor
2023-08-29 00:19:19 +01:00
Seth Hillbrand
fa15f8aa0c
Fix compile error
...
wxMkDir's mode is required for linux but not windows (yay)
2023-08-28 14:57:28 -07:00
Roberto Fernandez Bautista
32b6deb8b1
ADDED Migrate libraries button in Footprint Library Table
...
Allows easy migration of legacy and non-KiCad footprint libraries
2023-08-28 22:44:10 +02:00
Roberto Fernandez Bautista
f693366910
CADSTAR PCB: nullptr safety
2023-08-28 22:38:46 +02:00
Jeff Young
0d39cd5e63
Allow for offset custom-shaped pads with no holes.
2023-08-28 18:07:18 +01:00
Wayne Stambaugh
e4feb8826b
Coverity issue fixes.
2023-08-28 09:29:56 -04:00
jean-pierre charras
f4bf3bf611
Do not use the deprecated wxWidgets wxPATH_NORM_ALL flag.
...
Replaced by our equivalent FN_NORMALIZE_FLAGS flag.
Fix also a typo in a string.
2023-08-28 14:37:15 +02:00
Mike Williams
3edcef0229
Grids: remove more uses of old user grid in UI
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15515
2023-08-28 07:27:25 -04:00
Jeff Young
a4d1b29b91
Remember footprint library browsers liblist width.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15500
2023-08-27 21:17:29 +01:00
Jeff Young
676c6e81a4
Custom pads with round anchors in pre-7.0 files get 90 degree spokes.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15518
2023-08-27 20:42:59 +01:00
Jeff Young
a470cab7b2
Include description for page settings command.
2023-08-27 19:03:17 +01:00
jean-pierre charras
114ff054d3
STEP exporter: export track segments as thick segments with rounded end using arcs.
...
They are no longer exported as polygons.
Export time is slightly faster and file sizes slightly smaller.
Track arcs are still exported as polygons.
2023-08-27 19:37:41 +02:00
Jeff Young
3f26b29aa2
Minor cleanup and removal of stale comments.
...
Also attempts to fix a focus-loss bug on GTK after zone dialog.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13221
2023-08-27 10:53:03 +01:00
Jeff Young
c48084bbbf
Minor cleanup and removal of stale comments.
2023-08-27 10:53:03 +01:00
Jeff Young
67bd2139ad
Use standard bitmap button.
2023-08-27 10:53:03 +01:00
jean-pierre charras
15f5a14217
Fix minor compil warnings
2023-08-27 11:11:08 +02:00
Jeff Young
bc3c8b19c6
Don't include annotations in boundingbox when not including text.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15411
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15411
2023-08-26 18:50:10 +01:00
Jeff Young
4fefd95e0c
Move grid definitions to Prefs and grid origin to a separate dlg.
...
Grid origin is document-wide, while grid definitions are app-wide.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2262
2023-08-26 13:32:24 +01:00
jean-pierre charras
b3aa8a0c49
Fix a few (minor) compil warnings.
2023-08-26 09:40:09 +02:00
Alex Shvartzkop
331176744c
EAGLE import: fixup previous commit.
2023-08-26 00:45:59 +03:00
Alex Shvartzkop
f071dd1406
Fix a search pane crash when a row isn't in the hit list.
...
Fixes KICAD-Q7
Fixes KICAD-1A6
2023-08-25 23:24:32 +03:00
Alex Shvartzkop
0fcf9e2c7d
EAGLE import: fix crash when loading unknown signal class name.
...
Fixes KICAD-3FA
2023-08-25 23:05:50 +03:00
Alex Shvartzkop
bfb6269f0a
EAGLE import: fix crash when loading a polygon.
...
Fixes KICAD-TW
2023-08-25 23:05:50 +03:00
Jeff Young
83fe3576c6
Handle dimensions and textboxes when plotting contours to DXF.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11901
2023-08-25 18:07:49 +01:00
Jeff Young
2ae36312c4
Don't use DXF-native text for textboxes.
...
It gets the positioning wrong.
2023-08-25 18:07:49 +01:00
Jeff Young
e0cf49e73c
Fix previous fix for honouring pad offset.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15494
2023-08-25 13:05:19 +01:00
Marek Roszko
cbc60d90ec
Add missing line style prop to eda_shape
2023-08-24 22:32:12 -04:00
Marek Roszko
6e45be8708
Add a friendly name to textboxes for the prop mgr
2023-08-24 21:33:37 -04:00
Marek Roszko
d32b55f504
Minor cleanup after last commit
2023-08-24 21:19:35 -04:00
Marek Roszko
339684263c
Fix accidental plotting of disabled textbox borders
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15252
2023-08-24 21:03:48 -04:00
Marek Roszko
d193334a10
Add vrml export to cli
...
Roughcut as the vrml exporter needs some loving
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15472
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13952
2023-08-24 20:39:21 -04:00
Alex Shvartzkop
b1b66f66f4
Prevent crash when a python script tries to use pcbnew too early.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15414
2023-08-25 00:09:56 +03:00
Alex Shvartzkop
f842e6ac7a
STEP: export arcs in board contours as curves, not polygons.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13825
2023-08-24 21:53:53 +03:00
Mike Williams
2b78c20a62
PCB: add grid overrides to graphics/router/etc.
2023-08-24 13:58:22 -04:00
Jeff Young
300014177f
Honour pad offset when creating custom pad anchors (and polygons).
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15494
2023-08-24 17:30:22 +01:00
Jeff Young
0f81dd3b5e
Give Grid Settings a more standard KiCad look and feel.
...
Also simplifies the dialog by removing the user grid (now that you
can add as many user grids as you want).
This does mean that you can no longer have an asymmetric grid, but
it gets too complex if we allow everything for everyone.
2023-08-24 16:41:08 +01:00
Mike Williams
9079df85fd
PCB: check ratsnest for nullptr (segfaults)
2023-08-24 10:51:34 -04:00
Mike Williams
d9c2e0ab54
PCB: start of grid overrides
...
Only works for moves.
2023-08-24 10:29:09 -04:00
Mike Williams
0f781f328e
GRID_HELPER: push code to parent class
...
Prep'ing for PCB grid overrides
2023-08-24 10:29:09 -04:00
Alex Shvartzkop
b8ce97b532
STEP export: fix circles.
2023-08-24 14:57:15 +03:00
Alex Shvartzkop
83e9d87cde
STEP export: fix hole cutting counter message.
2023-08-24 14:26:27 +03:00
Jeff Young
7fcce5224d
Fix compiler warnings.
2023-08-24 12:12:16 +01:00
Jeff Young
6040f49272
Don't write opaque data types to PNS log.
2023-08-24 12:12:16 +01:00
jean-pierre charras
eb8c1d2a90
Fix compil issues (and probably a bug). Also display calculation time info.
2023-08-24 13:02:10 +02:00
Alex Shvartzkop
cb54bdfa84
STEP export: add bounding box optimizations for cutting holes.
2023-08-24 05:42:56 +03:00
Alex Shvartzkop
458d5fbeb8
STEP export: use unfractured polygons.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15486
2023-08-24 03:47:55 +03:00
Josue Huaroto
c19804bb95
Replace DisplayError to an infobar for missing footprint library
2023-08-23 22:05:44 +00:00
Seth Hillbrand
db8e15ce88
Require wxWidgets 3.2
...
Removes old defines and work arounds for earlier wx versions and adds a
CMake requirement to use at least 3.2 (or the minimum matching wxPython
version)
2023-08-23 22:02:56 +00:00
Roberto Fernandez Bautista
f4f1ca352a
Fix crash when running PNS Router Dump (pressing 0)
...
Some ITEMs don't have a Parent
2023-08-23 22:19:47 +02:00
jean-pierre charras
196fc67ece
Step exporter: generate oblong pad holes using 2 arcs + 2 segments.
...
Previously, the oblong shapes were polygons.
2023-08-23 18:16:25 +02:00
Jeff Young
6166a96b8e
Update PSN logger to new NET_HANDLE architecture.
2023-08-23 14:10:03 +01:00
Jeff Young
0c37e3c443
Remove realistic-mode (and duplicated settings from preferences).
...
Most of these settings are now available in the appearances panel.
It was concluded in a Zulip discussion that any missing items can
be added back in time if people find they need them (ie: complain).
Also hooks up 3DViewer to the common language framework.
2023-08-23 14:07:58 +01:00
jean-pierre charras
43c7cfec3a
Revert "Record hole knockouts in zone filler earlier"
...
This reverts commit 3030c80de7
.
The commit #3030c80d was a workaround related to a Clipper2 issue.
Updating Clipper2 is a better fix
2023-08-22 18:18:55 +02:00
Jeff Young
76cd637895
Make the net identifier opaque to PNS router.
...
This also improves performance as we don't have to look up the
netcodes in a map.
2023-08-22 15:17:02 +00:00
jean-pierre charras
b59f7fbd9d
DIALOG_TEXT_PROPERTIES_BASE: allows more room in wxTextCtrl for coordinates.
...
Sometimes coordinates in mils can have many digits.
2023-08-22 15:30:19 +02:00
Alex Shvartzkop
10e2e4a12d
Another try at fixing arcs.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15471
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15469
2023-08-22 16:10:58 +03:00
Mike Williams
e98dfa2bfc
PCB: swap drill and grid origin icon order for convenience
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/11738
2023-08-22 08:47:25 -04:00
Marek Roszko
5eac1840a0
Drop the 3d command in favor of direct
2023-08-21 21:47:56 -04:00
Alex Shvartzkop
cabcf4afe6
Altium: better message when importing unsupported format versions.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15465
2023-08-21 19:22:56 +03:00
Jeff Young
55a7b9e6bf
More consistent naming.
...
(Also better differentiates the PCBEXPR_ classes from PCB_
objects.)
2023-08-21 15:26:33 +01:00
Jeff Young
3cade7fc47
Don't use string compare for A.NetClass == B.NetClass.
...
(or A.NetName == B.NetName, or != of either)
2023-08-21 15:26:33 +01:00
jean-pierre charras
84fa4532b9
DIALOG_EXPORT_STEP: fix some issues:
...
- add missing inits (the zones were never created)
- fix a incorrect tool tip
- minor enhancements (add afew messages during export)
2023-08-21 09:36:25 +02:00
Marek Roszko
b52b05ebbb
Add zone export to step export
...
Mileage may vary on performance, decent enough for my board.
Warning, freecad chokes on boards with zones, but commerical tools are fine
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15234
2023-08-20 22:11:45 -04:00
Jeff Young
cf22d5b99b
Preferences setting for force-show-fields-when-fp-selected.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15215
2023-08-20 18:10:28 +01:00
jean-pierre charras
70c05109a0
PCB_PARSER::parsePCB_TEXTBOX(): fix bug when a TCB_TEXTBOX was rotated:
...
the textbox was rotated, but thai is incorrect: the polygon coordinates
are good, and must be not rotated: only the text angle must be set.
2023-08-20 18:34:57 +02:00
jean-pierre charras
4d1f9f6fb9
Pcbnew: Fix some draw issues in PCB_TEXT and PCB_TEXTBOX:
...
- fix incorrect ViewGetLayers() layer list.
- fix incorrect color of graphic items (BOARD_CONNECTED_ITEM items) on copper layers
- slightly modify how a PCB_TEXTBOX is drawn on LAYER_LOCKED_ITEM_SHADOW.
Fixes #15458
https://gitlab.com/kicad/code/kicad/-/issues/15458
2023-08-20 17:33:11 +02:00
jean-pierre charras
adb1ac8cb8
Fix an incorrect test thact crashes fp editor
...
Fixes #15457
https://gitlab.com/kicad/code/kicad/-/issues/15457
2023-08-20 14:04:50 +02:00
jean-pierre charras
1c11a2c7bd
Capture exceptions thrown by FP_LIB_TABLE::FindRow() in some places.
...
FindRow() exception is unfortunately not captured in all places using it.
The result is the application closes.
2023-08-20 12:27:37 +02:00
Marek Roszko
ea3101587a
Add gltf export to step dialog
2023-08-19 19:01:29 -04:00
Marek Roszko
7ef3252064
Use an indeterminate progress bar for the 3d export log window
2023-08-19 19:01:29 -04:00
Jeff Young
8f1a987044
Fix typos.
2023-08-19 23:20:52 +01:00
Jeff Young
fa060c7c58
Make sure dummy tracks have ROUTER_TRANSIENT flags.
...
Also give them more info that might be queried by custom DRC rules.
This currently just includes positioning info (it already included
nets and principal layer). We *could* also try to figure out all
layers for dummy vias, and/or widths for dummy tracks / arcs....
2023-08-19 20:51:04 +00:00
Marek Roszko
50ac5db8d2
Add binary GLTF export option to kicad-cli
...
Not by any means finished
2023-08-19 16:47:42 -04:00
Marek Roszko
5870b4f373
Mini-refactor step to a generic "3d" cli option (step command still exists for now)
2023-08-19 16:47:41 -04:00
Jeff Young
a2627fec60
Don't snap to footprint-private items.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15447
2023-08-19 21:03:05 +01:00
Jon Evans
0c529411d7
Update SHAPE_POLY_SET API to not hide virtual functions
2023-08-18 21:40:40 -04:00
Jeff Young
6c9ba52f18
Clean up naming.
2023-08-18 22:20:09 +01:00
Jeff Young
ec980e8696
Move "parent" property from PAD to BOARD_ITEM.
2023-08-18 22:20:09 +01:00
Seth Hillbrand
57ba38560c
Optimize library load time for Altium plugin
...
Load times were >20min for moderate sized libraries as EnumFiles
iterated over the entire list for each operation. The update modifies
our third-party lib to allow a return value, stopping the iteration when
we find our desired entry. This also provides a short-circuit for
ASCII-based names, allowing single-level parsing if available
2023-08-18 13:50:15 -07:00
Alex Shvartzkop
5131dae568
Graphics import improvements/fixes:
...
- add support for color
- support non-uniform scale
- add GetImageBBox()
- fix SVG GetImageWidth/Height not being in mm
- fix import offset not being in mm
- add graphics importer for LIB_SYMBOL
2023-08-18 22:52:49 +03:00
Alex Shvartzkop
26a52ecfe9
Move parts of import_gfx to common.
2023-08-18 22:43:54 +03:00
Alex Shvartzkop
1d79952d55
Formatting, update header in io_mgr.h.
2023-08-18 22:41:07 +03:00
Alex Shvartzkop
530f270902
Add cstdint to io_mgr.h
2023-08-18 22:37:48 +03:00
Alex Shvartzkop
a06c1ec826
Remove unused variable in legacy_plugin.cpp
2023-08-18 22:37:48 +03:00
Thomas Pointhuber
f7f8bf5418
fix coding policy violations
2023-08-18 14:51:33 +02:00
Thomas Pointhuber
c2a91caacf
altium: verify that file contains "Compound File Binary Format" magic bytes, as we do not support the ASCII format
2023-08-18 14:47:08 +02:00
Thomas Pointhuber
94c732409b
Fix nullptr SEGFAULT for the case PLUGIN::CanReadBoard() returns false, as no supported PLUGIN was found for the given file.
2023-08-18 14:08:06 +02:00
Jeff Young
1cbc6e33db
Save color settings after modification in Appearances Manager.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15390
2023-08-18 11:05:23 +01:00
Thomas Pointhuber
08003164ce
altium: Add support for Nets (connectivity) on polygons and fills for board items
2023-08-18 11:59:53 +02:00
Jeff Young
6a6e839cc4
Move checking for null parent higher.
...
(Otherwise we set the failure flag without telling the user why.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15415
2023-08-18 10:32:45 +01:00
jean-pierre charras
a7e74bf4bc
Fix a few minor compil and Coverity warnings.
2023-08-17 20:31:40 +02:00
Mike Williams
3cd25f0045
PCB: add ratsnest to search pane
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15338
2023-08-17 10:25:40 -04:00
Jon Evans
1efd75ca79
ADDED: Multi-layer object snapping
...
Default hotkey Shift+S toggles on/off
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6266
2023-08-17 09:25:47 -04:00
Alex Shvartzkop
d02e4f3254
Fix PLUGIN_FILE_DESC copy warning, remove a leftover comment.
2023-08-17 14:43:59 +03:00
jean-pierre charras
53b2fda184
Fix some minor compil and Coverity warnings.
2023-08-17 10:06:17 +02:00
Alex Shvartzkop
953cf0d680
Fix KiCad-only board file dialog filter.
2023-08-17 09:36:47 +03:00
Seth Hillbrand
75f9a5bda8
Add autocomplete for zone connection style property
2023-08-16 11:05:37 -07:00
Jeff Young
25b9a9de7e
Fix incorrect assumption about Eagle spoke rotation.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15428
2023-08-16 17:30:03 +01:00
Jeff Young
a58547dde5
Better fidelity for Eagle thermal spokes.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15428
2023-08-16 17:24:59 +01:00
Alex Shvartzkop
ea65a5a80b
Tent vias by default.
2023-08-16 08:28:13 +03:00
Jeff Young
c54d97170b
Fix bone-headed copy/paste.
2023-08-15 23:28:19 +01:00
Jeff Young
750b92b17f
Don't allow selection of footprint dimensions.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15418
2023-08-15 17:06:56 +01:00
Jeff Young
686704bb31
ADDED: plot control over FP text.
...
(Also adds said control to "Follow Plot Settings" in 3D viewer.)
2023-08-15 16:56:46 +01:00
Jeff Young
460e609619
Remove unused variables.
2023-08-15 12:42:19 +01:00
Jeff Young
b986391a04
Remove stale teardrops before rebuilding connectivity.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15398
2023-08-15 12:13:34 +01:00
Alex Shvartzkop
9299d3516c
Re-add legacy KiCad .emp footprint library support.
2023-08-15 05:40:43 +03:00
Roberto Fernandez Bautista
dbfb7880b5
Add IO_MGR::FindPluginTypeFromBoardPath (+QA tests)
2023-08-15 05:26:12 +03:00
Alex Shvartzkop
76e0d5981d
Import system refactor for PCB plugins.
2023-08-15 05:26:12 +03:00
Alex Shvartzkop
a0d96cea9f
Rename Save -> SaveBoard, Load -> LoadBoard in PLUGIN.
2023-08-15 05:26:12 +03:00
Jeff Young
2a3c4d0a03
Fix switch stmt fall-through.
2023-08-14 20:38:17 +01:00
Jeff Young
f45760062b
ADDED: appearances manager for 3D viewer.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12413
2023-08-14 18:08:36 +01:00
Jeff Young
bd8857389a
Add a bit of slop for text-shape hit-testing.
2023-08-14 18:08:14 +01:00
jean-pierre charras
b983ab4ed5
PCB_SHAPE::swapData( BOARD_ITEM* aImage ): add missing swap of m_netinfo member.
...
Fixes #15407
https://gitlab.com/kicad/code/kicad/-/issues/15407
2023-08-14 18:15:05 +02:00
jean-pierre charras
d8ba6c07ac
Pcbnew, DIALOG_PAD_PROPERTIES: ensure the right spoke angle is displayed.
...
Previously it was sometimes the default value, not the initial value when
opening the dialog.
Fixes #15410
https://gitlab.com/kicad/code/kicad/-/issues/15410
2023-08-14 17:56:16 +02:00
Marek Roszko
5d001d4858
ADDED: ERC over cli....mostly
2023-08-13 20:31:19 -04:00
Marek Roszko
061d18cbb0
Support json reports as option in erc/drc dialogs
2023-08-13 19:19:19 -04:00
Marek Roszko
14a0fa435c
ADDED: DRC JSON report
2023-08-13 14:59:10 -04:00
jean-pierre charras
53b732466a
pcbnew, DIALOG_GRAPHIC_ITEM_PROPERTIES: fix issues (perhaps platform dependent)
...
- fix crash when trying to select a layer
- ensure the net selector is always shown when selecting a copper layer.
2023-08-12 11:30:52 +02:00