Commit Graph

217 Commits

Author SHA1 Message Date
Salvador E. Tropea 4a440078ae Moved all IU -> SVG stuff to GS 2023-02-15 10:07:49 -03:00
Salvador E. Tropea 68e6e5f825 [Worksheet][KiCad 7] Adapted image scale (to mm) 2023-02-14 12:45:36 -03:00
Salvador E. Tropea 55086c5def [Worksheet] Adapted polypoints to v7 arguments 2023-02-14 12:29:38 -03:00
Salvador E. Tropea e2cb506094 [Worksheet][KiCad 7] Adapted for the new VECTOR2I 2023-02-13 11:19:42 -03:00
Salvador E. Tropea f3a003dc04 [Worksheet] Adapted to the new justify constants 2023-02-13 10:38:19 -03:00
Salvador E. Tropea b97c180d15 [Fixed] Symbol instances in sub-sheets 2023-02-10 10:15:33 -03:00
Salvador E. Tropea 0b748e1d9d [Added] Basic support reading and writing v7 schematics 2023-02-10 09:12:59 -03:00
Salvador E. Tropea e92da81882 [KiCad 7] Added KICAD7_* variables expansion 2023-02-09 09:29:06 -03:00
Salvador E. Tropea 7d597b3629 [KiCad 7] Added support for the version in sym-lib-table 2023-02-09 09:23:33 -03:00
Salvador E. Tropea 42f5dcd8d6 [SVG][Added] Options to limit the view box to the used area. 2023-01-05 19:29:31 -03:00
Salvador E. Tropea ebabc0b37b [Windows] Fixed problems with os.rename
- Now using os.replace
- It removes the target if already there
2022-12-26 08:02:14 -03:00
Salvador E. Tropea 8c3e5b982b [PCB_Print][Fixed] Images not showing in custom frames.
Closes #352
2022-12-16 13:44:12 -03:00
Salvador E. Tropea 5e3404949d [Stack-up][Fixed] Problems when using more than one dielectric
Fixes #328
2022-11-10 18:09:00 -03:00
Salvador E. Tropea 8ec4d481c0 [Package] Moved all resources to a central place
- All KiBot resources are now under kibot/resources
- PcbDraw resources are now in kibot/resources/pcbdraw
- All resources can be loaded relative to the script or from
  /usr/share/kibot
- The Debian package installs the resources in /usr/share/kibot
- The Python manifest includes all resources
- PcbDraw is now detected as a Python package
2022-10-19 13:05:56 -03:00
Salvador E. Tropea 72cae7c787 Changes to write v6 schematics more similar to prior versions 2022-10-11 13:09:49 -03:00
Salvador E. Tropea a337028007 [Internal BoM] Added some basic support for "Exclude from BoM" flag
Related to #316
2022-10-11 11:46:00 -03:00
Salvador E. Tropea d28ecfd8c4 [Schematic v6][Fixed] Autoplace fields could be lost in variants. 2022-10-11 10:06:00 -03:00
Salvador E. Tropea a9d5b8cd58 New filter `urlify` to convert URLs in fields to HTML links
Closes #311
2022-09-30 11:28:21 -03:00
Salvador E. Tropea 193632ff65 [Fixed] Sch v6 sub-sheet issues
- When saving a sub-sheet that was edited as a standalone sheet
- In this case we have symbo instances, but they weren't
  processed, so we can't look for filter modifications.

Closes #307
2022-09-29 13:45:00 -03:00
Salvador E. Tropea 63b4c526f8 Fixed missing XYRS information for components with multiple units
Closes #306
2022-09-29 07:54:32 -03:00
Salvador E. Tropea e2fdf87d6b [Copy_Files] Now you can copy the 3D models
- Also save a PCB modified to use them
- Changed the syntax so we can copy other stuff
2022-09-20 13:13:12 -03:00
Salvador E. Tropea 39eabd996f [Schematic v5] Better error message when mixing v5/6 files
Related to #298
2022-09-20 09:18:25 -03:00
Salvador E. Tropea 3e03228b7b [DOCs] Added help about the variant options
- Generated by a new command line `--help-variants`

Related to #257
2022-09-15 07:13:33 -03:00
Salvador E. Tropea d01943ed87 Added support for 3D models aliases
- Also a global option to define them in the KiBot configuration

