fix: set f_ref in SchematicComponentV6.set_ref() for KiCad 9 compat#932
Open
telagod wants to merge 113 commits into
Open
fix: set f_ref in SchematicComponentV6.set_ref() for KiCad 9 compat#932telagod wants to merge 113 commits into
telagod wants to merge 113 commits into
Conversation
- Also documented `install3D` option
- The `dev` images must be created from `dev` - Coverage information should be from `dev`
fix typo in PcbDraw messages
don't show warning if footprint has attribute "not in schematics"
The workflow is currently broken, fails to upload the .deb package All seems to be ok, most probably some incompatibility with the new artifacts-download (which is really incompatible)
Doesn't seem to be needed, but adds coherence
* Add the same flag from the PDF export for using the aux origin for the export.
…-aux-origin [SVG Export][Added] Flag for using aux origin
Adds `code` and `arg` options to support plugin type for fiducials in panelization.
…ze_fiducials_plugin_options Config: Panelize: Add missing fiducials plugin options
Use Kicad major version for 3rdparty path
No more KiCad 5 releases
SchematicComponentV6.set_ref() sets self.ref but never self.f_ref. When a KiCad 9 schematic component is missing one of the 4 basic fields (Reference/Value/Footprint/Datasheet), _solve_fields() in v5_sch.py:1073 accesses self.f_ref for the warning message, causing: AttributeError: 'SchematicComponentV6' object has no attribute 'f_ref' This crashes KiBot on virtually all KiCad 9 schematics because KiCad 9 changed how fields are stored (fewer default fields in the instance). The fix mirrors what the V5 parsing path does — f_ref is assigned during component reference resolution. Tested with KiBot 1.9.0 + KiCad 9.0.9 on a 91-component board. Before: crash on any output that loads the schematic (bom, render_3d, erc, pdf_sch_print). After: all pass (warnings about missing basic fields are expected and harmless).
Member
|
Hi @telagod !
If rebasing it is complex for you I can just apply it manually, but then I'll have to drop this PR. |
Member
|
Hi @telagod ! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
SchematicComponentV6.set_ref()setsself.refbut neverself.f_ref_solve_fields()inv5_sch.py:1073accessesself.f_reffor the warning messageAttributeError: 'SchematicComponentV6' object has no attribute 'f_ref'The fix
One line:
self.f_ref = refinset_ref(), mirroring what the V5 parsing path does.Traceback
Test plan
bom,render_3d,erc,pdf_sch_print— any output that callsGS.load_sch()