Commit Graph

1698 Commits

Author SHA1 Message Date
Salvador E. Tropea cbc196f37a [CLI][Added] Options to list rotation and offset adjusts
Mainly oriented for JLCPCB
2023-11-22 12:47:48 -03:00
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 623231be8d [Fixed] Missing implementation of include_components_from_pcb 2023-11-17 10:43:03 -03:00
Salvador E. Tropea 1c5dc60e43 [Rotation Filter][Fixed] Double rotation
- From field and database
- Also added much more detailed debug information when using level >= 2
2023-11-17 08:55:15 -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 e49f6702ff [Rotation Filter][DOCs] Documented how angles and offsets are interpreted 2023-11-17 08:10:55 -03:00
Salvador E. Tropea 407f7b0508 [Rotation Filter][Fixed] Offset sign when using fields
To match the plugin we are using as reference
2023-11-17 07:45:51 -03:00
Salvador E. Tropea a142a76585 [Fixed][KiCad 5] No footprint properties are available 2023-11-16 13:05:57 -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 ff03417926 [Fixed] Missing data in components added from PCBs 2023-11-16 11:24:23 -03:00
Salvador E. Tropea b8db64e6e7 Cosmetic comment change
Environment variable in ``
2023-11-16 11:16:16 -03:00
Salvador E. Tropea a53f123939 [Variants and Filters] Include components from the PCB
When a component is in the PCB, but not in the schematic, it can be
now processed by the filters.
2023-11-16 09:01:10 -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 a2607450a1 [DOCs][Fixed] Typo in panelization output
From #517
2023-11-15 13:41:22 -03:00
Salvador E. Tropea 45c5d2c7eb [DOCs][Added] backticks to text replacement variables
This is based on the #517 PR, but applied to the source code
2023-11-15 13:39:54 -03:00
Salvador E. Tropea d06dbbdf78 Avoid warnings about KiKit auxiliary footprints
They will never be part of the schematic, even when they aren't marked
as excluded from the schematic
2023-11-15 12:51:40 -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 6b040af849 [Rotation Filter][Added] More comments about rotations 2023-11-15 07:26:14 -03:00
Salvador E. Tropea 96dcaa1c28 [Rotatio filter][Added] More rotations
From the current https://github.com/matthewlai/JLCKicadTools/blob/master/jlc_kicad_tools/cpl_rotations_db.csv
2023-11-14 13:37:47 -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 a98b46195c [3D models][Download] Catch Easy EDA errors
- Print an error and continue
Fixes #515
2023-11-07 09:48:51 -03:00
Salvador E. Tropea 76f168fb45 [SCH][Added] Save of unit_name attribute 2023-11-06 13:27:29 -03:00
ac 54c8c4d3ee Unit name handler added for v6_sch module. 2023-11-06 13:14:25 -03:00
Salvador E. Tropea a8c0a207ef [Added] Support for STEP files downloaded from EasEDA
Related to uPesy/easyeda2kicad.py#82
2023-10-19 12:34:34 -03:00
Salvador E. Tropea ad361fda12 [Fixed] Removed debug print 2023-10-18 12:48:25 -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 f3ef187520 [Fixed] Another missing case in the last patch 2023-10-09 10:21:50 -03:00
Salvador E. Tropea a20ba7aaa8 [Fixed] Check for global option in last patch 2023-10-09 10:05:44 -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 bd081609d5 [QR Lib][Added] Clarification about the output name 2023-10-02 12:29:43 -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 12151a7356 [QR Lib][Added] Error when the symbol and footprint libs collide
- Also more detailed explanation for the output option

