INTI-CMNB / KiBot

KiCad automation utility
GNU Affero General Public License v3.0
571 stars 67 forks source link

[BUG] `Unable to expand KICAD8_3DMODEL_DIR` error for KiCad standard library part #688

Closed IvanVnucec closed 3 weeks ago

IvanVnucec commented 3 weeks ago

Describe the bug KiBot GitHub Actions fails with the following log:

 ERROR:Unable to expand `KICAD8_3DMODEL_DIR` in `${KICAD8_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0603_1608Metric.wrl` (kibot - log.py:179)
WARNING:(W098)  5 3D models downloaded or cached (kibot - out_base_3d.py:527)
[...]
ERROR:Unable to generate `/__w/project_name/project_name/generated/ExportedProject/3d_models/Capacitor_SMD.3dshapes/C_0603_1608Metric.step` from 'Project with all needed files' (_ExportProject) [copy_files] (kibot.gs - gs.py:845)

To Reproduce My GitHub Actions .github/workflows/hardware.yml is as follows:

name: "hardware"

on:
  push:
  repository_dispatch:
    types: [run_qs]

jobs:
  kibot:
    runs-on: ubuntu-latest
    container: ghcr.io/inti-cmnb/kicad8_auto_full:latest
    steps:
    - uses: actions/checkout@v4
      with:
        # So we can run a diff between last 2 changes
        fetch-depth: '0'

    - name: Generate PCB outputs
      run: |
        kibot --out-dir generated

    - name: Retrieve results
      uses: actions/upload-artifact@v4
      with:
        name: Automatic_outputs
        path: project_name/generated

Environment (please complete the following information): I'm running KiBot on GitHub Actions with ghcr.io/inti-cmnb/kicad8_auto_full:latest container.

Additional context I've been using KiBot quick start feature by running kibot --quick-start --out-dir generated in Actions and the problem with 3D parts path didn't occur. Then I've committed kibot-generated.kibot.yaml file and ran KiBot as I've described and the problem started. I've haven't changed the auto-generated kibot yaml file.

set-soft commented 3 weeks ago

You forgot to post the configuration that triggers it, so I can only guess.

Try using dev images, looks related to an already fixed issue.

Also note that when using --quick-start KiBot runs like when using --dont-stop, and this might be the difference.

IvanVnucec commented 3 weeks ago

@set-soft Yes, --dont-stop is the cause of the difference. I will try with the KiBot dev images.

My KiBot configuration file is as follows:

# This is a working example.
# For a more complete reference use `--example`
kibot:
  version: 1

global:
  filters:
  - number: 1007
  - number: 1015
  - number: 58
  - number: 107

import:
- file: Elecrow
  definitions:
    _KIBOT_MANF_DIR: Manufacturers/Elecrow
- file: ExportProject
- file: FusionPCB
  definitions:
    _KIBOT_MANF_DIR: Manufacturers/FusionPCB
- file: JLCPCB
  definitions:
    _KIBOT_MANF_DIR: Manufacturers/JLCPCB
    _KIBOT_POS_PRE_TRANSFORM: '[''_kicost_rename'', ''_rot_footprint'']'
    _KIBOT_BOM_ENABLED: 'false'
- file: MacroFab_XYRS
  definitions:
    _KIBOT_MPN_FIELD: ''
- file: PCBWay
  definitions:
    _KIBOT_MANF_DIR: Manufacturers/PCBWay
- file: PanelDemo_4x4

preflight:
  drc:
    dont_stop: true
    format: HTML,RPT,JSON,CSV
  erc:
    dont_stop: true
    format: HTML,RPT,JSON,CSV

outputs:
- name: basic_boardview
  comment: Board View export
  type: boardview
  dir: Assembly
- name: generic_bom_html
  comment: Generic Bill of Materials in HTML format
  type: bom
  dir: BoM/Generic
  options:
    format: HTML
    count_smd_tht: true
- name: generic_bom_csv
  comment: Generic Bill of Materials in CSV format
  type: bom
  dir: BoM/Generic
  options:
    format: CSV
    count_smd_tht: true
- name: generic_bom_hrtxt
  comment: Generic Bill of Materials in HRTXT format
  type: bom
  dir: BoM/Generic
  options:
    format: HRTXT
    hrtxt:
      separator: '|'
    count_smd_tht: true
- name: generic_bom_tsv
  comment: Generic Bill of Materials in TSV format
  type: bom
  dir: BoM/Generic
  options:
    format: TSV
    count_smd_tht: true
- name: generic_bom_xml
  comment: Generic Bill of Materials in XML format
  type: bom
  dir: BoM/Generic
  options:
    format: XML
    count_smd_tht: true
- name: generic_bom_xlsx
  comment: Generic Bill of Materials in XLSX format
  type: bom
  dir: BoM/Generic
  options:
    format: XLSX
    count_smd_tht: true
- name: positional_bom_html
  comment: Positional Bill of Materials in HTML format
  type: bom
  dir: BoM/Positional
  options:
    format: HTML
    columns: &id001
    - Row
    - Description
    - Part
    - Part Lib
    - References
    - Value
    - Footprint
    - Footprint Lib
    - Quantity Per PCB
    - Build Quantity
    - Status
    - Datasheet
    - Sheetpath
    - Source BoM
    - Footprint X
    - Footprint Y
    - Footprint Rot
    - Footprint Side
    - Footprint Type
    - Footprint Type NV
    - Footprint Populate
    - Footprint X-Size
    - Footprint Y-Size
    - Net Name
    - Net Class
    count_smd_tht: true
    html:
      style: modern-red
- name: positional_bom_xlsx
  comment: Positional Bill of Materials in XLSX format
  type: bom
  dir: BoM/Positional
  options:
    format: XLSX
    columns: *id001
    count_smd_tht: true
    xlsx:
      style: modern-red
- name: costs_bom_xlsx
  comment: Costs Bill of Materials in XLSX format
  type: bom
  dir: BoM/Costs
  options:
    format: XLSX
    count_smd_tht: true
    xlsx:
      style: modern-green
      kicost: true
      specs: true
      kicost_api_disable: KitSpace
    pre_transform: _kicost_rename
- name: basic_diff_pcb
  comment: PCB diff between the last two changes
  type: diff
  dir: diff
  layers:
  - layer: F.Cu
    suffix: F_Cu
    description: Front copper
  - layer: In1.Cu
    suffix: In1_Cu
    description: Inner layer 1
  - layer: In2.Cu
    suffix: In2_Cu
    description: Inner layer 2
  - layer: B.Cu
    suffix: B_Cu
    description: Bottom copper
  - layer: B.Paste
    suffix: B_Paste
    description: Bottom solder paste
  - layer: B.Silkscreen
    suffix: B_Silkscreen
    description: Bottom silkscreen (artwork)
  - layer: F.Silkscreen
    suffix: F_Silkscreen
    description: Front silkscreen (artwork)
  - layer: B.Mask
    suffix: B_Mask
    description: Bottom soldermask (negative)
  - layer: F.Mask
    suffix: F_Mask
    description: Front soldermask (negative)
  - layer: User.Drawings
    suffix: User_Drawings
    description: User drawings
  - layer: User.Comments
    suffix: User_Comments
    description: User comments
  - layer: Edge.Cuts
    suffix: Edge_Cuts
    description: Board shape
  - layer: B.Courtyard
    suffix: B_Courtyard
    description: Bottom courtyard area
  - layer: F.Courtyard
    suffix: F_Courtyard
    description: Front courtyard area
  - layer: B.Fab
    suffix: B_Fab
    description: Bottom documentation
  - layer: F.Fab
    suffix: F_Fab
    description: Front documentation
  options:
    old: KIBOT_LAST-1
    old_type: git
    new: HEAD
    new_type: git
    cache_dir: /home/ivan/Desktop/catchcam/hardware/.cache
    add_link_id: true
- name: basic_diff_sch
  comment: Schematic diff between the last two changes
  type: diff
  dir: diff
  options:
    old: KIBOT_LAST-1
    old_type: git
    new: HEAD
    new_type: git
    cache_dir: /home/ivan/Desktop/catchcam/hardware/.cache
    add_link_id: true
    pcb: false
- name: basic_download_datasheets
  comment: Download the datasheets
  type: download_datasheets
  dir: Datasheets
- name: basic_dxf
  comment: Individual layers in DXF format
  type: dxf
  dir: Individual_Layers/DXF
  layers:
  - layer: F.Cu
    suffix: F_Cu
    description: Front copper
  - layer: In1.Cu
    suffix: In1_Cu
    description: Inner layer 1
  - layer: In2.Cu
    suffix: In2_Cu
    description: Inner layer 2
  - layer: B.Cu
    suffix: B_Cu
    description: Bottom copper
  - layer: B.Paste
    suffix: B_Paste
    description: Bottom solder paste
  - layer: B.Silkscreen
    suffix: B_Silkscreen
    description: Bottom silkscreen (artwork)
  - layer: F.Silkscreen
    suffix: F_Silkscreen
    description: Front silkscreen (artwork)
  - layer: B.Mask
    suffix: B_Mask
    description: Bottom soldermask (negative)
  - layer: F.Mask
    suffix: F_Mask
    description: Front soldermask (negative)
  - layer: User.Drawings
    suffix: User_Drawings
    description: User drawings
  - layer: User.Comments
    suffix: User_Comments
    description: User comments
  - layer: Edge.Cuts
    suffix: Edge_Cuts
    description: Board shape
  - layer: B.Courtyard
    suffix: B_Courtyard
    description: Bottom courtyard area
  - layer: F.Courtyard
    suffix: F_Courtyard
    description: Front courtyard area
  - layer: B.Fab
    suffix: B_Fab
    description: Bottom documentation
  - layer: F.Fab
    suffix: F_Fab
    description: Front documentation
- name: basic_dxf_sch_print
  comment: Schematic in DXF format
  type: dxf_sch_print
  dir: Schematic
- name: basic_excellon
  comment: Drill files in EXCELLON format
  type: excellon
  dir: Gerbers_and_Drill
  options:
    map: pdf
- name: basic_gencad
  comment: PCB in GenCAD format
  type: gencad
  dir: Export
- name: basic_gerb_drill
  comment: Drill files in GERB_DRILL format
  type: gerb_drill
  dir: Gerbers_and_Drill
  options:
    map: gerber
- name: gerber_modern
  comment: Gerbers in modern format, recommended by the standard
  type: gerber
  dir: Gerbers_and_Drill
  layers:
  - layer: F.Cu
    suffix: F_Cu
    description: Front copper
  - layer: In1.Cu
    suffix: In1_Cu
    description: Inner layer 1
  - layer: In2.Cu
    suffix: In2_Cu
    description: Inner layer 2
  - layer: B.Cu
    suffix: B_Cu
    description: Bottom copper
  - layer: B.Paste
    suffix: B_Paste
    description: Bottom solder paste
  - layer: B.Silkscreen
    suffix: B_Silkscreen
    description: Bottom silkscreen (artwork)
  - layer: F.Silkscreen
    suffix: F_Silkscreen
    description: Front silkscreen (artwork)
  - layer: B.Mask
    suffix: B_Mask
    description: Bottom soldermask (negative)
  - layer: F.Mask
    suffix: F_Mask
    description: Front soldermask (negative)
  - layer: User.Drawings
    suffix: User_Drawings
    description: User drawings
  - layer: User.Comments
    suffix: User_Comments
    description: User comments
  - layer: Edge.Cuts
    suffix: Edge_Cuts
    description: Board shape
  - layer: B.Courtyard
    suffix: B_Courtyard
    description: Bottom courtyard area
  - layer: F.Courtyard
    suffix: F_Courtyard
    description: Front courtyard area
  - layer: B.Fab
    suffix: B_Fab
    description: Bottom documentation
  - layer: F.Fab
    suffix: F_Fab
    description: Front documentation
- name: basic_hpgl
  comment: Individual layers in HPGL format
  type: hpgl
  dir: Individual_Layers/HPGL
  layers:
  - layer: F.Cu
    suffix: F_Cu
    description: Front copper
  - layer: In1.Cu
    suffix: In1_Cu
    description: Inner layer 1
  - layer: In2.Cu
    suffix: In2_Cu
    description: Inner layer 2
  - layer: B.Cu
    suffix: B_Cu
    description: Bottom copper
  - layer: B.Paste
    suffix: B_Paste
    description: Bottom solder paste
  - layer: B.Silkscreen
    suffix: B_Silkscreen
    description: Bottom silkscreen (artwork)
  - layer: F.Silkscreen
    suffix: F_Silkscreen
    description: Front silkscreen (artwork)
  - layer: B.Mask
    suffix: B_Mask
    description: Bottom soldermask (negative)
  - layer: F.Mask
    suffix: F_Mask
    description: Front soldermask (negative)
  - layer: User.Drawings
    suffix: User_Drawings
    description: User drawings
  - layer: User.Comments
    suffix: User_Comments
    description: User comments
  - layer: Edge.Cuts
    suffix: Edge_Cuts
    description: Board shape
  - layer: B.Courtyard
    suffix: B_Courtyard
    description: Bottom courtyard area
  - layer: F.Courtyard
    suffix: F_Courtyard
    description: Front courtyard area
  - layer: B.Fab
    suffix: B_Fab
    description: Bottom documentation
  - layer: F.Fab
    suffix: F_Fab
    description: Front documentation
- name: basic_hpgl_sch_print
  comment: Schematic in HPGL format
  type: hpgl_sch_print
  dir: Schematic
- name: basic_ibom
  comment: Interactive HTML BoM
  type: ibom
  dir: Assembly
- name: basic_info
  comment: Information about the run
  type: info
  dir: .
- name: basic_kicanvas
  comment: Web page to browse the schematic and/or PCB
  type: kicanvas
  dir: Browse
  options:
    source:
    - schematic
    - pcb
- name: basic_kikit_present
  comment: Simple project presentation
  type: kikit_present
  dir: Presentation
  options:
    description: '# Presentation for catchcam

      This is an automatically generated presentation page'
    boards:
      mode: local
      comment: Resources included
      front_image: renderer_for_present
      back_image: renderer_for_present
      gerbers: gerbers_for_present
- name: renderer_for_present
  comment: Renderer for the presentation
  type: pcbdraw
  dir: Render_for_presentation
  run_by_default: false
- name: gerbers_for_present
  comment: Gerbers for the presentation
  type: gerber
  dir: Gerber_for_presentation
  layers: copper
  run_by_default: false
