Commit Graph

73 Commits

Author SHA1 Message Date
Salvador E. Tropea 418b74b2f3 Environment and text variables now can be used as 3D model aliases.
- Environment and text variables expansion is now recursive.
  So in `${VAR}` the *VAR* can contain `${OTHER_VAR}`

Related to #261
2022-09-14 07:30:13 -03:00
Salvador E. Tropea 08a0628eff Added some basic preprocessing
- Now you can parametrize the YAML config.

Related to #233 and #243
2022-09-13 13:31:25 -03:00
Salvador E. Tropea 6f2c4ccf24 [Globals] Added options to control which stuff is changed on PCB variants
- cross_footprints_for_dnp
- remove_adhesive_for_dnp
- remove_solder_paste_for_dnp
- hide_excluded (default value)

Related to #270
2022-09-13 10:44:07 -03:00
Salvador E. Tropea 1f1a56e5ac Added support for changing text variables with variants
- During outputs creation.
- Option `set_text_variables_before_output`.

Related to #233
2022-09-12 13:35:40 -03:00
Salvador E. Tropea 0631836f29 When restoring the project now we maintain the original EOLs
- Not doing it in KiAuto raised problems, so now we also do it in
  KiBot

Related to #265
2022-09-02 09:38:16 -03:00
Salvador E. Tropea 85538b0b27 [Global options] Restore the project at exit
Related to #250
2022-08-19 09:39:25 -03:00
Salvador E. Tropea 0180136fd6 [DRC] Another workaround for KiCad lack of exclusions support in Python
- Saving the project can remove them, so `fill_zones` removed them

