Releases: INTI-CMNB/KiBot
Releases · INTI-CMNB/KiBot
KiCad 6 stable
KiCad 6 with the stable KiBot GitHub Action
KiCad 7 development
KiCad 7 using the current development KiBot
KiCad 6 development
KiCad 6 using the current development KiBot
KiCad 5 development
KiCad 5 using the current development KiBot
v1.6.1
Added
- KiCad 7.0.1 support
- Global options:
allow_blind_buried_vias
andallow_microvias
for KiCad 7 (no longer in
KiCad)erc_grid
to specify the grid size for KiCad 7 ERC tests
- Report:
- Counters for total vias and by via type (
vias_count
,thru_vias_count
,
blind_vias_count
andmicro_vias_count
) - Warnings when micro and/or blind vias aren't allowed, but we found them.
- Counters for total vias and by via type (
- KiCad 7 specific:
- Avoid warnings about missing coutyard for footprints marked as excluded
from courtyard tests. kicad_dnp_applied
global option to use the Do Not Populate schematic
flag as do not fit for KiBot, enabled by default.kicad_dnp_applies_to_3D
global option to eliminate the 3D models of
components marked as Do Not Populate. This option applies to the case
where no filter or variants are in use. Enabled by default. The
kicad_dnp_applied
option also disables it.cross_using_kicad
global option to use KiCad to cross DNP components in
the schematic. Enabled by default.
- Avoid warnings about missing coutyard for footprints marked as excluded
Fixed
- Problems to detect the schematic name when the path to the config contained a
dot that isn't used for an extension and some particular conditions were met. - PCB Print: KiCad crashing on some complex filled zones (#396)
v1.6.0
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.
Added
- General:
- Support for
groups
ofoutputs
- 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)
- Support for
- 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
andhpgl_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
)
- Option to use the output's
- 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:
Fixed
- BoM:
- pre_transform filers can't be logic filters
- Copy_Files:
- DOCs
- iBoM:
- Variant changes to the *.Fab weren't exported.
Now all 2D variant stuff is applied before calling iBoM (#350)
- Variant changes to the *.Fab weren't exported.
- PCB_Print:
- Images not showing in custom frames. (#352)
- Problems when trying to use groups of layers (i.e. copper)
- Report:
v1.5.1
Fixed
- System level resources look-up
v1.5.0
Changed
- Diff:
- Now the default is to compare all the schematic pages. (#319)
- Report:
- loss tangent decimals, added one more.
Added
- New output:
populate
to create step-by-step assembly instructions
With support forpcbdraw
andrender_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
- Support for the
- 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
andhighlight
- PCB_Print:
- 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)
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 \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)
- Problems with recursive imports when the intermediate import didn't
- 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.
v1.4.0
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
usinguse_dir_for_preflights
. (#292) - When importing globals now options that are lists or dicts are merged, not
just replaced. (#291)
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.
- Some basic preprocessing, now you can parametrize the YAML config.
- 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.
Optioneurocircuits_reduce_holes
. (#227) - Global options:
- Support for changing text variables with variants during outputs creation.
Optionset_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)
- Support for changing text variables with variants during outputs creation.
- Diff:
- 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.
- Problems when creating a variant of a sub-sheet that was edited as a
- 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)
v1.3.0
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
Added
- New outputs:
- Diff: to compute differences between PCBs and SCHs. (INTI-CMNB/KiAuto#14)
- 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:
- 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/KiAuto#26, #250)
Global option:drc_exclusions_workaround
KiCad bug 11562 - Internal BoM: KiCad 6 text variables expansion in the fields (#247)
- Compress: Option to store symlinks. (See #265)
- PCB Print:
- Installation checker: option to show the tool paths.
Fixed
- OAR computation (Report) (#225)
- Position: Problems when doing manual panelization (repeated references) (#224)
- PCB_Print:
- 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.