Commit Graph

710 Commits

Author SHA1 Message Date
Salvador E. Tropea 5881f2b6c4 Fixed `gerber` example generation when no SCH
- We must skip anything using variants
- We must fix the compress sources
2022-04-28 14:08:25 -03:00
Salvador E. Tropea ae380726b2 Fixed problems in reports when no vias 2022-04-28 14:07:28 -03:00
Salvador E. Tropea 81aebbb50a Allow to skip the `regex` value in filters 2022-04-28 14:06:46 -03:00
Salvador E. Tropea 11dd1b16bf Now --quick-start is recursive
- Fixed some obvious details about cross pcb/sch generation
- Improved .kicad_sch guess when more than one and no project
2022-04-26 16:23:20 -03:00
Salvador E. Tropea 50ebaf0a15 Fixed the way xlsx_writer process the field joins
- It relied on a bug
2022-04-26 12:17:26 -03:00
Salvador E. Tropea bee8dab0ca Added yaml module not installed message in kiplot.py 2022-04-26 12:16:47 -03:00
Salvador E. Tropea 477c52affe Made __main__ show the same file names of detected files
- Also adapted the tests that looks for debug data about them
2022-04-26 12:15:34 -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 43c5f4f12e Added support for User.* layers in lists of layers 2022-04-26 09:38:51 -03:00
Salvador E. Tropea 25c4489104 `compress.move_files` now removes dirs from outputs 2022-04-26 09:35:10 -03:00
Salvador E. Tropea 3952d84a6a Fixed internal BoM XLSX generation when no DNF parts are used 2022-04-26 09:33:04 -03:00
Salvador E. Tropea 9bc172861d Some details on `report` output
- New template `full_svg` to be used with the SVGs
- `pcb_print` SVGs now include the `sheet` value in the figure
  description.
- Added _ASCII to filter >= Unicode in `simple` template.
2022-04-26 09:26:44 -03:00
Salvador E. Tropea f4638fdc66 Added background image to pcb_print
- Enables the use of watermarks
2022-04-23 08:48:32 -03:00
Salvador E. Tropea 0554742e86 Moved the KiCad 5 SVG scale constant to misc.py 2022-04-23 07:54:13 -03:00
Salvador E. Tropea 857b8b974e Added pcb_print options to control the background 2022-04-23 07:46:04 -03:00
Salvador E. Tropea caad4e346e `pcb_print` added KiCad 5 adjust for solder mask coordinates
- Also removed unused code
2022-04-22 15:05:57 -03:00
Salvador E. Tropea bca090b685 Added `realistic_solder_mask` to `pcb_print`
- Prints the solder mask in a human understandable way
2022-04-22 14:05:41 -03:00
Salvador E. Tropea e668d7f16e `pcb_print` removed debug print 2022-04-22 09:08:22 -03:00
Salvador E. Tropea 153a1a8072 `pcb_print` fixed problems when not plotting the frame 2022-04-22 09:07:36 -03:00
Salvador E. Tropea 48070c2e5a Made the 3D models selection more robuts
- Now we reject "slots" that aren't numbers
- Now we tollerate "empty slots"
2022-04-21 16:13:59 -03:00
Salvador E. Tropea 58dc329b31 Added a report option to indicate our Eurocircuits target
- If not met we show a warning explaining the violation

Related to #164
2022-04-21 15:59:46 -03:00
Salvador E. Tropea 7ac654523d Added support for KiCad 6 pin alternates
- Another undocumented feature

Fixes #193
2022-04-21 15:09:33 -03:00
Salvador E. Tropea 10b67f4824 Fixed problems with compress.move_files
- When trying to remove directories

Fixes #192
2022-04-21 14:21:00 -03:00
Salvador E. Tropea ac391182a8 Fixed KiBoM mounting hole regex
Related to SchrodingersGat/KiBoM#169
2022-04-21 11:09:35 -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 fee5bce881 Added warnings for ridiculous OAR values on pads
Related to #164
2022-04-20 20:38:14 -03:00
Salvador E. Tropea 372a387b00 Fixed the OAR computation in reports
- Must use the real drill size.

