Commit Graph

542 Commits

Author SHA1 Message Date
Salvador E. Tropea 76f168fb45 [SCH][Added] Save of unit_name attribute 2023-11-06 13:27:29 -03:00
Salvador E. Tropea 3cd644d19d [Blender export][Added] Support for pcb2blender 2.7
- Solder mask and silk screen color
- PCB finish
- PCB thickness
2023-10-11 13:08:10 -03:00
Salvador E. Tropea 1a5b52dacf [Global options][Added] `layer_defaults`
- To specify the default suffix and description.

Closes #504
2023-10-09 09:51:35 -03:00
Salvador E. Tropea d67f7aa3b4 [Blender Export][Fixed] Extra space in light type names
Fixes #505
2023-10-09 06:40:19 -03:00
Salvador E. Tropea d0c489e2cc [Position][Added] Experimental support for gerber position files
Closes #500
2023-10-02 12:36:16 -03:00
Salvador E. Tropea c216d4bfde [Sub PCBs][Fixed] Using annotation method
- For some edeges and KiCad versions

Closes #496
2023-10-02 10:05:33 -03:00
Salvador E. Tropea dc3628eaa1 [BoM][Added] `parse_value` can be used to disable the *Value* parser
- Better explanation about what affects group_fields
- Added warning about extra information in the value

See #494
2023-09-28 11:18:49 -03:00
Salvador E. Tropea 549385a139 [3D outputs][Added] Option to disable LCSC 3D model download
- `download_lcsc`
 See #415
2023-09-24 19:50:30 -03:00
Salvador E. Tropea e6a8677cef [Fixed] The --log/-L didn't enabled full debug for all messages
- Only GS.debug_level changed, but not the internal log.debug_level
2023-09-24 17:23:01 -03:00
Salvador E. Tropea c129c597ef [PCB Print][Added] Support for CURRENT_DATE text variable 2023-09-24 17:16:16 -03:00
Salvador E. Tropea b6815b6a94 [Panelize][Added] Expand text variables and KiBot %X markers
- in text objects

Related to #497
2023-09-24 17:13:33 -03:00
Salvador E. Tropea e88df7f595 [Internal Templates][Added] 4 templates for simple 3D render using Blender 2023-09-08 13:08:05 -03:00
Salvador E. Tropea 6c2ec777a3 [Blender export][Added] Traceback when Blender provides it 2023-09-08 12:52:42 -03:00
Salvador E. Tropea 565c3152d9 [Added] Warning for wrong dir/output separation
Seen on #493
2023-09-08 10:52:10 -03:00
Salvador E. Tropea 694fa02c6b [Dep Download][Fixed] Problems when connection timed-out
- Missing return variable
2023-09-05 06:52:21 -03:00
Salvador E. Tropea 390da80f7c [BoM][Added] LCSC links
From SchrodingersGat/KiBoM#190
2023-09-01 13:51:15 -03:00
Salvador E. Tropea 32fff15a5c Added help for the error levels 2023-08-30 13:59:35 -03:00
Salvador E. Tropea 572204a5b2 [Update XML][Fixed] Error when using "Exclude from BoM" (KiCad 6)
- Parity for these components can't be checked. KiCad 7 fixes it.
  Now we just print a warning.
- Also fixes *exclude_from_bom* mismatch on KiCad 7
- Also fixes *Sheetfile* mismatch on KiCad 7 when testing from different
  directory

Fixes #486
2023-08-30 09:22:01 -03:00
Salvador E. Tropea 2621caffd6 [DOCs] Moved to Read the Docs. 2023-08-29 13:12:29 -03:00
Salvador E. Tropea 9e8c346d35 [Blender Export][Added] Camera option to set the clip start
- Note that this is also a fix because now we compute the clip start
  for cameras with automatic position.

Closes #484
2023-08-22 09:04:37 -03:00
Salvador E. Tropea 948a40fb91 [Blender Export][Added] Options useful to generate simple animations
- The resulting PNGs can be converted to MP4 using ffmpeg
2023-08-16 13:36:19 -03:00
Salvador E. Tropea 4202f01c01 [Populate][Added] Basic support for regular list items
Closes #480
2023-08-15 12:45:00 -03:00
Salvador E. Tropea 6f3dd0cabc [Blender Export] Added support for pcb2blender 2.6
- This is for Blender 3.5.1
2023-08-11 13:32:35 -03:00
Salvador E. Tropea abeea7ec03 [Global options][Add] Option to remove solder mask apertures
`remove_solder_mask_for_dnp` similar to `remove_solder_paste_for_dnp`
but applied to the solder mask apertures.

Closes #476
2023-08-04 12:31:17 -03:00
Salvador E. Tropea a3253b0496 [Intall Check][Fixed] Show 7.x as supported
- Only 7.99 is shown in red
2023-07-31 13:35:18 -03:00
Salvador E. Tropea 055e832670 [BoM][Added] Support for ${field} expansion
Closes #471
2023-07-31 11:15:37 -03:00
Salvador E. Tropea 68e0ccc9b8 [iBoM][Added] `forced_name` to control the displayed name
- To force the name displayed at the top left corner

Closes #470
2023-07-31 09:12:05 -03:00
Salvador E. Tropea 7ff35563e6 [Fixed] Rotated text in worksheet for KiCad 7
Fixes #466
2023-07-21 19:43:21 -03:00
Salvador E. Tropea 6f8586e8cb [Worksheet] Fixed rotated polygons 2023-07-21 09:35:02 -03:00
Salvador E. Tropea 3460cdcf67 Bumped version to 1.6.4 2023-06-28 06:36:14 -03:00
Salvador E. Tropea 31ea770993 [DOCs] Updated for release 2023-06-26 13:23:04 -03:00
Salvador E. Tropea 7e6154d9e9 [Position][Added] quote_all option
- To quote all columns in the CSV output

Closes #456
2023-06-26 09:33:08 -03:00
Salvador E. Tropea 16a265f633 [Schematic v6][Fixed] bitmap scale and lib_name not saved
Fixes #451
2023-06-15 08:15:02 -03:00
Salvador E. Tropea fb2cc4e4b3 [Internal Templates] Added panel demo import 2023-06-14 09:22:29 -03:00
Salvador E. Tropea 25b0557d5a [Compress] Added `skip_not_run`
-  Used to skip outputs not generated in default runs.
2023-06-14 09:01:27 -03:00
Salvador E. Tropea 2a357364d4 [Internal Templates] Made manufacturers gerber layer parametrizable
- Also made JLCPCB_stencil more like JLCPCB
2023-06-14 08:20:42 -03:00
Salvador E. Tropea f486fb34b9 [Navigate_Results][Added] Option to skip outs with run_by_default: false 2023-06-14 07:01:43 -03:00
Salvador E. Tropea d19b9343bc [Internal Templates][Added] Versions with stencil for all 2023-06-13 10:52:11 -03:00
Salvador E. Tropea c6f2cbb8e5 [Render_3D][Added] More options to control what we see
- realistic: can be used to disable the realistic colors and get the GUI ones
- show_board_body: can be used to make the PCB core transparent (see inner)
- show_comments: to see the content of the User.Comments layer.
- show_eco: to see the content of the Eco1.User/Eco2.User layers.
- show_adhesive : to see the content of the *.Adhesive layers.

See #445
2023-06-12 09:10:00 -03:00
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