Kibot

Latest version: v1.7.0

Safety actively analyzes 628936 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 7

1.6.0

Added
- General:
- Support for `groups` of `outputs`
- Internal templates import
- Better support for wrong pre-flight options (360)
- A mechanism to cache downloaded 3D models
- Support to download 3D models from EasyEDA (using LCSC codes)
- Global options:
- field_lcsc_part: to select the LCSC/JLCPCB part field
- New outputs:
- `vrml` export the 3D model in Virtual Reality Modeling Language (349)
- `ps_sch_print`, `dxf_sch_print` and `hpgl_sch_print` variants of
`pdf_sch_print`
- `blender_export` exports the PCB to Blender and other 3D formats,
renders the PCB with impressive quality (experimental)
- New internal filters:
- `_only_smd` used to get only SMD parts
- `_only_tht` used to get only THT parts
- `_only_virtual` used to get only virtual parts
- Variants:
- Support for multi-boards as defined by KiKit
- Internal templates:
- FusionPCB: gerber, drill and compress
- Elecrow: gerber, drill and compress
- JLCPCB: gerber, drill, position, BoM and compress
- MacroFab_XYRS: XYRS position file compatible with MacroFab
- P-Ban: gerber, drill and compress
- PCB2Blender_2_1: generates a pcb2blender 2.1 file to import on Blender
(See 349)
- PCB2Blender_2_1_haschtl: PCB2Blender_2_1 variant for Haschtl fork.
- PCBWay: gerber, drill and compress
- Compress:
- Option to use the output's `dir` as reference (`from_output_dir`)
- iBoM:
- `hide_excluded` to hide excluded *.Fab drawings.
- PCB_Print:
- Added a mechanism to create a page for each copper layer. (365)
- Plot related outputs and PCB_Print:
- Added support for the KiCad 6 "sketch_pads_on_fab_layers" option. (356)
- Report:
- Expansion for KiCad text variables and environment variables (See 368)
- *SCH_Print:
- Added options to select the color theme and enable background color. (362)
- SVG:
- Options to limit the view box to the used area.
Fixed
- BoM:
- pre_transform filers can't be logic filters
- Copy_Files:
- Problems on KiCad 5 (no 3rd party dir) (357)
- Problems with compress output (also Makefile) (372)
- DOCs
- annotate_pcb pre-flight missing options (360)
- annotate_pcb pre-flight wrong example (360)
- iBoM:
- Variant changes to the *.Fab weren't exported.
Now all 2D variant stuff is applied before calling iBoM (350)
- PCB_Print:
- Images not showing in custom frames. (352)
- Problems when trying to use groups of layers (i.e. copper)
- Report:
- Computed size when using circles and some arcs in the PCB edge (375)
Changed
- Downloaded 3D models are no longer discarded.
They are stored in ~/.cache/kibot/3d
You can change the directory using KIBOT_3D_MODELS
- License is now AGPL v3, since we are incorporating AGPL code.

1.5.1

Fixed
- System level resources look-up

1.5.0

Added
- New output:
- `populate` to create step-by-step assembly instructions
With support for `pcbdraw` and `render_3d`.
- `panelize` to create a PCB panel containing N copies of the PCB.
- `stencil_3d` to create 3D self-registering printable stencils.
- `stencil_for_jig` to create steel stencils and 3D register.
- `kikit_present` to create a project presentation web page.
- generic filters: options to filter by PCB side
- BoM:
- Option to link to Mouser site.
- Human readable text output format.
- Diff:
- Option to compare only the first schematic page. (See 319)
- iBoM:
- Support for the `offset_back_rotation` option
- Navigate Results:
- Support for compress
- PcbDraw:
- BMP output format
- Image margin
- Outline width
- Solder paste removal
- V-CUTS layer
- Resistor remap and flip
- A `remap_components` option with better type checks
- Better support for variants
- Option to control the *SVG precision* (units scale)
- Filter expansion in `show_components` and `highlight`
- PCB_Print:
- Option to control the *SVG precision* (units scale)
- Now the text in the PDF is searchable. (331)
- Margins for the autoscale mode. (337)
- Render_3D:
- Option to render only some components (like in PcbDraw)
- Option to auto-crop the resulting PNG
- Option to make transparent the background
- Option to highlight components
- SVG:
- Option to control the *SVG precision* (units scale)