Related to #261
2022-09-14 09:38:47 -03:00
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 661677608e [Internal BoM] Added CSV aggregate
Related to #248
2022-09-13 09:25:14 -03:00
Salvador E. Tropea 6cf6b08450 [SCH Variant] Added option to change the title
- Similar to PCB Variant
2022-09-09 12:51:51 -03:00
Salvador E. Tropea 2f37a5c6b4 [3D models] Various small details about missing models
- Fail to expand a VAR is reported once. Not for every model.
- Warnings no longer printed if the model is missing but we can
  download it. It confuses people when the problem is solved.
- When we fail to expand a VAR and the result is "${VAR}..."
  we tried to make it an absolute path creating a path that was
  confusing. Now we keep the original name.
2022-09-07 14:15:31 -03:00
Salvador E. Tropea bc793c8637 [Fixed] Internal netlist generation when no lib
Related to #242
2022-08-29 08:37:12 -03:00
Salvador E. Tropea fcdedad360 [SCH][KiCad 6][Fixed] Instance data partially applied
- The component instance information was applied to the component,
  but not to the "basic" fields.
2022-08-12 09:03:31 -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 1b9c734401 [KiCad 6 SCH] Fixed problems with title block on variants
- The title block wasn't saved if the title wasn't defined.
- In the first versions of v6 it was stored empy, now skipped.
2022-07-21 12:58:46 -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 68c96385d3 [KiCad 6][Variants] Fixed problems crossing alternative drawings
- Units with DeMorgan alternative drawing got only one crossed

Related to #219
2022-07-12 07:39:15 -03:00
Salvador E. Tropea f31c62fbab More KiCad environment vars adjusts
- KiCad 5 values promoted to KiCad 6 versions when using KiCad 6
2022-06-17 11:33:52 -03:00
Salvador E. Tropea a3811537b8 Fixed svg_pcb_print: page orientation for portrait. 2022-06-12 16:07:58 -03:00
Salvador E. Tropea 06bb47ea05 pcb_print: fixed frame page orientation in GUI mode. 2022-06-12 15:37:00 -03:00
Salvador E. Tropea 3d520c9830 KiCad v6 SCH: Fixed the gr_curve support
- Is wrongly documented
- Not used by the available symbols
- Not implemented in the GUI
- You can manually use it
2022-06-10 09:31:44 -03:00
Salvador E. Tropea a750bb302c Fixed problems expanding multiple KiCad variables in the same value. 2022-06-07 10:36:31 -03:00
Salvador E. Tropea 24d81f4756 Allow using KiCad 5 legacy env names even on KiCad 6
Related to #205
2022-06-01 09:14:23 -03:00
Salvador E. Tropea d93d70541c Better KiCad v6 environment variables handling
- more variables detected (KICAD6_3RDPARTY, KICAD_USER_TEMPLATE_DIR)
- native KiCad 6 names (KICAD6_* instead of KICAD_*)
- all exported to the environment, not just the core

Fixes #205
2022-05-30 13:00:23 -03:00
Salvador E. Tropea 23e632303d Fixed problems with KiCost using internal variants
- The XML didn't remove `variant` field properly (lack of lower)
- THe XML didn't support UTF-8
2022-05-18 15:59:38 -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 7ac654523d Added support for KiCad 6 pin alternates
- Another undocumented feature

Fixes #193
2022-04-21 15:09:33 -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 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 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 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 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 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
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 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 dad1f91439 Added: text vars expansion for 3D model paths
Closes #172
2022-03-31 14:58:39 -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 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 27c987217c New preflight to annotate power components
Closes #76
2022-02-26 13:21:40 -03:00
Salvador E. Tropea 36581d8608 Added support for mirror and fields_autoplaced (KiCad v6 schematic)
- Not documented
Fixes #155
2022-02-24 13:51:11 -03:00
Salvador E. Tropea 26a6db4e65 Fixed KiCad 6 schematic component instance not updated
Fixes #157
2022-02-24 12:54:39 -03:00
Salvador E. Tropea 1dbaf67cea Fixed KiCad v6 field rename
- The code created v5 fields

Fixes #158
2022-02-24 12:16:35 -03:00
Salvador E. Tropea d9d80e5710 Fixed the C402 fix 2022-02-17 19:54:44 -03:00
Salvador E. Tropea 338a0cc3d4 Fixed B007 Loop control variable 'i' not used within the loop body. 2022-02-17 19:10:47 -03:00
Salvador E. Tropea 1731e889b1 Fixed D301 Use r""" if any backslashes in a docstring 2022-02-17 18:48:50 -03:00
Salvador E. Tropea d7e0cc2936 Fixed last patch 2022-02-17 18:44:34 -03:00
Salvador E. Tropea f26ab6ede8 Fixed B006 Do not use mutable data structures for argument defaults. 2022-02-17 16:45:10 -03:00
Salvador E. Tropea 15b2075c96 Fixed B011 Do not call assert False 2022-02-17 16:37:01 -03:00
Salvador E. Tropea c8d131fe11 Fixed C416 Unnecessary list comprehension - rewrite using list(). 2022-02-17 16:32:16 -03:00
Salvador E. Tropea f0c581d144 Fixed C405 Unnecessary list literal - rewrite as a set literal. 2022-02-17 16:31:30 -03:00
Salvador E. Tropea c11627f56d Fixed C402 Unnecessary generator - rewrite as a dict comprehension. 2022-02-17 16:07:17 -03:00
Salvador E. Tropea ebc6458948 Fixed schematic: Paper orientation was discarded on v5 files.
Fixes #150
2022-02-17 12:40:29 -03:00
Salvador E. Tropea 6281a40335 Fixed spelling 2022-02-16 19:56:04 -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 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 fac1c21282 Fixed flake8 errors 2022-01-29 16:33:32 -03:00
Salvador E. Tropea 400d06f9b3 Adjusted error messages and crossed comp generation.
- Also the name of the member for lib_name
2022-01-29 16:16:39 -03:00
Gustav Palmqvist 70fdb9c617 Handle lib_name in symbol instance 2022-01-27 23:16:54 +01:00
Salvador E. Tropea b73a2e51d4 Added stackup support to the report 2022-01-18 15:51:55 -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 256876a1bd Added support for the magic KICAD6_*_DIR environment variables
Related to #135
2022-01-10 20:50:53 -03:00
Salvador E. Tropea 8a4064a544 Added KiCad 6 native symbols default dir 2022-01-07 17:49:33 -03:00
Salvador E. Tropea dadcd8a543 Added support for `bus_alias` [KiCad 6]
- Not documented in the file format
Closes #133
2022-01-07 12:01:17 -03:00
Salvador E. Tropea 93ee8c3acb Updated mcpyrate to 3.5.4 (last available) 2022-01-06 12:10:06 -03:00
Salvador E. Tropea 34bea23e06
Merge pull request #129 from rleh/patch/v6_sch
KiCad 6: Catch environment.vars==None case
2022-01-04 16:54:50 -03:00
Salvador E. Tropea be59ee397e Added support for KiCad 6 to the `update_qr` preflight.
Related to #93
2022-01-04 16:52:12 -03:00
Raphael Lehmann 7bdc1f511e v6 config: Catch environment.vars==None case 2022-01-04 17:50:10 +01:00
Salvador E. Tropea 5017f7e078 Added QR codes generation: symbols and footprints.
Related to #93
2022-01-03 12:35:33 -03:00
Salvador E. Tropea 4c3259a2f8 Fixed flake8 details 2022-01-03 12:33:35 -03:00
Salvador E. Tropea 7155539777 Added KiCad 6 support to the pseudo-netlist generation. 2021-12-31 16:45:40 -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
Salvador E. Tropea e5ed4b6652 Added support for variants on KiCost output.
Related to #106
2021-12-30 18:26:31 -03:00
Salvador E. Tropea 9417b61478 Moved all loggers to the same domain.
- To fix the warnings count
2021-12-30 11:09:36 -03:00
Salvador E. Tropea babf622eca Added support for KiCad v6 config in JSON format. 2021-12-27 14:11:37 -03:00
Diego Capusotto 926d4c84d3 Added support to write KiCad v6 schematics with variants 2021-12-21 13:04:09 -03:00
Diego Capusotto e07f45bd2d Adapted sexpdata.py to indent as KiCad.
- Also fixed a problem in _tosexp (Python 2 legacy?)
2021-12-21 13:00:48 -03:00
Diego Capusotto 08ef3e847a v6 loader: catch case were the file is just a word 2021-12-18 12:09:51 -03:00