Commit Graph

256 Commits

Author SHA1 Message Date
Salvador E. Tropea 0a853594c2 Merge branch '60-invert-bottom' of https://github.com/frankleonrose/KiBot into frankleonrose-60-invert-bottom 2021-04-25 11:58:36 -03:00
Salvador E. Tropea 55277a550f More KiCost integration in KiBoM.
- Also added level and comment to columns in the XLSX BoM output.
- Now user columns can be added to the KiCost sheet.
- The "Colors" sheet now includes KiCost colors
- The KiCost column names are more coherent with our names
- Style colors affects the KiCost colors
- About message includes KiBot version
- Header layout is also more coherent
- use_alt, number, max_col_width and ref_separator options are passed
  to KiCost
2021-04-25 09:29:56 -03:00
Salvador E. Tropea cfe61c9b7e Added board view export.
Closes #69
2021-04-20 13:22:56 -03:00
Salvador E. Tropea 16ddb9465f Added Internal BoM + KiCost integration
- Currently very basic, but you get "Costs" and "Costs (DNF)" work
  sheets in the XLSX output when the xlsx.kicost option is enabled.
2021-04-15 11:14:37 -03:00
Frank Leon Rose b946e519fb _top & _bottom select all components on a side 2021-04-05 22:15:22 -04:00
Frank Leon Rose 6e0deccdc1 Add invert_bottom parameter 2021-04-05 21:52:50 -04:00
Salvador E. Tropea 26e5289771 Updated the list of contributors 2021-04-01 09:02:14 -03:00
Seth Kazarians 1436875be5 Merge branch 'master' of https://github.com/INTI-CMNB/KiBot 2021-03-31 15:04:06 -07:00
Salvador E. Tropea 7961209b0f Experimental mechanism to change 3D models according to the variant. 2021-03-31 18:00:43 -03:00
Salvador E. Tropea 7c3f273684 Basic KiCost support. 2021-03-31 12:27:55 -03:00
Salvador E. Tropea 1290bb6995 New KiCost variant style.
- New internal filters `_var_rename_kicost` and `_kicost_dnp`.
- New `skip_if_no_field` and `invert` options to the regex used in the
  generic filter.
