Commit Graph

503 Commits

Author SHA1 Message Date
Salvador E. Tropea 7a7beff556 [Diff] Changed repo protection to worktree mechanism
- As suggested by @matthijskooijman on #443
- This is cleaner than trying to use stash push/pop
- The old method is available
2023-06-06 12:53:19 -03:00
Salvador E. Tropea bd07442764 [Templates] Added JLCPCB_with_THT and JLCPCB_stencil_with_THT
- Using the new parametrizable imports
See #444
2023-06-01 13:42:39 -03:00
Salvador E. Tropea bfc7acc647 [Fixed] KiCad user template directory autodetection for KiCad 7+ 2023-06-01 13:00:54 -03:00
Salvador E. Tropea 0ddc02c51d [Electro-grammar][Fixed] Problems with floating point tolerances
- i.e. 0.1%
Fixes #447
2023-05-29 10:09:05 -03:00
Salvador E. Tropea c87a37ea3c [Compress][Gerber][Fixed] Problems with inner layers
- When using legacy protel extensions

Fixes #446
2023-05-29 09:52:04 -03:00
Salvador E. Tropea 281ed3be7e [Imports][Added] Allow to define @TAGS@ values during import
- Also added defaults
- BTW: disabled the YAML lint crap that insists in checking excluded
  files
2023-05-24 09:39:06 -03:00
Salvador E. Tropea 0f5485f32b [DOCs][Updated] Added last fixes 2023-05-22 13:19:03 -03:00
Salvador E. Tropea a35e9fc2c7 [Templates][Added] CheckZoneFill aborts on big changes
- Enables the check_zone_fill preflight
- Creates graphical diff
- Computes the number of changes

Closes #431
2023-05-18 11:28:06 -03:00
Salvador E. Tropea d6e008ff48 [PCB][Added] Invalidate the text variables cache
- Only when `set_text_variables` is used
- Can be controlled by global option `invalidate_pcb_text_cache`
- Not even the KiCad developers agree about if the cached
  values should be reset or not, see
  https://gitlab.com/kicad/code/kicad/-/issues/14360
  But if we don't reset them the user will think KiBot is failing
  to set them.
  As using `set_text_variables` is a clear intention of change
  I think this is the right behavior.

Closes #441
2023-05-18 10:47:23 -03:00
Salvador E. Tropea 5d190aee5d [CLI][Added] `--output-name-first` to list outputs by name
- No description

See #436
2023-05-18 09:39:42 -03:00
Salvador E. Tropea ef04782a9a [Groups][Added] outputs can request to be added to one or more groups
- Also list groups
- Allow empty groups so the user can catch typos

Closes #435
2023-05-18 09:07:17 -03:00
Salvador E. Tropea ebc48f57d9 [CLI][Added] More clear --list output and --only-pre option
- Takes most of the #436 suggestions
2023-05-17 12:43:41 -03:00
Salvador E. Tropea 921b04a396 [CLI] Added --only-names to --list 2023-05-17 11:17:44 -03:00
Salvador E. Tropea a02999d50a [Diff][Schematic][Fixed] Project not copied to variant
- Any info related to the project wasn't applied.

Fixes #438
2023-05-16 13:28:51 -03:00
Salvador E. Tropea f2f0ed1a9b [CLI][Added] Option to list variants
- Also changed the default --list behavior to avoid configuring outputs
- Old behavior can be obtained using --config-outs

Related to #434
2023-05-16 11:17:44 -03:00
Salvador E. Tropea 91ffb04661 [Diff][Fixed] KIBOT_TAG skipping commits, not tags
Fixes #430
2023-05-12 09:54:26 -03:00
Salvador E. Tropea 6be9cbecef [Filters][Added] `spec_to_field`
- To extract information from the distributors specs and put in fields.
  I.e. RoHS status.
2023-05-05 11:25:34 -03:00
Salvador E. Tropea a1f78c296e [Filters][Added] New `generic` filter options
- `exclude_not_in_bom` and `exclude_not_on_board` to use KiCad 6+ flags

Closes #429
2023-05-05 06:37:34 -03:00
Salvador E. Tropea 66b0c20c69 [Position][Fixed] "Exclude from position files" not excluded
- When only SMD components are selected.

See #429
2023-05-04 13:20:48 -03:00
Salvador E. Tropea 61a8fe7885 [Filters][Added] `value_split`
- To extract information from the Value field and put it in separated
  fields. I.e. tolerance, voltage, etc.
