PreForm: Separate disjoint geometry

I would find it extremely useful if, in PreForm, the context menu when clicking on a model had a new option “Separate” (or “Split”, etc.), that would take all the nonoverlapping geometries in the selected model and split them off into their own new models.

This would make my workflow a lot more convenient; because then e.g. I could export all my parts as a single STL instead of one STL per part, avoid mesh splitting steps in third-party tools, etc.

Example of what I’m envisioning (I generated supports and rafts just for clarity in these illustrations):

And then, upon selecting “separate”:

Possibly with a dialog asking if you’d like to delete or keep the original model (edit: although, in thinking about it, I don’t know why you’d ever want to keep the original here, and you can always duplicate it first if you do).

Note: I think, to remain intuitive and have the most use, it should separate non-overlapping/touching regions; not simply isolated vertex/edge graphs. That is, if I had this model (2 overlapping meshes), it shouldn’t be separated into two parts:

image

This (two cylinders - each its own mesh - touching), also should remain a single part:

image

Edit: The above note is replaced with some discussion below, and I’ve changed my mind to:

a dialog box with a toggle if you have well formed geometry (i.e. each distinct part is a single mesh) and want to separate parts that touch [or overlap], too.

Thanks,
Jason

2 Likes

This would make my workflow a lot more convenient; because then e.g. I could export all my parts as a single STL instead of one STL per part, avoid mesh splitting steps in third-party tools, etc.

Why are you exporting your geometry with the parts overlapped like that? Wouldn’t it be easier to simply separate them in the original source file so when you import them in to Preform they’re already spaced apart? You don’t need mesh-splitting tools if the meshes are separate entities, even if they overlap, just move 'em.

Maybe there’s something fundamental I’m not understanding, but I’m not seeing the problem you’re asking to have fixed.

This (two cylinders - each its own mesh - touching), also should remain a single part:

Two cylinders, each its own mesh, touching, is not a single part. It is two separate parts that are touching. This is treated differently by the slicer than if the parts are actually a union of the two sets of geometry.

If you want your geometry to be joined, it can be done in your CAD software, no?

1 Like

Why are you exporting your geometry with the parts overlapped like that?

I’m not. I believe you misunderstood, or I wasn’t clear. In the example model, with the 4 shapes, none of them overlap:

com-gif-maker

shapes.stl (657.2 KB)

Two cylinders, each its own mesh, touching, is not a single part. It is two separate parts that are touching. This is treated differently by the slicer than if the parts are actually a union of the two sets of geometry.

That never has appeared, and currently does not appear, to be the case (and wouldn’t be the intent of such a model anyways once it’s brought into PreForm); the slicer effectively unions everything regardless of connectivity:

cylinders_touching.stl (44.2 KB)

If you want your geometry to be joined, it can be done in your CAD software, no?

Yes, that’s where I always join geometry.

… I’m not seeing the problem you’re asking to have fixed.

There’s no problem; this is a feature request, not a bug report. :slight_smile:


Maybe phrasing my request differently will clear things up:

I’d like a “Separate” feature that splits a model into its isolated objects. By “isolated” I mean that if you were to print the model as-is, then remove all of the supports, an “isolated” object would be just a physically separate piece.

The note at the end was to clarify that I wouldn’t want the “Separate” behavior to apply to stuff that wouldn’t be printed as physically distinct objects, even if the model is sloppy and overlapped.

It’s a pretty straightforward request, I think. I might have just overspecified.

1 Like

I’m still not understanding. If I have multiple separate pieces of geometry in the same STL, and I import it to Preform, I can’t move the pieces individually, but if I print them and remove the supports, each piece will be separate from the others.

If I want to arrange the pieces individually, I don’t export them all as a single object. I keep them all in the same source file, but I select and export each component separately so I can import in to Preform separately, and orient them optimally for whatever shape they have…

Is that what you mean? A feature that allows you to manipulate the discrete pieces of geometry that exist in a single common file?

Yes that’s what I mean. Just like in the example. :slight_smile:

Just a thing to let you eliminate the “select and export each component separately” step (if you’ve got the source CAD files) or the third party tools if you’ve got somebody else’s model. My current workflow sounds about the same as yours.

Btw it’s not unusual for me to have non unioned overlaps that are actually single parts, either, particularly when dealing with procedurally generated parts from hacky external tools. I have a pretty wide range of applications with models from a wide variety of sources.

But there could always be a dialog box with a toggle if you have well formed geometry and want to separate parts that touch, too. Makes everybody happy, it sounds like, and it’s probably better as an option anyways, next to “delete original model”.

I have a friend who’s only recently started to learn to 3D print (FDM). He refuses to learn CSG, and constructs all his models out of overlapping primitives. Mostly, his slicer handles it OK. But there have been times he’s had intractable printing issues with a design that I easily fixed by unioning the overlapping components.

Thinking about it more, this dialog probably is just noisy and unnecessary. It seems strange to want to keep the original, and you can always duplicate the model first if you want.

This is something that time and time again I think Preform has but, doesn’t. Many slicer softwares have shipped with this feature for some time now. It’s a convenience to not have to go back into modeling software to export again and reimport. Could it please be added? :slight_smile:

Hi @Craigslist ,

Thanks for reaching out; since PreForm isn’t a CAD software (and implementing CAD features would be a massive undertaking), this is not a feature that I can see being added in the near future. There are several other CAD softwares available (like Meshmixer, for example) that can help to accomplish any model editing required before bringing the models into PreForm. I will still pass along this feedback to our PreForm team though!

Hey, Meshmixer is still available, and will do the job. But it’s end of life and is getting no updates or development.

NEWS (September 2021): Fusion 360 now contains many of the great features you’ve grown to love in Meshmixer, with continual growth and improvements to its capabilities in mesh coming soon. While we have no current plans to retire Meshmixer, please note that the tool is no longer in development and will not be supported by Autodesk moving forward. As such, we encourage you to download a trial of Fusion 360 to continue getting the most out of what Autodesk has to offer in mesh capabilities, as well as much, much more.

Download Fusion 360 here

A learning curve, but manageable.

For mac: Meshmixer for Mac - Download
For windows: https://www.meshmixer.com/download.html

It’s been replaced by Fusion360, which has a free version for personal use, or $400 per year for professional use. Fusion 360 | 3D CAD, CAM, CAE, & PCB Cloud-Based Software | Autodesk

It’s got a rather steep learning curve, but will do a lot, even in the free version.

1 Like

Many models on the internet are arranged for various printer dimensions and have multiple parts in one stl. It is a very common feature of all slicers (Cura, Prusa Slicer, Simplify3D) to “seperate” multi-part models into individual parts so they can be re arranged in the slicer.

It is not a function of CAD, it is a necessary function of the slicer software, and for the price we paid for these printers you would think we would not have to jump out to open source software to prepare our files before importing into preform.

Case in point, I am working with files provided by a museum where many bones are in one file. I can’t split them into separate parts for positioning. So I use Prusaslicer to do this, export individual bones as STL. I certainly can’t go back to the original museum and say hey guys can you re-export these?

Google Photos

Hi @innova3dllc,

Thank you for sharing your feedback about this. I agree that this could be quite a useful feature for PreForm to include, and I’ll pass along further product feedback to the team.