2021-03-30 09:37:36 -03:00
Seth Kazarians 0bfbdb5059 Fixed some typos in README.md 2021-03-25 22:01:53 -07:00
Salvador E. Tropea afe80052b4 Added a new filter `var_rename_kicost`
Is very similar to `var_rename` with a few differences that makes it
suitable to emulate the KiCost field rename mechanism.
2021-03-25 12:57:26 -03:00
Salvador E. Tropea 01291ebe63 Added field rename filter.
Including an internal version to emulate KiCost behavior.
2021-03-23 13:20:26 -03:00
Salvador E. Tropea cc77ba9204 Updated the docs and config template. 2021-03-19 19:42:09 -03:00
Salvador E. Tropea 4c96c35f5c Added new pre-flight option (erc_warnings) 2021-02-24 12:58:07 -03:00
Salvador E. Tropea e3d79b6527 Moved the news to the top of the README (replacing 0.7.0) news 2021-02-12 20:19:40 -03:00
Salvador E. Tropea 097ee10ac6 Added link to the Spora example. 2021-02-12 20:17:55 -03:00
Salvador E. Tropea d1c74d681b Fixed missing python3-distutils dependency on Debian package. 2021-02-12 17:26:36 -03:00
Salvador E. Tropea 8d5c0109f9 Bumped version to 0.10.0 2021-02-12 16:08:46 -03:00
Salvador E. Tropea 80b7510c80 Made the JLCPCB position example more clear and easier to reuse. 2021-02-12 11:08:09 -03:00
Salvador E. Tropea ec938ad3af Fixed reference in README.md 2021-02-11 13:06:23 -03:00
Salvador E. Tropea 84e511e690 Documented the `import` section. 2021-02-11 13:04:00 -03:00
Salvador E. Tropea 8352d3ef94 Splitted other example tables 2021-02-05 11:19:53 -03:00
Salvador E. Tropea e776aaa1c2 Removed empty lines in the merged table. 2021-02-05 11:16:15 -03:00
Salvador E. Tropea 175e437bf8 Splitted the merged table example. 2021-02-05 11:15:16 -03:00
Salvador E. Tropea ed80e37bb7 Updated the BoM consolidation example. 2021-02-05 11:12:40 -03:00
Salvador E. Tropea 9ae5bcc3a9 Converted CSV examples to markdown tables. 2021-02-05 10:33:15 -03:00
Salvador E. Tropea 8f38499031 Added BoM consolidation example. 2021-02-05 10:25:06 -03:00
Salvador E. Tropea c6ad93dc78 Added clarification about the need of dot in edge_cut_extension option. 2021-01-28 15:37:28 -03:00
Salvador E. Tropea 409df8cca0 Fixed minimum KiCad version required is 5.1.6.
- KiCad 5.1.5 lacks GetBuildVersion()
- Fixes #45
2021-01-26 12:42:49 -03:00
Salvador E. Tropea 73cb98f113 Makefile generation. 2021-01-22 17:22:18 -03:00
Salvador E. Tropea eba8da098d Added more credits to the README 2021-01-21 14:54:42 -03:00
Salvador E. Tropea 15474ae4d7 Now you can consolidate more than one project in one BoM.
The basic idea comes from pimpmykicadbom by Anton Savov (@antto)
2021-01-21 14:43:47 -03:00
Salvador E. Tropea 88cd5927dc Now you can ask to compress the targets of an output (by out put name) 2021-01-18 16:12:30 -03:00
Salvador E. Tropea 159e8996e8 Added support for ZIP/TAR/RAR generation. 2021-01-15 13:33:33 -03:00
Salvador E. Tropea 75059b7b86 Added gerber and drill examples for various manufacturers.
From KiCad Gerber Zipper.
2021-01-14 10:40:59 -03:00
Salvador E. Tropea 9f4763c36b Custom reports for plot outputs (i.e. custom gerber job generation) 2021-01-14 10:24:04 -03:00
Salvador E. Tropea 9f6e6b2912 Updated the readme and example. 2021-01-13 16:58:43 -03:00
Salvador E. Tropea ceb6bbe52a Unified the capitalization after colons. 2021-01-12 15:39:05 -03:00
Salvador E. Tropea e0ab45e95d Now the default output name applies to the DRC and ERC report names.
This provides more coherent file names.
2021-01-12 13:44:09 -03:00
Salvador E. Tropea 4be9421f92 More details to make explicit the user must edit the example. 2021-01-06 12:25:07 -03:00
Salvador E. Tropea fa86ba3506 Added note about pip limitations regarding to non-python deps.
Closes #41
2021-01-05 15:31:17 -03:00
Salvador E. Tropea 9ce0f891cd Added a note about virtualenv to the docs.
Closes #39
2021-01-05 15:23:52 -03:00
Salvador E. Tropea b0cc64e5c5 Various fixes in the generated example.
- Now we can have a `example` different than the default.
- Added some _default members
- Support for missing schematic when using --list

Related to #40
2021-01-05 15:06:23 -03:00
Salvador E. Tropea 9a1e1f39e7 Internal BoM: added `no_conflict` option.
Used to exclude fields from conflict detection.
2021-01-05 12:09:29 -03:00
Salvador E. Tropea c626f864f9 The step output now can download missing 3D models. 2020-12-30 15:22:00 -03:00
Salvador E. Tropea a5681d38e1 Try to fix the rotations table.
Escaping pipes.
2020-12-29 10:48:21 -03:00
Salvador E. Tropea 7165750496 Added some documentation about the rotation filter. 2020-12-29 10:44:48 -03:00
Salvador E. Tropea 4a3e7faace Added a new filter used to rotate footprints.
Used to generate position files for some manufacturers like JLC.
Also in this patch:
- Now position files are naturally sorted (R10 after R9, not after R1)
- Position files in CSV format quotes only the columns that could
  contain an space. Just like KiCad does.
- Fixed: Generic filter `include_only` option worked only when debug
  enabled.