2023-05-03 14:09:35 -03:00
Salvador E. Tropea 4fbd69ac3b [Global options][Added] `environment`.`extra_os` to define environment variables 2023-05-02 13:12:50 -03:00
Salvador E. Tropea 4e72af9761 [Added] OS environment expansion in ${VAR} 2023-04-28 13:46:58 -03:00
Salvador E. Tropea a05be2240e [v6/7 Schematic] Hierarchy expanded only if needed 2023-04-28 10:45:38 -03:00
Salvador E. Tropea 5a8c54fe44 [v6/7 Schematics][Fixed] Repeated UUIDs saved in variants
- Mostly oriented to v7
2023-04-25 11:17:43 -03:00
Salvador E. Tropea 0bed962565 [v6/7 Schematic][Fixed] Net Class Flags not saved 2023-04-25 11:12:56 -03:00
Salvador E. Tropea d4ceef8fb9 Bumped version to 1.6.3 2023-04-24 13:31:06 -03:00
Salvador E. Tropea 8576771688 [DOCs] Updated for release 2023-04-24 12:53:41 -03:00
Salvador E. Tropea 2ed0622a8b [Blender Export] Better light and with more options 2023-04-24 11:17:12 -03:00
Salvador E. Tropea d3f9a15739 [Added] Export KICADn_* environment variables for the older versions
- So you can use KICAD6_* variables on KiCad 7.
2023-04-21 11:30:48 -03:00
Salvador E. Tropea 3c749719dd [VRML][Added] Option to use the auxiliary origin as reference
Closes #420
2023-04-15 19:45:52 -03:00
Salvador E. Tropea 5e80a1e150 [VRML][Fixed] Y coordinate
Fixes #419
2023-04-15 19:32:59 -03:00
Salvador E. Tropea 124fc8e7b5 [Added] Expansion pattern **%M**
- Directory where the pcb/sch resides. Only the last component
  i.e. /a/b/c/name.kicad_pcb -> c

Closes #421
2023-04-15 19:18:26 -03:00
Salvador E. Tropea 3b0a26c7ab [Added] Support for netclass flags
Closes #418
2023-04-14 13:28:28 -03:00
Salvador E. Tropea b1b798689f [3D Models] Added support to pass variables to download URL
Should help for #414
2023-04-14 13:05:09 -03:00
Salvador E. Tropea 52ac92c42d [3D Models] Added workaround for KiCad 7
- Fails to export VRMLs for PCBs using paths relative to the footprint.

See #417
2023-04-07 11:05:34 -03:00
Salvador E. Tropea 58417e428d Merge branch 'dev' of https://github.com/INTI-CMNB/KiBot into dev 2023-04-04 13:50:58 -03:00
Salvador E. Tropea 6feddd06a5 [Added] Mechanism to install fonts and colors 2023-04-04 13:49:21 -03:00
Salvador E. Tropea d9b3da1e0d [SCH print][Added] Support for title change 2023-04-02 09:59:09 -03:00
Salvador E. Tropea 1a1311dc6d [General][Added] Support for time stamp in the date
- i.e. 2023-04-02T09:22-03:00
2023-04-02 09:54:30 -03:00
Salvador E. Tropea 3221a7fe00 [PCB Print][Fixed] Problems with images in the WKS (KiCad 5/6)
- Added regression test
2023-04-01 18:07:51 -03:00
Salvador E. Tropea bb592a8ec4 [CLI] Added option to log a file
- This is in addition to logging to stderr.
- This log is currently done with full debug information.
2023-04-01 14:07:31 -03:00
Salvador E. Tropea b2ffa5410a [CLI] Added option to display a banner
- I disabled `check-docstring-first`, no way to disable for a file
2023-04-01 11:36:50 -03:00
Salvador E. Tropea 9811972ace [PCB/SCH parity] Check for value and fields/properties 2023-03-31 08:45:09 -03:00
Salvador E. Tropea 2f8e416f06 [PCB/SCH Parity] Added support for bogus net codes
Fixes #410
2023-03-31 07:43:31 -03:00
Salvador E. Tropea 158f267eb5 Support for extra data in the Value field
- Currently we just use the tolerance for the 3D resistors
- Uses a port of the JavaScript Electro-Grammar
2023-03-30 12:39:36 -03:00
Salvador E. Tropea 9f2564b80c [Diff][Fixed] Problems when using an output and no variant specified 2023-03-29 07:03:23 -03:00
Salvador E. Tropea bb475ad75a [Any Layer] Enabled scaling for most plot outputs
- Only the gerber is excluded
- The new `individual_page_scaling` option is also available
- Now unknown options are treated as errors
2023-03-28 08:39:25 -03:00
Salvador E. Tropea ac81d18ea3 [PCB Print][Fixed] Interference with PRL and scaling
- The visible layers affected the position of the scaled image.
  This list is defined in the .kicad_prl file and the Python API
  loads it.