Related to #164
2022-04-20 20:06:29 -03:00
Salvador E. Tropea ebf529fa0b Made the 3D model selection more versatile
- Now you can choose between using the variant name or the variant
  specific mechanism.
- Works for all variants and both mechanism are simple.
2022-04-20 19:42:51 -03:00
Salvador E. Tropea de469577d1 Removed value argument in internal KiBoM variant code
- This is handled by a filter
2022-04-20 19:05:06 -03:00
Salvador E. Tropea 0fce90b8d2 Fixed typo in out_report 2022-04-20 18:58:12 -03:00
Salvador E. Tropea c17683317c Fixed typos in out_report
Related to #164
2022-04-20 13:49:48 -03:00
Salvador E. Tropea 5d9b047d81 Added an option to remove the files we compressed.
Closes #192
2022-04-20 13:43:41 -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 e00841c921 Added two special syntaxis to the 3D model variants
- %_kicost.TEXT:SLOTS% matches using the KiCost variant regex
- %_default_:SLOTS% matches if no other text matched

Related to #191
2022-04-20 10:39:19 -03:00
Salvador E. Tropea 96201e7f03 Avoid retrying when KiAuto reports a KiCad crash
- It will be implemented in KiAuto 1.6.11
2022-04-20 10:38:19 -03:00
Salvador E. Tropea bf73c11821 Fixed problems when using %VARIANT:% in the 3D models variants
Fixes #191
2022-04-19 18:44:52 -03:00
Salvador E. Tropea 5c9dbc4072 Varius `pcb_print` details
- Added option `force_edge_cuts` so we get them on all pages.
- Now `layers` can be a list of strings, or just an string.
- Added default scaling for all pages.
- Fixed: tracks removed after plotting another Cu layer.
- Fixed: custom pads plotted as special vias.
- Fixed: frame reference plotted mirrored on mirrored pages.
2022-04-18 19:08:12 -03:00
Salvador E. Tropea 80e963c90e Changed Digi-Key server from Portugal to US 2022-04-18 13:50:30 -03:00
Salvador E. Tropea 9e9a53a664 Merge branch 'master' of https://github.com/ct2irw/KiBot into ct2irw-master 2022-04-18 13:49:56 -03:00
Salvador E. Tropea 36987cfcec Fixed kicad2step not loading 3D models (bizarre case)
- If we saved the PCB to /tmp and then we reverted the changes to
  use the PCB the KIPRJMOD environment var pointed to the temporal.
- KiCad defines it during Save and Python becomes unsync, so we
  can't even notice it!

Fixes #186
2022-04-18 13:18:32 -03:00
Salvador E. Tropea e701e69a53 Added workaround mechanism for KiCad 5 fill polygon (pcb_print) 2022-04-18 12:04:49 -03:00
Salvador E. Tropea b0edede58e Added support for `monochrome` `pcb_print` for wks images 2022-04-18 09:24:08 -03:00
Salvador E. Tropea 9207140c6d Added support for undocumented "convert" schematic option
- KiCad 6
- Used for DeMorgan convert
Fixes #188
2022-04-17 09:50:43 -03:00
Salvador E. Tropea f2f54d21a8 Made more clear when the plotter can plot the fram ref 2022-04-16 19:48:45 -03:00
Salvador E. Tropea cdb6d393ac Added more recommendations to use `pcb_print`
- Can replace: pdf, ps, svg, pdf_pcb_print and svg_pcb_print
2022-04-16 19:35:35 -03:00
Salvador E. Tropea 0223cd9f85 Made more clear the pcb_print attributions 2022-04-16 19:32:05 -03:00
Salvador E. Tropea 1f01c147d8 Catched WksError and SchError during WKS load.
- Now informed with more detail
2022-04-16 19:26:03 -03:00
Salvador E. Tropea df4e60136e Modified pdf_unite to use PyPDF2 by default
- The user can still choose to use pdfunite from poppler-utils
2022-04-16 18:46:39 -03:00
Salvador E. Tropea 7ecb3f1914 Added KiCad 5 support to the worksheet code
- Filled polygons aren't working
- Added rectangle workaround (not working)
2022-04-16 16:44:52 -03:00
Salvador E. Tropea eb1a57a10d Added an option to select the kicad_wks for pcb_print 2022-04-16 15:20:02 -03:00
Salvador E. Tropea cffd3d0b89 Worksheet: moved the draw code to each class 2022-04-16 15:09:37 -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 9c2f8ccd58 Added an option to keep temporals to pcb_print 2022-04-14 11:18:20 -03:00
Salvador E. Tropea daa19810d4 Separated the pcb_print page temporal files (for debug) 2022-04-14 11:12:22 -03:00
Salvador E. Tropea 8c1d6e53c2 Now an output can extend another output that extends ...
- Even when the other outputs aren't yet configured
- Also added an error when the types doesn't match