Fixes #250
2022-08-17 13:33:57 -03:00
Salvador E. Tropea c5a6d894c9 [DRC] Added Workaround for problems with DRC exclusions
- Global option: `drc_exclusions_workaround`
- KiCad bug [11562](https://gitlab.com/kicad/code/kicad/-/issues/11562)
Fixes INTI-CMNB/KiAuto#26
2022-08-10 14:01:32 -03:00
Salvador E. Tropea 6c7e0cebe0 Now GS.ki5() and GS.ki6() are just GS.ki5 and GS.ki6
- The version doesn't change during execution ;-)
2022-07-31 17:45:55 -03:00
Salvador E. Tropea 42503a909a [SCH][Print] A global option to cross components without a body.
- Only for KiCad 6

Closes #219
2022-07-12 08:44:05 -03:00
Salvador E. Tropea 15d5f90a27 [Tests] Fixed fil_test.py assertions
- PyTest 6 failed to catch the assert, but 7 does
2022-07-09 19:44:02 -03:00
Salvador E. Tropea 0a8481dadf Now the dependencies are YAML specs in docstrings
- They document the dependencies and constructs them
2022-07-05 12:43:49 -03:00
Salvador E. Tropea 01c015eb27 Simplified the global vars handling
- The main class also applies the command line options
- Is more clear how defaults are handled
- Also added global config for the 3D field name
2022-04-28 14:49:28 -03:00
Salvador E. Tropea e1586484f5 Fixed KiCad 5 doesn't have LSET.Contains() 2022-04-26 12:14:24 -03:00
Salvador E. Tropea 9b18c5300a Fixed KiCad 5 uses ZONE_CONTAINERS and not ZONES
Note: The previous commit included fixes for out_report
- Zones unfilled after output generation
- Pads unconditionally gained rpinted copper layers
2022-04-26 10:21:14 -03:00
Salvador E. Tropea 56030c5dc9 Added the first stepof the new `--quick-start` option
- Should be a way to quickly start using KiBot without any config
2022-04-26 09:51:14 -03:00
Salvador E. Tropea 9f037e569f Added global option `drill_size_increment`
- Now we can round the drill sizes
- Added a context for drill tools (adjusted and rounded)
- Added a context for oval holes

Related to #164
2022-04-21 10:30:24 -03:00
Salvador E. Tropea ff41012e84 Changes in how we compute the drill sizes in the report
- New global variable `extra_pth_drill` defines how much the drill will
  be enlarged for plated holes.
- Removed all *_1* report values.
- Added *_real* report values. They are the asjusted drill values.
- Now we compute Eurocircuits Drill Class using all the real drill
  sizes.
- Documented all global variables/options.
- Added command line option to list all global options.
- Adjusted the report templates and thei references.

Related to #164
2022-04-20 12:57:52 -03:00
Salvador E. Tropea 4b341a7a92 Added internal plot of the worksheet to pcb_print
- Also renamed some options to make it simpler (sorry)
2022-04-16 15:09:19 -03:00
Salvador E. Tropea 9e1f645c31 Fixed problems when using page layout files with relative paths.
Fixes #174
2022-04-04 18:02:31 -03:00
Salvador E. Tropea bb0f86ae61 Fixed KiCad 6 text variables not expanded in `render_3d` output
- We must copy the project file to the temporal dir
Fixes #173
2022-04-02 12:14:56 -03:00
Salvador E. Tropea 45e670c11f More early text var expansions
Fixes #163
2022-03-15 20:26:18 -03:00
Salvador E. Tropea fc28b6a257 Fixed: expanded text variables earlier for date
- Avoids reformatting problems
- Also done for title, because we keep a copy of the original
Related to #161
2022-03-15 17:47:33 -03:00
Salvador E. Tropea 02a942c37b Fixed schematic comments expansion 2022-03-13 16:36:54 -03:00
Salvador E. Tropea 0413699607 Fixed pcb title block load (text var expansions) 2022-03-13 15:58:47 -03:00
Salvador E. Tropea 342fb40c59 Added text variable replace in the title block items
- There are some limitations inm the depth of vars + %X usage
Closes #162
2022-03-13 15:18:44 -03:00
Salvador E. Tropea 86aa7b6357 New preflight to annotate according to PCB coordinates
Related to #93
2022-03-08 14:33:38 -03:00
Salvador E. Tropea 15b2075c96 Fixed B011 Do not call assert False 2022-02-17 16:37:01 -03:00
Salvador E. Tropea 6281a40335 Fixed spelling 2022-02-16 19:56:04 -03:00
Salvador E. Tropea b2ab00f6cb Added global *units* option
Solves the KiCad 6 dimensions issue. See #146
2022-02-14 15:42:54 -03:00
Salvador E. Tropea ccbb8a6060 Adapted two tests to the new details
- New pcbnew import in gs.py
- New return value for _get_columns()
2022-02-14 14:49:16 -03:00
Salvador E. Tropea 5d2d0a4195 Added MacroFab XYRS support
- Internal BoM options:
  - `angle_positive`
  - `csv.hide_header`
  - `footprint_populate_values`
  - `footprint_type_values`
  - `units` mils
- Columns:
  - `Footprint Type`
  - `Footprint Populate`
  - `Footprint X-Size`
  - `Footprint Y-Size`
2022-02-14 13:49:56 -03:00
Salvador E. Tropea d7430499d2 Removed coverage exclusions for KiCad 6 code 2022-02-11 12:58:39 -03:00
Salvador E. Tropea 71c77e89ce Fixed bom generation when no PCB is available. 2022-02-11 12:16:34 -03:00
Salvador E. Tropea 644f6d1fda Internal BoM: Added footprint X, Y, rotation and side columns
- First step towards XYRS support
2022-02-11 11:01:14 -03:00
Salvador E. Tropea d629afcf92 Added support for the controlled impedance flag in KiCad 6 2022-01-18 16:06:17 -03:00
Salvador E. Tropea 7a4c3468fa Added copper_thickness option
- Now we get some defaults from KiCad 6 stackup
2022-01-17 18:50:21 -03:00
Salvador E. Tropea 46d5d9ad65 Added support for different top/bottom PCB colors
- Solder mask
- Silk screen
2022-01-17 16:02:09 -03:00
Salvador E. Tropea 514cc949b6 Added support for edge_connector, castellated_pads and edge_plating 2022-01-16 19:13:20 -03:00
Salvador E. Tropea 4d5220006f Changed the default output pattern
- Now includes the `output_id` (%I)
2022-01-15 15:45:28 -03:00
Salvador E. Tropea 4bba7e9a9a Added global options to define the PCB details. 2022-01-14 13:42:04 -03:00
Salvador E. Tropea 256876a1bd Added support for the magic KICAD6_*_DIR environment variables
Related to #135
2022-01-10 20:50:53 -03:00
Salvador E. Tropea 1eefdeb5a3 Added support for upto 9 comment lines (KiCad 6) 2021-12-31 11:43:03 -03:00
Salvador E. Tropea 081786cf5e Fixed circular dependency in the tests 2021-12-30 19:02:04 -03:00
Diego Capusotto 95f9b7914e KiCad 6 doesn't support the Rescue layer
- Now we use User.9 for KiCad 6
2021-12-18 18:38:08 -03:00
Diego Capusotto 46378b992b Added some abstraction for the KiCad project file extension. 2021-12-18 11:13:58 -03:00
Diego Capusotto 285b205af8 Fixed(?) the PCB title block comments numbering is from 0
- Breaking compatibility with older KiCad again
- Disregarding what the file and UI says
2021-12-17 16:55:49 -03:00
Diego Capusotto 69189e661e Added support for v6 GetAuxOrigin change to out_position.py 2021-12-17 16:31:08 -03:00
Diego Capusotto 6e5176b273 Simplified the code that detects KiCad v6 2021-12-17 13:11:42 -03:00
Diego Capusotto 69c874fdbd KiCad v6: Added support for the new "modules" name ("footprints")
- No alias provided, as usual
2021-12-17 12:46:40 -03:00