Fixes #407
2023-03-27 13:53:37 -03:00
Salvador E. Tropea 5f416063be [PcbDraw][Fixed] Support for 7.0.1 polygons
- Now KiCad generates polygons in the SVG
Fixes the problem reported in upstream: yaqwsx/PcbDraw#142
2023-03-27 10:53:33 -03:00
Salvador E. Tropea 762d96d0e8 [Download Datasheet] Better message warnings
- Unified
2023-03-27 08:51:55 -03:00
Salvador E. Tropea f7d52f3d09 [Datasheet dowload] Catch requests.exceptions.TooManyRedirects
Closes #408
2023-03-27 08:22:39 -03:00
Salvador E. Tropea 786c94a80c [3D] Added option to enable the colored R cache 2023-03-21 10:40:27 -03:00
Salvador E. Tropea f3645d3264 [3D] Added options to control the resistors tolerance
- `field_tolerance` field/s to look for resistor tolerance.
- `default_resistor_tolerance` which tolerance to use when none found.
2023-03-21 09:57:22 -03:00
Salvador E. Tropea 05105cdc9a [3D] colored 3D models for THT resistors 2023-03-20 14:26:09 -03:00
Salvador E. Tropea 2d39890482 [KiKit present][Fixed] Crash when no boards specified
Fixes #402
2023-03-18 19:04:59 -03:00
Salvador E. Tropea a9ca2f3f11 [Makefile][Fixed] don't skip all preflights on each run
- Just the ones we generate as targets.

Fixes #405
2023-03-18 18:41:15 -03:00
Salvador E. Tropea 3a5519c0e5 Bumped version to 1.6.2
- Just to make it different
2023-03-17 10:47:26 -03:00
Salvador E. Tropea 4d734d1e71 [DOCs] Adjusted details for release 2023-03-16 07:36:59 -03:00
Salvador E. Tropea 31cf802b89 [KiCad 7] Added global option to use KiCad to cross components 2023-03-09 09:34:25 -03:00
Salvador E. Tropea 6801dfc7e2 [KiCad 7] Added some support for DNP flag
- Copied to internal `fitted`
- Can remove 3D models even when no filter/variant is applied
2023-03-08 13:13:37 -03:00
Salvador E. Tropea 4da38de4a8 [ERC][KiCad 7] Added option to specify the grid size
- `erc_grid` to specify the grid size for KiCad 7 ERC tests

See https://gitlab.com/kicad/code/kicad/-/issues/14110
2023-02-28 06:17:20 -03:00
Salvador E. Tropea 6fd97254ad [PCB Print][Fixed] KiCad crashing on some complex filled zones
- We must rebuild the conectivity data after a zone fill

Fixes #396
2023-02-27 10:30:11 -03:00
Salvador E. Tropea 659e23ae32 [Report] Added warnings and counters for buried and micro vias
- Also added a mechanism to disable them for KiCad 7 which no longer
  provides this option.
2023-02-23 08:40:40 -03:00
Salvador E. Tropea fe26f1ab6a Problems to detect the SCH under very particular constraints
Fixes #394
2023-02-22 13:04:45 -03:00
Salvador E. Tropea cb0465bcde Bumped version to 1.6.1
- Just to make it different
2023-02-06 13:15:46 -03:00
Salvador E. Tropea 943d6008d0 Bumped version to 1.6.0
- Updated the docs
2023-02-06 09:12:36 -03:00
Salvador E. Tropea dba016b619 Changing licence to AGPL v3
- The EasyEDA 2 KiCad code is AGPL so the result is AGPL
2023-02-04 13:14:26 -03:00
Salvador E. Tropea df085fa8bc Added mechanism to download 3D models from EasyEDA
- Using LCSC codes

Closes #380
2023-01-31 13:12:06 -03:00
Salvador E. Tropea c39d21f3cf [Global Options] Added field_lcsc_part: to select the LCSC/JLCPCB part field 2023-01-28 17:59:23 -03:00
Salvador E. Tropea aa56322241 [3D][Changed] Downloaded 3D models are no longer discarded
- They are stored in ~/.cache/kibot/3d
- You can change the directory using KIBOT_3D_MODELS
2023-01-28 11:26:34 -03:00
Salvador E. Tropea 96822923b4 [3D][Added] A mechanism to cache downloaded 3D models 2023-01-27 12:12:16 -03:00
Salvador E. Tropea 8506fb78db [Report][Fixed] Computed size
- When using circles and some arcs in the PCB edge

