Commit Graph

15653 Commits

Author SHA1 Message Date
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