As a Machinist in the Aerospace sector, for over 30 years, I can tell you right now, STL files are garbage! With Step files, you're getting the absolute raw solid model! Believe me! I dealt with STL files going back 25+ years and they're the stupidest format for the machines that we run at home today! I tested this out several years ago by manually writing proper G-Code for a 3D printer and it works with G2/G3 commands. Finally, Fusion 360 will actually slice a proper solid model modeled in Fusion 360 or a Step file into proper G2/G3 Code and it is less than half the size as an STL sliced model with way nicer, cleaner prints. STL file format is not needed with today's resin and FDM printers. It was designed in 1986 for stereolithography machines. Believe me, I've been around this industry for three decades plus! Bamboo slicer has a feature to print with a Step file and it has some kind of smoothing, possibly using G2/G3 commands for arcs.
What’s your thoughts on 3MF. I design 3D terrain for tabletop gaming. I’m no longer selling or giving free tiles in STL. I do 3MF. But 3MF people can put intrusive codes in them from what I understand. I was thinking STEP, but from limited understanding STEP allows anyone to get in and manipulate your designs or put signatures or watermarks of sorts. What are your thoughts on that, should it be a concern for people stealing your designs and watermarking them?
Coming from just a few years as a machinist and drafter I was also blown away with how useless stl files are. Even if I can manage to convert them to some sort of solid model they still behave like trash. It’s so weird to me that they’re the default for 3D printers still. I haven’t played with it yet but I’m curious if a 3mf file behaves similarly when trying to edit. I see designs online that are just about perfect but I want to tweak one little thing so I can use it myself. Not to use commercially or anything. With the 3mf I wonder if it would be easier to make these edits.
When you exported the stl, you had refinement set to medium. It would be interesting to see if the printed result is the same when you export it with high refinement.
@@ericb9328That's because the slicer already converts the step to a mesh on import, it simply does it with higher fidelity that Fusion on medium refinement. the only real differnce between step and a high fidelity mesh (which I recommend using 3mf NOT STL to begin with) is the filesize.
Personally, I was annoyed that you didn't address the differences between the files, only a discussion from your POV of their usage and relative size. Also, there are ASCII and binary forms of STL files and even forms containing colours. I use OPENSCAD mostly which generates STL files. STL files in the ASCII variant can be opened in notepad and contain triangle coordinates in x, y & z dimensions for all the triangles in the mesh. The files are easy to read and not manufacturer specific. Looking up the wiki for STEP files, they are quite different. My read of the wiki on it is that different manufacturers have their own notations for objects and operations that form the completed object so the step file isn't the object, but the instructions to generate the object as created by the application CAD software. This can be a much smaller file for sure. However according to the wiki it's often a bigger file in STEP. Keep in mind that ASCII format for STL is very wasteful, binary STLs are a lot smaller. Even so, for an example, one of my hydrofoils with a grid size of 1mm(2 triangles per 1mm square) and span of 900mm, average chord of 160mm works out at just over 8000Mb. When a slicer is analysing a 3D file, it isn't going to calculate the volumetric occupancy of it's build volume that your object fills from a STEP file's descriptions, it has to have the occupied coordinates. So somewhere in the code, the slicing work is running the OPENSCAD equivilent of the command slice(cut=true){object} with a Z displacement of the object representing the slice height. Whether this works with STEP is debatable. The object has to respond to code to pull out the individual layers.
So best not think about step protocol at large, that can be anything. But rather think of the exhange format definitions like Step ap 214. Which anybody talking of a step file in 3d context is meaning. Step files can be anything but a step ap214 can not. Best way to understand this is that a step AP214 file is more akin to a open scad file than stl. It contains curves and curved surfaces rather than polygons. And due to math deficences rather than describe intersections of individual curved surfaces it describes how they connect so that the target application can solve the right intersections so they suit themselves. abd a lot of other stuff but basically just that curved surfaces
Please make it easier on yourself and disable "Hide extensions for known file types" in Windows. That way you don't have to hit properties to see which file is which file type.
holy shit yes! thats where i stopped the video... and dude, 36m 59s and 37m isn't "one or two" minutes difference, its exactly one second!!? what is this dude smoking, and why are people watching his videos???
@@user-ns7qw9hd5yyou can’t be this dense. He showed clearly how the STEP file print is smooth as while the STL file print is lined and smokin what you’re smokin: uneven performance. Never comment before watching the entire video.🥴
There is other reasons too to use a step file, if you want to print multi-color prints, make the part with multiple component in F360. If you want a part in one color and text on the part in another, make the main body as one component and the text as a second component and extrude the text from the main component so that you have two component that don't overlap and zero clearance. Export it as a step file and import it to Bambu studios, go to objects and apply the color you want to the different component. Make it very easy to print multi color and very little work to chose the right color in the slicer after export too. Use it all the time and have not used STL files ever again after I got my Bambu Lab Carbon X1 with 3x AMS. Other then that, tank you for the video, I did not know about the difference you showed. :)
I have a small company that manufactures a tubular part from TPU. After much experimentation we finally have an acceptable print quality. I'd previously experimented with STL versus STEP files and didn't see a noticeable difference. I think that's because PrusaSlicer converts all input file formats into a mesh for internal representation at its pre-defined resolution. After watching this video, it seemed worth trying again. I exported the test piece (smaller but with the challenging features of the full sized part) as an STL and STEP, imported both into PrusaSlicer and had them print sequentially. The STL file was imported with 1798 facets and the STEP file was imported with 1968 facets, which is more but not significantly more. I couldn't see any significant print quality differences between the STL and STEP versions. They were printed at 45 mm/s. I'm reprinting them at 50% speed to see (once again) if slower printing improves print quality. A different product is less than 4 grams of TPU and each part takes an hour to print. They print unattended in batches so it matters very little to me how much unattended machine time is required for a print bed full of parts, particularly on parts that don't need a heated bed. PrusaSlicer can export G code with arcs instead of step linear approximations. In machining, this can make a big difference in surface finish, depending on the motion planner used in the CNC machine tool. An arc becomes a smooth move at the resolution of the machine, whereas the small linear moves that approximate the arc can result in a faceted surface. The G code file size is also much smaller when the motion is described as a single arc instead of a series of small linear moves. I enabled Arc Fitting (G2/3IJ) in PrusaSlicer and sliced my part and it really didn't seem to make a difference in the subtle vertical lines on the cylindrical part, so I believe these are printing artifacts (resonance not compensated by input shaping, etc.) rather than facets in the model. PrusaSlicer is using the default G code resolution of 0.0125 mm. I checked to ensure that PrusaSlicer is in fact exporting arc move G code, and it was. The G code file was 2.2 MB and contained a lot of G2 and G3 moves. I turned off arc moves in G code and sliced it again and the file size nearly doubled to 4 MB and all of the moves were linear G1 commands. I expected the arc move file to be much smaller for a mostly cylindrical object with mostly arc moves. If anyone has tips to improve the surface finish on 3D printed cylindrical parts, I'd love to hear them.
Lots of interesting info! When I briefly looked into arc fitting and changing the output resolution I had similar results. The best way to reduce vertical artifacts on round parts other than what you have already tried and making sure it is refined as much as possible is probably just to try different speeds. You might want to do some simple PLA tests on a cylindrical tower that changes speed every vertical 10mm or so. Like a vase mode print, but a speed tower at the same time. Since it could vary by the diameter of the cylinder as well, at least up to a certain size, I would probably try a test tower similar in size to the objects you are printing those. See at what speeds the vertical artifacts are the least noticeable, and stick to those speeds for your production prints. Hope this helps, if it does or does not feel free to let me know in a reply!
@@802Garage - Thank you for the excellent suggestion. It seems obvious to print a test tower varying print speed with height, but all of the great ideas seem obvious in hindsight. I'd messed with print speed in a haphazard manner before but halving the print speed is a dumb idea if resonance is a problem, because half the speed will still be resonant. I think I'll slice the test piece in 5 mm/s speed variations from 20 to 60 mm/s and do some actual engineering. Thanks again for making the obvious, obvious to me. 😀
@@Liberty4Ever Hey, I've learned hundreds of tips from watching videos and reading comments. No way I would come up with everything, including this idea, on my own every time. Hope it gets results!
@@802Garage - Changing the speed across a wide range of much slower speeds had no effect. I still need to test a range closer to the 45 mm/s I usually print these parts, but I'm back to my usual methodical engineer test and development methods. Tomorrow's To Do list includes printing test samples at 8 higher speeds 5 mm/s apart, slicing the part with 2 perimeters and 10% infill instead of a solid 3 perimeters, and trying to print the external perimeters first instead of the default interior first. I think I tried the exterior perimeters first already but I've changed many other parameters since then so it's worth revisiting that option. I'm printing the seven versions of this product in jobs of six parts per sheet which typically takes around ten hours, so production is pretty much 24/7. The TPU print quality with 0.2 mm layers is now very good after much development but my goal is excellent print quality.
@@Liberty4Ever Dang! Thanks for the update. The only other thing I can think of right now is that your extruder itself may be causing the artifacts, especially if the distance between them is the same no matter how large or small the diameter is, or if it appears on flat surfaces as well. Basically a wobbly gear or damaged teeth will cause imperfect extrusion for example. I highly doubt this is it though because that usually shows up as Z banding, since one full rotation of even a not gear reduced extruder puts out a lot of filament. I was also wondering if temperature could cause it, if basically the heat is being sapped out of the hotend and nozzle in a pulsing rhythm, but again highly doubt it.
Interesting video I was not aware of the differences between the types. The time difference between the sliced parts seemed to only be 1 second as the .stl file was 36 minutes 59 seconds and the .stp file was 37 minutes. Practically no difference at all but with a better final part. Going to try this today as I have a part that is round like your sample and would rather the smoother result. Thank you
"when importing the STEP file, Bambu Studio converts models into triangular mesh automatically according to a tolerance that is small than the half of default arc fitting tolerance. That is, it is converted into a high-precision STL model in Bambu Studio." - from Bambu The slicer converts the STEP into a mesh file internally, so this isn't really a good comparison - you're effectively just comparing 2 different density STL's If you were to set fusion's mesh export parameters to match that of bambu's internal conversion, you would get identical outputs.
Maybe so, but we shouldn’t discourage the use of stp files instead of stl. When sharing files, step files are so much easier to work with in CAD (for modifications).
I was going to say the same thing. He used medium refinement. Crank that bad boy up to max. I have been printing for 8+ years using fusion 360 across generations of machines and never once gotten those arc lines
Considering the space taken by the stl file as compared to step file and the fact that step file is easier to import and work with, I think it is time that we should slowly start moving towards using step file instead of stl.
Now the question is - if STEP gives better results in this example, what are the downsides? Why use STL at all and what are the use cases where STL will give me better results?
The video was pretty good, but the comments section is really amazing! If somebody took all the info down here and made another video they would come off sounding like the Albert Einstein of 3d printing.
The advantage to STL files comes in during the design process. The more sculptural and organic the shape you are trying to make the more impractical parametric modeling becomes. This is when you want to go with a sculptural software like Zbrush and/or Carveco.
As a non native speaker: In STEP you can define a circle by a midpoint and a radius. In STL you define a circle by a lot of straight lines that might or might not overlap the idea of a circle as it is hard to make curves mit straight lines.
In my case, I use Solidworks, I always convert the solid to a mesh and I decide the resolution of it, to export the STL and not have that resolution problem in the print.
Since STEP works with surfaces defined by mathematical formulas and the STL with triangles, if you import an STEP on Prusa Slicer, you can use the option to generate curves with G2 and G3 commands (instead of hundreds of straight segments made with G1), which will make the machine print a perfect curve. If you not use G2 or G3, the results will be similar since the slice will transform the curve in segments.
The G-code from STEP won't be bigger if you enable arc fitting in the slicer (assuming the printer firmware supports it). What this does is encodes motions that follow elliptical arcs as single G-code commands instead of as series of many small linear movements. The printer then handles these arc commands with high resolution (configurable in Klipper).
Спасибо за сравнение, я слышал что STEP лучше оптимизирует, но что он может повлиять на качество печати, это неожиданно. Я списывал волны на поверхностях на плохую настройку принтера, теперь надо проверить так ли это если использовать STEP
That was interesting. I often make patterns for sand casting with my 3d printer. As you probably know patterns come out of the sand much better if they have tapered sides where they touch the sand. I am not good at fusion 360 so I use tinkercad. Among the people i know who use Fusion 360 I have not found anyone who knows how to taper the sides. Do you have any ideas about this? Thanks for the video keep on keeping on.
Create your cylinder with the minimum or maximum diameter and extrude it. Use the "DRAFT" command to select the pull direction, and the face to be pulled. You can then adjust the degree of the pull or input an exact degree. A positive number will make the angle larger in the direction of pull, and a negative number will make it smaller in that direction.
STEP file is a mathematical descriptor file like a 2D vector file, STL or stereolithography file is a point cloud file of discrete coordinates. that is why the STL is usually larger.
Most CAD programs have setting for the facets /meshes, default settings leave a 3D cylinder with squared off round sides unless you set 0.05 in tolerance, the space between a perfect curve and the facet. The lower the tolerance the longer it takes to redraw the object on the computer. Yep, just spent some time with TurboCAD trying to make it useful for 3D printing...
@awkward you won’t see a difference. As others have said, you need to examine your settings to convert to mesh whether CAD -> stl or STEP -> Slicer -> stl
my CAD program doesn't make meshes at all. When I specify a geometry and export that as STEP file I get an exact representation of that geometry. If I now put that step file in my slicer and print it with g2 moves enabled it will print radii not approximations
people complaining about it just coming down to two different sorts of cad > mesh conversions in the end.. are missing the point so hard. Step file allows you to print however fine resolution you may want, meanwhile a shared STL/3MF is only ever going to be the set resolution from it's creation.
STEP file also makes things easier when applying color... you can make your color in Fusion and then it's easer to set colors instead of filling in with the slicer.
Arc fitting in the slicer happens at final stages of G-code generation, no matter how the model was described. The slicer ends up emitting an arc movement instead of a series of linear movements if it can find an arc that's close enough (up to the slicer's G-code resolution). In a way, it's really backwards. Ideal geometry from a STEP file gets approximated with triangles, those get sliced into series of linear movements, and then approximated with arcs again. Using ideal geometry all the way from STEP to G-code would have been more precise. I imagine, though, that it would require a fundamental redesign of the slicer. In practice, though, this backwards solution works well enough as long as the slicer's internal resolution is the same as or higher than the mechanical resolution of the printer. The printed part will be as smooth as the printer can make it.
Thank you! Note that if you turn on "show extensions" in Windows Explorer, you'll be able to better see which file is which (the column for file type is often helpful, but in this case it showed the same thing for both types). Also note that this was a REALLY HORRIBLE design decision on Microsoft's part back in the 90s, which allowed for viruses -- because bad actors would name a file, e.g., "prettycatpicture.jpg.exe" and it would "look to the user" like "prettycatpicture.jpg" but then when they opened it, it would run the malicious executable. Your results make me wonder if we might be better off only using a STEP file. Are there downsides, in your experience? It appears to me that the STL file is somewhat like "lossy compression" e.g., STEP : WAV :: STL : MP3. And "MP3 at 128k or so". :) Also the "vector graphics experience" reminds me of the 80s arcade games Asteroids and Tempest. :) Thanks again!
Your STL file had 816 triangles & your STEP file had 2,796 triangles. The increased triangle count in the STEP file provides more detail and is a much smaller file size.
The slicer still triangulates the step file before actually slicing, the main difference is that you choose medium refinement instead of as high as possible. Don't get me wrong I prefer step files but that's more because they are easier to edit afterwards.
It all heavily depends on slicer. The software that decided how the header moves. If it can detect a cylinder and program path along the circle edges it will be smooth. If it treats all as triangles, the facets are inevitable. Probably you should use another slicer, not from bambu
I absolutely loather .STL files, for the simple reason that they are a MESS to try and make edits to, and most files uploaded for printing you see are STL. I often make modifications to downloaded files, to fit my needs better, and it adds HOURS of work to my printed works.
The slicer has to convert STEP into a mesh to my knowledge to slice it so I think what you are seeing is different conversion resolutions rather than anything inherently better for slicing. The STEP format is much better than stl or 3mf (both mesh formats) for efficiency especially geometric shapes and 3mf is much better due to much better meta data for printing specific information and has the additional benefit of file compression of the mesh. STL is the worst format of all of them.
Most of our CAD designers at work will save as a .step file but our Ultimaker printer and Cura slicer won't accept that file format like Bambu studio will.
Shouldn't the step file be a better basis for the slicer? The better resolution of the two printed parts and the size of the gcode file actually show it. I read that the Prusa slicer can process step files but it first converts them into a mesh file before slicing. Does the bamboo slicer do that too? This standard vector file has been around since the last century. What reasons does the slicer use STL files as a basis? Will that change in the future? Then the models from fusion 360 and other tools could be printed directly as vector files, cleanly and with higher quality.
STL = a mesh of triangles, object with curved surfaces require lots of triangles and file size will be big. STEP = a geometric definition of your object using radius/diameter, tangents, arcs, etc... NO mesh triangles to define curves, so much better quality and smaller file size. 3MF = compressed file containing a mesh of triangles (like the STL) and other data (textures, colors, etc) a STL object saved as 3MF is the same triangle mesh but compressed, so file size is smaller but quality is the same as the original STL. a STEP object saved as 3MF is no more a geometric definition, is a triangle mesh representing the object, the mesh quality and size varies with the program you use to open the STEP and save it to 3MF. File size is bigger and quality is worse than original STEP file.
you could open the Bambu project file with any zip program. It will give you the files plus a little of printer configuration. No wonder why the size of the 3mf differs almost the same. Finally i did not see any differencies in the printed pieces, but i prefer STEP as well. I am using Onshape as CAD. By exporting the files to either STEP or STL i can select the resolution. That's maybe the main reason for the vertical pattern in your test prints.
Avoid STL and 3mf as far as possible. Published STEP files can simple be modified by others when needed as it can be read by most 3D CAD Systems. That's not so easy with STL and 3mf.
One of the very view occasions where I need to give thumbs down. You didn't say a word why the other one is smoother and where that filesize difference actually comes from. Since step exports the curves the 'mesh' has an infinite resolution. This far the slicer can have a higher resolution gcode which is also cleaner in many cases and that the cause of the bigger filesize in the 3mf/gcode. Over at CNC kitchen there is a vid demoing what happens if triangles and slicing just have a bad combo by accident.
This video was not as informative as I was hoping for. Basically the quality of the printed part depends on the tolerance of the STL export, and tolerance of the gcode calculation. If these tolerances are close to each other, the end result and gcode size and everything else would be more or less the same, but indeed the step files are more accurate to the model.
The STL file is more like a " compressed " folder. There is much more data in the STL. Pictures, PDF, text, and the actual 3D data. Try and open an STL using your compression software. ( Winzip, WinRAR,,,)
Fusion is badly out of date on the defaults for STL. Their “high” quality export should be renamed “low” quality. Also you can use OBJ which is like STL but knows the units.
As a Machinist in the Aerospace sector, for over 30 years, I can tell you right now, STL files are garbage! With Step files, you're getting the absolute raw solid model! Believe me! I dealt with STL files going back 25+ years and they're the stupidest format for the machines that we run at home today! I tested this out several years ago by manually writing proper G-Code for a 3D printer and it works with G2/G3 commands. Finally, Fusion 360 will actually slice a proper solid model modeled in Fusion 360 or a Step file into proper G2/G3 Code and it is less than half the size as an STL sliced model with way nicer, cleaner prints. STL file format is not needed with today's resin and FDM printers. It was designed in 1986 for stereolithography machines. Believe me, I've been around this industry for three decades plus! Bamboo slicer has a feature to print with a Step file and it has some kind of smoothing, possibly using G2/G3 commands for arcs.
What’s your thoughts on 3MF. I design 3D terrain for tabletop gaming. I’m no longer selling or giving free tiles in STL. I do 3MF. But 3MF people can put intrusive codes in them from what I understand. I was thinking STEP, but from limited understanding STEP allows anyone to get in and manipulate your designs or put signatures or watermarks of sorts. What are your thoughts on that, should it be a concern for people stealing your designs and watermarking them?
Is Step format gives more smooth for a sample ?
Coming from just a few years as a machinist and drafter I was also blown away with how useless stl files are. Even if I can manage to convert them to some sort of solid model they still behave like trash. It’s so weird to me that they’re the default for 3D printers still.
I haven’t played with it yet but I’m curious if a 3mf file behaves similarly when trying to edit. I see designs online that are just about perfect but I want to tweak one little thing so I can use it myself. Not to use commercially or anything. With the 3mf I wonder if it would be easier to make these edits.
When you exported the stl, you had refinement set to medium. It would be interesting to see if the printed result is the same when you export it with high refinement.
It will look basically the same if you export it proper in Fusion.
@@MitsumaYT yeah, pretty much. But the file sizes can get really big for essentially the same quality. The resulting g-code differences disappear.
High refinement would look the same as the step in terms of print quality aka "the lines" in the STL print. More triangles with high refinement.
@@ericb9328That's because the slicer already converts the step to a mesh on import, it simply does it with higher fidelity that Fusion on medium refinement. the only real differnce between step and a high fidelity mesh (which I recommend using 3mf NOT STL to begin with) is the filesize.
Personally, I was annoyed that you didn't address the differences between the files, only a discussion from your POV of their usage and relative size. Also, there are ASCII and binary forms of STL files and even forms containing colours. I use OPENSCAD mostly which generates STL files. STL files in the ASCII variant can be opened in notepad and contain triangle coordinates in x, y & z dimensions for all the triangles in the mesh. The files are easy to read and not manufacturer specific. Looking up the wiki for STEP files, they are quite different. My read of the wiki on it is that different manufacturers have their own notations for objects and operations that form the completed object so the step file isn't the object, but the instructions to generate the object as created by the application CAD software. This can be a much smaller file for sure. However according to the wiki it's often a bigger file in STEP. Keep in mind that ASCII format for STL is very wasteful, binary STLs are a lot smaller. Even so, for an example, one of my hydrofoils with a grid size of 1mm(2 triangles per 1mm square) and span of 900mm, average chord of 160mm works out at just over 8000Mb. When a slicer is analysing a 3D file, it isn't going to calculate the volumetric occupancy of it's build volume that your object fills from a STEP file's descriptions, it has to have the occupied coordinates. So somewhere in the code, the slicing work is running the OPENSCAD equivilent of the command slice(cut=true){object} with a Z displacement of the object representing the slice height. Whether this works with STEP is debatable. The object has to respond to code to pull out the individual layers.
So best not think about step protocol at large, that can be anything. But rather think of the exhange format definitions like Step ap 214. Which anybody talking of a step file in 3d context is meaning. Step files can be anything but a step ap214 can not.
Best way to understand this is that a step AP214 file is more akin to a open scad file than stl. It contains curves and curved surfaces rather than polygons. And due to math deficences rather than describe intersections of individual curved surfaces it describes how they connect so that the target application can solve the right intersections so they suit themselves. abd a lot of other stuff but basically just that curved surfaces
Ty
Man you are way overthinking it. Just use step it makes amazing smooth parts. I'll never save a file as stl again after using step.
Please make it easier on yourself and disable "Hide extensions for known file types" in Windows. That way you don't have to hit properties to see which file is which file type.
holy shit yes! thats where i stopped the video... and dude, 36m 59s and 37m isn't "one or two" minutes difference, its exactly one second!!? what is this dude smoking, and why are people watching his videos???
@@user-ns7qw9hd5yyou can’t be this dense. He showed clearly how the STEP file print is smooth as while the STL file print is lined and smokin what you’re smokin: uneven performance. Never comment before watching the entire video.🥴
There is other reasons too to use a step file, if you want to print multi-color prints, make the part with multiple component in F360. If you want a part in one color and text on the part in another, make the main body as one component and the text as a second component and extrude the text from the main component so that you have two component that don't overlap and zero clearance. Export it as a step file and import it to Bambu studios, go to objects and apply the color you want to the different component. Make it very easy to print multi color and very little work to chose the right color in the slicer after export too. Use it all the time and have not used STL files ever again after I got my Bambu Lab Carbon X1 with 3x AMS.
Other then that, tank you for the video, I did not know about the difference you showed. :)
Just e extrude your text inward .01mm
It's too small to see in single color but allows you to change the surface color.
I have a small company that manufactures a tubular part from TPU. After much experimentation we finally have an acceptable print quality. I'd previously experimented with STL versus STEP files and didn't see a noticeable difference. I think that's because PrusaSlicer converts all input file formats into a mesh for internal representation at its pre-defined resolution. After watching this video, it seemed worth trying again. I exported the test piece (smaller but with the challenging features of the full sized part) as an STL and STEP, imported both into PrusaSlicer and had them print sequentially. The STL file was imported with 1798 facets and the STEP file was imported with 1968 facets, which is more but not significantly more. I couldn't see any significant print quality differences between the STL and STEP versions. They were printed at 45 mm/s. I'm reprinting them at 50% speed to see (once again) if slower printing improves print quality. A different product is less than 4 grams of TPU and each part takes an hour to print. They print unattended in batches so it matters very little to me how much unattended machine time is required for a print bed full of parts, particularly on parts that don't need a heated bed.
PrusaSlicer can export G code with arcs instead of step linear approximations. In machining, this can make a big difference in surface finish, depending on the motion planner used in the CNC machine tool. An arc becomes a smooth move at the resolution of the machine, whereas the small linear moves that approximate the arc can result in a faceted surface. The G code file size is also much smaller when the motion is described as a single arc instead of a series of small linear moves. I enabled Arc Fitting (G2/3IJ) in PrusaSlicer and sliced my part and it really didn't seem to make a difference in the subtle vertical lines on the cylindrical part, so I believe these are printing artifacts (resonance not compensated by input shaping, etc.) rather than facets in the model. PrusaSlicer is using the default G code resolution of 0.0125 mm. I checked to ensure that PrusaSlicer is in fact exporting arc move G code, and it was. The G code file was 2.2 MB and contained a lot of G2 and G3 moves. I turned off arc moves in G code and sliced it again and the file size nearly doubled to 4 MB and all of the moves were linear G1 commands. I expected the arc move file to be much smaller for a mostly cylindrical object with mostly arc moves.
If anyone has tips to improve the surface finish on 3D printed cylindrical parts, I'd love to hear them.
Lots of interesting info! When I briefly looked into arc fitting and changing the output resolution I had similar results. The best way to reduce vertical artifacts on round parts other than what you have already tried and making sure it is refined as much as possible is probably just to try different speeds. You might want to do some simple PLA tests on a cylindrical tower that changes speed every vertical 10mm or so. Like a vase mode print, but a speed tower at the same time. Since it could vary by the diameter of the cylinder as well, at least up to a certain size, I would probably try a test tower similar in size to the objects you are printing those. See at what speeds the vertical artifacts are the least noticeable, and stick to those speeds for your production prints. Hope this helps, if it does or does not feel free to let me know in a reply!
@@802Garage - Thank you for the excellent suggestion. It seems obvious to print a test tower varying print speed with height, but all of the great ideas seem obvious in hindsight. I'd messed with print speed in a haphazard manner before but halving the print speed is a dumb idea if resonance is a problem, because half the speed will still be resonant. I think I'll slice the test piece in 5 mm/s speed variations from 20 to 60 mm/s and do some actual engineering. Thanks again for making the obvious, obvious to me. 😀
@@Liberty4Ever Hey, I've learned hundreds of tips from watching videos and reading comments. No way I would come up with everything, including this idea, on my own every time. Hope it gets results!
@@802Garage - Changing the speed across a wide range of much slower speeds had no effect. I still need to test a range closer to the 45 mm/s I usually print these parts, but I'm back to my usual methodical engineer test and development methods. Tomorrow's To Do list includes printing test samples at 8 higher speeds 5 mm/s apart, slicing the part with 2 perimeters and 10% infill instead of a solid 3 perimeters, and trying to print the external perimeters first instead of the default interior first. I think I tried the exterior perimeters first already but I've changed many other parameters since then so it's worth revisiting that option.
I'm printing the seven versions of this product in jobs of six parts per sheet which typically takes around ten hours, so production is pretty much 24/7. The TPU print quality with 0.2 mm layers is now very good after much development but my goal is excellent print quality.
@@Liberty4Ever Dang! Thanks for the update. The only other thing I can think of right now is that your extruder itself may be causing the artifacts, especially if the distance between them is the same no matter how large or small the diameter is, or if it appears on flat surfaces as well. Basically a wobbly gear or damaged teeth will cause imperfect extrusion for example. I highly doubt this is it though because that usually shows up as Z banding, since one full rotation of even a not gear reduced extruder puts out a lot of filament. I was also wondering if temperature could cause it, if basically the heat is being sapped out of the hotend and nozzle in a pulsing rhythm, but again highly doubt it.
Interesting video I was not aware of the differences between the types. The time difference between the sliced parts seemed to only be 1 second as the .stl file was 36 minutes 59 seconds and the .stp file was 37 minutes. Practically no difference at all but with a better final part. Going to try this today as I have a part that is round like your sample and would rather the smoother result. Thank you
"when importing the STEP file, Bambu Studio converts models into triangular mesh automatically according to a tolerance that is small than the half of default arc fitting tolerance. That is, it is converted into a high-precision STL model in Bambu Studio." - from Bambu
The slicer converts the STEP into a mesh file internally, so this isn't really a good comparison - you're effectively just comparing 2 different density STL's
If you were to set fusion's mesh export parameters to match that of bambu's internal conversion, you would get identical outputs.
Maybe so, but we shouldn’t discourage the use of stp files instead of stl. When sharing files, step files are so much easier to work with in CAD (for modifications).
I was going to say the same thing. He used medium refinement. Crank that bad boy up to max.
I have been printing for 8+ years using fusion 360 across generations of machines and never once gotten those arc lines
That is unless arc fitting is enabled in the slicer, which makes it emit single commands for elliptical arc movements.
Considering the space taken by the stl file as compared to step file and the fact that step file is easier to import and work with, I think it is time that we should slowly start moving towards using step file instead of stl.
Maybe use "high" resolution in Fusion when exporting. The slicer converts back to mesh anyway.
Totally outstanding. Thank you for thinking of this file format consideration.
Now the question is - if STEP gives better results in this example, what are the downsides? Why use STL at all and what are the use cases where STL will give me better results?
Thanks for the tips. I have not yet tried this, but will be on next print.
The video was pretty good, but the comments section is really amazing! If somebody took all the info down here and made another video they would come off sounding like the Albert Einstein of 3d printing.
The advantage to STL files comes in during the design process. The more sculptural and organic the shape you are trying to make the more impractical parametric modeling becomes. This is when you want to go with a sculptural software like Zbrush and/or Carveco.
As a non native speaker: In STEP you can define a circle by a midpoint and a radius. In STL you define a circle by a lot of straight lines that might or might not overlap the idea of a circle as it is hard to make curves mit straight lines.
In my case, I use Solidworks, I always convert the solid to a mesh and I decide the resolution of it, to export the STL and not have that resolution problem in the print.
So you can get better quality out of a step file? I run OrcaSlicer, so I may have to try this out
Thanks for the video! Some good information here
wow, this is a huge difference. I know some will say not so big but this is a small object. Nice video
i have this isue on a klipper printer using stl files on Orcaslicer, but the same stl sliced in cura comes flauless, so it also deppend of the slicer.
I have found this exact issue
Since STEP works with surfaces defined by mathematical formulas and the STL with triangles, if you import an STEP on Prusa Slicer, you can use the option to generate curves with G2 and G3 commands (instead of hundreds of straight segments made with G1), which will make the machine print a perfect curve. If you not use G2 or G3, the results will be similar since the slice will transform the curve in segments.
Brilliant thankyou!
Thanks good to know !
Very interesting video, thank you.
The G-code from STEP won't be bigger if you enable arc fitting in the slicer (assuming the printer firmware supports it). What this does is encodes motions that follow elliptical arcs as single G-code commands instead of as series of many small linear movements. The printer then handles these arc commands with high resolution (configurable in Klipper).
Спасибо за сравнение, я слышал что STEP лучше оптимизирует, но что он может повлиять на качество печати, это неожиданно. Я списывал волны на поверхностях на плохую настройку принтера, теперь надо проверить так ли это если использовать STEP
nice video
...what about .obj file?
That was interesting. I often make patterns for sand casting with my 3d printer. As you probably know patterns come out of the sand much better if they have tapered sides where they touch the sand. I am not good at fusion 360 so I use tinkercad. Among the people i know who use Fusion 360 I have not found anyone who knows how to taper the sides. Do you have any ideas about this?
Thanks for the video keep on keeping on.
Create your cylinder with the minimum or maximum diameter and extrude it. Use the "DRAFT" command to select the pull direction, and the face to be pulled. You can then adjust the degree of the pull or input an exact degree. A positive number will make the angle larger in the direction of pull, and a negative number will make it smaller in that direction.
@@AlAmantea thanks that is what I needed to know.
@@AlAmantea I seldom do cylinders does this work with cubes and odd curved shapes?
I think it's interesting that the 3mf file for the step file was larger but printed faster?
STEP file is a mathematical descriptor file like a 2D vector file, STL or stereolithography file is a point cloud file of discrete coordinates. that is why the STL is usually larger.
I've been seeing those bevels on round 3D prints for years. I just thoughts that's the g-code. amazing
I will definitely print step files more often
Most CAD programs have setting for the facets /meshes, default settings leave a 3D cylinder with squared off round sides unless you set 0.05 in tolerance, the space between a perfect curve and the facet. The lower the tolerance the longer it takes to redraw the object on the computer. Yep, just spent some time with TurboCAD trying to make it useful for 3D printing...
@awkward you won’t see a difference. As others have said, you need to examine your settings to convert to mesh whether CAD -> stl or STEP -> Slicer -> stl
my CAD program doesn't make meshes at all. When I specify a geometry and export that as STEP file I get an exact representation of that geometry.
If I now put that step file in my slicer and print it with g2 moves enabled it will print radii not approximations
@@awkwardsaxon9418just to be precise, your slicer is generating a mesh, its just a better mesh if the slicer and the printer can support g2 commands.
people complaining about it just coming down to two different sorts of cad > mesh conversions in the end.. are missing the point so hard.
Step file allows you to print however fine resolution you may want, meanwhile a shared STL/3MF is only ever going to be the set resolution from it's creation.
STEP file also makes things easier when applying color... you can make your color in Fusion and then it's easer to set colors instead of filling in with the slicer.
Nice! But how about natural arc commands, g02, g03. Seem there is no use for them with stl. Does step file csn produce gcode with src commands??
Arc fitting in the slicer happens at final stages of G-code generation, no matter how the model was described. The slicer ends up emitting an arc movement instead of a series of linear movements if it can find an arc that's close enough (up to the slicer's G-code resolution).
In a way, it's really backwards. Ideal geometry from a STEP file gets approximated with triangles, those get sliced into series of linear movements, and then approximated with arcs again. Using ideal geometry all the way from STEP to G-code would have been more precise. I imagine, though, that it would require a fundamental redesign of the slicer.
In practice, though, this backwards solution works well enough as long as the slicer's internal resolution is the same as or higher than the mechanical resolution of the printer. The printed part will be as smooth as the printer can make it.
Thank you! Note that if you turn on "show extensions" in Windows Explorer, you'll be able to better see which file is which (the column for file type is often helpful, but in this case it showed the same thing for both types). Also note that this was a REALLY HORRIBLE design decision on Microsoft's part back in the 90s, which allowed for viruses -- because bad actors would name a file, e.g., "prettycatpicture.jpg.exe" and it would "look to the user" like "prettycatpicture.jpg" but then when they opened it, it would run the malicious executable.
Your results make me wonder if we might be better off only using a STEP file. Are there downsides, in your experience? It appears to me that the STL file is somewhat like "lossy compression" e.g., STEP : WAV :: STL : MP3. And "MP3 at 128k or so". :)
Also the "vector graphics experience" reminds me of the 80s arcade games Asteroids and Tempest. :)
Thanks again!
That's the first thing I change on every Windows system I have to use. Not seeing the extentions drives me crazy.
Gracias, muy buena explicación
nice experiment TDM
Your STL file had 816 triangles & your STEP file had 2,796 triangles. The increased triangle count in the STEP file provides more detail and is a much smaller file size.
Why did you not save the gcode and look at it and not the 3mf file
that's really interesting!
The slicer still triangulates the step file before actually slicing, the main difference is that you choose medium refinement instead of as high as possible. Don't get me wrong I prefer step files but that's more because they are easier to edit afterwards.
It all heavily depends on slicer. The software that decided how the header moves. If it can detect a cylinder and program path along the circle edges it will be smooth. If it treats all as triangles, the facets are inevitable.
Probably you should use another slicer, not from bambu
I absolutely loather .STL files, for the simple reason that they are a MESS to try and make edits to, and most files uploaded for printing you see are STL.
I often make modifications to downloaded files, to fit my needs better, and it adds HOURS of work to my printed works.
I don't know how people use computers without having "hide extensions for known filetypes" turned off.
You set refinement on the STL export to medium so the comparison in terms of print quality is pretty much useless.
Iv been exporting as 3mf from fusion
I did not have a clue about step files.
The slicer has to convert STEP into a mesh to my knowledge to slice it so I think what you are seeing is different conversion resolutions rather than anything inherently better for slicing. The STEP format is much better than stl or 3mf (both mesh formats) for efficiency especially geometric shapes and 3mf is much better due to much better meta data for printing specific information and has the additional benefit of file compression of the mesh. STL is the worst format of all of them.
Most of our CAD designers at work will save as a .step file but our Ultimaker printer and Cura slicer won't accept that file format like Bambu studio will.
Shouldn't the step file be a better basis for the slicer? The better resolution of the two printed parts and the size of the gcode file actually show it. I read that the Prusa slicer can process step files but it first converts them into a mesh file before slicing. Does the bamboo slicer do that too? This standard vector file has been around since the last century. What reasons does the slicer use STL files as a basis? Will that change in the future? Then the models from fusion 360 and other tools could be printed directly as vector files, cleanly and with higher quality.
ok, the question about converting Step to STL using the Bamboo Slicer has been answered below.
STL = a mesh of triangles, object with curved surfaces require lots of triangles and file size will be big.
STEP = a geometric definition of your object using radius/diameter, tangents, arcs, etc... NO mesh triangles to define curves, so much better quality and smaller file size.
3MF = compressed file containing a mesh of triangles (like the STL) and other data (textures, colors, etc)
a STL object saved as 3MF is the same triangle mesh but compressed, so file size is smaller but quality is the same as the original STL.
a STEP object saved as 3MF is no more a geometric definition, is a triangle mesh representing the object, the mesh quality and size varies with the program you use to open the STEP and save it to 3MF. File size is bigger and quality is worse than original STEP file.
you could open the Bambu project file with any zip program. It will give you the files plus a little of printer configuration.
No wonder why the size of the 3mf differs almost the same.
Finally i did not see any differencies in the printed pieces, but i prefer STEP as well.
I am using Onshape as CAD. By exporting the files to either STEP or STL i can select the resolution. That's maybe the main reason for the vertical pattern in your test prints.
i didn't know that there was such a big difference. Now i know why my prints looked horrible. Thanks for the explaination
Avoid STL and 3mf as far as possible. Published STEP files can simple be modified by others when needed as it can be read by most 3D CAD Systems. That's not so easy with STL and 3mf.
I can't stress this enough. Yet Thingiverse and Printables are full of STL files. Everybody exports STL just because everybody else does.
One of the very view occasions where I need to give thumbs down. You didn't say a word why the other one is smoother and where that filesize difference actually comes from.
Since step exports the curves the 'mesh' has an infinite resolution. This far the slicer can have a higher resolution gcode which is also cleaner in many cases and that the cause of the bigger filesize in the 3mf/gcode. Over at CNC kitchen there is a vid demoing what happens if triangles and slicing just have a bad combo by accident.
Still unexplained! Didn’t even address the title of your video.
This video was not as informative as I was hoping for.
Basically the quality of the printed part depends on the tolerance of the STL export, and tolerance of the gcode calculation. If these tolerances are close to each other, the end result and gcode size and everything else would be more or less the same, but indeed the step files are more accurate to the model.
The STL file is more like a " compressed " folder. There is much more data in the STL. Pictures, PDF, text, and the actual 3D data. Try and open an STL using your compression software. ( Winzip, WinRAR,,,)
Fusion is badly out of date on the defaults for STL. Their “high” quality export should be renamed “low” quality.
Also you can use OBJ which is like STL but knows the units.
First comment!
G22 🫡
Printer go brr