Closes #184
2022-04-14 10:38:07 -03:00
Salvador E. Tropea 0e8e697d19 Fixed title not restored in print functions
Fixes #185
2022-04-14 09:59:25 -03:00
Salvador E. Tropea f7be522087 Fixed pad sizes destroyed by pcb_print
- KiCad PAD.GetSize returns a reference to the pad size, not a copy
  of the current size!
2022-04-14 09:04:59 -03:00
Salvador E. Tropea 9d606fa53b Added colored pads and vias to pcb_print
- The vias are more "realistic", we avoid showing holes on layers that
  aren't drilled, but we mark the via. So you know were is.
2022-04-13 13:51:03 -03:00
Salvador E. Tropea d84dec153d Removed the moveto used in the SVG merge
- Not really needed for KiCad files
2022-04-12 15:57:28 -03:00
Salvador E. Tropea 460ddc6a59 Added holes color configuration to pcb_print 2022-04-12 15:53:34 -03:00
Salvador E. Tropea b7b9b70ac3 Added PNG, EPS and PS outputs to pcb_print. 2022-04-12 15:43:53 -03:00
Salvador E. Tropea a2526bf5bd Fixed the pcb_print get_targets for SVGs (pages, not single) 2022-04-12 14:23:24 -03:00
Salvador E. Tropea 9a90b522c5 Fixed the name of the layer used to print KiCad 6 frame 2022-04-12 09:00:06 -03:00
Salvador E. Tropea 1507300fe4 Added option to generate a better frame on pcb_print (KiCad 6)
- Also documented more details about pcb_print.
2022-04-11 19:02:26 -03:00
Salvador E. Tropea 267a38c32f Documented the %X substitutions for SVG output in pcb_print 2022-04-11 17:37:03 -03:00
Salvador E. Tropea 4e659c3ddd Added support for SVG to `pcb_print`
- And now is much faster because all the processing is done using
  SVGs and we generate PDFs only during the last step.
2022-04-11 17:24:39 -03:00
Salvador E. Tropea 09cfa14896 Fixed problems when the project specified an empty wks (KiCad 5) 2022-04-11 14:50:17 -03:00
Salvador E. Tropea 510279a0a3 Added support for frame to `pcb_print` on KiCad 5
- This is tricky because plot API doesn't support it.
  So we use `pcbnew_do` to generate an SVG and then we make a
  vectorized PDF from it.
2022-04-11 12:40:39 -03:00
Salvador E. Tropea a5c848c752 Added a color cache 2022-04-10 15:32:42 -03:00
Salvador E. Tropea bfdc024a33 Added an option to sort the layer as KiCad to pcb_print 2022-04-10 15:26:35 -03:00
Salvador E. Tropea ea1460e6b9 Added black drill holes to the `pcb_print` output
- Disabled the frame ref for KiCad 5. Doesn't work.
- Changed reports to use these PDFs. They are vector graphics.
2022-04-08 19:33:21 -03:00
Salvador E. Tropea 3752bcb53e Finished adding all the plot options to `pcb_print`
- Now is you can get most of the good things from both: print and plot
  in the same output.