2020-12-28 18:26:27 -03:00
Salvador E. Tropea 0f7a55dc8b Added support to generate negative X positions for the bottom layer 2020-12-28 09:30:33 -03:00
Salvador E. Tropea 9f8ecff5d1 Added support to rename fields matching the variant to value. 2020-12-23 12:11:39 -03:00
Salvador E. Tropea 204ad189de Changed how variant field renamer is implemented.
- Now is a separated filter type (`var_rename`).
- Now all variants support a `pre_transform` filter list.
- An internal `_var_rename` filter is defined (default).
2020-12-23 10:19:23 -03:00
Salvador E. Tropea d201843b6a File name patterns are allowed for the `netlist_file` option.
- Closes #33
- File name patterns: %F is the name of the source file without
  extension, but with the path.
2020-12-16 11:10:36 -03:00
Salvador E. Tropea 305e3251fa Updated the README and generic example.
- Added gerber notes
- Added new gerber option (KiCad 6)
2020-11-06 17:13:23 -03:00
Salvador E. Tropea a27ff89f92 Updated README.md
From PR #27
2020-11-06 15:21:32 -03:00
Salvador E. Tropea de9628e5c1 Added columns configuration for position files.
You can customize which columns are used, their names and order.
Closes #22
2020-10-23 14:18:11 -03:00
Salvador E. Tropea 6bbd15eaf2 Updated README and generic example.
More KiCad 5 specific settings.
2020-10-19 16:49:08 -03:00
Salvador E. Tropea d2cceb7975 Updated README and generic example
KiCad 5 options
2020-10-19 13:37:06 -03:00
Salvador E. Tropea 1c26dd5f66 Added note about pip installing at system level.
Recommended manual cache generation.
2020-10-17 15:19:09 -03:00
Salvador E. Tropea 4a97885495 Added support for KiCad 6 error filters. 2020-10-15 17:00:58 -03:00
Salvador E. Tropea f5d9a69232 Updated the README and generic example
New mirror option.
2020-10-14 16:06:14 -03:00
Salvador E. Tropea 86ead74c27 Added KiBot warning filters.
- Closes #15
- This patch also changes the logging initialization, that was broken at
  some recent point.
- Also adds tests to ensure the mechanism used to avoid repeated
  warnings is working.
