Salvador E. Tropea
2da936ec11
Adds sub-part to multipart references.
2021-01-05 11:29:28 -03:00
Salvador E. Tropea
d334599e3b
Bumped version to 0.9.0.
2021-01-04 16:32:06 -03:00
Salvador E. Tropea
edd4a72277
Better handling of empty type/name attributes in YAML config.
...
From #38
2021-01-04 16:27:52 -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
5d6bdeb9e2
Fixed rot_footprint filter reset.
2020-12-29 12:33:50 -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
007fc36d1e
Fixed the components fields reset mechanism.
...
My previous approach was incomplete.
2020-12-23 18:47:11 -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
986f0c7157
KiBoM variants: support to field overwrite according to variant
2020-12-18 15:39:58 -03:00
Salvador E. Tropea
bb3087c996
Added a hint for pip installations without using `--no-compile`.
...
Closes #31
2020-12-16 12:40:56 -03:00
Salvador E. Tropea
26d81d6475
Added support for missing field names in libraries.
...
- Closes #32
- Reported on SnapEda libs
2020-12-16 12:16:03 -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
4d0a154632
Bumped version to 0.8.1
2020-12-09 12:58:01 -03:00
Stavros Korokithakis
aae76c6388
Fix import issue when a shorter base path matches before a shorter one
2020-12-09 16:49:18 +02:00
Salvador E. Tropea
7248258672
Added Internal BoM HTML details.
...
- highlight cell when hover.
- allow to jump to REF of row number using anchors.
2020-12-09 11:32:37 -03:00
Salvador E. Tropea
1248e92b95
Fixed Internal BoM separator wasn't applied when using `use_alt`
...
From the SchrodingersGat/KiBoM#145 PR.
2020-11-11 14:32:20 -03:00
Salvador E. Tropea
b09c860573
Added support for KiCad 5.99 "disableapertmacros" option.
2020-11-06 17:05:33 -03:00
Salvador E. Tropea
019cb0c8a4
Bumped version to 0.8.0.
...
Also Python version to 3.6 (mcpyrate)
2020-11-06 13:51:19 -03:00
Salvador E. Tropea
577713efeb
Fixed excellon drill output.
...
When using unified output and not using default KiCad names.
Fixes #25
2020-11-02 16:07:05 -03:00
Salvador E. Tropea
8fb99d8adf
Adjusted flake8 details
2020-11-02 16:06:02 -03:00
Salvador E. Tropea
b27872d7e8
Fixed problems when using the `pdf_pcb_print` on special case.
...
When using variants to remove a component with ridiculous pads
that only has solder paste (no copper, nor even solder mask
aperture).
2020-10-27 17:58:51 -03:00
Salvador E. Tropea
dfd3ac8881
Added support for colorama.
...
This isn't really needed, but makes the port to Windows easier.
2020-10-24 17:07:58 -03:00
Salvador E. Tropea
68269c10f1
Avoid KiAuto warnings about missing project for pdf_pcb_print
...
This applies to cases using variants.
Now we copy the current project to the temporal location.
Closes #23
2020-10-24 16:25:09 -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
a623d9168c
Adapted to last KiCad 5.99 Python interface.
...
- SKETCH and FILLED are defined again.
- SetDXFPlotUnits type is now exported.
2020-10-22 13:03:31 -03:00
Salvador E. Tropea
1a77b2d007
Added support for build versions of KiCad compiled locally.
2020-10-22 13:01:53 -03:00
Salvador E. Tropea
263b9c41e4
Fixed log.init() errors when pcbnew/yaml modules aren't installed.
...
Also added tests for these cases.
2020-10-20 11:41:01 -03:00
Salvador E. Tropea
14cdd33c6d
Added support for the KiCad 6 default layer names.
...
Not deeply tested.
KiCad 6 support user names for technical layers, and assigns new
names to them.
2020-10-19 16:47:13 -03:00
Salvador E. Tropea
dbcbbfeb47
Fixed missing GS declarations.
2020-10-19 16:04:03 -03:00
Salvador E. Tropea
66e6bdf5b6
Disabled more line width code for KiCad 6.
2020-10-19 16:00:21 -03:00
Salvador E. Tropea
3977a55d4a
Fixed indentation
2020-10-19 13:36:49 -03:00
Salvador E. Tropea
8a87a677e2
Fixed plot constant names
...
Too much cut & paste
2020-10-19 13:36:02 -03:00
Salvador E. Tropea
4fff3d27e9
KiCad 5.99 no longer supports PCB_PLOT_PARAMS.SetLineWidth()
2020-10-19 13:13:21 -03:00
Salvador E. Tropea
3579080e15
Added workaround for KiCad 5.99 bug.
...
PCB_PLOT_PARAMS.SetPlotMode argument values (SKETCH and FILLED) are
missing.
https://gitlab.com/kicad/code/kicad/-/issues/6070
2020-10-19 13:11:30 -03:00
Salvador E. Tropea
127ad89483
Added the name of the error to the tests when it fails.
...
Not just the error level.
2020-10-19 13:10:24 -03:00
Salvador E. Tropea
9c876d5783
Removed dead code in macros.py
2020-10-17 16:51:17 -03:00
Salvador E. Tropea
d850bb8ffe
Merge pull request #19 from INTI-CMNB/try_mcpyrate
...
Replace mcpy by mcpyrate
2020-10-17 15:28:40 -03:00
Salvador E. Tropea
52a29c26d7
Implemented `de_activate` in mcpyrate.activate
...
This disables macros after loading the plug-ins.
Now the timing is 160 ms, 30% faster than `mcpy` and 4 times faster
than `macropy`
2020-10-17 15:01:21 -03:00
Salvador E. Tropea
307e553534
Added more info to the plug-ins load fail.
...
Trying to see why it fails (not in my docker image?!)
2020-10-17 12:03:33 -03:00
Salvador E. Tropea
2d55859782
Code style fixes (flake8)
2020-10-17 12:03:06 -03:00
Salvador E. Tropea
4538163e7e
Removed all the code related to Python cache.
2020-10-17 12:01:52 -03:00
Salvador E. Tropea
c29b5902c2
Enhanced the document macro coverage info.
...
- Recycled the s.value Str as @Technologicat suggested
- Added line number info to the target Name as I learned from the
experiments test,
2020-10-17 11:11:24 -03:00
Salvador E. Tropea
5a24d72772
Updated mcpyrate, now the time is 260 ms, just 13% over mcpy
2020-10-17 10:17:25 -03:00
Salvador E. Tropea
43278717e9
Updated mcpyrate, now the cache can be enabled.
...
This compensates most of the speed penalty:
macropy: ~650 ms (has cache)
mcpyrate no cache: 440 ms
mcpyrate: 290 ms
mcpy: 230 ms (no cache)
2020-10-17 09:48:07 -03:00
Salvador E. Tropea
17aafd88a0
Adapted the speed meassurement script
2020-10-16 19:26:07 -03:00
Salvador E. Tropea
087ef2bbb0
Trying to fix coverage details using copy_location
2020-10-16 18:58:51 -03:00
Salvador E. Tropea
17e75236da
KiCad 6 no longer has SetPlotPadsOnSilkLayer
2020-10-16 18:40:20 -03:00
Salvador E. Tropea
fec0091712
Added support for KiCad 6 to drill outputs.
...
I wonder why KiCad 6 doesn't provide a compatibility function for
GetAuxOrigin. The project seems to be trying to reduce the ammount
of code (removing old code) at the cost of breaking every existing
plug-in.
2020-10-16 17:04:37 -03:00
Salvador E. Tropea
ae9e889bc0
Added debug information to out_bom to detect the line numbers issue.
2020-10-16 16:32:24 -03:00
Salvador E. Tropea
7c7549e6d7
Changed mcpy by mcpyrate to test its functionality.
2020-10-16 15:32:00 -03:00
Salvador E. Tropea
235e4831a8
Avoid loading KiCad 6 schematics.
...
Waiting for the Python bindings.
2020-10-15 18:53:44 -03:00
Salvador E. Tropea
17dd1d1be6
Added support to detect KiCad 6 schematics.
2020-10-15 18:53:15 -03:00
Salvador E. Tropea
4a97885495
Added support for KiCad 6 error filters.
2020-10-15 17:00:58 -03:00
Salvador E. Tropea
9bb42eda9a
Added support for the new EDGE_MODULE name: FP_SHAPE
...
KiCad 6 is renaming part of the API without providing compatibility
aliases.
2020-10-14 16:08:21 -03:00
Salvador E. Tropea
d2913f0bb4
Normalized the warning numbers to be 3 digits
2020-10-14 16:05:18 -03:00
Salvador E. Tropea
257a6ff2fa
Added support for --mirror pcbnew_do export option.
...
It currently works only for KiCad 5.99
2020-10-14 12:34:00 -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
c8e81a4668
Added numbers to all the warnings
2020-10-09 18:33:51 -03:00
Salvador E. Tropea
1aee407cb9
Fixed KiBom variants special cases.
...
When using multiple variants and a components used more than one,
specifying oposite rules.
2020-10-09 16:00:52 -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
43bf78bfb9
Added some help about filters and variants.
2020-09-28 19:25:04 -03:00
Salvador E. Tropea
659ae27e7b
Fixed small flake8 details
2020-09-21 20:02:50 -03:00
Salvador E. Tropea
7a7fc0a87d
Fixed log warning detail.
...
Cases when % was in the string but not for C style.
2020-09-21 20:02:03 -03:00
Salvador E. Tropea
ec1e6f6e02
Fixed debug log entry that wasn't removed.
2020-09-21 19:37:10 -03:00
Salvador E. Tropea
c59c31fb6e
Added support for KiCad v6 to the position output.
2020-09-21 19:17:31 -03:00
Salvador E. Tropea
93863788e7
Better log.warning messages
...
- Corrent source for Python 3.8+
- Support for C style formatted strings
2020-09-21 19:15:44 -03:00
Salvador E. Tropea
ed7eae0338
Added support to load pcbnew from nightly.
2020-09-21 19:14:31 -03: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
1ed960d045
Replaced dicts used just to test membership by sets.
2020-09-12 12:50:16 -03:00
Salvador E. Tropea
f131be6bd9
Bumped version to 0.7.0
2020-09-11 17:55:03 -03:00
Salvador E. Tropea
af567b611f
Bumped version to 0.7.0rc2
2020-09-11 12:54:33 -03:00
Salvador E. Tropea
bef2203b24
Changed the layer number used to disable *.Adhes
...
Using undefined generates errors.
Now using "Rescue" layer.
2020-09-11 12:51:33 -03:00
Salvador E. Tropea
80005f2871
Fixed: solder paste and adhesive glue should also removed for print
2020-09-11 12:50:14 -03:00
Salvador E. Tropea
5be4a64293
Bumped version to 0.7.0rc1
2020-09-10 16:03:03 -03:00
Salvador E. Tropea
f38b63236d
Avoid repeating the same warning.
...
Also report a warnings count.
2020-09-10 15:50:53 -03:00
Salvador E. Tropea
6b21f00a65
Removed extra blanck line.
2020-09-10 15:47:18 -03:00
Salvador E. Tropea
512776ce8e
Added a mechanism to set a default variant for all outputs.
...
It can be used to overwrite the output file template too.
2020-09-10 12:56:53 -03:00
Salvador E. Tropea
709d6facb9
Fixed warnings when printing a schematic variant.
...
We use a temporal copy of the schematic in a temporal dir.
So now we add a dummy .pro file to avoid warnings.
2020-09-10 12:54:43 -03:00
Salvador E. Tropea
c522fa003e
Fixed problems with 3D relative models in STEP output
...
When using a variant and one or more 3D models were stored in a
relative path the STEP file didn't contain them.
This is because we use a temporal PCB and it was stored in /tmp
Now is stored in the same directory as the real PCB.
2020-09-10 12:52:07 -03:00
Salvador E. Tropea
b03b56ae5d
Added more coherence to the variants/filters.
...
- Now they behave more coherently across outputs.
- Component status is explicitly reset, so having a variant + filter
behaves in a more consistent way. Even when this isn't the
recommended use.
- Virtual components are handled by the exclude filter.
- Moved code to modify the PCB to VariantOptions.
- Added a real virtual component to the tests, not a ridiculous case.
2020-09-08 20:01:16 -03: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
f7e8033a09
Make clear that KiBoM output doesn't support KiBot variants.
...
The internal BoM can be used instead.
2020-09-06 12:03:55 -03:00
Salvador E. Tropea
d719718eca
Moved KiBoM default behavior to the KiBoM variant.
...
So it can be applied to other outputs.
2020-09-05 18:58:26 -03:00
Salvador E. Tropea
1163d28e71
Added "Not " prefix to negation filter names.
2020-09-05 18:56:01 -03:00
Salvador E. Tropea
7e5791fcfa
Added variants to the IBoM output.
2020-09-05 17:48:25 -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
dab7baa2d4
Fixed show_components validation in out_pcbdraw.
...
The same error could be in other places.
I had to change the internal logic in Optionable.
The old code allowed invalid values to be used.
2020-09-04 18:06:17 -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
b36e276969
Added crosses in the *.Fab layer for excluded components.
2020-09-03 17:17:08 -03:00
Salvador E. Tropea
8bf0a13210
Remove filtered components from the *.Adhes layer.
...
All shapes in the *.Adhes are removed.
2020-09-03 12:29:04 -03:00
Salvador E. Tropea
c56af11007
Added variants to all the PCB plot outputs.
...
Tested for gerbers that are currently excluding pads from *.Paste.
2020-09-03 11:11:03 -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
d681528a03
Fixed: SCH load and PCB components consolidation reuse.
...
The code did the tasks over and over.
2020-09-02 18:08:04 -03:00
Salvador E. Tropea
712d135df5
Fixed: if no filters are applied we must reset the fields.
...
Added funtions to apply the filters
Moved code from bom.py to out_bom.py
2020-09-02 18:07:38 -03:00
Salvador E. Tropea
9558f7cf45
Added test for rogue component in PCB.
2020-09-02 15:16:23 -03:00