Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reload from disk function not working with ver 2.3.3 and 2.4.0 #7589

Open
lcemoore opened this issue Dec 23, 2021 · 38 comments
Open

Reload from disk function not working with ver 2.3.3 and 2.4.0 #7589

lcemoore opened this issue Dec 23, 2021 · 38 comments

Comments

@lcemoore
Copy link

Version

2.4.0

Operating system type + version

Windows 10 build, 21H2

3D printer brand / version + firmware version (if known)

MK3S+,
FW 3.1.0 4481

Behavior

Since upgrading to PS 2.3.3 and now with 2.4.0, the reload from disk function does nothing. There is no error message, and the old version of the object is not replaced.

Project File (.3MF) where problem occurs

This problem is not related to any specific file, and it does apply to both .3mf and .stl files

@bubnikv
Copy link
Collaborator

bubnikv commented Dec 23, 2021

We tested reload from disk extensively for PrusaSlicer 2.4.0 release after we fixed some issues of PrusaSlicer 2.3.3. Namely, we fixed reload from disk after a project is loaded from a 3MF. Reload from disk worked for a fresh project, but for a project loaded from 3MF the "reload from disk" feature did not reload a geometry at the same position and scale
#5541.

When the "Reload from disk" action was called on an object for which only the source file name, not the full path to the source file name was known, PrusaSlicer used to always ask the user to look up the source file location manually, while newly PrusaSlicer searches for the source file next to the active project file before asking the user for help.

In addition to reloading an existing object or volume geometry from disk, PrusaSlicer newly allows to replace the geometry with a different file
#3856.

This change log entry is a bug fix of an error introduced between 2.3.3 and 2.4.0 final: Fixed 'Reload from disk' which did not work for modifier volumes and which sometimes shifted the reloaded object incorrectly #7429.

However @jmerc77 complains at #7429 that reload from disk does not work for him, while three people of our team were not able to confirm @jmerc77 's findings. Frankly I don't know what to do. It works for us.

@lcemoore
Copy link
Author

It's not a show stopper for me, but it is odd. I can see why shifting the position upon reload would be annoying, but I never experienced that because reload from disk hasn't worked for me since the move to .3mf.

Thanks for your reply.

@bombela
Copy link

bombela commented Jan 11, 2022

For me, the reload overrides my parts with the first one in the file (first as in, the one physically first in the file). I have a .amf with two independent parts. I can import this file, and I get the two parts in prusa slicer. Each part gets its unique name as well. The same name as was given within the amf file. When I refresh, part 1 and part 2 are replaced by the new part 1. They do keep theirs original names. But the geometry was replaced on both by the first part.

Took me a while to realize because I happen to have very similar parts (one slides into the other). And I couldn't figure why on earth my two parts had the exact same dimensions when printed! (I am printing with a new 0.8mm nozzle, I thought I had done something wrong).

@FrHePo
Copy link

FrHePo commented Feb 2, 2022

For projects created with 2.4.0 reload from disk still doesn't work using 2.4.1 beta1.
For projects created with 2.4.1 beta1 reload from disk seems to work ok.

@FrHePo
Copy link

FrHePo commented Feb 2, 2022

Update: For all earlier created projects (before 2.4.1 beta1) reload from disk doesn't work!
Since I have some older projects with complicated modifiers this definitely doesn't make me happy.

@bombela
Copy link

bombela commented Feb 2, 2022

Also for me, reload from disk only work as long as I keep prusaslicer open. Here are the steps to reproduce:

  • open prusaslicer
  • import the different AMF each with a single uniquely named part
  • reload from disks works fine
  • save project to .3mf and close prusaslicer
  • open prusa slicer and recall project
  • reload from disk fails with a generic error (cannot reload from disk)

Storing the full path to the original AMF files within the .3mf doesn't change anything.

@FrHePo
Copy link

FrHePo commented Feb 2, 2022

Did you try the latest version (2.4.1 beta1)?

@bombela
Copy link

bombela commented Feb 3, 2022

On 2.4.1 beta1, replace with STL is grayed out for me. I was opening a file made with the stable version. Reload from disk fails with the same error. Replace with STL is disabled. So in some ways, the situation is worse for me.

@bombela
Copy link

bombela commented Feb 3, 2022

Reducing the number of replica to 1, enabled back the replace from STL. I replaced with a .AMF containing a single part. Then I saved. Closed prusa slicer 1.4.1 beta1. Open prusa slicer again and my .3mf save. Reload from disk fails with the same generic error:

Unable to reload:
<part_filename.amf>

The error is the same with and without the absolute amf/3mf source path setting turned on.

@FrHePo
Copy link

FrHePo commented Mar 7, 2022

Using PrusaSlicer 2.4.1-rc1 reload from disk still doesn't function after reparing the amf-file with netfabb.
Error reload from disk

