Preform: Replace model (with updated revision)

Does anyone else iterate when developing a part, and wish Preform could import new revisions without making you recreate all your careful orientation work and support edits from scratch?

I suggest a Replace button that:

  1. Deletes the highlighted part, replaces it with a file you select and applies a set of transforms to locate and rotate the new part identically to the one you deleted.

  2. Magically regenerates a support structure mimicking the original while respecting your edits.

    I realize replicating supports is more of a hit-and-miss operation, sensitive to the extent your model geometry has changed. Dimensions may have been modified, features and edges could have been added, moved, removed, etc. I envision hard-core mathematicians sequestering themselves for weeks in search of effective algorithms to recognize similar vs. changed geometry and gracefully mutate the support structures. If that’s not feasible, I had some alternative thoughts.

    A less sophisticated approach might be to distinguish between auto-generated support points and manually applied ones. Use your existing algorithms to regenerate scaffolding from scratch, but treat the areas around any manual supports as “no-go zones” and rely on the user to fine-tune them - indicating problem sections in need of attention with the usual red highlighting. If there’s too much red, nothing’s stopping the user from starting again with the existing Generate Supports button (and it seems more appropriate and natural to leave that decision to the user - i.e. they “own” the manual edits).

    In honesty I think the most elegant solution would be if there were some way to “paint” manual support points (e.g. simple points) and no-go zones (surface regions?) onto my model before exporting an STL for Preform. That way this information would “live” with my model and dynamically update as changes are made. To some degree you can mimic this today by manually building support structures into sensitive areas of your model (so the software simply doesn’t need to generate supports there), but it can be labour-intensive (especially if you aren’t sure in advance what the final print orientation will be) and you can’t leverage Preform’s wonderfully evolved scaffolding patterns.

Personally I would get a lot of value out of this even if Formlabs just implemented #1. Seems utterly straightforward, and would remove an unnecessary impediment the software presently forces on you as a cost of iteration.

Anyone else in the user community give this some traction? Any employees at Formlabs willing to champion it?

A few other notes and links below…

I’m not the first one with this idea.

Also once upon a time the software showed you angle readouts, making it feasible to perfectly restore an orientation. @Andrey_Mishchenko explains why they stripped out that feature, in part because of the order of operations matters. Some users were disappointed and to this date I feel the gap left was never really resolved. In theory you could accomplish an identical orientation today, if you avoid using the rotation gizmo and manually keep track of all steps leading you to the final result. But that’s just inconvenient and tedious.

1 Like

I’d really like this feature but I can see how complicated it could be to implement.
The easiest method would be to just remove the old version and replace with the new version. It would require that the mesh is in the same location as before when you export, otherwise it won’t end up in the same location.
Getting the supports to adjust would be incredibly difficult so it’d be easier to just maintain the support point locations in 3D space which may require users to go over the mesh and make sure that the points are touching.

This is one of the more challenging features that I’ve discussed with our software team. Having a sort of history or macro feature for orientating models in the same way is relatively straightforward algorithmically and the main challenge there is cleanly integrating it into PreForm.

Having supports update is a much more challenging problem. One solution might be to track which supports were manually removed or added by the user and take them into account when generating supports for the new geometry. One of the main issues there is the magnitude by which geometry can change and still autonomously re-generate supports according to user preferences. If a user turns a cube into a sphere, it’s easy to re-orient that object in the same way (especially in the case of spheres…) but it’s more challenging to decide whether supports can be updated in the same way. That’s a more extreme example but the same principle should apply for smaller geometric changes.

In any case, this is something we’re continuing to consider going forwards.


I hate when I can’t get my spherical models oriented correctly!

This is a cool potential enhancement, keep pushing the devs on it. =]

If you can make a simple feature that can reimport an object as long as it was exported in the same position and then have it remove any supports that no longer touch the print then I think that would be doable and would be useful for most people. I think people could get used to that workflow.

Also still waiting on the ability to create a mirrored copy of an object in the software, that should be pretty easy to add as well.

Lordy that would be great if Preform would do that.

I wouldn’t think it would be too hard to at least detect if any support points are no longer touching, or going through the model and alert the user that some supports need to be removed (and bonus points for optionally removing all improper supports or having a way to show which supports are bad.)

I have around a hundred or more supports on a model. I made one tiny adjustment to the surface, smoothing it a little and now I have to redo all those supports? There really needs to be a re-import model option in future. If anything major changes in the mesh, those supports should be taken out. Is this something that we could possibly see in future versions soon?

The new Object Properties dialog would be the perfect place to show the X, Y and Z orientation angles of the model.

While not as awesome as a “Replace” button, being able to see what transformations you need to apply to get a revised STL into roughly the same orientation as the prior one would be s small and helpful step toward easing the repetitive Preform work required each time you want to iterate your design.

In the early days of Preform you could see this information at a glance, but it was later removed. I know there are complications around transform history, but even just being able to see a basic X, Y, Z angle would be really helpful. Right now I resort to writing down (by hand) each rotation I apply so I can re-apply the same transformation to later revisions (which is pretty annoying).

Maybe you guys could consider this. :slight_smile:

Definitely agree. To know xyz values and position on the printing area will be very helpful!