"Reload from Disk" With STL Split into Objects?

Hi guys, I am struggling here, but maybe I’m missing something.

I have a multi-color print that I am achieving by exporting multiple CAD shapes in a single STL file (to maintain proper alignment). Then in BS I “Split into Objects”, and select the correct colors for each object.

The problem is, if I revise the part model, and export a new STL. I can normally just reload from disk and maintain all my object based settings and positions on the build plate. But, I can’t get this to work after splitting into objects.

Ideas?

Because the source STL isn’t split in to objects. The slicer can’t guess about what the new file contains, if it has the same parts in the same locations, so it just replaces the entire thing and starts from scratch.

Instead of outputting one large STL, output each object as its own STL. Provided your CAD program isn’t centering everything at 0,0,0 when it exports (which it shouldn’t) the separate parts should still have their physical positions relative to a common reference point.

If you load them individually, they’ll be moved to 0,0,0. But if you select all of the separate STLs in the file open dialog (CTRL and LMB on each), when you click “Open” it’ll ask you if you want them to be the same assembly or separate parts. Load them as an assembly and they’ll all show up on the build plate at their correct relative positions. Then, you should be able to right click on a component and reload that component’s STL from disk without losing any alignment or reloading any other components (provided the new part is at the same location as the old).

Disclaimer: been a few months since I’ve had something to print that was done like this in CAD so my recollection of details may be a little bit off. But this, above, is definitely basically how I do what you’re trying to do… :slight_smile:

3 Likes

That’s a good point.

Thank you. I had tried exporting as multiple STLs, using the same coordinate system, but apparently missed the step of loading them into an assembly in BS to get the alignment correct.

Took me a few hours to figure out, myself. And while I’d like to say I figured it out with logic, I think I just tried everything until I got lucky. :slight_smile:

2 Likes

Export the objects as STEP file in CAD program, because it contains more information then STL files. Bambu Studio can import STEP files too and (normally) get their positions right, if the STEP file contains all the objects.

Not viable in my experience. The Bambu Studio STEP translation is really bad IMO:

Same model imported as a STEP and STL:

The one on the left looks bad. That’s the STEP?

Yes. STEP on the left.

Maybe it’s caused by the CAD program. I’m using OnShape and the exported object as STEP file has more triangles and looks better than STL:


1 Like

CAD programs often have a “curve subdivision” parameter someplace that says how much “resolution” to apply when breaking down a curved surface in to individual polygons for exporting as a STL.

Even though the file is imported to Studio as a STEP, the slicer still needs to convert it to STL to slice it (Just a guess. But I think I’m right because having a separate slicer for STEP and STL would be crazy from a software development standpoint, and converting STL to STEP is a lot more work than converting STEP to STL. Also, your graphics card can’t display STEP but it can display polygonal models which STL is).

There is probably a parameter someplace for Studio that controls how fine a subdivision level is applied when converting from STEP. If you can find that and it’s changeable, that would fix the problem.

1 Like

I use Onshape extensively and I can say that unfortunately, their export algorithm doesn’t have much in the way of granularity. They do support the current three ISO STEP file version. but I found that Bambu Studio and Orca are wickedly stupid with their import algorithms. AP242 as an example, often it will cut off a portion of a complex model on import thinking that is all there was to the model. I get the best results using the AP203 version which has fewer features to confuse the slicer.

Aspect AP203 AP214 AP242
Definition Initial standard for exchanging CAD data Improved standard with added features Latest standard, including advanced features
Geometry Support Basic geometry support (2D and 3D) Enhanced geometry support (2D and 3D) Comprehensive geometry support (2D, 3D, and PMI)
Product Structure Limited product structure representation Improved product structure representation Comprehensive product structure representation
Annotations Limited support for annotations Enhanced support for annotations Comprehensive support for Product and Manufacturing Information (PMI)
Assembly Support Limited assembly modeling support Improved assembly modeling support Comprehensive assembly modeling support
File Size Smaller file sizes Moderate file sizes Potentially larger file sizes due to increased data
Interoperability Basic interoperability Improved interoperability Enhanced interoperability
Advanced Features No support for advanced features Limited support for advanced features Support for advanced features such as PMI
Industry Adoption Widely used, but becoming obsolete Widely used in many industries Becoming the industry standard for CAD data exchange
Recommended Use Legacy systems or simple CAD data exchange General CAD data exchange Comprehensive CAD data exchange, especially for complex projects
ISO Standard ISO 10303-203 ISO 10303-214 ISO 10303-242