Closes #375
2023-01-25 11:05:01 -03:00
Salvador E. Tropea 47bdc26154 [Report][Added] Expansion for KiCad text variables and environment variables 2023-01-19 21:05:32 -03:00
Salvador E. Tropea b6240d5fea [Copy Files][Fixed] Problems when using with `compress`
- Wrong targets and dependencies.
2023-01-18 15:09:10 -03:00
Salvador E. Tropea eb8c04f870 [Blender Export] Added Blender render
- Impressive quality thanks to the pcb2blender plug-in
2023-01-16 23:42:52 -03:00
Salvador E. Tropea 6998fd87de [PCB_Print][Added] A mechanism to create a page for each copper layer
See #365
2023-01-12 18:35:27 -03:00
Salvador E. Tropea 6554393bd9 [PCB_Print][Fixed] Problems when trying to use groups of layers
- i.e. copper
2023-01-12 17:18:47 -03:00
Salvador E. Tropea f8eb021098 [SCH_Print] Added PS, DXF and HPGL formats 2023-01-12 00:30:38 -03:00
Salvador E. Tropea 0f5ada05ee [SCH_Print] Added color theme and color background options
See #362
2023-01-11 20:11:53 -03:00
Salvador E. Tropea db6fa6767a [DOCs][Fixed] annotate_pcb docs and example
- Missing options in docs
- Wrong example

Fixes #360
2023-01-10 15:05:05 -03:00
Salvador E. Tropea ac65cc022e [General] Better support for wrong pre-flight options
Closes #360
2023-01-10 14:54:29 -03:00
Salvador E. Tropea 695eb64390 Updated the changelog 2023-01-08 19:57:04 -03:00
Salvador E. Tropea 76bf264350 [Added] PCB2Blender_2_1 template
- Generates pcb2blender 2.1 files to import on Blender
2023-01-06 13:31:55 -03:00
Salvador E. Tropea 59b90283ed [Compress][Added] Option to use the output's `dir` as reference
- `from_output_dir`
2023-01-06 13:16:48 -03:00
Salvador E. Tropea 42f5dcd8d6 [SVG][Added] Options to limit the view box to the used area. 2023-01-05 19:29:31 -03:00
Salvador E. Tropea b2f5612b77 [Filters] Moved _only_smd to be truly internal
- Defined _only_tht and _only_virtual
- Simplified the internal filters generation
2023-01-05 17:52:02 -03:00
Salvador E. Tropea 315a089300 [Fixed][BoM] pre_transform filers can't be logic filters 2023-01-05 14:15:25 -03:00
Salvador E. Tropea bdffcfa508 [Internal templates] Added for all the known manufacturers 2023-01-04 13:47:03 -03:00
Salvador E. Tropea 5a5967c6b3 [Added] Support for internal imports
- A mechanism to implement templates
- Also fixed some groups import issues
2023-01-04 11:39:48 -03:00
Salvador E. Tropea 17aacf8daf [Added] Support for `groups` of `outputs` 2023-01-04 08:38:21 -03:00
Salvador E. Tropea 16cb739ae4 [Copy_Files][Fixed] Problems on KiCad 5
- No 3rd party dir

Fixes #357
2023-01-02 09:47:07 -03:00
Salvador E. Tropea 1fdb8a6c4b Merge branch 'subpcb' into dev 2022-12-28 13:33:42 -03:00
Salvador E. Tropea eb911f35d1 [PCB_Print][Added] Support for sketch_pads_on_fab_layers
Closes #356
2022-12-28 13:26:15 -03:00
Salvador E. Tropea 284b9df12a [Any Layer][Added] Support for sketch_pads_on_fab_layers
Related to #356
2022-12-28 13:06:39 -03:00
Salvador E. Tropea 4ffb627b30 [DOCs] Updated the changelog 2022-12-28 12:41:27 -03:00
Salvador E. Tropea 5594fa0b7c [iBoM][Fixed] Variant changes to the *.Fab weren't exported
- Now all 2D variant stuff is applied before calling iBoM

Closes #350
2022-12-19 13:22:11 -03:00
Salvador E. Tropea ccaefd7e90 [iBoM][Added] `hide_excluded` to hide excluded *.Fab drawings. 2022-12-19 13:18:08 -03:00
Salvador E. Tropea 3c501d3054 [iBoM][Fixed] Variant changes to the *.Fab weren't exported
- Now all 2D variant stuff is applied before calling iBoM

Closes #350
2022-12-19 11:26:24 -03:00
Salvador E. Tropea d4047b78c9 [iBoM][Added] `hide_excluded` to hide excluded *.Fab drawings. 2022-12-19 11:22:00 -03:00
Salvador E. Tropea da2d5f1001 [Variants] Added some limited support for `kikit separate` 2022-12-18 17:14:38 -03:00