Related to #483
2023-09-28 13:17:15 -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 9ce2321890 [BoM][Fixed] LCSC links
- Missing .html
2023-09-12 13:44:00 -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 16d0aef8a0 [Fixed] Missing warning 132 definition 2023-09-08 11:22:39 -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 ca3860c784 [Dependencies] Made KiKit point to our fork
- The release has bugs and is 1.3.0 < 1.3.0.8
2023-09-06 12:51:33 -03:00
Salvador E. Tropea e5e9c370ae [Added] Suffix for disabled layers when reporting them 2023-09-05 13:25:58 -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 92ea7ea193 [Added] Message to clarify which KiCad 5 files are mixed
with the KiCad 6+ files
2023-09-04 13:43:07 -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 91f5bb81da [DOCs] Added a very visible warning about `-s all`
- In the set_text_variables
2023-09-01 13:45:29 -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 575eade044 [DOCs] Fixed missing f-string marker 2023-08-29 13:29:22 -03:00
Simon 94507fb7df [Panelize][Add] Dimensions 2023-08-29 13:22:14 -03:00
Salvador E. Tropea 9915bbd7ae [Help] Small fixes
- To keep the output similar to previous behavior
- Also adapted some tests to new markup
2023-08-29 09:45:17 -03:00
Salvador E. Tropea dacd98fbc4 Removed debug print 2023-08-29 09:09:37 -03:00
Salvador E. Tropea 4c4747b729 [DOCs] Changed to reST format for most docs
- Now KiBot can generate helps in reST format
- No more huge monolithic help
- Generated stuff is in separated files and marked as generated
- Index to search stuff by category
2023-08-29 08:02:02 -03:00
Salvador E. Tropea 916dab395e [DOCs][DXF] Made the docstring indentation coherent
Now is the same as other "any layer" docstrings
2023-08-29 07:50:37 -03:00
Salvador E. Tropea 5c9d6a22cf [DOCs][KiBoM] Removed bogus link (see '') 2023-08-29 07:49:42 -03:00
Salvador E. Tropea 0a5ab281fe [DOCs][Update XML] KiCad 6 -> KiCad 6+
Related to #486
2023-08-29 07:48:07 -03:00
Salvador E. Tropea 5bffb57b73 [DOCs][Filters][Added] Descriptive name 2023-08-22 09:36:57 -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 ffba8566fd [DOC][Filter][Spec to Field][Fixed] Important mark for spec/s
The `*` was in the wrong position
2023-08-22 09:00:21 -03:00
Salvador E. Tropea 17df07c243 [Blender export][Fixed] Call to get_output_filename
- Missing order argument
2023-08-16 14:04:07 -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 49973b49cb [Flake8] Small changes suggested by flake8 5.0.4 2023-08-11 13:33:54 -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 cce2ba27ef [Dep Downloader][Added] Partial workaround for broken pip
- On Debian 12 pip installs to _root_/_prefix_/*local*/_dir_
  and not _root_/_prefix_/_dir_.
2023-08-10 12:51:04 -03:00
Salvador E. Tropea 7bc3f11a2b [Dep Downloader] Added support for PEP668 compliant Debian pip 2023-08-10 09:20:02 -03:00
Salvador E. Tropea 73097d7963 Dropped Python 2.x support in included libs
There is no point in having it and complicates the compatibility
detection.
2023-08-08 12:27:06 -03:00
Salvador E. Tropea 98346bcf39 Fixed use of Python 3.9 in populate.py 2023-08-08 11:25:54 -03:00
Salvador E. Tropea 67ae12bf1d Made shlex.join use optional
Introduced in Python 3.8
2023-08-08 11:19:47 -03:00
Salvador E. Tropea 973522d462 [Global options][Fixed] Solder mask restore for graphics 2023-08-04 12:37:09 -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 9c6ca87214 [iBoM][Added] Support for 2.7.0
- Pin 1 highlight changes
- The packaged iBoM is compatible with 2.6.0
- A patch to make it compatible was merged in upstream
- Current release reports a wrong version
2023-08-04 06:59:54 -03:00
Salvador E. Tropea 22248c0068 [Fixed] Copy of KiCost data
Now we use a copy of the components to allow field expansions.
So we must also copy the specs to the original components.
2023-07-31 13:10:40 -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
zedudi f9e774a1f5 aggregated csv export error fix 2023-07-26 07:15:33 -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 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 997a5945b8 [V6 Schematic][Fixed] Force / on sheet paths for Windows
- Related to #452
2023-06-21 11:15:04 -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 0fa7b92039 [Quick-Start] No longer use dedicated templates
- Now we use the internal templates
- This is because now they can be configured
2023-06-14 13:24:08 -03:00
Salvador E. Tropea f526812bcc [Internal Templates][Fixed] Missing quotes around recursive defs 2023-06-14 13:23:00 -03:00
Salvador E. Tropea 97554c2057 Added the name of the faulty YAML when we get an error 2023-06-14 13:21:42 -03:00
Salvador E. Tropea de4458ec46 [Internal Templates] Allow manufacturer imports to be used more than once
- You can define _KIBOT_IMPORT_ID to differentiate its instances
2023-06-14 09:43:28 -03:00
Salvador E. Tropea 216ac86114 [Internal Templates] Custom manf# field for MacroFab_XYRS 2023-06-14 09:22:41 -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 5b37d88b28 [Internal templates] More customizations
- Target dir for manf outputs and separated for the archive
- Parameters to disable JLCPCB pos and bom
2023-06-14 08:39:05 -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 9f507e61a0 [Internal Templates] Another more specific parameter
- ONLY_SMD -> _KIBOT_POS_ONLY_SMD
2023-06-14 08:01:47 -03:00
Salvador E. Tropea 804ff3e210 [Internal Templates] Made the internal params for stencil more specific
- To avoid collisions
2023-06-14 07:37:56 -03:00
Salvador E. Tropea 3dd6951671 [Internal Templates] Made the CheckZoneFill parameter more specific
- To avoid collisions
2023-06-14 07:32:03 -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 9c27c8e565 [Internal templates][Added] Threshold parameter to CheckZoneFill
- So we can easilly adjust the tolerated changes
2023-06-13 10:25:09 -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 8d48519551 [Diff][Added] Recursive submodules init for worktree 2023-06-07 09:43:14 -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 23a4aa3fed
Merge pull request #448 from flaviut/flaviut-patch-1
Fix type error
2023-05-29 11:02:12 -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
Flaviu Tamas 60db7e2719
Fix type error
Uses duck-typing for the test instead of requiring the type be one of a few specific instances. This fixes the following error I get with kicad v7.0.4: `TypeError: float() argument must be a string or a real number, not 'VECTOR2I'`
2023-05-28 12:20:23 -04:00
Salvador E. Tropea 001938add3 [Groups] Fixed to use internal variable for groups from outputs
- To avoid interference with the configuration mechanism

See #435
2023-05-24 12:50:39 -03:00
Salvador E. Tropea f3a483f1ec [Fixed] Read gziped config files as text files 2023-05-24 12:39:57 -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 63f5a6de20 [Fixed][Copy files] 3D models copy issues
- PCB not loaded if the only action was to copy the 3D models
- Problems for STEP models when copying models
2023-05-22 12:50:41 -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 b28ea6d6cd [CLI][List] Various fixes to --only-names
- Added missing groups
- Sorted
- Don't show outputs when using --only-pre and no preflights
2023-05-18 09:19:46 -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 7576bbd3b4 [Added] Human readable error when we get a corrupted project 2023-05-17 11:09:24 -03:00
Salvador E. Tropea e7cde1164c [Diff][Fixed] Assumption that all tags are in the trunk
- As stated by @matthijskooijman in
  91ffb04661c40102bfb856669039f0825ecc6883#r113724588 comment
  using --tags isn't necessary and includes *all* tags
- The code also assumed nothing was added before the "tag: "
  label, but this isn't true if the HEAD is tagged.