Changed
- Diff:
- Now the default is to compare all the schematic pages. (319)
- Report:
- loss tangent decimals, added one more.

Fixed
- QR lib update: Problems when moving the footprint to the bottom for
KiCad 5.
- SVG, PCB_Print, PcbDraw: Problems to display the outputs using Chrome and
Firefox.
- Diff: Problems when comparing to a repo point where the PCB/SCH didn't exist
yet. (323)
- Report: Problems when using NPTH holes with sizes that doesn't correspond to
real drill tools. It generated bogus reports about wrong OARs. (326)
- Problems when using more than one dielectric in the stack-up. (328)
- Gerber: Extension used for JLCPCB inner layers. (329)
- BoM:
- The length of the CSV separator is now validated.
- Using the escaped t, n, r and \ is now supported. (See 334)
- Digi-key link in the HTML output.
- KiBoM: User defined fields wasn't available as column names. (344)
- Imports:
- Problems with recursive imports when the intermediate import didn't
contain any of the requested elements (i.e. no outputs). (335)
- Navigate results: fail when no output to generate. Now you get a warning.
- Makefile: outputs marked as not run by default were listed in the `all`
target.

1.4.0

Added
- General things:
- Some basic preprocessing, now you can parametrize the YAML config.
(See 233 243)
- Support for 3D models aliases and also a global option to define
them in the KiBot configuration (See 261)
- Environment and text variables now can be used as 3D model aliases.
(See 261)
- Environment and text variables expansion is now recursive.
So in `${VAR}` the *VAR* can contain `${OTHER_VAR}`
- Command line option to specify warnings to be excluded. Useful for
warnings issued before applying the global options (i.e during
import). (296)
- `pre_transform` filter to outputs supporting variants.
- New outputs:
- PCB_Variant: saves a PCB with filters and variants applied.
- Copy_Files: used to copy files to the output directory. (279)
You can also copy the 3D models.
- Support for Eurocircuits drill adjust to fix small OARs.
Option `eurocircuits_reduce_holes`. (227)
- Global options:
- Support for changing text variables with variants during outputs creation.
Option `set_text_variables_before_output`. (See 233)
- Options to control which stuff is changed on PCB variants: (See 270)
- cross_footprints_for_dnp
- remove_adhesive_for_dnp
- remove_solder_paste_for_dnp
- hide_excluded (default value)
- Mechanism to give more priority to local globals. (See 291)
- Diff:
- Mechanism to compare using a variant (See 278)
- Mechanism to specify the current PCB/Schematic in memory (See 295)
- Mechanism to compare with the last Nth tag (See 312)
- Option to skip pages with no differences
- Sch Variant:
- Option to copy the project. Needed for text variables.
- Option to change the title (similar to PCB Variant)
- Render_3D: Options to disable some technical layers and control the
silkscreen clipping. (282)
- Internal BoM:
- Now you can aggregate components using CSV files. (See 248)
- Added some basic support for "Exclude from BoM" flag (See 316)
- Now you can check PCB and schematic parity using the `update_xml` preflight
(See 297)
- New filters:
- `urlify` to convert URLs in fields to HTML links (311)
- `field_modify` a more generic field transformer
- Position: option to set the resolution for floating values (314)

Fixed
- Problems to compress netlists. (287)
- 2D PCB processing didn't show in 3D targets (i.e. solder paste not removed in
the 3D render). (See 270)
- KiBot exited when downloading a datasheet and got a connection error
(289 290)
- KiCad 5 "assert "lower <= upper" failed in Clamp()" (304)
- Missing XYRS information for components with multiple units (306)
- Schematic v6:
- Problems when creating a variant of a sub-sheet that was edited as a
standalone sheet (307)
- Autoplace fields could be lost in variants.
- iBoM: Name displayed in the HTML when using filters and/or variants.
- Position: Components wrongly separated by side when the side column wasn't
the last column (313)

Changed
- Diff:
- When comparing a file now the links says Current/FILE instead of None
- The default was to compare the current file on storage, now is the current
file on memory. It includes the zone refill indicated in the preflights.
(See 295)
- Now the error about differences bigger than the threshold is more clear.
KiBot also returns a distinct error level.
- Now the global `dir` option also applies to the preflights, can be disabled
using `use_dir_for_preflights`. (292)
- When importing globals now options that are lists or dicts are merged, not
just replaced. (291)