@FrHePo
Copy link

FrHePo commented Mar 14, 2022

Tried to 'reload from disk' (AMF-file) with the new version 2.4.1 (Windows 10, 64 bit). Result: still the same error as above!
I just don't get it. Can someone explain this to me?
Even in the case that metadata for the amf-(or other) file are missing or erroneous why not open a user dialogue to allow the user to enter the correct file?

@FrHePo
Copy link

FrHePo commented Mar 14, 2022

Another way to provoke this 'reload' error: 1. New project. 2. Load AMF-file. 3. Save project. 4. recall project. 5. Reload from disk --> above error.

@FrHePo
Copy link

FrHePo commented Mar 16, 2022

No comments? Nobody interested?

@jmerc77
Copy link

jmerc77 commented Mar 16, 2022

one thing thats a bit odd is having replace with stl and reload from disk as separate functions internally. it would be more wise to just have 1 function for replace with file (any model not stl only) and for reload from disk simply call replace with file with the path saved in the project/project file. this way however, if one fails they both fail. but on the other hand, the failing is all in one place making it easy to fix.

@FrHePo
Copy link

FrHePo commented Mar 16, 2022

I agree. It seems to me that this important function just did not get the proper attention. I hope (and expect) that in the next beta version a good solution will be offered.

@jmerc77
Copy link

jmerc77 commented Mar 16, 2022

do you mean 2.4.2? because 2.4.1 is now in release stage.

@FrHePo
Copy link

FrHePo commented Mar 16, 2022

Yes, 2.4.2 beta1 would be the first opportunity.

@FrHePo
Copy link

FrHePo commented May 11, 2022

2.4.2 Reload from disk bug again not addressed 🙈

@FrHePo
Copy link

FrHePo commented Aug 12, 2022

2.5.0-alpha3 nothing changed AFAIS 😭

@jmerc77
Copy link

jmerc77 commented Aug 13, 2022

my finding at #7429 is still there pre 2.5.0. I must point out that its when I save project and reopen that it occurs. no issues before saving. haven't tested the findings in 2.5.0 but do have alpha3 installed. will update on this in #7429.

@FrHePo
Copy link

FrHePo commented Oct 11, 2022

Version 2.5.0 When you open a saved project and try to reload (an amf-file) from disk, you still get an "unable to reload".
I really wonder, why this problem is being ignored. It must be more than a year old.

@bombela
Copy link

bombela commented Oct 11, 2022

For me, it reloads fine when AMF/STL/STEP contain a single part on 2.5.0.

Also, the F5 shorcut for reloading only works in the 3D view, not the gcode view (there, it is just ignored). But you an still click through the menu.

@FrHePo
Copy link

FrHePo commented Oct 11, 2022

Schaber reload error
Right click -> reload from disk -> error

@FrHePo
Copy link

FrHePo commented Oct 11, 2022

Before the project is saved 'reload from disk' works fine but after saving, exiting and reloading the project 'reload from disk' produces the above error. This happens consistently on both my laptop and my workstation.

@bombela
Copy link

bombela commented Oct 12, 2022

I wonder if the style of path makes a difference. I notice you have a windows NT absolute path (\\blabla). What if you use a C:\ style path?

@jmerc77
Copy link

jmerc77 commented Oct 12, 2022 via email

@jmerc77
Copy link

jmerc77 commented Oct 12, 2022 via email

@FrHePo
Copy link

FrHePo commented Oct 12, 2022

The style of path makes no difference. On my workstation the files lie on my local disk. The problem is the same.

@FrHePo
Copy link

FrHePo commented Oct 12, 2022

Yes, the amf-file does exist. My workaround is to use the "replace with stl"-function which accepts the replaced amf-file.

@FrHePo
Copy link

FrHePo commented Oct 12, 2022

grafik

@FrHePo
Copy link

FrHePo commented Dec 11, 2022

I removed all occurences of the Prusa slicer software. I really cleaned my laptop (Windows 10) of all Prusa software. Then I did a new install of Prusa slicer 2.5.0. Then I created a new project with an .amf-file. After saving the project, quitting, starting Prusaslicer again I recalled the project and tried to 'reload from disk'. As usual I got an error (see attached picture).
Reload problem
I tried both 'reload from disk'-export configuration options.
I really wonder why this bug is not addressed. It's easy to reproduce and is not dependent of any complex condition.

@jmerc77
Copy link

jmerc77 commented Dec 11, 2022

Never got that error but had other issues. Maybe try on a fresh win10 install just in case your os is corrupt.

@bombela
Copy link

bombela commented Dec 12, 2022 via email

@jmerc77
Copy link

jmerc77 commented Dec 12, 2022

Come to think of it, the AMF reader could be the problem. Try converting to some other format and see if anything changes. Btw could you or someone translate the error to English please.