- Is usually much faster than `pdf_pcb_print`
2022-04-08 15:01:10 -03:00
diogocondeco 827a7afe44 Fixes Digikey link to open part from xlsx file
Fixes the url to open Digikey's page with details from the cell part number.
2022-04-07 23:58:23 +01:00
Salvador E. Tropea 12cce8562c Added video recording to step output (KiCad 6)
Related to #176
2022-04-07 18:56:01 -03:00
Salvador E. Tropea b48a9e5ab0 Fixed (KiCad 6) traces not visible in 3D render
Fixes #177
2022-04-07 15:44:22 -03:00
Salvador E. Tropea 73b4196e46 Fixed problems with imported sub-sheets
- We must avoid processing the sheet and symbol instances of them
Fixes #178
2022-04-07 13:23:25 -03:00
Salvador E. Tropea b88f66ba21 Fixed missing imports in PyPDF2
- Removed by autoflake8 pre-commit plugin
- Now PyPDF2 is excluded, but a pre-commit run did it
2022-04-07 13:06:11 -03:00
Salvador E. Tropea 900be375e9 Added a first approach to Board2Pdf support. 2022-04-05 16:36:02 -03:00
Salvador E. Tropea 235031b12c Fixed missing increment in KiCad 5 wks copy 2022-04-04 18:35:14 -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 dad1f91439 Added: text vars expansion for 3D model paths
Closes #172
2022-03-31 14:58:39 -03:00
Salvador E. Tropea 1a73dd5e29 Fixed missing Set_Text_Variables valid keys 2022-03-31 14:50:25 -03:00
Salvador E. Tropea 372fad5d28 Fixed 3D problems to download 3D models for native KiCad 6 files.
- Not seen on files imported from KiCad 5

Fixes #171
2022-03-31 12:11:52 -03:00
Salvador E. Tropea b58430a8ea Added support for 3D View rotations (KiCad 6 only) 2022-03-29 15:49:33 -03:00
Salvador E. Tropea 3c13ae1ccb Added KiCad 6 color themes to PDF/SVG PCB Print 2022-03-28 15:37:52 -03:00
Salvador E. Tropea 637a6917c0 Fixed KiCad 6 problems with empty title block items
- The saved SCH wasn't usable if company, rev, title, etc.
  were absent in the original file.
2022-03-26 12:33:08 -03:00
Salvador E. Tropea b4ff830c7d Fixed drill problems with regular vias 2022-03-25 08:39:58 -03:00
Salvador E. Tropea 5940e7bcd6 Fixed missing BoardViewOptions.get_targets
Fixes #167
2022-03-24 14:05:48 -03:00
Salvador E. Tropea 7e2e844a4b Added a preflight option to save the PCB with refilled zones.
Closes #165
2022-03-24 13:30:18 -03:00
Salvador E. Tropea b5d5bea324 Made more clear which preflight options modifies files
- Also unified to "preflight" (more common than pre-flight)
Related to #165
2022-03-24 13:08:51 -03:00
Salvador E. Tropea 788b7d6b83 Added support for buried/blind vias to the drill outputs
Fixes #166
2022-03-24 12:57:08 -03:00
Salvador E. Tropea beee95ce31 Merged the kicost_dk branch:
- New internal BoM XLSX options to control KiCost:
  - Dis/Enable APIs
  - Add a description column
  - Specs worksheet generation
  - Which spec columns
  - Specify a KiCost config file
- Passed debug level to KiCost
- Added support for KiCost log style to our logger
2022-03-24 09:47:47 -03:00
Salvador E. Tropea afc499e055 Added support for Pandoc 2.2.1
- Used on Debian 10.x
- Doesn't support "--to pdf", but can generate PDFs ...
2022-03-17 14:42:51 -03:00
Salvador E. Tropea d4945e0189 Added workaround for KiCad 5 SVG print
- The KiCad 6 bug was also in KiCad 5.
2022-03-17 14:39:18 -03:00
Salvador E. Tropea 6b6d22afa8 Added report conversion using pandoc 2022-03-17 12:13:51 -03:00
Salvador E. Tropea 17df40319c When meassuring the PCB size now we also look in footprints
- They can contain PCB edges
Related to #164
2022-03-17 10:59:47 -03:00
Salvador E. Tropea 45e670c11f More early text var expansions
Fixes #163
2022-03-15 20:26:18 -03:00