yaqwsx / KiKit

Automation tools for KiCAD
https://yaqwsx.github.io/KiKit
MIT License
1.49k stars 200 forks source link

A linearring requires at least 4 coordinates. #709

Closed medoix closed 1 month ago

medoix commented 1 month ago

Prerequisites

KiKit version

1.5.1

KiCAD version

8.0.3

Operating system

Windows 11

Description

When attempting to panelize a kicad_pcb file i receive the following error

A linearring requires at least 4 coordinates.

Kikit command:

kikit panelize^
    --source "tolerance: 15mm" ^
    --tabs "type: annotation" ^
    --cuts "type: mousebites; drill: 0.3mm; spacing: 0.6mm; offset: -0.2mm; prolong: 1mm" ^
    --framing "type: railstb; fillet: 1mm" ^
    --tooling "type: 3hole; hoffset: 2.5mm; voffset: 2.5mm; size: 1.152mm; paste: True" ^
    --fiducials "type: 3fid; hoffset: 5mm; voffset: 3.85mm; opening: 2mm" ^
    --text "type: simple; voffset: 2.5mm; thickness: 0.2mm; layer: 0; text: PCB File" ^
    --text2 "type: simple; voffset: -2.5mm; thickness: 0.2mm; layer: 0; text: JLCJLCJLC; anchor: mb" ^
    --post "millradius: 1mm" ^
    "pcb.kicad_pcb" panel.kicad_pcb

kicad_pcb file: pcb.zip

Steps to Reproduce

Open new instance of PCB Editor, load kikit config and set pcb.kicad_pcb as input file and then click Panelize.

yaqwsx commented 1 month ago

Your board contains degenerated bezier curve. KiKit should handle this, but there was a bug in handling such curves. Fixed in 28409eb.