Edit not sure if the same but saw "unable to reload" further up.

@jmerc77
Copy link

jmerc77 commented Dec 12, 2022

the error seems to be shown in Plater.cpp-> Plater::priv::reload_from_disk() at the end of the function.
tracing back through the fail_list that triggers the error there are 4 if conditions all pushing to fail_list under the same condition of (in pairs): if (new_object_idx < 0 || int(new_model.objects.size()) <= new_object_idx)
...
if (new_volume_idx < 0 || int(new_model_object->volumes.size()) <= new_volume_idx)

given the nature of the condition, it seems that there needs to be no new volumes in the imported AMF file. not sure though. the question is what is the differences between the old AMF and the new AMF?

edit: after some testing, apparently not it. the trace is still a good start though

@jmerc77
Copy link

jmerc77 commented Dec 12, 2022

out of curiosity I extracted the configs from 3mf projects for comparison...

one with stls:
<?xml version="1.0" encoding="UTF-8"?> <config> <object id="1" instances_count="2"> <metadata type="object" key="name" value="myfile1.stl"/> <volume firstid="0" lastid="931"> <metadata type="volume" key="name" value="myfile1.stl"/> <metadata type="volume" key="volume_type" value="ModelPart"/> <metadata type="volume" key="matrix" value="1 0 0 0 0 1 0 3.814697265625e-06 0 0 1 0 0 0 0 1"/> <metadata type="volume" key="source_file" value="C:\Users\Owner\Documents\Arduino\xmas_leds\myfile1.stl"/> <metadata type="volume" key="source_object_id" value="0"/> <metadata type="volume" key="source_volume_id" value="0"/> <metadata type="volume" key="source_offset_x" value="0"/> <metadata type="volume" key="source_offset_y" value="124.99999666213989"/> <metadata type="volume" key="source_offset_z" value="4.0499997138977051"/> <mesh edges_fixed="0" degenerate_facets="0" facets_removed="0" facets_reversed="0" backwards_edges="0"/> </volume> </object> <object id="3" instances_count="2"> <metadata type="object" key="name" value="myfile2.stl"/> <volume firstid="0" lastid="1067"> <metadata type="volume" key="name" value="myfile2.stl"/> <metadata type="volume" key="volume_type" value="ModelPart"/> <metadata type="volume" key="matrix" value="1 0 0 0 0 1 0 3.814697265625e-06 0 0 1 0 0 0 0 1"/> <metadata type="volume" key="source_file" value="C:\Users\Owner\Documents\Arduino\xmas_leds\myfile2.stl"/> <metadata type="volume" key="source_object_id" value="0"/> <metadata type="volume" key="source_volume_id" value="0"/> <metadata type="volume" key="source_offset_x" value="0"/> <metadata type="volume" key="source_offset_y" value="124.99999666213989"/> <metadata type="volume" key="source_offset_z" value="4.0499997138977051"/> <mesh edges_fixed="0" degenerate_facets="0" facets_removed="0" facets_reversed="0" backwards_edges="0"/> </volume> </object> </config>

one with an amf:
<?xml version="1.0" encoding="UTF-8"?> <config> <object id="1" instances_count="1"> <metadata type="object" key="name" value="myfile.amf"/> <volume firstid="0" lastid="263"> <metadata type="volume" key="volume_type" value="ModelPart"/> <metadata type="volume" key="matrix" value="1 0 0 0 0 1 0 0 0 0 1 2.384185791015625e-07 0 0 0 1"/> <metadata type="volume" key="source_file" value="C:\Users\Owner\Documents\Arduino\xmas_leds\myfile.amf"/> <metadata type="volume" key="source_object_id" value="0"/> <metadata type="volume" key="source_volume_id" value="0"/> <metadata type="volume" key="source_offset_x" value="0"/> <metadata type="volume" key="source_offset_y" value="-1.0500001907348633"/> <metadata type="volume" key="source_offset_z" value="4.4500001668930054"/> <mesh edges_fixed="0" degenerate_facets="0" facets_removed="0" facets_reversed="0" backwards_edges="0"/> </volume> </object> </config>
notice the missing <metadata type="volume" key="name" value="myfile.amf"/>
in the amf one? maybe this is part of the issue.

@jmerc77
Copy link

jmerc77 commented Dec 12, 2022

adding the missing name did nothing. however, it does seem to be when opening from project file. which is similar to a problem i had with placement of stls in the slicer.

@FrHePo
Copy link

FrHePo commented Dec 12, 2022

Error
Translation:
Error on reload
Can't be reloaded:
C:\Users\Lenovo\Desktop\Adapter Dragon-Orbiter 2.0.AMF

I have the same error on my Lenovo laptop as well as on my HP Z620 Workstation. Both running on Windows10.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants