Updating a cut (+/- connectors) STL... and more generally adding history and timeline functionality to Prusa Slicer
 
Notifications
Clear all

Updating a cut (+/- connectors) STL... and more generally adding history and timeline functionality to Prusa Slicer  

  RSS
EsotericMaker
(@esotericmaker)
Trusted Member
Updating a cut (+/- connectors) STL... and more generally adding history and timeline functionality to Prusa Slicer

I know it is possible to reload an existing STL to update any changes.

However, is there any way that you can reload STL that has been rotated, scaled, and cut (with/without connectors) plus added various modifiers along the way so that the operations are applied to the updated STL?

I imagine not... but it would be great if Prusa Slicer could record the series of transformations made on the original STL so that the exact same series could be applied to any replacement STL -- even better if there were a timeline to rollback and change individual steps along the way (similar to Fusion360).

I find that some of my models require a fair bit of transformation in the Prusa Slicer in order to be properly printable (yes I know one can be a purist and do everything in  Fusion360 but I am try to separate modeling from printing to keep my models pristine). Of course, once one exits Prusa Slicer one can no longer undo any actions to go back to some previously defined point in time to start again from there.

Presumably the timeline and manipulation history could be stored in the 3mf metadata -- and implementing this should be much simpler than Fusion360 since there are a much more limited number of slicer operations - you really just need to create an ordered list of the 1-2 dozen or so slicer operations where each step in the history list names a discrete operation (e.g., move, rotate, cut, emboss, etc) along with the value of the relevant parameters.

A further bonus would be to make this fully parametric so that one could name certain parameters (e.g. initialRotation=90, DowelDepth=2mm) so that one could make the changes dynamically from a parameter list.

To me,  adding such funtionality to make basic slicing robust and automatable (as one could create templates for common pre-slicing manipulations) is much more valuable than adding more "modeling" functionality "eye candy" to a slicer. Said another way, I want my modeling tool to do modeling, my slicer to do slicing, with both being robust enough to make it easy to iterate changes and make tweaks at every step along the way from design to slicing without having to start again.

This topic was modified 11 months ago by EsotericMaker
Posted : 25/12/2023 8:23 pm
Neophyl
(@neophyl)
Illustrious Member
RE: Updating a cut (+/- connectors) STL... and more generally adding history and timeline functionality to Prusa Slicer

Simply put, no you cant do all (or most) of that.  You can add certain modifiers, such as variable layer heights or layer height modifiers etc and they will survive a reload of the object.  

Cutting an object generates 2 objects and so you can't reload the geo properly.  
Anything that relies on the ordered list of faces gets reset on a load or cut.  So painting operations also get reset on a cut or even a reload from disk.  Even if the object is identical.  

As this is a user to user forum the devs don't really read things here, any change or feature requests should be made at the Prusa Slicer github https://github.com/prusa3d/PrusaSlicer/issues.   1 issue per request item. 

While PS has an Undo facility (which took years for them to add btw) it doesn't have anything remotely like F360 timeline.  I also suspect adding it wouldn't be as easy as you believe either, although I'd be delighted to be wrong about that.

Posted : 25/12/2023 8:59 pm
_KaszpiR_
(@_kaszpir_)
Honorable Member
RE: Updating a cut (+/- connectors) STL... and more generally adding history and timeline functionality to Prusa Slicer

It's more likely to make such transformations as macro in 3d software than in slicer, because main purpose of the slicer is slicing.

See my GitHub and printables.com for some 3d stuff that you may like.

Posted : 25/12/2023 9:37 pm
EsotericMaker
(@esotericmaker)
Trusted Member
Topic starter answered:
RE: Updating a cut (+/- connectors) STL... and more generally adding history and timeline functionality to Prusa Slicer

 

Posted by: @_kaszpir_

It's more likely to make such transformations as macro in 3d software than in slicer, because main purpose of the slicer is slicing.

I agree and disagree.

The purpose of 3D modeling software is to design the basic shape and functionality of the object, modeling all the key features, relatively independent of what technology is used to build the object and what specific printer model or filament typeThe purpose of the slicer software is to convert your model into something printable on a very specific printer and filament choice (relatively independent of the design of the 3D model itself)