1.3.0

Added
- New outputs:
- Diff: to compute differences between PCBs and SCHs. (INTI-CMNB/KiAuto14)
- Info: collects info about the environment. (See 209)
- Try to download missing tools and Python modules.
The user also gets more information when something is missing.
It can be disabled from the command line.
- Global options:
- Cross components without a body (219)
- Restore the project at exit (250)
- Imports:
- Now you can nest imports (import from an imported file) (218)
- Preflights can be imported (181)
- `--dont-stop` command line option, to try to continue even on errors (209)
- PDF/SVG PCB Print: option to print all pages/single page (236)
- iBoM: Support for variants that change component fields (242)
- Workaround for problems with DRC exclusions (See INTI-CMNB/KiAuto26, 250)
Global option: `drc_exclusions_workaround`
KiCad bug [11562](https://gitlab.com/kicad/code/kicad/-/issues/11562)
- Internal BoM: KiCad 6 text variables expansion in the fields (247)
- Compress: Option to store symlinks. (See 265)
- PCB Print:
- Option to configure the forced edge color. (281)
- Option to control the resolution (DPI). (See 259)
- Option to move the page number to the extension (page_number_as_extension)
(See 283)
- Option to customize the page numbers (See 283)
- Installation checker: option to show the tool paths.

Fixed
- OAR computation (Report) (225)
- Position: Problems when doing manual panelization (repeated references) (224)
- PCB_Print:
- Problems with filtered/modified PCBs
- Problems with zones on multiple layers (226)
- Problems with `hide_excluded: true` and components not in the SCH (258)
- Text vars generated in the same run didn't show up (280)
- Low resolution for the solder mask. (See 259)
- SCH Variants on KiCad 6: Problems with missing values in the title block.
- Report: Converted file wasn't stored at `dir` (238)
- Datasheet download: Time-outs on some servers expecting modern browsers (240)
- SCH Print and Netlist: name collisions. When the default name used by KiCad
belongs to an already existing file. (244)
- Install checker: fixed problems to detect iBoM installed as plugin. (209)
- Internal Netlist generation (i.e. iBoM with variants): problems withg
components that doesn't specify a library. (See 242)
- Problems when setting a text variable to an empty string. (268)
- QR lib update: Problems when moving the footprint to the bottom. (271)
- Misleading messages for missing 3D models that starts with ${VAR} when VAR
isn't defined. The old code tried to make it an absolute path.

Changed
- The order in which main sections are parsed is now fixed.
The declared order is ignored. The order is:
kiplot/kibot, import, global, filters, variants, preflight, outputs
- Datasheet download:
- Continue downloading if an SSL certificate error found (239)
- PCB_Print: PNGs no longer has transparent background. This is because now we
use a PDF as intermediate step.
- Fails to expand KiCad vars are reported once (not every time)
- No more warnings about missing 3D models when we can download them

1.2.0

Added
- The outputs help now display the more relevant options first and highlighted.
Which ones are more relevant is somehow arbitrary, comments are welcome.
- General stuff:
- Outputs now can have priorities, by default is applied.
Use `-n` to disable it.
- New outputs:
- `navigate_results` creates web pages to browse the generated outputs.
[Example](https://inti-cmnb.github.io/kibot_variants_arduprog_site/Browse/t1-navigate.html)
- New globals:
- `environment` section allows defining KiCad environment variables.
(See INTI-CMNB/KiAuto21)
- GitHub discussions are now enabled. Comment about your KiBot experience
[here](https://github.com/INTI-CMNB/KiBot/discussions)

Fixed
- Components with mounting hole where excluded (201)
- GenCAD output targets.
- Problems expanding multiple KiCad variables in the same value.
- XML BoM: Fixed problems with fields containing / (206)
- pcb_print: vias processing was disabled.
- pcb_print: problems with frame in GUI mode and portrait page orientation.
- svg_pcb_print: page orientation for portrait.

Changed
- KiCad environment variables: more variables detected, native KiCad 6 names,
all exported to the environment (205)
- Consequences of the priorities implementation:
- `qr_lib` outputs are created before others
- `navigate_results` and `compress` outputs are created after others

Page 2 of 7

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.