91 Commits

Author SHA1 Message Date
L'électron rare 2402288a2b feat: ajout d'un fichier README_FR.md et mise à jour du README.md avec un lien de parrainage 2026-03-26 07:57:20 +01:00
Benny Megidish 6393fd89d8 feat: restore design setting after plotting. #208 2025-10-13 10:37:16 +03:00
Peter Jaquiery 3381050309 feat: skip empty MPNs, update image asset (#191)
* Correct PNG for Symbol Properties dialog to show "FT Rotation Offset" rather than "JLCPCB Rotation Offset" to match readme and code behaviour.

* Continue field search in MPN handling if selected field is empty.

---------

Co-authored-by: Benny Megidish <bennymegk@gmail.com>
2025-10-03 14:14:27 +03:00
wenzellabs d047824964 feat: allow 'Part Number' as BOM keyword, add checkbox whether browser opens (#213)
* allow 'Part Number' as BOM keyword

Signed-off-by: matthias wenzel <wenzel@wenzellabs.de>

* add a checkbox 'Open browser after generation'

Signed-off-by: matthias wenzel <wenzel@wenzellabs.de>

* document 'Part Number' as BOM field

Signed-off-by: matthias wenzel <wenzel@wenzellabs.de>

---------

Signed-off-by: matthias wenzel <wenzel@wenzellabs.de>
2025-10-03 13:48:27 +03:00
Guy Naor 1d441283f6 feat: added support for footprint rotation and position regex to also check the library nickname (#203)
This is because of the way Ultra Librarian setup the names with colon
2025-04-30 14:06:19 +03:00
Lukas Lang 9922748010 fix: footprints rotations that are not a multiple of 90° (#198) 2025-03-20 11:56:20 +02:00
Randall Scharpf b98c02c743 feat: add common abbreviations for part number (pn, p/n, part no.) (#201) 2025-03-20 11:53:00 +02:00
Nanashi db3878b7ad fix: add support for the new EasyEDA2Kicad fields format (#185)
* update part number checks to work with new easyedatokicad format
* bump version
2025-01-12 21:15:19 +02:00
Benny Megidish f623083701 Merge branch 'master' of https://github.com/bennymeg/JLC-Plugin-for-KiCad 2024-12-05 20:31:19 +02:00
Viermusketiere ff77eca2bc feat: added CLI Interface (#179)
* Added CLI Interface

* Added .pyc to gitignore for CLI usecases

* Moved cli progress bar generation to utils

* Included ALL_ACTIVE_LAYERS_OPT

* Added documentation to README for cli usage
2024-12-05 20:30:58 +02:00
Benny Megidish c4f876c991 feat: plot using custom layers name, closes #178 2024-12-05 20:23:53 +02:00
Benny Megidish 5f0dc0cb22 fix: layer override out of range, close #171 2024-12-05 18:13:07 +02:00
Benny Megidish 762794e025 feat: modified default field keys **BREAKING** 2024-12-05 11:06:50 +02:00
Benny Megidish 9c4d801d8c feat: cleanup origin field method 2024-12-05 10:58:38 +02:00
Benny Megidish 34bcb62852 chore: clean up #181 2024-12-05 10:12:56 +02:00
grodnay 03dae2cb63 fix: Trough Hole & "unspecified" position to center of pads (#181)
* Fixed Trough Hole position to center of pads, and "unspecifiled" to centor of bounding box.

* "unspecified" changed to center of pads.  "Origin" field added.
2024-12-05 09:49:34 +02:00
Adrian Studer e1378eea49 feat: add option to enable/disable plotting of all active layers (#176)
* Add option to enable/disable export of all active layers. Disabling that option will only export commonly used fabrication layers. Addresses issue #172

* move definition of standard layers to config.py
2024-11-21 14:57:43 +02:00
Dewalddp be93f52882 feat: apply delta x and delta y from transformations.csv (#177) 2024-11-19 14:04:16 +02:00
XiNGRZ 2a5e4a9aca Feat: Optionally use User.2 layer for alternative outline (#170)
* feat: optionally use User.2 layer for alternative outline #169

* chore: fix table of layer override fields
2024-10-14 22:02:02 +03:00
Lukas Lang 79da28d1bb Fix: Capitalize reference designators in generated files (#174) 2024-10-14 21:59:32 +03:00
dzid26 94bc00fa2b feat: allow footprints with no pads (#166) 2024-07-03 21:43:07 +03:00
Benny Megidish 28ea32fedf chore: cleanup footprint position 2024-04-25 12:20:37 +03:00
Benny Megidish 05e10eba00 fix: dnp attribute invocation, closes #148 2024-04-25 12:08:28 +03:00
Benny Megidish e19c0e411b feat: added extend edge cuts layer option #149 2024-04-21 00:31:03 +03:00
Benny Megidish 702e7e6ee9 feat: amended exclude DNP from BOM only option #159 #148 2024-04-20 21:26:14 +03:00
Alexander a43b555c90 feat: dynamic layers (#152)
Makes the additional layers text autocomplete and the gerber generator use the list of currently active layers

> * Add: utils to get dynamic layers
> 
> * Change: Use KiCad standard name for layers
> 
> * Add: description to new util funcs
> 
> * Fix: only include active layers in layer util funcs
> 
> * Fix: infinite loop
> 
> * Change: use util layer functions in processmanager
> 
> * Remove: hardcoded layers
> 
> * Change: use new util layer functions in dialog
> 
> * Change: include comma-separated hint in layer control
2024-04-09 19:53:27 +03:00
Arx ab0b336ed9 adjusting plot options and drill options to more closely match JLCPCB recommendations (#141)
Co-authored-by: Juraj Durajka <arx@macbook>
2024-03-14 12:58:12 +02:00
dzid26 88ae87bf48 fix: footprints without pads fix
* Skip components without pads (e.g. graphics)
- skip_footprint condition refactor.

* Unspecified footprint bounding box comments
2024-03-12 22:51:49 +02:00
Benny Megidish 266eb3bd31 feat: auto traslate as an option (#135) 2024-03-07 14:37:50 +02:00
Benny Megidish 84e933b566 fix: extra layers filter 2024-02-28 07:53:29 +02:00
Benny Megidish 3714af0afb Merge branch 'master' of https://github.com/bennymeg/JLC-Plugin-for-KiCad 2024-02-27 22:42:03 +02:00
Benny Megidish b80a14dfbb feat: extra layers support (#113) 2024-02-27 22:41:54 +02:00
Maksim Salau bfa87db797 ifix: Use IsDNP() to get the DNP attribute in KiCAD v8 (#128)
`footprint_has_field(footprint, 'dnp')` returns `False` for DNP
components in KiCAD v8.

In KiCAD v8 the DNP flag is available via either the IsDNP() getter or
the FP_DNP attribute.

The added `getattr()` call turns into `footprint.IsDNP()` in KiCAD v8 or
`bool()` (which evaluates into `False`) in KiCAD v7 and earlier.
2024-02-27 22:16:20 +02:00
Benny Megidish 371611e6f4 fix: translation footprint name 2024-02-27 12:16:17 +02:00
Benny Megidish 038cd1ddbe feat: get trasformations from db (#96) 2024-02-27 11:44:55 +02:00
Chris Whiteford eeca1704e2 fix: case of PlotLayers attribute check (#120)
PlotLayers has a capital P
(https://gitlab.com/kicad/code/kicad/-/blob/7.0/pcbnew/plotcontroller.h#L98)

hasattr(and internally getattr) is case sensitive.  This resulted in the User.1 layer not being included for v-cuts even if it existed in the project
2024-02-23 11:13:31 +02:00
dzid26 6729b564db feat: Calculate centroid based on footprint type (#117) 2024-02-21 11:27:52 +02:00
dzid26 f92c64e7dc fix: consistent top/bottom rotation (#111) 2024-02-15 16:54:56 +02:00
dzid26 8dc0e8a440 Adds KiCad 7.99 compatibility (#109)
`HasProperty()` no longer exists on footprints
and is replaced by `HasFieldByName()`.

Fixes #84, #97

Check kicad api version check

Co-authored-by: Wolfgang Jung <w.jung@polyas.de>
2024-02-15 16:37:41 +02:00
Arkwolf e9f4b5b29b feat: Add Top and Bottom layer override on footprints (#104)
* working changes

* add pad back

* remove confusing break continue
2023-11-16 18:16:00 +02:00
Benny Megidish 2b8c898d22 feat: stop looping the bom once the part inserted #95 2023-10-08 20:38:50 +03:00
Mats Engstrom bad1d2d1a3 Add limit of parts in BOM rows (#95)
* Add limit of parts in BOM rows

The number of components that are merged into the same row in the BOM file is limited. If there are too many you'll get an "Internal Server Error" when JLCPCB is processing it. 

Their support told me 20 parts per row is the limit but I've tested with 50 and it works, so I split the difference and set it to 30 here. I guess the 20 was only a suggestion :)

* Use variable instead of magic number for BOM-merge limit

* Use configure value for setting limit of merged parts in BOM
2023-10-08 20:25:03 +03:00
Benny Megidish 8a0af1a043 chore: rename to exclude DNP #54 2023-09-26 23:03:33 +03:00
Benny Megidish d3cb95030a feat: ignore dnp if value == DNP and option is set
#54
2023-09-26 22:44:15 +03:00
Benny Megidish a3fb4259dd Merge branch 'master' of https://github.com/bennymeg/JLC-Plugin-for-KiCad 2023-09-21 12:04:09 +03:00
Benny Megidish 872c0d90df feat: added GUI options support #54 2023-09-21 12:04:04 +03:00
Benny Megidish 6461a362dd fix: PlotLayers attribute missing #87 2023-09-12 20:21:23 +03:00
Benny Megidish 6f1426d972 fix: add support to v7 #81 2023-08-19 20:36:34 +03:00
Benny Megidish 6567a9da07 fix: solder mask margin in nanometers #81 2023-08-19 20:25:52 +03:00
Benny Megidish 57fd582a6d fix: normalized generated filename #85 2023-08-18 15:13:39 +03:00