When I rotate, cut or add connectors, add support, that is typically to customize the print job to get around limitations of a *specific* printer or filament type. 

Depending on the print bed size and shape, I may need to rotate and cut the model differentlyDepending on the printing technology and/or quality of the specific printer and/or choice of filament type, I may need more or less support

I don't want to have to create and optimize a different STL model for each printer model/size and for each filament type-- and sometimes, I might not even have access to the original model in parametric form to make the changes in the model.

So while I take general printability considerations into account when I design a model (such as overhanges, resolution, etc.), I don't think the model itself should contain the specific rotations, slices, connectors and other similar information needed to enable and optimize the actual printing on a specific printer.

As such, I believe such operations  that convert a model into something printable on a specific machine **absolutely** belong in the slicer.

You are right (as I pointed in my OP) that certain new eye-candy operations like embossing really belong more in your 3D modeling software than in the printing software as per the "philosophy" I laid out above, such eye-candy is associated more with the generic model than with the specific printer and printing instance.

Posted : 25/12/2023 10:44 pm
EsotericMaker
(@esotericmaker)
Trusted Member
Topic starter answered:
RE:
Posted by: @neophyl

Simply put, no you cant do all (or most) of that.  You can add certain modifiers, such as variable layer heights or layer height modifiers etc and they will survive a reload of the object.  

Cutting an object generates 2 objects and so you can't reload the geo properly.  
Anything that relies on the ordered list of faces gets reset on a load or cut.  So painting operations also get reset on a cut or even a reload from disk.  Even if the object is identical.  

As this is a user to user forum the devs don't really read things here, any change or feature requests should be made at the Prusa Slicer github https://github.com/prusa3d/PrusaSlicer/issues.   1 issue per request item. 

While PS has an Undo facility (which took years for them to add btw) it doesn't have anything remotely like F360 timeline.  I also suspect adding it wouldn't be as easy as you believe either, although I'd be delighted to be wrong about that.

That was what I assumed but I wanted to get feedback on the general idea and make sure I wasn't missing something before submitting it as a Feature Request.

Whether or not it is hard to implement, I personally would hope that the Prusa Slicer devs spend more time on increasing the usability of the core slicing functionality than trying to convert a slicer into a low-end 3D modeling tool

This post was modified 11 months ago by EsotericMaker
Posted : 25/12/2023 10:47 pm
_KaszpiR_
(@_kaszpir_)
Honorable Member
RE: Updating a cut (+/- connectors) STL... and more generally adding history and timeline functionality to Prusa Slicer

Ok I get the idea.

In that case adding some scripting to the slicer to allow automatic model processing via scripts/macros would be useful, no sure though, which language would be suitable here best (lua? Or maybe something specific to 3d modelling domain, idk). But on the other hand maybe developing external tool to process source models would be more advisable, or maybe a plugin to the existing 3d modeling tool? Because slicer would become more and more 3d manipulation tool, which is a bit different domain than slicing...

There are some extra parameters in PrusaSlicer already (run prusaslicer --help and there is extra flag to list even more parameters), but they are basic ones and become to be lacking when trying to automate certain things.

Either way, its probably worth to make a feature request on GitHub, but I would be quite surprised if they picked it up and implemented it.

See my GitHub and printables.com for some 3d stuff that you may like.

Posted : 26/12/2023 12:07 am
Neophyl
(@neophyl)
Illustrious Member
RE: Updating a cut (+/- connectors) STL... and more generally adding history and timeline functionality to Prusa Slicer

 

Posted by: @esotericmaker

Whether or not it is hard to implement, I personally would hope that the Prusa Slicer devs spend more time on increasing the usability of the core slicing functionality than trying to convert a slicer into a low-end 3D modeling tool

Then I fear your hopes will not be fulfilled. If history has shown us anything it is that development goes to the 'flashy' new things rather than fixing even basic outstanding issues that have been around for literal years.  

Unless you can get a successful campaign going on social media to sway the decisions of those in charge of course.  Although your feature sounds like something that only a very small percentage would make use of and doesn't really grab the imagination like the flashy does so good luck in that.

Posted : 26/12/2023 9:12 am
Share: