Commit Graph

35 Commits

Author SHA1 Message Date
Salvador E. Tropea 6f7d425ee1 [flake8] Fixed reported issues 2024-01-05 09:33:42 -03:00
Salvador E. Tropea c216d4bfde [Sub PCBs][Fixed] Using annotation method
- For some edeges and KiCad versions

Closes #496
2023-10-02 10:05:33 -03:00
Salvador E. Tropea 895d852ed2 [Cosmetic] unkown -> unknown 2023-03-28 11:22:19 -03:00
Salvador E. Tropea 8506fb78db [Report][Fixed] Computed size
- When using circles and some arcs in the PCB edge

Closes #375
2023-01-25 11:05:01 -03:00
Salvador E. Tropea cfee399110 [Sub-PCB][Added] KiCad 5 workaround
- The GetBoundingBox member returns values with 1 IU of error (1 fm)
- So now we use at least 2 fm of tolerance
2023-01-02 10:42:19 -03:00
Salvador E. Tropea 27247c17b6 [Sub-PCBs] Implemented centered PCB
- Also added option to disable it, at least for the internal tool
- KiKit 1.1.2 is not centering, but using top-left ... but the docs
  says it should center.
2022-12-28 11:07:27 -03:00
Salvador E. Tropea 356c16de83 [Sub-PCBs] When using KiKit now we use preserveArcs 2022-12-28 09:57:38 -03:00
Salvador E. Tropea 728bded7ad [Sub-PCBs] Implementad annotation removal 2022-12-28 09:44:44 -03:00
Salvador E. Tropea 002dba631d [sub-PCB] Implemented the `tolerance` 2022-12-28 09:23:50 -03:00
Salvador E. Tropea 1e3962762c [sub-PCB] Added some comments for the members 2022-12-28 08:54:45 -03:00
Salvador E. Tropea 081932f8bb [sub-PCB] Now you can choose between internal implementation and KiKit 2022-12-28 08:48:50 -03:00
Salvador E. Tropea ae035a4c0e [sub-PCBs] Implemented annotations mode
- Most of the algorithm is an adaptation of what KiKit does, just
  adapted to what we really need here.
- Now separating boards is really fast.
2022-12-28 08:05:18 -03:00
Salvador E. Tropea 10accfa4ff [sub-PCBs][Fixed] Problems when we don't have components 2022-12-27 12:48:44 -03:00
Salvador E. Tropea b8dff52fa3 [sub-PCBs] Implemented the rectangle separation
- Notably faster
2022-12-27 12:37:33 -03:00
Salvador E. Tropea 6b432f3de6 [sub-PCBs] Just a debug message when we restore excluded components 2022-12-27 09:10:50 -03:00
Salvador E. Tropea 41c5701d33 [sub-PCB] Avoided saving the PCB before separate
- Now isn't needed because we filter stuff after it
2022-12-27 09:07:33 -03:00
Salvador E. Tropea 1dbe58aab1 Moved sub-PCB specific stuff to var_base (from out_base)
- To allow more than one mechanism
- Also changed the order in which sub-PCBs are applied, will make
  things faster
- Also removed board as parameter for un/filter_pcb*
  Isn't really supported and the sub-PCBs clearly breaks it
2022-12-27 08:48:44 -03:00
Salvador E. Tropea 89be5dacdd [Populate] Added support for sub-PCBs
- Fixed problems when using variants and sub-PCBs, some changes
  reverted during separation.
2022-12-26 13:04:49 -03:00
Salvador E. Tropea da2d5f1001 [Variants] Added some limited support for `kikit separate` 2022-12-18 17:14:38 -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 c3b229ba0c Fixed D300 Use """triple double quotes""" 2022-02-17 18:47:27 -03:00
Salvador E. Tropea 6281a40335 Fixed spelling 2022-02-16 19:56:04 -03:00
Salvador E. Tropea b4c1531e10 PCB PDF Print: mechanism to change the block title.
- Related to #102
- Also added %V to expand the variant name
- Documented %v and %V
2021-11-17 10:51:28 -03:00
Salvador E. Tropea ca5dfb428b Internal BoM: the field used for variants doesn't produce conflicts.
- Fixes: #100
2021-11-15 13:39:47 -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
Salvador E. Tropea 91dc9c5488 Added support for filters that adds/removes components.
- Intended for BoM transformations
- Also enhanced the support for filter chains
2021-03-19 19:20:53 -03:00
Salvador E. Tropea 1b48e614a7 Added pattern expansion in the `dir` option for outputs
Closes #58
2021-03-12 21:14: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 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 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 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 4cc8a0916f Added filters to the variants.
So they have the same functionality than internal BoM.
I keep the (redundant) filters in internal BoM so users doesn't need to
create a variant just to apply a filter.
2020-08-31 20:49:41 -03:00
Salvador E. Tropea ad7ed9183a Added the concept of `filters`
Closely related to variants, but more abstract.
Will allow much more configurability.
2020-08-29 17:38:32 -03:00
Salvador E. Tropea c227b10f86 Interpret as error using unknown fields in variants. 2020-08-28 20:11:07 -03:00
Salvador E. Tropea 3be45edf07 Added the basic infraestructure for variants.
Now variants are defined separately so we can apply the variants for
more than one output.
It will also allow different variant semantics.
2020-08-28 16:46:24 -03:00