6. 3D Scanning and printing¶
This week’s individual assignment was to design, 3D print an object that could not be made subtractively, and 3D scan an object.
Group assignment¶
This week’s group assignment was test the design rules for our 3D printer(s).
For our group project in 3D Printing, we got to know the 3D printers available at FabLab Dilijan.
-
Ender-3 v2
-
Ender-3 Pro
-
Ender-3
Ender-3 Pro different from other printers because it have magnetic removable build surface plate. Unlike regular bed surfaces, this printer has a surface that can be easily removed after printing. This means that after printing, you don’t need to use sharp tools to remove the object from the bed, which could damage both the object and the bed. Before we started using the Ender-3 Pro for our project, we made sure to clean the machine thoroughly and understand how to use its tools, settings, and procedures. At the beginning, we prepared the printer bed and cleaned the nozzle because we were changing the filament.
After completing modeling of the test models, we proceeded to test the printer and used the Ultimaker Cura app for slicing and preparing our 3D models for printing.
Here are the parameters we used in UltimakerCura and for the Ender-3 Pro printer.
Property | Value |
---|---|
Quality | Standard |
Walls | 2 |
Wall Thickness | 0.8 mm |
Infill Pattern | Lines |
Infill Density | 12% |
Top/Bottom Thickness | 0.8mm/4 layers |
Nozzle Temperature | 200°C |
Bed Temperature | 50 °C |
We experimented with the degree of slantness to determine the maximum inclination that the Ender-3 Pro printer could successfully print.
We also did another test to understand how would change print quality depending on speed.
We also did another test to see how the print quality would change based on the printing speed. At the beginning, the printing speed was set to 100%, but in the middle of the process, we increased it to 150%.
After bad result we printed model in 100% speed.
We also tested Creality CR-30 3D printer features an infinite Z-Axis for continuous printing, thanks to its rolling conveyor belt. With this innovative design, it can print continuously for more than 200 hours without interruption.
Here is result of the test.
We made two attempts, with the second one following thorough cleaning of the nozzle, filament, and other components. However, both prints produced the same quality results.
Individual assignment¶
3D design¶
It was important to figure out what kind of model I wanted to create that would be hard to make by subtractive methods.
3D design using AI¶
After finding various options, I’ve decided to create two models: the first being a fan and the second -a penholder. Items like a pen organizer or a fan, because of the complexity of their designs are hard to make with subtractive machining. Here are the reasons:
Small details: Pen organizers and fans have many small details, such as compartments for pens or intricate blade patterns. Making these details through subtractive machining is hard and time-consuming. Each detail may require multiple tool changes, which can increase machining time and complexity.
Considering these factors, I decided to made an organizer and fan. Since I’m not great at modeling, I figured I’d start by using artificial intelligence to help me out. For I’ve studied OpenSCAD, I thought I’d generate the fan program using ChatGPT 3․5. The first prompt was this.
- Can you provide me Openscad code for fan.
Result was this.
Then, I decided to provide a more detailed description for clarity.
- Can you give me openScad code for fan with this parameters.
Parameters | Value |
---|---|
outer_radius | 55 |
blade_count | 8 |
outer_width | 50 |
inner_width | 20 |
thickness | 2 |
twist | -30 |
angle_of_attack | 45 |
Result.
I encountered a warning stating “WARNING: No top level geometry to render.” Despite ChatGPT’s attempt to provide a solution, it didn’t work. So, I shifted focus to generating code for the penholder using prompts.
- Can you give me penholder code with OpensCad.
Result.
- With abstract design with arcs
Working with Gemini was tougher because there was a programming issue with the for loop in the code it provided.
Here is the right syntax for for loop.
3D design using OpenSCAD and FreeCad¶
Recognizing the inaccuracies in the program generated by artificial intelligence, I tried to search for a website featuring projects made with OpenSCAD. I found an excellent site that had detailed guides for the two presets I had selected, explaining them step by step.
Here are the two projects I completed by following the instructions provided on the webpage.
Penholder
Fan
After receiving the final designs, I once again turned to artificial intelligence, this time to help me explain the program.
Here is the code explanation that gave me ChatGPT 3.5 for penholder.
- Module arch:
This module generates an arch shape based on the provided parameters: arch_width: Width of the arch. arch_base: Base width of the arch. arch_angle: Angle of the arch. pillar_height: Height of the pillars supporting the arch. 2. Module basic_shape:
This submodule creates the basic shape of the arch, consisting of a square and a circle.
- arch Module Implementation:
The arch module generates the arch shape by: Creating the basic shape using the basic_shape submodule. Using rotations and translations to create the curved shape of the arch. Creating support pillars beneath the arch.
- Module side_piece:
This module generates a side piece with multiple arches: It calls the arch module to create the main arch. It then creates inner arches with reduced dimensions and different angles.
-
Main Code: Sets parameters for the side piece, such as arch_width, arch_base, arch_angle, and pillar_height. Creates the side piece by calling the side_piece module. Creates a bottom plate and a border around the side piece. Creates a center cylinder and inner walls.
-
Loop for Rotation:
Rotates the entire assembly to create multiple side pieces around a central axis.
This code essentially creates a complex 3D model of a decorative side piece with multiple arches, a center cylinder, and inner walls. The parameters can be adjusted to customize the dimensions and appearance of the side piece.
After obtaining the fan model in OpenSCAD, I tried to drill a hole in it to put a motor and test it.
I did it with FreeCad. Here are the steps.
After that I exported file .stl format.
Time for printing¶
Slicing¶
After design I needed to generate Gcode. I used UltiMaker Cura 3D printing software. It has 400+ settings for the best slicing and printing results.
I opened the file in UltiMaker Cura .
I needed to generate support. I changed this settings.
Print Settings-> Support->Generate Support
Support Placement-> Touching Buildplate
Support Pattern-> Triangles
After that I adjusted scale and selected slice option.
After it small menu with printing time was opened․ We can choose preview or Save to the disk. Preview.
After that I chose Save to disk for slicing.
Slicing means converting the 3D model file into a machine language that can be recognized by the printer, and the printer can only print successfully after recognizing this machine language. This machine language is called the G-Code file.
The same I did with my penholder, also changed the scale 30%.
When 2 Gcodes were ready, I saved them in the TF card and started preparing 3D printer.
I already had experience with 3D printing in Armath Engineering Laboratories. We work with 3D printer Bzez 2.0 that is made in Armenia and files for creating it open source.
Printing¶
In FabLab I used 3D printer Ender-3.
Here are the steps for 3D printer preparation
- Filament replacement
- Bed levelling
- Insert TF card and start printing
At first I didn’t find my file, because I needed Refresh TF card.After doing that I found it and started printing.
Here are final results.
- Penholder
- Fan
3D scanning¶
This week I tried to use AI in all my assignments. I found AI tools that can generate 3D model from image.
Meshy.ai¶
Here is my experience with this tool. It generates 3D model from image. First I uploaded the picture of my cup. Here is the result.
After that I tried to understand how it can work with human picture.
Given that I only provided one image, the generated models turned out quite decent.
Csm.ai¶
I tried to do the same with this tool. Here are the results.
It was prety good.
Alpha3d¶
With this tool I tried to generate 3D model from text.The prompt was turbo fan. But it didn’t work maybe because I didn’t gave it detailed explanation.It need to generate fan.
Scanning with mobile applications¶
After that I tried 3D scanning with mobile applications(KIRI Engine, Polycam).
Here are the results.
In spite of the fact that I took pictures from the cup for 70 times in different angles (as it is requires by the program), the model wasn’t good enough. In future I will try to use the program again, only this time I will also consider the light and shadow.
Conclusion¶
This week was very interesting and also I found out a lot of new and useful AI tools. And tested how AI could generate code for OpenScad. I didn’t know about 3D printer with scrolling bed and about it structure. I used Slic3r software for slicing and Ultimaker Cura was new for me. But as the settings is the same it was easy for me understand how it works. The scanning was very hard for me because I needed take photos and also considered the light and shadow. I had experience be scanned but never scan 3D object.