- name: basic_kiri
  comment: Interactive diff between commits
  type: kiri
  dir: diff
  layers:
  - layer: F.Cu
    suffix: F_Cu
    description: Front copper
  - layer: In1.Cu
    suffix: In1_Cu
    description: Inner layer 1
  - layer: In2.Cu
    suffix: In2_Cu
    description: Inner layer 2
  - layer: B.Cu
    suffix: B_Cu
    description: Bottom copper
  - layer: B.Paste
    suffix: B_Paste
    description: Bottom solder paste
  - layer: B.Silkscreen
    suffix: B_Silkscreen
    description: Bottom silkscreen (artwork)
  - layer: F.Silkscreen
    suffix: F_Silkscreen
    description: Front silkscreen (artwork)
  - layer: B.Mask
    suffix: B_Mask
    description: Bottom soldermask (negative)
  - layer: F.Mask
    suffix: F_Mask
    description: Front soldermask (negative)
  - layer: User.Drawings
    suffix: User_Drawings
    description: User drawings
  - layer: User.Comments
    suffix: User_Comments
    description: User comments
  - layer: Edge.Cuts
    suffix: Edge_Cuts
    description: Board shape
  - layer: B.Courtyard
    suffix: B_Courtyard
    description: Bottom courtyard area
  - layer: F.Courtyard
    suffix: F_Courtyard
    description: Front courtyard area
  - layer: B.Fab
    suffix: B_Fab
    description: Bottom documentation
  - layer: F.Fab
    suffix: F_Fab
    description: Front documentation
  options:
    max_commits: 4
- name: basic_navigate_results
  comment: Web page to browse the results
  type: navigate_results
  dir: Browse
  options:
    link_from_root: index.html
    skip_not_run: true
- name: classic_netlist
  comment: Schematic netlist in KiCad format
  type: netlist
  dir: Export
- name: ipc_netlist
  comment: IPC-D-356 netlist for testing
  type: netlist
  dir: Export
  options:
    format: ipc
- name: basic_pcb_print_pdf
  comment: PCB
  type: pcb_print
  dir: PCB/PDF
  options:
    format: PDF
    pages:
    - layers:
      - layer: F.Cu
      - layer: F.Mask
        color: '#14332440'
      - layer: F.Silkscreen
      - layer: Edge.Cuts
      - layer: User.Drawings
      - layer: User.Comments
      sheet: Front copper
    - layers:
      - layer: In1.Cu
      - layer: Edge.Cuts
      - layer: User.Drawings
      - layer: User.Comments
      sheet: Inner layer 1
    - layers:
      - layer: In2.Cu
      - layer: Edge.Cuts
      - layer: User.Drawings
      - layer: User.Comments
      sheet: Inner layer 2
    - layers:
      - layer: B.Cu
      - layer: B.Mask
        color: '#14332440'
      - layer: B.Paste
      - layer: B.Silkscreen
      - layer: Edge.Cuts
      - layer: User.Drawings
      - layer: User.Comments
      mirror: true
      sheet: Bottom copper
    - layers:
      - layer: B.Courtyard
      - layer: Edge.Cuts
      - layer: User.Drawings
      - layer: User.Comments
      mirror: true
      sheet: Bottom courtyard area
    - layers:
      - layer: F.Courtyard
      - layer: Edge.Cuts
      - layer: User.Drawings
      - layer: User.Comments
      sheet: Front courtyard area
    - layers:
      - layer: B.Fab
      - layer: Edge.Cuts
      - layer: User.Drawings
      - layer: User.Comments
      mirror: true
      sheet: Bottom documentation
    - layers:
      - layer: F.Fab
      - layer: Edge.Cuts
      - layer: User.Drawings
      - layer: User.Comments
      sheet: Front documentation
    keep_temporal_files: true
- name: basic_pcb_print_svg
  comment: PCB
  type: pcb_print
  dir: PCB/SVG
  options:
    format: SVG
    pages:
    - layers:
      - layer: F.Cu
      - layer: F.Mask
        color: '#14332440'
      - layer: F.Silkscreen
      - layer: Edge.Cuts
      - layer: User.Drawings
      - layer: User.Comments
      sheet: Front copper
    - layers:
      - layer: In1.Cu
      - layer: Edge.Cuts
      - layer: User.Drawings
      - layer: User.Comments
      sheet: Inner layer 1
    - layers:
      - layer: In2.Cu
      - layer: Edge.Cuts
      - layer: User.Drawings
      - layer: User.Comments
      sheet: Inner layer 2
    - layers:
      - layer: B.Cu
      - layer: B.Mask
        color: '#14332440'
      - layer: B.Paste
      - layer: B.Silkscreen
      - layer: Edge.Cuts
      - layer: User.Drawings
      - layer: User.Comments
      mirror: true
      sheet: Bottom copper
    - layers:
      - layer: B.Courtyard
      - layer: Edge.Cuts
      - layer: User.Drawings
      - layer: User.Comments
      mirror: true
      sheet: Bottom courtyard area
    - layers:
      - layer: F.Courtyard
      - layer: Edge.Cuts
      - layer: User.Drawings
      - layer: User.Comments
      sheet: Front courtyard area
    - layers:
      - layer: B.Fab
      - layer: Edge.Cuts
      - layer: User.Drawings
      - layer: User.Comments
      mirror: true
      sheet: Bottom documentation
    - layers:
      - layer: F.Fab
      - layer: Edge.Cuts
      - layer: User.Drawings
      - layer: User.Comments
      sheet: Front documentation
    keep_temporal_files: true
    add_background: true
- name: basic_pcb_print_png
  comment: PCB
  type: pcb_print
  dir: PCB/PNG
  options:
    format: PNG
    pages:
    - layers:
      - layer: F.Cu
      - layer: F.Mask
        color: '#14332440'
      - layer: F.Silkscreen
      - layer: Edge.Cuts
      - layer: User.Drawings
      - layer: User.Comments
      sheet: Front copper
    - layers:
      - layer: In1.Cu
      - layer: Edge.Cuts
      - layer: User.Drawings
      - layer: User.Comments
      sheet: Inner layer 1
    - layers:
      - layer: In2.Cu
      - layer: Edge.Cuts
      - layer: User.Drawings
      - layer: User.Comments
      sheet: Inner layer 2
    - layers:
      - layer: B.Cu
      - layer: B.Mask
        color: '#14332440'
      - layer: B.Paste
      - layer: B.Silkscreen
      - layer: Edge.Cuts
      - layer: User.Drawings
      - layer: User.Comments
      mirror: true
      sheet: Bottom copper
    - layers:
      - layer: B.Courtyard
      - layer: Edge.Cuts
      - layer: User.Drawings
      - layer: User.Comments
      mirror: true
      sheet: Bottom courtyard area
    - layers:
      - layer: F.Courtyard
      - layer: Edge.Cuts
      - layer: User.Drawings
      - layer: User.Comments
      sheet: Front courtyard area
    - layers:
      - layer: B.Fab
      - layer: Edge.Cuts
      - layer: User.Drawings
      - layer: User.Comments
      mirror: true
      sheet: Bottom documentation
    - layers:
      - layer: F.Fab
      - layer: Edge.Cuts
      - layer: User.Drawings
      - layer: User.Comments
      sheet: Front documentation
    keep_temporal_files: true
    add_background: true
- name: basic_pcb_print_eps
  comment: PCB
  type: pcb_print
  dir: PCB/EPS
  options:
    format: EPS
    pages:
    - layers:
      - layer: F.Cu
      - layer: F.Mask
        color: '#14332440'
      - layer: F.Silkscreen
      - layer: Edge.Cuts
      - layer: User.Drawings
      - layer: User.Comments
      sheet: Front copper
    - layers:
      - layer: In1.Cu
      - layer: Edge.Cuts
      - layer: User.Drawings
      - layer: User.Comments
      sheet: Inner layer 1
    - layers:
      - layer: In2.Cu
      - layer: Edge.Cuts
      - layer: User.Drawings
      - layer: User.Comments
      sheet: Inner layer 2
    - layers:
      - layer: B.Cu
      - layer: B.Mask
        color: '#14332440'
      - layer: B.Paste
      - layer: B.Silkscreen
      - layer: Edge.Cuts
      - layer: User.Drawings
      - layer: User.Comments
      mirror: true
      sheet: Bottom copper
    - layers:
      - layer: B.Courtyard
      - layer: Edge.Cuts
      - layer: User.Drawings
      - layer: User.Comments
      mirror: true
      sheet: Bottom courtyard area
    - layers:
      - layer: F.Courtyard
      - layer: Edge.Cuts
      - layer: User.Drawings
      - layer: User.Comments
      sheet: Front courtyard area
    - layers:
      - layer: B.Fab
      - layer: Edge.Cuts
      - layer: User.Drawings
      - layer: User.Comments
      mirror: true
      sheet: Bottom documentation
    - layers:
      - layer: F.Fab
      - layer: Edge.Cuts
      - layer: User.Drawings
      - layer: User.Comments
      sheet: Front documentation
    keep_temporal_files: true
- name: basic_pcb_print_ps
  comment: PCB
  type: pcb_print
  dir: PCB/PS
  options:
    format: PS
    pages:
    - layers:
      - layer: F.Cu
      - layer: F.Mask
        color: '#14332440'
      - layer: F.Silkscreen
      - layer: Edge.Cuts
      - layer: User.Drawings
      - layer: User.Comments
      sheet: Front copper
    - layers:
      - layer: In1.Cu
      - layer: Edge.Cuts
      - layer: User.Drawings
      - layer: User.Comments
      sheet: Inner layer 1
    - layers:
      - layer: In2.Cu
      - layer: Edge.Cuts
      - layer: User.Drawings
      - layer: User.Comments
      sheet: Inner layer 2
    - layers:
      - layer: B.Cu
      - layer: B.Mask
        color: '#14332440'
      - layer: B.Paste
      - layer: B.Silkscreen
      - layer: Edge.Cuts
      - layer: User.Drawings
      - layer: User.Comments
      mirror: true
      sheet: Bottom copper
    - layers:
      - layer: B.Courtyard
      - layer: Edge.Cuts
      - layer: User.Drawings
      - layer: User.Comments
      mirror: true
      sheet: Bottom courtyard area
    - layers:
      - layer: F.Courtyard
      - layer: Edge.Cuts
      - layer: User.Drawings
      - layer: User.Comments
      sheet: Front courtyard area
    - layers:
      - layer: B.Fab
      - layer: Edge.Cuts
      - layer: User.Drawings
      - layer: User.Comments
      mirror: true
      sheet: Bottom documentation
    - layers:
      - layer: F.Fab
      - layer: Edge.Cuts
      - layer: User.Drawings
      - layer: User.Comments
      sheet: Front documentation
    keep_temporal_files: true
- name: basic_pcbdraw_svg_jlcpcb_green_enig_top
  comment: PCB 2D render in SVG format, using jlcpcb-green-enig style
  type: pcbdraw
  dir: PCB/2D_render/jlcpcb_green_enig
  options:
    style: jlcpcb-green-enig
    format: svg
- name: basic_pcbdraw_png_jlcpcb_green_enig_top
  comment: PCB 2D render in PNG format, using jlcpcb-green-enig style
  type: pcbdraw
  dir: PCB/2D_render/jlcpcb_green_enig
  options:
    style: jlcpcb-green-enig
    format: png
- name: basic_pcbdraw_jpg_jlcpcb_green_enig_top
  comment: PCB 2D render in JPG format, using jlcpcb-green-enig style
  type: pcbdraw
  dir: PCB/2D_render/jlcpcb_green_enig
  options:
    style: jlcpcb-green-enig
    format: jpg
- name: basic_pcbdraw_svg_set_blue_enig_top
  comment: PCB 2D render in SVG format, using set-blue-enig style
  type: pcbdraw
  dir: PCB/2D_render/set_blue_enig
  options:
    style: set-blue-enig
    format: svg
- name: basic_pcbdraw_png_set_blue_enig_top
  comment: PCB 2D render in PNG format, using set-blue-enig style
  type: pcbdraw
  dir: PCB/2D_render/set_blue_enig
  options:
    style: set-blue-enig
    format: png
- name: basic_pcbdraw_jpg_set_blue_enig_top
  comment: PCB 2D render in JPG format, using set-blue-enig style
  type: pcbdraw
  dir: PCB/2D_render/set_blue_enig
  options:
    style: set-blue-enig
    format: jpg
- name: basic_pcbdraw_svg_set_red_hasl_top
  comment: PCB 2D render in SVG format, using set-red-hasl style
  type: pcbdraw
  dir: PCB/2D_render/set_red_hasl
  options:
    style: set-red-hasl
    format: svg
- name: basic_pcbdraw_png_set_red_hasl_top
  comment: PCB 2D render in PNG format, using set-red-hasl style
  type: pcbdraw
  dir: PCB/2D_render/set_red_hasl
  options:
    style: set-red-hasl
    format: png
- name: basic_pcbdraw_jpg_set_red_hasl_top
  comment: PCB 2D render in JPG format, using set-red-hasl style
  type: pcbdraw
  dir: PCB/2D_render/set_red_hasl
  options:
    style: set-red-hasl
    format: jpg
- name: basic_pcbdraw_svg_jlcpcb_green_enig_bottom
  comment: PCB 2D render in SVG format, using jlcpcb-green-enig style
  type: pcbdraw
  dir: PCB/2D_render/jlcpcb_green_enig
  options:
    style: jlcpcb-green-enig
    format: svg
    bottom: true
- name: basic_pcbdraw_png_jlcpcb_green_enig_bottom
  comment: PCB 2D render in PNG format, using jlcpcb-green-enig style
  type: pcbdraw
  dir: PCB/2D_render/jlcpcb_green_enig
  options:
    style: jlcpcb-green-enig
    format: png
    bottom: true
- name: basic_pcbdraw_jpg_jlcpcb_green_enig_bottom
  comment: PCB 2D render in JPG format, using jlcpcb-green-enig style
  type: pcbdraw
  dir: PCB/2D_render/jlcpcb_green_enig
  options:
    style: jlcpcb-green-enig
    format: jpg
    bottom: true
- name: basic_pcbdraw_svg_set_blue_enig_bottom
  comment: PCB 2D render in SVG format, using set-blue-enig style
  type: pcbdraw
  dir: PCB/2D_render/set_blue_enig
  options:
    style: set-blue-enig
    format: svg
    bottom: true
- name: basic_pcbdraw_png_set_blue_enig_bottom
  comment: PCB 2D render in PNG format, using set-blue-enig style
  type: pcbdraw
  dir: PCB/2D_render/set_blue_enig
  options:
    style: set-blue-enig
    format: png
    bottom: true
- name: basic_pcbdraw_jpg_set_blue_enig_bottom
  comment: PCB 2D render in JPG format, using set-blue-enig style
  type: pcbdraw
  dir: PCB/2D_render/set_blue_enig
  options:
    style: set-blue-enig
    format: jpg
    bottom: true
- name: basic_pcbdraw_svg_set_red_hasl_bottom
  comment: PCB 2D render in SVG format, using set-red-hasl style
  type: pcbdraw
  dir: PCB/2D_render/set_red_hasl
  options:
    style: set-red-hasl
    format: svg
    bottom: true
- name: basic_pcbdraw_png_set_red_hasl_bottom
  comment: PCB 2D render in PNG format, using set-red-hasl style
  type: pcbdraw
  dir: PCB/2D_render/set_red_hasl
  options:
    style: set-red-hasl
    format: png
    bottom: true
- name: basic_pcbdraw_jpg_set_red_hasl_bottom
  comment: PCB 2D render in JPG format, using set-red-hasl style
  type: pcbdraw
  dir: PCB/2D_render/set_red_hasl
  options:
    style: set-red-hasl
    format: jpg
    bottom: true
- name: basic_pdf
  comment: Individual layers in PDF format
  type: pdf
  dir: Individual_Layers/PDF
  layers:
  - layer: F.Cu
    suffix: F_Cu
    description: Front copper
  - layer: In1.Cu
    suffix: In1_Cu
    description: Inner layer 1
  - layer: In2.Cu
    suffix: In2_Cu
    description: Inner layer 2
  - layer: B.Cu
    suffix: B_Cu
    description: Bottom copper
  - layer: B.Paste
    suffix: B_Paste
    description: Bottom solder paste
  - layer: B.Silkscreen
    suffix: B_Silkscreen
    description: Bottom silkscreen (artwork)
  - layer: F.Silkscreen
    suffix: F_Silkscreen
    description: Front silkscreen (artwork)
  - layer: B.Mask
    suffix: B_Mask
    description: Bottom soldermask (negative)
  - layer: F.Mask
    suffix: F_Mask
    description: Front soldermask (negative)
  - layer: User.Drawings
    suffix: User_Drawings
    description: User drawings
  - layer: User.Comments
    suffix: User_Comments
    description: User comments
  - layer: Edge.Cuts
    suffix: Edge_Cuts
    description: Board shape
  - layer: B.Courtyard
    suffix: B_Courtyard
    description: Bottom courtyard area
  - layer: F.Courtyard
    suffix: F_Courtyard
    description: Front courtyard area
  - layer: B.Fab
    suffix: B_Fab
    description: Bottom documentation
  - layer: F.Fab
    suffix: F_Fab
    description: Front documentation
- name: basic_pdf_sch_print
  comment: Schematic in PDF format
  type: pdf_sch_print
  dir: Schematic
- name: basic_position_ASCII
  comment: Components position for Pick & Place
  type: position
  dir: Position
  options:
    format: ASCII
    only_smd: false
- name: basic_position_CSV
  comment: Components position for Pick & Place
  type: position
  dir: Position
  options:
    format: CSV
    only_smd: false
- name: basic_ps
  comment: Individual layers in PS format
  type: ps
  dir: Individual_Layers/PS
  layers:
  - layer: F.Cu
    suffix: F_Cu
    description: Front copper
  - layer: In1.Cu
    suffix: In1_Cu
    description: Inner layer 1
  - layer: In2.Cu
    suffix: In2_Cu
    description: Inner layer 2
  - layer: B.Cu
    suffix: B_Cu
    description: Bottom copper
  - layer: B.Paste
    suffix: B_Paste
    description: Bottom solder paste
  - layer: B.Silkscreen
    suffix: B_Silkscreen
    description: Bottom silkscreen (artwork)
  - layer: F.Silkscreen
    suffix: F_Silkscreen
    description: Front silkscreen (artwork)
  - layer: B.Mask
    suffix: B_Mask
    description: Bottom soldermask (negative)
  - layer: F.Mask
    suffix: F_Mask
    description: Front soldermask (negative)
  - layer: User.Drawings
    suffix: User_Drawings
    description: User drawings
  - layer: User.Comments
    suffix: User_Comments
    description: User comments
  - layer: Edge.Cuts
    suffix: Edge_Cuts
    description: Board shape
  - layer: B.Courtyard
    suffix: B_Courtyard
    description: Bottom courtyard area
  - layer: F.Courtyard
    suffix: F_Courtyard
    description: Front courtyard area
  - layer: B.Fab
    suffix: B_Fab
    description: Bottom documentation
  - layer: F.Fab
    suffix: F_Fab
    description: Front documentation
- name: basic_ps_sch_print
  comment: Schematic in PS format
  type: ps_sch_print
  dir: Schematic
- name: basic_qr_lib_example
  comment: QR code symbol and footprint example
  type: qr_lib
  dir: QR_libs
  options:
    qrs:
    - correction_level: medium
      name: QR_data
      pcb_negative: true
    - correction_level: medium
      name: QR_kibot
      text: https://github.com/INTI-CMNB/KiBot/
    use_sch_dir: false
- name: basic_render_3d_top
  comment: 3D view from top
  type: render_3d
  dir: 3D
  options:
    ray_tracing: true
    orthographic: true
- name: basic_render_3d_30deg
  comment: 3D view from 30 degrees
  type: render_3d
  dir: 3D
  output_id: 30deg
  options:
    ray_tracing: true
    rotate_x: 3
    rotate_z: -2
- name: basic_render_3d_bottom
  comment: 3D view from bottom
  type: render_3d
  dir: 3D
  options:
    ray_tracing: true
    orthographic: true
    view: bottom
- name: report_simple
  comment: Simple design report
  type: report
  output_id: _simple
  options:
    template: simple_ASCII
- name: report_full
  comment: Full design report
  type: report
  options:
    template: full_SVG
- name: basic_stencil_3d
  comment: 3D self-registering stencil
  type: stencil_3d
  dir: Assembly
- name: basic_stencil_for_jig
  comment: Steel stencil for alignment jig
  type: stencil_for_jig
  dir: Assembly
  options:
    jigwidth: 100
    jigheight: 100
- name: basic_step
  comment: 3D model in STEP format
  type: step
  dir: 3D
- name: basic_svg
  comment: Individual layers in SVG format
  type: svg
  dir: Individual_Layers/SVG
  layers:
  - layer: F.Cu
    suffix: F_Cu
    description: Front copper
  - layer: In1.Cu
    suffix: In1_Cu
    description: Inner layer 1
  - layer: In2.Cu
    suffix: In2_Cu
    description: Inner layer 2
  - layer: B.Cu
    suffix: B_Cu
    description: Bottom copper
  - layer: B.Paste
    suffix: B_Paste
    description: Bottom solder paste
  - layer: B.Silkscreen
    suffix: B_Silkscreen
    description: Bottom silkscreen (artwork)
  - layer: F.Silkscreen
    suffix: F_Silkscreen
    description: Front silkscreen (artwork)
  - layer: B.Mask
    suffix: B_Mask
    description: Bottom soldermask (negative)
  - layer: F.Mask
    suffix: F_Mask
    description: Front soldermask (negative)
  - layer: User.Drawings
    suffix: User_Drawings
    description: User drawings
  - layer: User.Comments
    suffix: User_Comments
    description: User comments
  - layer: Edge.Cuts
    suffix: Edge_Cuts
    description: Board shape
  - layer: B.Courtyard
    suffix: B_Courtyard
    description: Bottom courtyard area
  - layer: F.Courtyard
    suffix: F_Courtyard
    description: Front courtyard area
  - layer: B.Fab
    suffix: B_Fab
    description: Bottom documentation
  - layer: F.Fab
    suffix: F_Fab
    description: Front documentation
- name: basic_svg_sch_print
  comment: Schematic in SVG format
  type: svg_sch_print
  dir: Schematic
- name: basic_vrml
  comment: PCB in VRML format
  type: vrml
  dir: 3D

...
definitions:
  _KIBOT_MANF_DIR_COMP: Manufacturers
  _KIBOT_GERBER_LAYERS: "- layer: 'F.Cu'\n        suffix: 'F_Cu'\n        description:\
    \ 'Front copper'\n      - layer: 'In1.Cu'\n        suffix: 'In1_Cu'\n        description:\
    \ 'Inner layer 1'\n      - layer: 'In2.Cu'\n        suffix: 'In2_Cu'\n       \
    \ description: 'Inner layer 2'\n      - layer: 'B.Cu'\n        suffix: 'B_Cu'\n\
    \        description: 'Bottom copper'\n      - layer: 'B.Paste'\n        suffix:\
    \ 'B_Paste'\n        description: 'Bottom solder paste'\n      - layer: 'B.Silkscreen'\n\
    \        suffix: 'B_Silkscreen'\n        description: 'Bottom silkscreen (artwork)'\n\
    \      - layer: 'F.Silkscreen'\n        suffix: 'F_Silkscreen'\n        description:\
    \ 'Front silkscreen (artwork)'\n      - layer: 'B.Mask'\n        suffix: 'B_Mask'\n\
    \        description: 'Bottom soldermask (negative)'\n      - layer: 'F.Mask'\n\
    \        suffix: 'F_Mask'\n        description: 'Front soldermask (negative)'\n\
    \      - layer: 'Edge.Cuts'\n        suffix: 'Edge_Cuts'\n        description:\
    \ 'Board shape'"
IvanVnucec commented 3 weeks ago

@set-soft I've changed the KiBot container to the dev one ghcr.io/inti-cmnb/kicad8_auto_full:dev but the problem still persist:

ERROR:Unable to expand `KICAD8_3DMODEL_DIR` in `${KICAD8_3DMODEL_DIR}/Capacitor_SMD.3dshapes/C_0603_1608Metric.wrl` (kibot - log.py:179)

However, the run finishes successfully.

set-soft commented 3 weeks ago

This is fine, the docker image doesn't have the 3D models, you didn't define KICAD8_3DMODEL_DIR (KiCad neither), and hence KiBot can't even guess its value (no 3D models).

So KiBot is downloading them and using the downloaded model. The fatal problem was "ERROR:Unable to generate ..." which is already fixed.