2020-10-12 16:31:47 -03:00
Salvador E. Tropea 8605ccdea4 Moved @nerdyscout changes to README.md to the README.in file. 2020-10-09 18:32:53 -03:00
Salvador E. Tropea 80718531b8
Merge pull request #16 from nerdyscout/ci
use github actions
2020-10-09 16:33:35 -03:00
Salvador E. Tropea 71fe37cfc6 Support for new `pcbnew_do export` options. 2020-10-09 11:27:30 -03:00
Salvador E. Tropea 5a50477f7c Sorted the DNF/DNC values in the docs. 2020-10-09 11:23:40 -03:00
Salvador E. Tropea 75ae78a479 Marked the language of the README examples 2020-09-28 19:54:25 -03:00
Salvador E. Tropea 43bf78bfb9 Added some help about filters and variants. 2020-09-28 19:25:04 -03:00
nerdyscout 00b93cb6e7 use github actions 2020-09-27 08:48:49 +00:00
Salvador E. Tropea 27e4c23236 Added support for reference separator in BoMs.
So you can get things like "R1, R2, R3"
From the following PR: SchrodingersGat/KiBoM#139
by @n0dyjeff
2020-09-19 17:35:31 -03:00
Salvador E. Tropea 2c98b2b634 Linked to the variants site instead of the repo.
Now I use a nice skin ;-)
2020-09-11 17:55:32 -03:00
Salvador E. Tropea ed40c64af7 Added note and link to the variants example site 2020-09-11 17:15:53 -03:00
Salvador E. Tropea 9625756167 Added new command line option 2020-09-10 15:12:41 -03:00
hoijui 2cdc959785 README: Use more standard headers and add an Index 2020-09-09 13:26:28 +02:00
Salvador E. Tropea 23e46df1c5 Added variants support to the PCB print (PDF)
Needs some adjustement, but is working.
2020-09-07 19:26:16 -03:00
Salvador E. Tropea 0e394b468b Added variants support to the schematic SVG print. 2020-09-06 18:22:38 -03:00
Salvador E. Tropea 64f50d2a07 Moved repeated code related to variants to a base class. 2020-09-06 17:36:29 -03:00
Salvador E. Tropea b94a2cb6a4 Updated the readme and generic example.
Explanations about which IBoM options are native.
2020-09-05 18:59:21 -03:00
Salvador E. Tropea d09400d49d Added support for variants to the PcbDraw output. 2020-09-04 18:08:22 -03:00
Salvador E. Tropea cf46a8ba86 Added variants support to the STEP output.
3D Models of excluded components are removed.
2020-09-03 18:50:30 -03:00
Salvador E. Tropea 8c34d96ccf Updated README and generic example.
Variants in plot outputs
2020-09-03 11:12:13 -03:00
Salvador E. Tropea 26ee971e26 Added variants suport to out_position
Also: we never include virtual components.
2020-09-02 18:08:50 -03:00
Salvador E. Tropea 20936da07e Updated the README and generic example.
- Plural removed from BoM variant
- Support for filter in sch_variant and pdf_print_sch
- Support for variant in pdf_print_sch
2020-09-01 16:57:31 -03:00
Salvador E. Tropea 4b007938c1 Updated README and generic example.
- New output format (Schematic variant)
- Support for global output names in gerber.
2020-08-31 20:52:48 -03:00
Salvador E. Tropea a1455e0f46 Added more flexibility to filters.
Support for:
- Pass all
- Negated (in addition to its internal option)
- List of filters
2020-08-29 19:32:04 -03:00
Salvador E. Tropea 4cc5494f5f Updated the README and generic example.
- Functionality of IBoM that I reincorporated.
- Support for filters in internal BoM.
2020-08-29 17:43:49 -03:00
Salvador E. Tropea cc006c6260 Updated README and generic example.
Mainly because I moved IBoM options to IBoM variants.
2020-08-28 20:15:12 -03:00
Salvador E. Tropea 5ecb253525 Updated the README and example.
Mainly because of the addition of the variant to file names.
2020-08-28 16:50:41 -03:00
SET 92530491b6 Fixed missing r in "nerdyscout" name 2020-08-18 23:19:55 -03:00
SET fe5bde9bd3 Allowed verbosity for most operation. 2020-08-18 21:32:49 -03:00
SET ac8e4f9c83 Added example of v0.6.0 Debian package installation. 2020-08-18 17:24:45 -03:00
SET f5c47ce290 Added pip installation instructions. 2020-08-18 17:20:49 -03:00
SET 73cade67bd Changed the project name in Coveralls. 2020-08-18 13:06:14 -03:00
SET a311794390 Added link to GitHub actions to the build status badge. 2020-08-18 13:01:06 -03:00
SET 4904e47cf5 Added PyPI future badge
Also unified the badges.
2020-08-18 12:58:41 -03:00
SET 018ce8d0a4 Changed README.md images to be loaded from outside GitHub 2020-08-18 10:55:29 -03:00
SET 231ffa5628 Added comment about update_xml is no longer needed. 2020-08-17 19:52:32 -03:00
SET cd1ea69c58 Added a picture with the data flow to the README. 2020-08-17 19:38:34 -03:00
SET 89914443f0 Renamed the kiplot module as kibot.
Also added src/kibot script.
Updated the documentation and Debian packaging.
The default extension for config files now is .kibot.yaml
2020-08-16 22:04:03 -03:00
SET f897f04cb9 Changed KiPlot -> KiBom in various places of the README.
Also added some credits.
2020-08-16 18:05:00 -03:00
SET 7e04d4190f Added logo and changed project name in the README. 2020-08-16 17:48:58 -03:00
SET 6ed344cfd6 Updated the README, generic example and CHANGELOG.
SVG output for all and internal BoM for the CHANGELOG.
2020-08-16 17:37:48 -03:00
SET 70cec67f19 Updated the README and generic example. 2020-08-16 00:22:32 -03:00
SET 6c4df66aeb Updated the README and generic example. 2020-08-15 11:02:12 -03:00
SET 07046f0d68 Updated README and generic example. 2020-08-13 23:07:21 -03:00
SET f231ac6835 Updated the README and the generic example. 2020-08-12 20:08:44 -03:00
SET 303bfb38fb Updated README.md and YAML example 2020-08-12 12:02:43 -03:00
SET fe2f5d6c65 Updated the documentation
Included new options: highlight_empty and max_col_width
2020-08-11 12:45:28 -03:00
Salvador E. Tropea 46c55fcf91 Separated the format specific options for internal BoM
And now we have more options.
- CVS: can quote all values.
- HTML and XLSX: styles adjust, including a logo.
- XLSX: now has the same options as HTML
Also a fix in the "join" mechanism for "case insensitive" support.
2020-08-05 19:57:32 -03:00
Salvador E. Tropea 99eab1c2f1 Removed `number_rows` from README.md and exampl config. 2020-08-01 18:42:01 -03:00
Salvador E. Tropea 6ac62e5053 Updated the README.md with the -v... fix 2020-07-31 12:00:08 -03:00
Salvador E. Tropea 544f34c6fc Added native BoM generator.
Based on KiBoM, but reading the data directly from the .sch
Information from the libs not supported yet.
2020-07-27 22:04:01 -03:00
Salvador E. Tropea 7dc94bf7be Added default output file name pattern.
Can be applied to all outputs.
2020-07-23 18:26:03 -03:00
Salvador E. Tropea 43b97db20c Now IBoM output file is coherent with other outputs.
The user can select the IBoM name mechanism, but the default is to use
a name coherent with all the other outputs.
2020-07-22 19:51:35 -03:00
Salvador E. Tropea 64bbf3d6e3 Updated the documentation and example.
- Output filenames changes.
- KiBoM configuration.
2020-07-22 18:35:24 -03:00
Salvador E. Tropea a1d5f62fcd Updated the README.md and added a brief YAML explanation. 2020-07-22 11:20:04 -03:00
Salvador E. Tropea 41de8c032c Added `output` option to control the file name to all plot output formats. 2020-07-12 13:00:38 -03:00
Salvador E. Tropea e2854ef524 Added gerber.gerber_job_file option to control the gerber job file name. 2020-07-12 12:28:00 -03:00
Salvador E. Tropea 63999aa009 Preflight filters parsed by Optionable class.
This makes the filters similar to output options.
- Adds coherence to error messages.
- Enable aliases (used the ones suggested by @leoheck)
Additionally now the README.md preflights documentation comes directly
from --help-preflights
2020-07-12 11:52:44 -03:00
Salvador E. Tropea 9fdc02ecea Added aliases for options.
The test case is the pdf_pcb_print.output_name, which is different than
other *.output options. Now output_name is an alias for output.
2020-07-12 09:41:16 -03:00
Salvador E. Tropea 52e6bb1b5f Added support for PcbDraw 2020-07-11 13:49:03 -03:00
Salvador E. Tropea 558ef81195 Updated Coveralls badge. 2020-07-09 18:50:04 -03:00
Salvador E. Tropea f72ff3f441 Extra dot in step.metric_units docstring.
Remove dead code in check_eeschema_do()
Fixed the way we read scale stuff from a PCB
Added special checks for check_script and check_version
2020-07-09 12:50:27 -03:00
Salvador E. Tropea 4368364489 Refactored the BaseOutput class to make it more similar to the YAML
Now the options are just an attribute of the outputs.
It means we have a set of classes for the options.
All the output content is parsed by the classes, including the Layers.
Now the layers support a simple string (with interesting shortcuts), a list of
strings or the original list of dicts.
2020-07-08 15:17:24 -03:00
Salvador E. Tropea 45ecb1d02a Added a mechanism to specify suboptions.
Now the legacy drill.map.type and drill.report.filename are specified in this
way.
The BaseOutput class now inherits from Optionable.
Suboptions are just Optionable classes.
Also: added traceback print when an error is reported and we are in debug mode.
2020-07-05 12:40:57 -03:00
Salvador E. Tropea ee11ecf8e7 Added number, variant, conf and separator KiBoM options. 2020-07-02 23:30:57 -03:00
Salvador E. Tropea 25730bce39 Added a note about inner layer names in the README.md
After analyzing all the forks I found that at least 6 forks tried to fix the
Inner.X vs InX.Cu difference.
Also one seems to add support for the names used by pcbnew, but breaks
compatibility with old config files.
2020-07-02 17:19:04 -03:00
Salvador E. Tropea 4538236574 Now outputs and preflights are loaded as plugins.
They can be added from ~/.config/kiplot/plugins/
Also sorted the preflights in the YAML example and allower -v for
--help-list-outputs, needed to know from where are the plugins loaded.
2020-07-02 12:30:30 -03:00
Salvador E. Tropea 1ca21efe94 Now the docstring for string options can specify a list of allowed values
This reduces the number of setters/getters we need to write.
On the other side the time to validate the YAML is increased.
2020-07-02 09:25:06 -03:00
Salvador E. Tropea ec35d2443f Added option to copy plot options from the PCB to the YAML example.
Also added DXF.metric_units and updated the README.
2020-07-01 20:43:03 -03:00
Salvador E. Tropea d926a5419e Added --example basic tests
Also added support for output directory to --example
2020-06-30 20:43:42 -03:00
Salvador E. Tropea 4ae54f3ded Added --example/-x option to generate a configuration example.
The example contains all the available preflights and outputs.
If the user specifies a PCB the names of the layers are from the provided PCB
2020-06-30 20:09:14 -03:00
Salvador E. Tropea 60a2649c0f Moved the dril_marks attribute to a separated class.
Reused by 5 output classes.
2020-06-29 20:10:40 -03:00
Salvador E. Tropea 3c6f4950c7 Now the schematic can be specified separately.
We now test if the PCB and/or SCH are there only when we need them.
2020-06-29 19:25:54 -03:00
Salvador E. Tropea 017f2ace47 Fixed redundant "Supported outputs" in the README and updated command line help 2020-06-29 12:57:06 -03:00
Salvador E. Tropea a436aea8e7 Now the README.md is sychronized using the help output.
The --help-outputs and --help are embedded in the README.md
To make it easier to read now options are enclosed in `` and the list of
outputs is sorted.
2020-06-27 18:28:05 -03:00
Salvador E. Tropea 7df1e9fe87 Added documentatio for the new output 2020-06-15 16:18:40 -03:00
Salvador E. Tropea 0d9256fb24 The 'check_zone_fills' option is now independent of 'run_drc'
Implemented in a different way.
For all internal commands now we use Python bindings to fill the zones as
suggested by @arikrupnik in johnbeard/kiplot#11
For 'print_pcb' now we ask KiCad to do it before printing (needs v1.4.1)
2020-06-14 15:12:56 -03:00
Salvador E. Tropea 4101f69cd4 Added support for compressed YAML files. 2020-06-14 11:05:08 -03:00
Salvador E. Tropea 157e23c998 Documented some regex tips from the discussion here: johnbeard/kiplot#18 2020-06-11 12:51:58 -03:00
Salvador E. Tropea a403e1b13b Documented the filters option. 2020-06-10 10:57:22 -03:00
Salvador E. Tropea 831b6e3418 Added test and covergage badges to README.md 2020-05-26 15:03:40 -03:00
Salvador E. Tropea 9ca072a9f1 Added --list option to the README and some information about odcker images and CI/CD 2020-04-24 09:59:16 -03:00
Salvador E. Tropea 7b13355949 Updated the usage instructions 2020-03-24 23:19:47 -03:00
Salvador E. Tropea c9fe26665d Added dependencies and how to run without installing 2020-03-24 14:48:08 -03:00
Salvador E. Tropea 64ab20e68e Finished the options documentation 2020-03-24 12:18:21 -03:00
Salvador E. Tropea 397cae4373 Modified the subitem style to match GitHub style 2020-03-24 00:07:11 -03:00
Salvador E. Tropea 7150549854 Started to document the configuration file 2020-03-24 00:03:47 -03:00
Salvador E. Tropea 3a401be170 Updated the README.md to the current functionality. 2020-03-10 15:11:24 -03:00