2023-05-17 10:53:43 -03:00
Matthijs Kooijman c9b2e7cdc5 [Diff] Fix typo in log message 2023-05-17 13:11:49 +02:00
Matthijs Kooijman f3c1865d00 [Diff][Schematic] Add debug prints about project-copies 2023-05-17 13:10:42 +02: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 8a4ea1be5a [List variants] More quiet when --only-names
See #434
2023-05-16 12:43:59 -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 577acfe574 Added stack trace to various exit cases 2023-05-16 10:56:13 -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 b30ed4a6fc [Filters][Spec_to_Field][Added] Dist coherence and dist desc
- We can now try to parse the description of the component
- We can also try to compare the results from different distributors
2023-05-10 11:25:56 -03:00
Salvador E. Tropea 119d8fd2e2 [Electro Grammar][Added] Support for "WATT" and xxxx/yyyy
- Not just "Watts"
- xxxx/yyyy for text like "SMD/SMT"
2023-05-10 11:19:55 -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 b540b285de [KiCost] Indented messages from it
- To make output more readable
2023-05-05 11:22:41 -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 6a1d6d313c [DOCs] Added link to the value_split example 2023-05-04 11:04:52 -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 e4ba2d7d8a [v6/7 Schematic] Better error message when missing UUID 2023-04-28 11:00:51 -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 fea0d04e87 [Filters] More debug in field modify 2023-04-28 10:39:51 -03:00
Salvador E. Tropea 90f088863a [v6/v7 Schematic] Better error when we hit an UUID issue 2023-04-28 09:24:26 -03:00
Salvador E. Tropea 4992937cf5 [v6/v7 Schematic] Better handling of sub-sheet instances
- When a sub-sheet is the root of another hierarchy.
- We no longer discard the instances, unless expanding the hierarchy
- Also another step to separate the cross and hierarchy expansion
2023-04-28 09:22:15 -03:00
Salvador E. Tropea 42445e8294 [v6/v7 Schematic] Fixed error introduced in the crossed lib 2023-04-27 17:10:21 -03:00
Salvador E. Tropea 0f5d5c5381 [v6/7 Schematic] Separated the cross and hierarchy expansion
- At least logically
- They still tied, but can be separated
2023-04-27 16:39:32 -03:00
Salvador E. Tropea f6c358b829 [v6/7 Schematic] Added support for bogus "project"
- One of those things KiCad saves but does nothing.
2023-04-27 16:27:20 -03:00
Salvador E. Tropea f05b8bcf88 [v6/v7 Schematic] More debug info 2023-04-27 16:23:27 -03:00
Salvador E. Tropea fcf4871e38 [v6/v7 Schematic] Reworked the UUID mechanism
- Now we generate valid UUIDs for all things
- KiCad 6 support
- Better tests, forcing to reload the generated files
2023-04-27 15:06:29 -03:00
Salvador E. Tropea 6b9ab5f448 [v6/v7 Schematic] Allow loading files without UUIDs
- This is currently working only for v7, needs rework for v6
2023-04-26 08:41:13 -03:00
Salvador E. Tropea b2db4f33d0 [v6/7 Schematic][Fixed] Error in saved version
- Mixing save/load v6/v7 produced hybrids
2023-04-26 08:39:52 -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 17b861260b [v6/7 Schematic][Fixed] Text boxes mixed with common text
- Not really important because they got correctly saved anyways
2023-04-25 11:09:19 -03:00
Salvador E. Tropea d4ceef8fb9 Bumped version to 1.6.3 2023-04-24 13:31:06 -03:00
Salvador E. Tropea 9b88e25d10 [Blender Export] Updated the blender script
- To support the new options
2023-04-24 12:36:35 -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 f8cc0e29bb Removed debug code 2023-04-18 11:25:12 -03:00
Salvador E. Tropea 97ff9a0d09 [PcbDraw] Better error when a style is missing
- Now we don't lie about using a path if the name is absolute
2023-04-16 09:00:02 -03:00
Salvador E. Tropea 1b66992088 [Preflights][Fixed] Temporals not removed on success 2023-04-16 08:19:08 -03:00
Salvador E. Tropea 77b7abc24b [Panelize][Fixed] Keep temporals only if fail 2023-04-15 21:06:51 -03:00
Salvador E. Tropea 9ca821efee [Panelize] Keep temporals when fails 2023-04-15 20:00:09 -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 e76a3b4e25 [Schematic files] Support for `exclude_from_sim` in texts 2023-04-13 11:22:24 -03:00
Salvador E. Tropea 4050936875 [KiCad Config] Give priority to KICAD_PATH 2023-04-13 11:21:35 -03:00
Salvador E. Tropea a9b91262ad [KiCad 8] We no longer need to update local coordinates 2023-04-11 11:26:38 -03:00
Salvador E. Tropea 976e6af932 [KiCad 8] Adapated to the new class reported by footprint drawings
- Now that all drawings are PCB_SHAPE, the GetClass doesn't report
  MGRAPHIC anymore.
