6. 3D Scanning and printing¶
Introduction
3D printing is probably the activity that I have the most prior experience with of all of the various technologies and processes that we will be interacting with throughout Fab Academy. As such, this week I wanted to challenge myself and create a project that reached beyond what I have done with 3D printing in the past. My assignment was to design and 3D print an object that could not be made subtractively and to 3D scan an object and optionally print it. I also had a group assignment that I completed alongside my peers which was to test the design rules for several of our printers that we have in our lab.
Deciding what to create
While I had many ideas for what I wanted to create this week, the possibilities were significantly reduced due to the nature of the assignment. While many different things seemed to not be possible to create subtractively, upon deeper thought opportunities for subtractively fabricating a multitude of my potential ideas did present themselves, meaning that I could not print said design. I ultimately decided that my project needed to feature multiple different interlocking pieces, as something with multiple pieces could not be created subtractively. Following a plethora of pondering a preponderance of potential projects, I postulated that printing a series of interlocking chains would allow me to satisfy the requirements for this week's first assignment. The chains could not be fabricated subtractively due to the multiple interlocking pieces that are included in the design. While a 3D printer is able to print the design by printing support structures, a 3-axis CNC machine, like the one we have in the CLS FabLab, would not be able to subtractively fabricate my design as it would not be able to create the overlapping pieces of the design without a fourth axis. Even if my design were positioned horizontally, a 3-axis machine would not be able to cut the bottom of the design, still deeming it impossible to fabricate subtractively.
Designing the chains
After deciding that I wanted to make several linked chains, I opened Fusion 360 and began to create my design.
The first thing I did was create a 1" x 0.5" rectangle and added 0.1" fillets to each corner.
I then extruded my rectangle 0.1" so I could extrude the center rectangle and create a hollow "chain" shape.
Next, I added a 0.4" fillet to each side of the extrude chain shape to add some contour to the edges.
I then extruded the central rectangle of the shape downwards, making it hollow.
After seeing how the completed chainlink looked, I decided that it look disproportionate and too elongated. I decided to re-design the shape, but I did not want to have to complete another full re-design in the event that I did not like the new design. Therefore, I decided to apply the skills that I learned during Week 4 and added parameters to my design, including parameters for the width of my rectangle as well as its length, and the amount of extrusion that I wanted on the chain.
After defining my new parameters, I began re-designing my original rectangle using said parameters.
Similar to before, I added a 0.1" fillet to each corner of the new rectangle
I then extruded the shape by 0.1" and extruded the center rectangle downwards, leaving me with a completed chain link.
Similar to before, I added a 0.1" fillet to each corner of the new rectangle
After seeing my completed shape, I decided to use the 'Push/Pull' function in order to make the edges a bit thicker. I thought this would make the design more appealing and hefty, preventing snapping in the future with little extra material cost.
After completing my first link, I duplicated and moved two different copies of the chain so that one side of the link would fit into another link of the chain. I decided to only make three chains just to prove that my design worked, as I wanted to save time on the print and conserve material for future prints that actually require the usage of more filament.
Next, I added a grey plastic color to the design using the 'appearances' menu in the software. This would give me a rough idea of the color of the design because I would be using grey filament when printing my chains.
After verifying that everything looked good on my design, I then exported the sketch as a .STL so I could open it in my preferred slicer, Cura.
After exporting the file, I opened it in Cura and kept the default settings that I have been using for my Ender 3 Pro over the past month of ownership and exported the .gcode file to my microSD card. The estimated print duration was 33 minutes with relatively sizeable supports which I was incredibly surprised by, as I thought the print would take far longer given the relatively large number of layers.
I inserted the microSD card with the .gcode file on my Ender 3 Pro and began preparing to print by cleaning my print bed and applying some bed glue to the portion of the bed that I would be printing on.
Following the conclusion of the print, I removed the supports and my chain link was complete.
Increasing the detail of the print likely would have allowed me to see the fillets that I added in Fusion, but due to the relatively small size of the shape and the low detail that I printed on most of the curves of the design are unfortunately not visible.
Final Chain Link Video
As I had never experimented with 3D scanning prior to this week’s assignment, I was incredibly excited to begin using technology that I own to bring real life objects into digital space so I could perform a variety of actions with the models that I generated, including 3D printing or tracing objects in various CAD environments. I began by experimenting with some of the softwares that Dr. Gershenfeld suggested during this week’s lecture, including Metashape, which I found incredibly useful in my preliminary scans and therefore did not need to explore other programs as I was satisfied with the model that I generated. My process of documenting and rendering my 3D model within Metashape is documented below and a download link for all of my files from this week has been included at the bottom of this page.
METASHAPE
When deciding what to create for this project, I figured that I would use one of the models of famous buildings that I have acquired throughout my travels across the United States and to various other countries throughout the world. I figured that modeling a building would give me a good control so I could later analyze the actual accuracy of the scanning software by comparing my scan to images of the actual building that I ultimately decided to render. I ultimately decided to scan a small model of the Torro de Oro that I acquired when visiting Seville, Catalonia in 2018.
Rendering Attempt #1
For my first attempt at rendering the model, I began by taking roughly 100 photographs from what I originally thought was a sufficient number of angles around the model. I would later find out that I would need to add much more variety in both the distance away from the object as well as the angles that I took the pictures from in order to achieve accurate renders.
After I uploaded the photos from my phone and into my Google Drive, I downloaded a zipped folder of all of the images onto my PC and loaded the folder into Metashape. After the photos were loaded into Metashape, I navigated to the ‘workflow’ tab within the software and selected the ‘align photos’ option. One great feature of Metashape is that the steps to render a model are laid out in an incredibly intuitive format, as one simply has to complete steps from top to bottom to fully render a scan. I selected high detail for this model. While processing every step in high detail worked for my first model, I ran into some problems when attempting to use the same settings later on due to various hardware limitations that I did not suspect would affect my supercomputer.
Once I had aligned the photos, I generated a “dense point cloud,” which would allow me to generate a more accurate final mesh in the following step, ultimately yielding a more accurate model of my statue.
After generating my dense point cloud, it was finally time for me to generate a final mesh of my image, which could then be exporting from Metashape as a .obj file and imported into Fusion 360 for final preparations before exporting the file as a .stl in the event that I wanted to print it. Printing this model likely would have been a disaster, as the vast majority of the rear of my tower did not render due to a lack of images taken from behind the model. I kept the same settings for generating my mesh as I did for all of the other portions of the rendering of this model, and rendering occurred surprisingly fast given the detail that I decided to generate my mesh in.
Rendering Attempt #2
After discovering that my 100 photo render was wildly inaccurate, I decided to re-do all of my photos in a different location with a larger set of images so I could better capture the many details of my scale model of the Torro de Oro. My second image set included 602 images which were taken from a multitude of angles, heights, and distances away from the model so I could ensure that every portion of the model was photographed effectively and would appear in my final rendering. I also decided to render everything on Ultra High detail, which would ultimately prove to be a foolish decision as my PC’s hardware limitations were finally reached for the first time throughout my two years of ownership.
I began by setting the detail of my alignment to “highest.” Previously, I used far less images and selected a lower level of detail for my rendering. The decision to render more images than the previous attempt on a higher detail would ultimately prove detrimental in the coming steps of generating my model.
After aligning my photos on my second model, I decided to also generate the dense point cloud in ‘Ultra High’ detail. This rendering took several hours to complete, but it did look incredibly detailed upon its completion. Unfortunately, due to various hardware limitations, particularly limitations with the amount of RAM available in my PC.
After generating my dense point cloud, I needed to generate my mesh. As I wanted to generate my model in the highest detail possible, I again selected the ‘ultra high’ detail when selecting the detail level of the final render. If this had worked, I would have been left with a beautiful model, but I only made it to about 3% of the render before it stopped and I was greeted with an unsavory message upon opening Metashape. I attempted to render the mesh on both ‘High’ as well as ‘Medium’ detail but only made it to 6% and 10% of the total render respectively. As such, I would need to re-render my model by re-doing each step in a lower detail so my mesh could render without attempting to utilize too much memory on my PC.
Rendering Attempt #3
After my PC did not allow me to render a model using all of the highest detail settings, I decided that I would render my model using medium detail, which would allow me to maximize the efficiency of the rendering while also retaining some level of detail in my final model. I still used the same photoset of 602 photos as I did for my second attempt, which would allow me to maximize the detail of the model by ensuring that no portion of the model was omitted from the scan.
I began my rendering process by conducting the same alignment and dense point cloud rendering processes as before, just with the detail turned down to medium quality rather than attempting to use the highest quality possible like I did in the previous renderings. Finally, I rendered the final mesh on medium detail and exported my model as a .obj file from Metashape. Had I wanted to continue my process and 3D print the project, I would have opened the project in Fusion 360 and repaired some of the less-detailed portions of the project. I then would have exported the .stl file into Cura or the Prusa Slicer depending on which printer I was using for the print. While I did not decide to print the model, I still created an incredibly accurate model despite only being able to use the medium detail setting within Metashape. I’ve included various images of my final rendering in Metashape below.