Commit Graph

551 Commits

Author SHA1 Message Date
Salvador E. Tropea a76b4771c4 [Rotation Filter][Added] rotations_and_offsets option
Implements a more flexible mechanism to select rotations and offsets.
So you can have two different rotations applied to the same footprint,
i.e. different components with the same footprint but different
orientation in the reel.
2023-11-17 10:46:59 -03:00
Salvador E. Tropea 8dbf37f479 [Globals][Added] include_components_from_pcb
To get the old behavior that ignores components that are only in the
PCB
2023-11-17 08:17:46 -03:00
Salvador E. Tropea cd447710ae [Templates][JLCPCB] Added DNF filter for the position
Used to exclude KiKit panel components

See #516
2023-11-16 12:35:17 -03:00
Salvador E. Tropea 0b6a1cf115 [DOCs][Added] Change in filters to the changelog 2023-11-16 11:25:43 -03:00
Salvador E. Tropea 91e6e14a88 [Position][Removed] exclude_strange_footprints option
- It doesn't allow granular control over what is excluded
- Another mechanism is needed
2023-11-16 08:49:58 -03:00
Salvador E. Tropea 37f8a7067c [Position][Added] Option to remove KiKit auxiliary footprints
- Enabled by default
- KiKit is failing to mark them properly

Solves #516
2023-11-15 12:47:33 -03:00
Salvador E. Tropea 05ca6f72bd [Rotation Filter][Added] Support for offsets
- In the database
- Specified in the YAML
2023-11-15 09:53:14 -03:00
Salvador E. Tropea 08b1e5f7b8 [Rotation Filter] Fixes and extensions for JLCPCB
- Fixed the JLCPCB template to apply correct rotations to the bottom
  components
- Added options to specify rotations and offsets using fields
- Added an option to mirror the bottom rotation angles
- Needs verifications for the offset stuff

Related to #510
2023-11-14 11:07:12 -03:00
Salvador E. Tropea a398b7b0bc [Position][Fixed] Problems when using NET_NAME(n) for a value
Fixes #511
2023-11-08 10:13:32 -03:00
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