2023-04-11 10:02:58 -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 6649038d79 [3D][Fixed][KiCad 7] 3D models not downloaded
Closes #417
2023-04-06 19:32:14 -03:00
Salvador E. Tropea 52610bd407 [KiCad 8] Changes in the drill file names 2023-04-05 13:10:34 -03:00
Salvador E. Tropea 1ea51f4908 [KiCad 8] No VECTOR2I(wxPoint) constructor 2023-04-05 13:09:03 -03:00
Salvador E. Tropea a09d62099e [KiCad 8] Added support for FP_SHAPE -> PCB_SHAPE
- Really?
2023-04-05 11:01:19 -03:00
Salvador E. Tropea fdc8019ec5 [KiCad 8] Added detection 2023-04-05 11:00:45 -03:00
Salvador E. Tropea f9c45899e4 [DOCs] Added various mentions about the `resources_dir` variable 2023-04-05 07:53:13 -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 7849fc0bde [CLI] Fixed when the output dir for the log doesn't exist 2023-04-01 14:46:35 -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 a2ff0dde2d [Fixed][Distribution] Missing Blender scripts 2023-03-31 18:16:56 -03:00
Salvador E. Tropea 1cda0d5e70 [Grammar] Avoid warnings when giving R, L, C clue 2023-03-31 10:46:48 -03:00
Salvador E. Tropea 9393bd2f41 [Grammar] Better decimal point handling
- Now replaced only if in a middle of a number
2023-03-31 10:45:57 -03:00
Salvador E. Tropea 46739c8ea0 [Fixed] Units when using the grammar 2023-03-31 10:45:05 -03:00
Salvador E. Tropea 33c1e0a7e8 Added Lark as dependency 2023-03-31 09:08:46 -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 895d852ed2 [Cosmetic] unkown -> unknown 2023-03-28 11:22:19 -03:00
Salvador E. Tropea 921f5260c5 [Any Layer] Reverted the error on unknown
- An old option we keep for compatibility
2023-03-28 11:17:07 -03:00
Salvador E. Tropea 1d91a3e80a [Cosmetic] Moved code to GS
- To concentrate KiCad nuisances there
2023-03-28 10:48:31 -03:00
Salvador E. Tropea 0f7c8f6cf9 [PCB Print][Fixed] Vias with different center
- The patch to make the centering more coherent when scaling had a
  side effect: vias could get a different center. Now we force the
  bounding box of the plot with them.
2023-03-28 10:46:18 -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 eaa9569e71 [PCB Print] Added option to better control scale centering
- `individual_page_scaling`: to control if the center of the page is
  computed using all pages or individually.
2023-03-28 08:11:37 -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 71ff354b9b [PcbDraw][Fix] Variable collision in last patch 2023-03-27 11:21:40 -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 d9cca11384 [Dependency Downloader][Fixed] Problems with Ghostscript 10 release
- No Linux binaries are currently available
2023-03-27 09:20:03 -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 c94b03042c [PcbDraw][KiCad 5] Disable tolerance look-up
- No properties in footprints
2023-03-21 06:53:09 -03:00
Salvador E. Tropea 05105cdc9a [3D] colored 3D models for THT resistors 2023-03-20 14:26:09 -03:00
Salvador E. Tropea e6ee30a004 [DOCs] Documented the PcbDraw changes 2023-03-20 14:19:53 -03:00
Salvador E. Tropea 0361c38d9d [PcbDraw] Various changes in resistor color bands
- Added support for values between 0.01 and 10 ohms
- Avoid crash for R<0.01 ohms
- Added support for 20% tolerance
- Added support for tol/tolerance property
- Fixed Decimal division by float
- Changed default tolerance to 20%. I know this isn't reality,
  but if we don't know the tolerance is better to just let it
  blank (20% is this).
