kiutils icon indicating copy to clipboard operation
kiutils copied to clipboard

Fix parsing name of top level schematic lib symbols

Open Frzoen opened this issue 4 months ago • 0 comments

I had an issue with Kiutils parsing locally edited symbols with names ending with _NUMBER as symbol with unitId and styleId, example: have symbol called C_100n_0402 from some lib, modify symbol on the schematic. KiCad adds entry called C_100n_0402_1 to lib_symbols. This only occurs if there is multiple symbols/units from given library and one/more of them is modified on schematic


Here is how changes looks like in the file.

initial schematic symbol s-expression

(symbol  (lib_id "original_lib:C_100n_0402") (at 266.7 170.18 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 03f7402a-7464-4b4e-b06d-ffbb6bd78c22)
    (property "Reference" "CX" (at 269.24 166.3636 90)
      (effects (font (size 1.27 1.27) (thickness 0.15)) (justify right))
    )
....

after editing C_100n_0402 symbol on schematic:

(symbol (lib_name "C_100n_0402_1") (lib_id "origianl_lib:C_100n_0402") (at 266.7 170.18 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 03f7402a-7464-4b4e-b06d-ffbb6bd78c22)
    (property "Reference" "CX" (at 269.24 166.3636 90)
      (effects (font (size 1.27 1.27) (thickness 0.15)) (justify right))
    )
...

and symbol added to lib_symbols by KiCad

(symbol "C_100n_0402_1" (pin_numbers hide) (pin_names hide) (in_bom yes) (on_board yes)
      (property "Reference" "C" (at 20.32 -5.08 0)
        (effects (font (size 1.27 1.27) (thickness 0.15)) (justify left bottom))
      )
...

And parsing this entry from lib_symbols results in following Symbol object:

[Symbol(libraryNickname=None, entryName='C_100n', unitId=402, styleId=1, extends=None, ....

as the name matched regex in libId setter in Symbol class and was parsed as name containing unitId and styleId


For multi unit symbols case looks this same, _1/_2... is added to the name of the symbol and copy of it is stored in the lib_symbols section.

Using KiCad 7.0.11

Example project with symbol affected with this: issue_example.zip

Frzoen avatar Feb 26 '24 21:02 Frzoen