fritzing / fritzing-app

Fritzing desktop application
http://fritzing.org
Other
3.87k stars 814 forks source link

Imported part not written to .fzz file #4120

Open vanepp opened 4 months ago

vanepp commented 4 months ago

Current Behaviour

The part (from Adafruit)

Adafruit PermaProto Full-sized Board.fzpz.zip

(remove the .zip to recreate the .fzpz file)

and the broken .fzz file that was saved

testSketch.fzz.zip

(again remove the trailing .zip to get the .fzz file)

The part loads in to Fritzing just fine (it also causes performance issues on Linux though and is misconfigured which is likely the source of this problem!) See forum post

https://forum.fritzing.org/t/fritzing-is-very-slow-on-my-pc/4278

for more info (and a previous post from 2018 on the same issue.) There is a corrected part posted there which doesn't have this problem.

Loading the part in to Fritzing works fine (I dragged in a resistor to demonstrate the fault.)

capture

for me on Win10, I have never seen performance issues either in 2018 or now but on Linux (under Wayland?) they apparently appear, possibly the same difference that didn't get discovered in 2018?. So in Fritzing File->Save as to save the .fzz file (which should also save the Adafruit part as it isn't in core parts) then close Fritzing.

capture1

then double click on the .fzz file to load the sketch

capture2

we get an error message about the Adafruit part being missing

capture3

clicking OK brings up only the resistor no Adafruit part and no temp parts bin where the part should be.

capture4

unzip the .fzz file and edit the .fz file and we see a reference to the part but no part in the .fz where it should be.

capture5

Build:

Version 1.0.2 (bCD-1901-0-dbdbe34c 2023-12-20) 64 [Qt 6.5.3]

Operating System:

Windows 10

Steps to reproduce:

see Current Behaviour

Expected Behaviour

Preferably the part files written to the .fzz file (since the loader can load the part this should I think be possible, but maybe not) , but if that isn't possible (because the part is misformatted, which it is) at least an error message on the save of the .fzz file that something went wrong and a part didn't get saved. As it stands there is no indication of a problem until you attempt to load the .fzz file to Fritzing (which is usually too late!)

vanepp commented 3 months ago

Here is another example that loads but won't export to a .fzz file. It may provide a different path to the same failure.

5V RELAY 2.0.fzpz.zip

remove the trailing .zip to get the .fzpz file, load it in to a sketch then save the sketch as a .fzz file. If you then exit Fritzing discarding the loaded part and load the .fzz file it will fail to load due to the part not being in the .fzz file like this

capture

there are a variety of problems with the part, a missing breadboard layerId and a linear gradient in the defs section of the breadboard svg. Removing them all makes the part able to load. More details can be found in this forum post.

https://forum.fritzing.org/t/my-circuit-wont-simulate/22696