Closed wandrewkeech closed 1 year ago
sorry for delayed response. i'll look into it as soon as i can
well the error replicates here. i'll try to play around with it, but I think it's a FreeCAD behavior problem. I do not do anything particular to write/save these objects. All the objects created by the workbench are fairly 'vanilla' python objects.
Have you asked on the forum?
I would certainly like to fix it, but if there's anything that needs to change in silk it's not obvious.
my next test is going to be to delete/rebuild other Silk objects, then rebuild from scratch and see if that behaves any differently. i've never had any 'save' related problems so far.
for the broken star surfaces, some resolution is on the way. Werner has fixed the issue, i'm still not clear when the fix will reach weekly-builds or the official release (i'm not set up to compile) viewtopic.php?t=77148
the previous behavior was that surfaces (in lists) were ignored on save, so they were getting rebuilt every time the file opened. this is fine to me even if it does take longer to reopen files, and maybe one day, they will be saved and files will then open very fast.
Werner fixed it so that the old behavior comes back, but it'll take some time until the fix reaches the prebuilt packages. so the surfaces will simply not be saved and instead will recompute when opening the files.
i'll keep this issue open until i see the fix in a public build.
Wow, thank you for all that hard work! I'm on the snap nightly build, so I'll try again after the next update and see if that change has come through.
Confirmed in a development build that the issue has been addressed!
Testing on Demo03, delete and recreate any of the NStar surfaces. Operation completes successfully, but on document save the following error is emitted:
This very quiet error results in a partially corrupted file, which upon reopening emits these errors:
The contents of the Document.xml file show the object malformed as such, with the GeometryList terminating immediately after starting the Part::GeomBSplineSurface object and leaving the GeometryList open: