A weird fascination of mine is trying to render computer generated 3d images of 3d prints, accurately. I have played with all sorts of textures and materials to try and emulate the layer lines in fused filament 3d prints but I am both not very skilled in texturing or 3d modeling for renders so it has always been a challange for me. It's not necessarily complicated to do, but it is pretty labor intensive for someone of my skill level. On a 3d rendered model you need to either generate the texture procedurally through math, or use a UV map which is the basically what you would be left with if you could unwrap the skin of a 3d object. That lets you "paint" or decorate the model in specific locations so it's not just repeating pattern all over the model. I am terrible at working with either of those solutions and just don't bother usually.
I eventually found a cool feature in prusaslicer and other slicers that allows you export the tool paths as a 3d model though!

This uses the technology that renders the preview of the sliced model to generate an OBJ 3d model file using the printing parameters set and tool paths written in the gcode.
As result you can render your 3d prints as they are actually going to be printed. So if the print has 0.2mm layer lines so does the 3d rendered model, if there are 2 perimeters for the outer wall of the print so will the render!

This is really cool to me because it even captures the facets that are formed on the round shapes. The CAD model has more perfect circles, once they are converted to a mesh for 3d printing that circle has to be subdivided into straight lines, the number of which determines the file size. A side effect though is that your final prints end up with these flat faces which are very obvious with shiny plastics like "silk" PLA filament. You can usually adjust this effect by increasing the model details when exporting from CAD but always at a consequence of increased file size.

This is the same model as it is rendered in fusion360 as a preview. This is a more accurate depiction of the CAD 3d model but not what the final part is going to look like. Fusion360 has no way of knowing what the slicer is going to do it and thus the actual 3d model preview is more preliminary than we can achieve with exporting the tool paths.
For example it cannot know how thick the walls will be printed or if there is infill or not.

The same model rendered in Blender with no top fill material to show the infill pattern and internal structure used. These are just default shader materials applied to the 3d tool paths and no modifiers.
My next goal is this project is to try and learn those materials better to bring it closer to photorealism. I'm really happy with these results already but I think it can be pushed even further by making use of better materials applied to these tool paths. It should be possible to make each line show it's plastic deformities, little micro-scratches to the plastic and unevenness that is revealed when you examine the filament under a zoomed lens or microscope.
This is a zoomed photo I took of the roll of filament I will be using for this particular print. I don't think I realized just how textured that plastic really is. Hopefully I will be able to recreate this roughness in the print itself as well.

If I get the quality of the renders high enough I can throw the printer into the ocean and just send photos of stuff I say I printed instead.

I eventually found a cool feature in prusaslicer and other slicers that allows you export the tool paths as a 3d model though!

This uses the technology that renders the preview of the sliced model to generate an OBJ 3d model file using the printing parameters set and tool paths written in the gcode.
As result you can render your 3d prints as they are actually going to be printed. So if the print has 0.2mm layer lines so does the 3d rendered model, if there are 2 perimeters for the outer wall of the print so will the render!

This is really cool to me because it even captures the facets that are formed on the round shapes. The CAD model has more perfect circles, once they are converted to a mesh for 3d printing that circle has to be subdivided into straight lines, the number of which determines the file size. A side effect though is that your final prints end up with these flat faces which are very obvious with shiny plastics like "silk" PLA filament. You can usually adjust this effect by increasing the model details when exporting from CAD but always at a consequence of increased file size.

This is the same model as it is rendered in fusion360 as a preview. This is a more accurate depiction of the CAD 3d model but not what the final part is going to look like. Fusion360 has no way of knowing what the slicer is going to do it and thus the actual 3d model preview is more preliminary than we can achieve with exporting the tool paths.
For example it cannot know how thick the walls will be printed or if there is infill or not.

The same model rendered in Blender with no top fill material to show the infill pattern and internal structure used. These are just default shader materials applied to the 3d tool paths and no modifiers.
My next goal is this project is to try and learn those materials better to bring it closer to photorealism. I'm really happy with these results already but I think it can be pushed even further by making use of better materials applied to these tool paths. It should be possible to make each line show it's plastic deformities, little micro-scratches to the plastic and unevenness that is revealed when you examine the filament under a zoomed lens or microscope.
This is a zoomed photo I took of the roll of filament I will be using for this particular print. I don't think I realized just how textured that plastic really is. Hopefully I will be able to recreate this roughness in the print itself as well.

If I get the quality of the renders high enough I can throw the printer into the ocean and just send photos of stuff I say I printed instead.
Last edited: