Dear Fritzing team,
I am writing to report a significant issue with custom part rendering in Fritzing 1.0.7 on macOS that makes it impossible to use certain third-party parts.
The problem:
When importing a custom .fzpz part (specifically the Analog Discovery Studio part from Digilent), the part appears briefly on the breadboard canvas and then immediately disappears. No meaningful error message is shown to the user — the part simply vanishes after being dragged.
After extensive investigation, I identified several root causes:
-
Qt SVG renderer limitations: Fritzing's Qt-based SVG renderer silently fails on SVGs containing certain elements or attributes that are valid SVG but unsupported by Qt, including:
- CSS <style> blocks with class-based selectors (Qt ignores them, making all elements invisible)
- linearGradient elements
- tags
- bare elements with no attributes
- custom attributes such as data-* and gorn=
-
Shape complexity limit: Qt's SVG renderer appears to have an undocumented limit on the number of shapes it can render. SVGs with more than approximately 700 shape elements cause the renderer to silently fail and the part disappears.
-
File extraction behavior: Fritzing 1.0.7 on macOS extracts only the .fzp file from the .fzpz archive to disk, but reads SVG files directly from the original zip archive. This behavior is undocumented and different from what the Fritzing documentation implies.
The Digilent Analog Discovery Studio breadboard SVG contains approximately 6,931 shape elements (representing the breadboard holes and component details), which far exceeds the rendering limit.
System information:
- Fritzing version: 1.0.7
- macOS version: current
- Part: Analog Discovery Studio by Digilent
I am happy to provide the modified .fzpz files and SVGs I produced during debugging if that would be helpful.
Thank you for your time and for maintaining Fritzing.
Best regards,
Eduardo Cortina Gil
Dear Fritzing team,
I am writing to report a significant issue with custom part rendering in Fritzing 1.0.7 on macOS that makes it impossible to use certain third-party parts.
The problem:
When importing a custom .fzpz part (specifically the Analog Discovery Studio part from Digilent), the part appears briefly on the breadboard canvas and then immediately disappears. No meaningful error message is shown to the user — the part simply vanishes after being dragged.
After extensive investigation, I identified several root causes:
Qt SVG renderer limitations: Fritzing's Qt-based SVG renderer silently fails on SVGs containing certain elements or attributes that are valid SVG but unsupported by Qt, including:
Shape complexity limit: Qt's SVG renderer appears to have an undocumented limit on the number of shapes it can render. SVGs with more than approximately 700 shape elements cause the renderer to silently fail and the part disappears.
File extraction behavior: Fritzing 1.0.7 on macOS extracts only the .fzp file from the .fzpz archive to disk, but reads SVG files directly from the original zip archive. This behavior is undocumented and different from what the Fritzing documentation implies.
The Digilent Analog Discovery Studio breadboard SVG contains approximately 6,931 shape elements (representing the breadboard holes and component details), which far exceeds the rendering limit.
System information:
I am happy to provide the modified .fzpz files and SVGs I produced during debugging if that would be helpful.
Thank you for your time and for maintaining Fritzing.
Best regards,
Eduardo Cortina Gil