2023-03-20 14:15:46 -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 d88830948f [DOCs] Blender export needs KiCad 6 or newer
- Also checks in the code
2023-03-16 09:26:54 -03:00
Salvador E. Tropea 2ebaea16ab Added errors and warnings about KiCad 7 bugs 2023-03-16 07:19: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 3e283c9906 Avoid courtyard warnings
- When the user explicitly said the component doesn't have it
  New on KiCad v7
2023-03-08 10:21:41 -03:00
Salvador E. Tropea 367a00334d [Dependency checker] Bumped KiKit version to 1.3.0.4
- Upstream 1.3.0 is severely broken
2023-03-06 13:47:38 -03:00
Salvador E. Tropea e27753a8d6 [Tests] Added KiKit tests
- stencil 3D, steel stencil and panel
- Bumped dependency to 1.3.0, needed for KiCad v7
  A patched version is needed ...
2023-03-03 10:53:23 -03:00
Salvador E. Tropea d656b338b2 Abort when a .sch and .kicad_sch of the same name are detected
Closes #397
2023-03-02 11:11:43 -03:00
Salvador E. Tropea 957c398500 [DOCs] Made clear we support .sch and .kicad_sch 2023-03-02 11:11:02 -03:00
Salvador E. Tropea f946d75fdb [PcbDraw] Updated to match v1.1.2 (libs) 2023-03-01 09:10:45 -03:00
Salvador E. Tropea 818b431cac Fixed worksheet import
- Moved functions to sexp_helpers
2023-02-28 14:13:53 -03:00
Salvador E. Tropea 70d716e561 [3D Models] Added support for models relative to libs
- New on KiCad v7, but will work for olders
2023-02-28 14:00:55 -03:00
Salvador E. Tropea 6c46b240cf [Config] Fixes get_fp/sym_lib_aliases usage for fname=None 2023-02-28 13:58:43 -03:00
Salvador E. Tropea 12227608c4 Added missing files 2023-02-28 13:57:57 -03:00
Salvador E. Tropea 74a27b3036 [Config] More robust sym-lib-table parser
- Now loads on-the-fly (not needed for KiCad v6+)
- Uses s-expressions parser, no regex
- Can recreate the global table for KiCad v6+
2023-02-28 13:33:41 -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 b16bb533ea [PCB Print] Simplified the mechanism to hide zones
- Just UnFill() them
2023-02-27 10:46:52 -03:00
Salvador E. Tropea 6693d29309 Merge branch 'dev' of https://github.com/INTI-CMNB/KiBot into dev 2023-02-27 10:31:02 -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 774cb7a673 [Windows] Use os.pathsep instead of ':'
- Good idea by MDW mentioned in #392
2023-02-25 14:50:24 -03:00
Salvador E. Tropea 94264726d7 [DRC] Ensure KiCad 7 vars are defined before DRC 2023-02-24 18:46:43 -03:00
Salvador E. Tropea 3707db83a9 [KiCad 7] Allow using KICAD6_ and KICAD7_ 2023-02-24 14:01:12 -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 453d3482fe [DOCs] Added more clarification to the print outputs
- Marked PDF/SVG PCB Print as deprecated. They work even worst on
  KiCad 7 and the problems are OS dependent.
- Made clear that "SVG Schematic Print" is a "Plot"
- Updated dependencies
2023-02-22 13:40:24 -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 3ddca189f2 [Schematic][KiCad 7][Added] Support for do_not_autoplace and show_name
- New field (properties) options
2023-02-17 11:19:06 -03:00
Salvador E. Tropea 37e5e5fe95 [Report] Adapted to the new color names
- Much longer because they are the dielectric name
2023-02-17 10:50:47 -03:00
Salvador E. Tropea 12dbd16983 [Schematic][KiCad 7][Added] Support for arc, circle, rectangle and text_box 2023-02-17 10:15:53 -03:00
Salvador E. Tropea d15a97f02e [Any Layer][KiCad 7] Added support for Edge.Cuts inclusion
- Should be available in KiCad 7.0.1
- Was bug 13841, now closed
2023-02-16 09:19:33 -03:00
Salvador E. Tropea 28ef08c00a [Update XML][KiCad 7] Enabled the board parity check
- Needs a patched KiCad, waiting for patch aproval (Bug 13921)
2023-02-16 09:16:52 -03:00