There are addition STEP file settings. So far in experimenting with them, the number of polygon differences between the various versions has been negligible. By that I mean less than 2% difference.


This example here was actually an STL file which I converted and then modified. Many of the polygons are still present from the original Blender file. (Did I mention that I hate it when designers use Blender for CAD?)

image
image

1 Like

I don’t know how you measure bad. If you look at @print.in.3d example, the math doesn’t lie. STEP files can provide an order of magnitude more polygons than STL files where it counts most like in curves. But more importantly, the polygons they supply contain fewer junk polygons like an STL file.

So when you have a flat section as an example in a STL file, if you take something out of Blender where STL is native, it will create some stupidly placed polygons in my experience. Whereas a native STEP file when converted to STL by most programs will use fewer polygons on flat sections, which is what you want for 3D printing, and more polygons on organic or curved shapes which again is desirable in 3D printing. Think of it like this, If the nozzle was race car, an STL would have the nozzle making many short adjustments to go a straight line whereas as STEP file will have it travel in a straight line. This becomes more obvious when one turns on the head travel check box in the slicer and one can see the actual extra movement.

I appreciate the replies.

At least for my CAD software (Missler TopSolid), the STEP schema version doesn’t appear to impact the quality coming into Bambu Studio:

I agree that STEP is certainly a higher quality description of model geometry, but clearly something is literally lost in translation here. The poor quality is visible in the sliced gcode as well.

While having excess segmentation on planar surfaces is certainly a waste of file size, and an increase to slicing time, I don’t agree that this equates into worse sliced quality. As long as all the vertices fall on the planar surface, the quality should be equivalent.

The STL above is 10MB, while the STEP files are 1MB

You should test other software, maybe the one you are using doesn’t export step properly.

Fusion 360 for personal use is free, and there are a few other free or trial versions of other software.

The exported STEP file is fine. Here it is after importing to Onshape:

Bambu Studio seems to translate into a faceted model, which I believe all slicers are developed around, and doing a terrible job at it.

Soooo, if it is just going to get translated into a faceted model anyway, why not do so with my CAD program, where I have control over the process?

Because in a optimal way, the slicer knows better how to translate the curves and lines into meshes depending on the capabilities of the output device (the printer). For example if you print with a high resolution with a 0.2 nozzle, the mesh can be more detailed as if you print with 0.6 nozzle. And also the slicer has the option to convert the model into a mesh after it is resized or modified.
But as we know at the moment, at least the Bambu Studio translate the model at import and so yes, you are right: It can also be done with the CAD program.

I did a test with Fusion 360. The STEP file I exported looked completely perfect in Bambu Studio while the STL had easily visible imperfections.

So I still think the issue is the exported STEP from your CAD program, not Bambu Studio.

You can think that all you want, but it is just speculation.

A STEP file has no facets, so all those malformed facets I showed in Bambu Studio are created in Bambu Studio.

Yes, what @APEX86 said! STEP files represent geometry more abstractly (and efficiently) as arc, curves and lines, etc. The receiving program is responsible for tessellating into triangles for display and whatever else for slicing. Those are different processes, so the display geometry may even have no direct relation at all to the slicing geometry. But I suspect Studio converts to STL/triangles for both. Yet there must be some setting for the tessellation resolution, whether the user can set it or not.

2 Likes

Maybe the step format it exports is not converted well by Bambu Studio. But if you export a STEP from Fusion 360, it is flawless. It looks as perfect as it does in Fusion 360.