6. 3D Scanning and printing¶
This week I worked on 3D scanning and 3D printing.
Assignment
group assignment:
- test the design rules for your 3D printer(s)
individual assignment:
- design and 3D print an object (small, few cm3, limited by printer time)
that could not be made subtractively
- 3D scan an object (and optionally print it)
First for 3D scanning I will explain different scanners we have in my lab, AgriLab. After I will explain the way I did my scans and how I used the device for scanning. I will do a quick paragraph to tell that I perceived for different scans.
For the 3D printing part, I will show the device with have in AgriLab, the tests I made with one printer, the Creality ender 5 plus. And finally I will show the individual assignment and the design I made for it.
3D Scanning¶
In my lab Agrilab we have 3 kind of scanner but I will use only 2, and the third technic will be with my phone.
The Kinect with an adaptator
A pro scanner, the Einscan pro +
To scan well, the object has to be well prepared. We could scan in colors but the color module has to be add with the pro scanner. The Kinect and my phone camera can make colorful objects.
The scanner only do photos and movements mainly. The reconstruction is the job of the software. The software tries to find some details to merge the images.
The more complicated shapes with a lit of details are easier to scan.
Kinect¶
To use the Kinect one there need to buy an adaptator, or do a custom cable, the cable is not an usb normal cable.
It works at 12 V and a USB is only 5 V. A handle has been made to be more comfortable to use it with a grip. There is many part in a Kinect, with stuff for moving, for taking pictures and filming. This scan move with the hand.
The Kinect uses a laser to scan.
Software - Kinect - Skanect¶
Skanect is one of the software for Kinect, first we configure the size of the scan in “scene”.
We can change the size manually or with a ratio. Then click start and we can start the recording.
Don’t be too fast, the perfect speed to scan the shape has to be find. Before starting we can add a delay.
On the screen the color are the depth, green color is ok. Now record and check ther econstruc part.
We can scan reflective surface with the Kinect. When we put light with the Eisncan pro plus on a reflective surface, it can’t adjust the cameras.
We can see at the end of the scan the path traveled with the Kinect around the object.
After meshing the object we have many options to improve the shape.
I scanned my hyppopotamus plush and the result is very fine. The advantage of the Kinect is that it records easily the colors and the texture.
At the end I have to export my file, I can chose the quality, how many polygons I want in, and the kind of format. I tried to save the file both in .ply and .obj and result appear quite the same.
To do that I hang the hippopotamus to be able to turn around it with the Kinect.
The scan was such that there was no need to delete parts, for example the rope don’t appear on the scan.
Here is the two files of panda scanning compressed in .rar
Einscan pro +¶
We can use it by hand or with the turn table. The turn table is coded with markers. Because of those markers we can have the correct shape we want to scan. If we scan by hand we can also have the correct size with putting a marker somewhere which we know the correct size, for example a cube with one centimeter sized to scale. With the turn table it is auto-scaled.
The turn table can handle only small objects. The Pro scanner is a structured light scanner, with two cameras. The projector sends a grid and the two cameras take pictures of the grid.
The cameras measure all the deformation. The bending of all the lines help to have at the end the correct shape. Before, this scanner was very sensitive to the colors. With big differences of colors, it is hard to adjust. For exemple, with a red and white shape, it does it well for the white part but a make hole for the red color.
With the last version software, it is easier. With only one time scanning we can have the shape in all. Because of the lights, the main problem is the dark shapes. With the turn table the software know the way to assemble images. If the scanning is done by hand, we could had details in the background, it is like add default on the image and help to merge images.
At the end, we have to find the correct balance between quality and time. The pro takes photos of the poses, from 4 to 6 poses up to 120 poses on the 360 degree circle. It takes about one minute per pose, so it is not really useful to take 120 poses pictures of the objects, it takes time.
Software - Pro scanner - Einscan pro +¶
First set the Einscan pro +, set the way of scanning and start the project. We have no color for the scan. If we scan by hand, the software will need a way to merge the pictures. We can stick markers to the to the object to help the scan by adding details for reconstruction mesh and low details faces.
For the turn table, we see on the part without light if the object fit in the rectangle of the light. The cross is the focus. One limit of this technique is the light, another one is the turn table.
First we have to select the scanner, and the way to use it.
The scanner doesn’t scan with color because we dont have the right module to do that.
On the screen, white color is ok, red is too much light. We must not forget to plug the table, the software will ask the settings.
We select the turn tablle with the embed markers. We can adjust the scanner to have the correct balance. If we scan in a darkest room it is better. The HDR setting will adjut automatically the light.
After the scan, we select the part we want, invert and delete the other part that is not needed.
Little by little, step by step, we slowly rotate the object once the scanner is finished to redo one from another angle. We can either move the scanner, or move the object, the only requirement is that the scanner has to see the markers.
The scanning with EinScan pro +¶
I scanned a random object, the same I will use to scan with Qlone, my phone charger socket. I put it on the turn table. When the scan starts, it send a projected grid on the table.
After the first scan we see on side of the object, that’s why I have to move it to scan the other parts.
After every scan I have to clean the stuff outside the object.
I scanned many side of the object, where I can put the object without support. To scan an other side of the object, I had to insert the pins into cardboard to keep the object straight.
To scan the pins I put some talc on the pin because of the light, the scanner doesn’t scan shiny object
And finally to have the hole scanned I planted it in polystyrene to stay in the direction I wanted.
At the end the scan is pretty good.
At the end of the scan I have to mesh the model to be able to be exported.
When we want to export the file, the software ask the quality of the shape we want to export, the size of the file will depend of it. When I saved it in the better quality, the size of the file was around hundreds megabits.
Here is the shape in a very low quality, the file is only around 1 megabit and the quality is still pretty good.
I also tried the to scan the keyring fluffy but the scan were pretty bad. I also scanned it with Qlone which you can see after.
Scanning with iPhone 11 - Qlone¶
I wanted to try 3D scanning with my phone, I download Qlone. To use it a map given by the app has to be printed. Then we put the object on this paper. To try the app I scan the socket of my phone charger. So first I have to turn arround the object according to sphere grid given by the app. The differents parts of the sphere that are at the beginning in grey have to be complete in the transparent in order to have the scan complete.
The first shape was pretty good except at the end where it is shiny.
Then I did a second scan to merge the two scans to have a better shape at the end. But the shape was pretty messy because of the second scan. I tried to merge manually the shapes to have a better result but I could only do it by one point.
At the end I wanted to export my shape but I was limited by the app in free mode.
I wanted to try again with another shape, to see how the app is dealing with a fluffy object. I took my keyring and scanned it.
The colors were good but it show a result in sphere shape with a fluffy picture in recovery, not really the true object. Once again, the scans were independently pretty well, but when it comes to merge them together, it messed up the all shapes.
The result at the end was not good.
I was limited by the app in free mode, I could access to all the settings, and the merging of the 3D scans are not really good. Otherwise the app is nice to scan quickly a shape with very litlle material, even if we can’t export the file and do something with it.
Results¶
First I scanned with Qlone on my phone, the results of the first scan was pretty fine, but when it comes to merge, the application is doing messy stuff. That’s why I wanted to try to scan the same objects with different scans. The fluffy shape was very hard to do, even with the Einscan pro + or the Kinect. With the Kinect it was too sensitive to do a recording. That’s why I did an other shape, the hippopotamus with the Kinect. One big advantage of the Kinect is that it records colors, for a same textured object we can see the different colors. The pro scanner with the turn table is very easy to use and quick because the scan is doing by itself, we just have to move or adjust the object every turn.
3D Printing¶
In my lab Agrilab we have 3 kind of 3D printers :
- FDM
- CFR (Continuous Fiber Reinforcement) composite
- SLA
Here is the 5 3D printers we have in AgriLab :
We have 5 FDM in cartesian mode. A 3D printers works in pushing the filament in the nozzle.
There is two kind of system, the extruder system with a tube, named Bowden and the direct drive system, without tube.
Here is the Bowden system
Here is the direct drive system
The bed moves on one and not on the other. When the bed is moving with a lot of weight on it it is harder to move. The other bed can only move on z.
The small ultimaker device can be travelled to print everywhere. The big ultimaker have 2 extruders. We can mix color and material, for example PLA plastic with PVA, that can be dissolved in water.
We can build a support for the shape that can be easily remove with tools like tweezers or cutter. One of the material that can be used by a 3D printers is PLA, it is a thermoplastic that can be melt, then we build with it and it can remelt. Another kind of material is thermosetting plastic like PVA.
In the ultimaker 3 extended there are two kind of head, AA for the PLA, BB for the PVA.
We put the two spool behind the device.
We have to be careful with the levelling. A 3D printer is working in layer.
We can choose the size of the layers, to find the balance between beauty, occuracy and speed. The bridge test will help to how the size of the layers in bridges.
Some device have a heating bed.
The key of a 3D printing is to heat and cold. We have to control the cooling. The devices have fan to cool. The nozzle will put the filament so that it adheres well to the previous layer.
That’s why the heat and the cold have to be controlled. The speed has to be set so that the filament will be pushed according to the movement.
The set of the height of the bed depends on the device. There is autolevelling for the Prusa, with induction sensor. The creality cr10 is fully manual of the z, we take a paper to see. For the creality 5+ it is a physical sensor.
We need a slicer software to transform the 3D model in coords that can be understand by the device. Slicer understand most basic .stl, .obj .ply. Slicer is a kind of software for example slic3r or cura.
The code understood by the printer is gcode. The format .stl works because the printer don’t do colors. Slicer cut the shape in many layers; each layer is kind of the z. It has to add the x and y movement in a layer.
Ultimaker cura is a good software that can export gcode files for most printers in Agrilab.
To change the filament on the creality, we need to warm the nozzle. When it is warm, we remove the filament, then we trap the new filament and put it in the sensor, we push it straight with the hand, wait it to get out then click on “feed” on the device to bring it well.
On the ultimaker, we just select the control to change the filament, the messages are displayed, follow the instructions.
Software - Cura¶
I used Ultimaker cura on my OS, Windows. In Ultimaker Cura we can select the printer, the kind of material we want to use, the size of the layer.. Print settings “infill” is how we want to be fill inside, with an option, gradual infill that modify the infill.
We have to be careful of direction of printing because of the twist of the shape and the stretching also. We can custom the support of the shape, and the built plater, with brim or skirt.
We can change the placement of the shape, one important thing is to put z = 0. (except in raft). We can change the scale, the rotation, also the shell of the shape.
Group assignement¶
Test designs for Creality ender 5 plus¶
Clearance¶
For the group assignement, I test the printer Creality ender 5 plus.
First I wanted to do some test to check the gap between 2 shapes that can handle the device to be able to do some jointures. I downloaded a file to test the clearance of the device, available on the fabacademy website. I made all the tests for the Creality 5 plus.
After downloading the .stl file for clearance I clicked and dragged it on the Cura software.
First I chose my printer. I picked the Creality 5 plus to make the tests. I set some parameters like adding a brim under the shape, infill the density at 20%, because it wanted to print my test in a few time. I generate a support for the shape because if the printer print in the air I wont get the shape I want.
I checked the temperatures of the plate and the printing on the filament spool.
I sliced my shape to see how many time will the printing take and how will my shape will be print.
I also checked with the right cursor the layers of the printing.
And I finally download the .gcode file and put it on the micro SD card readable by the device. Then I started the printing and checked if everything started well.
Here is the main settings of the printing :
- layer height: 0.2 mm
- infill density: 20%
- infill patern: cubic
- printing temperature: 200°C
- build plate temperature: 60°
- build plate adhesion type: brim
The result is pretty good at the end, I just have to remove the support.
First I tried with ultrasonic cutter but it melt my shape.
So I used a normal cutter, I removed the support, but maybe because of the infill I set at only 60%, the shape broke in two parts when I made a lever with the cutter.
We still can se the result and now I know how to set the clearance I need to design my shapes.
So for the clearance, the setting has to be over 0.2 mm to be able to remove a shape from another shape. The hole must be wider than 0.2 mm. Maybe if I have printed the shape on another side, vertical instead of horizontal, the result could have been different.
Overhang¶
I also made the test of overhang to see how the printer is dealing with printing overhang without support. Here is .stl file for overhang. This files comes from the fabacademy website
At the end, with a 10 mm overhang, the printer can still do it but it is becoming really messy under.
We can see that at the end it becomes worst. The top of the shape is still appearing clean, but when the flat is longer, the under is worst, that’s why I have to design my shape not flat, but with some angle.
Full board test¶
I looked for a test board that print many test, to check until where I can set angled shapes without support, the bridges, the precision of the printer in doing cylinders, and holes in circles and rectangles. You can find the file on thingiverse.com
Here is the final result that should appear.
First the Creality ender 5+ didn’t print the writing on the the shape. We can read the writings that are make with holes.
To test the precision of the priting I compared the size of what the result would be and what were really print.
For the cylinders, there is a difference of 0.1 mm at the external diameter.
Expected | Real |
---|---|
10 mm | 9.9 mm |
8 mm | 7.9 mm |
6 mm | 5.9 mm |
4 mm | 3.9 mm |
For the hole test, circles the printers is not really precise
Expected | Real |
---|---|
8 mm | 7.6 mm |
6 mm | 5.2 mm |
For the hole test, rectangles the measures are really good
Expected | Real |
---|---|
4 mm | 4 mm |
3 mm | 3 mm |
2 mm | 2 mm |
All the measure depends also of the measurement accuracy.
For the angles, from 50 degrees, we start to see really the lines of plastic printed.
We can see that the bridges pitch over 15 mm.
For the overhang test, after 50° we really start to see the lines of plastic printed.
Group assignment - This following part comes from the group page¶
Description of Ultimaker 3 Extended¶
The Ultimaker 3 Extended 3D printer is the large format version of the Ultimaker 3. This allows you to print larger objects. With high printing accuracy and ease of use, it allows complex objects to be printed without too much difficulty. With its PrintCore system, the print heads are interchangeable and adapted to each material. This results in a more homogenous and precise deposit and reduces the risk of nozzle clogging. The double extrusion system allows you to combine printing materials with soluble substrates to create more complex parts. You can also make colour prints.
Device | |
---|---|
Designation | Ultimaker 3 extended |
Computer interface | USB, Wifi, Ethernet |
Print head | 2 heads |
Printing speed | 300 mm/s |
Print volume | 215 x 215 x 200 mm |
Consumable materials | ABS, PLA, Nylon, CPE, Polycarbonate, PVA |
Number of colours | 2 |
Nozzle diameter | 0,4 mm |
Max. nozzle temperature | 280°C |
Max plate temperature | 100°C |
Filament diameter | 1,75 mm |
Layer thickness | 20 micron |
OS accepted | Windows, Mac OS X and Linus |
Physical characteristic | 688 x 493 x 338 mm |
Weight | 11,3 kg |
The torture test :¶
To characterize the machines we decided to use the Cura software to slice our object. This software is open-source and is available for all our OS (yes we are 3 and we have a Windows, a Linux and a Mac). Moreover we agreed on the object to be printed. We found this file on the Internet which we then shared with each other. We also chose to have the same print settings to achieve a good benchmark.
Print settings :
- Material : PLA
- Layer height: 0.2 mm
- Wall Thickness: 0.8 mm
- Nozzle: AA 0.4 mm
- Infill: 20% tri-hexagon
- Printing temp: 205°C
- Bed temp: 60°C
- Print Speed: 70 mm/s
- No support
- Adhesion Platform : Brim
Printing time: 5h 28 min
Results for the Ultimaker 3 extended¶
Test | Comments |
---|---|
External diameters | 9.8 mm instead of 10 mm, 7.8 mm instead of 8 mm, 5.8 mm instead of 6 mm, 3.8 mm instead of 4 mm |
Inner hole | 7.5 mm instead of 8 mm, 5.5 mm instead of 6 mm |
Angles | No more than 45° |
Bridge | Pitch over 15 mm |
Corners | All corners are rounded |
Writing | The writing on the top is not legible because the layers are too high. If we had set the layers to 0.1 mm the writing would have been more visible. |
We can see that the Ultimaker 3 Extended is a machine that is quite accurate. We can see an accuracy of 0.2 mm on average for outside diameters. For the inside diameters we can see an inaccuracy of 0.5 mm but this may be due to a measurement error, I couldn’t get the calliper in the hole which was too small. Concerning the angles, we can see that if the angle is greater than 45° then the layers are no longer accurate. A length of more than 15 mm also leads to an inaccuracy of the lower layers which are in the void.
Note: you can see that all right angles are rounded. This is due to the fact that the nozzle sends a round jet. It is therefore impossible to create a right angle with a protruding edge. Of course this is really very small and is equivalent to the diameter of the nozzle, so the right angle is slightly rounded by a few millimetres.
Benchmark test for Creality CR10 S5¶
Small cubes test:¶
Cube 1 (Success):
Parameters:
Parameter | Value |
---|---|
Material | PLA |
Layer height | 0.25 mm |
Speed | 20 mm/s |
Extruder Temp | 200 C |
Plate Temp | 50 C |
Infill | 10 % |
Wall count | 3 |
Skirt | True |
Cube 2 (Fail):
Parameters:
Parameter | Value |
---|---|
Material | PLA |
Layer height | 0.30 mm |
Speed | 20 mm/s |
Extruder Temp | 200 C |
Plate Temp | 35 C |
Infill | 10 % |
Wall count | 3 |
Skirt | True |
Cube 3 (Success):
Parameters:
Parameter | Value |
---|---|
Material | PLA |
Layer height | 0.30 mm |
Speed | 20 mm/s |
Extruder Temp | 200 C |
Plate Temp | 60 C |
Infill | 10 % |
Wall count | 3 |
Skirt | True |
Benchmark test model:¶
First try(Failed):
Parameters:
Parameter | Value |
---|---|
Material | PLA |
Layer height | 0.25 mm |
Speed | 20 mm/s |
Extruder Temp | 200 C |
Plate Temp | 55 C |
Infill | 10 % |
Wall count | 2 |
Skirt | True |
Second try(Failed):
Parameters:
Parameter | Value |
---|---|
Material | PLA |
Layer height | 0.25 mm |
Speed | 30 mm/s |
Extruder Temp | 200 C |
Plate Temp | 50 C |
Infill | 10 % |
Wall count | 2 |
Skirt | True |
Third try(Success):
Parameters:
Parameter | Value |
---|---|
Material | PLA |
Layer height | 0.25 mm |
Speed | 40 mm/s |
Extruder Temp | 200 C |
Plate Temp | 65 C |
Infill | 10 % |
Wall count | 2 |
Brim | True |
Notes: After calibrating the Z axix the print sticked to the build plate correctly and I was able to print overnight. From Friday evening and as we don’t have access to the lab during the weekend I checked from outside that the print was correctly.
Z axis Calibration:¶
Checklist:
- Turn on the printer.
- Make the cart go to the home position.
- Disable steppers.
- Move the cart to the closest corner of the build plate.
- Using a small piece of normal bond paper, check the Z axis distance to the plate by passing through the nozzle and the build platform.
- If you feel the paper passing too tight, lose the Z axis bolt, until the paper passes throughfully.
- Move to the next corner and repeat the steps 3 to 5.
- Once all the corners are aadjusted move to the center.
- Enable steppers again and make a test print.
- If the print sticks to the printing bed the calibration was successful.
- If not, repeat the process, until it’s succesfull.
Troubleshooting:¶
Print not sticking to build plate:
When the machine Z axis is far from the build plate it’s very likely that the printing is not going to stick to the bed. If that happens you need to check the Z axis calibration, follow the checklist.
Warp:
When the build plate is too cold, the plastic shrinks quikly and the difference of contraction between the first layers and the current ones it makes the piece to warp and detatch to the build plate.
Elephant feet:
When the Z axis is too close to the bed, the fused filament can make a bigger base that looks that a elephant feet.
Melted points:
When the temperature it’s too high and the speed it’s too slow, the filament will look very low detailed and melted looking.
3D Design - Print something that could not be easily done subtractively¶
Fail¶
One of the assignment of the week is to print something that can not be done substractively in an easy way. First I thought about something with jointure with simple shapes, like sphere and cube. I used Autodesk Fusion 360 to design my shape. I already used this sofwtare during the second week but I still don’t use it easily. First I draw spheres and cube, and I subtract them to create holes inside.
Then I created circle in a sketch on a size of the cube to create the holes and the jointure.
Then I added a sphere inside, and extrude the circle to do cylinders and I did the same on the other side.
At the end I copy it and move it to create a chain of cubes and spheres.
I will print my design to see how the 3D printers is dealing with this kind of shape.
To download the file, click right and select save the file.
Here is the file cube_3d.f3d
After export my file to a .stl file format, I launched it to the printer with the software Cura.
Once the shape was printed, I wanted to remove the supports printed inside the shape, around the cylinders and the spheres.
I tried with different tools like a cutter with a tweezer. I was able to remove a little bit of support but the tool was too big for the gaps made around the cylinder. I also tried with a Dremel tool to remove the support but the tip of the tool was too big for the gap and it destroyed everything.
At the end I wasn’t able to remove support but I wanted to see what is inside the shape. I cut it with an ultrasonic cutter.
We can see that there is a lot of support inside, that is why I wasn’t able to move the sphere inside the shape.
I will try do it later if I have time to make my shape better and do better joints to be able to remove the support inside. I fill the shape at 30%, I will try to fill it at 100% to have more taking on it and put strength to make the balls move.
Success (relatively)¶
I designed another shape using my panda that I did in 2D during a previous week. I insert the image as svg. In that way I already have curves in lines that are vector and can be manipulated with fusion 360. First I didn’t know how to import images. Ichecked on autodesk Fusion 360 support to see how to insert images, but I can’t play with lines and making 2D shapes with only an image. That’s why I had to import it as an svg. I add some rectangles to slice my shape.
Then I use the extrusion tool to give relief to my shape.
After moving each bodies away from the other, I had to think to a way to make jointure between them. I got inspired by a dinosaur made in my lab with jointures with kind of sticks inside.
I designed the shapes on a sketch in 2D. I used the clearance test made previously to set a gap at 2 mm between the shape, to be sure that the shapes will move relative to each other.
And then I extrude it to make jointures.
Now I have to print it to see if the jointures are good. I am afraid that the shape would be too small, and the printers won’t make jointures as I want.
When I checked the file, Fusion show me only one body. The different parts of the panda shouldn’t be stick together, there is a problem. As we can see on the 2D design of the jointures I made, there is only one rectangle for all the jointures that’s why when I extrude the shapes are stuck together. I deleted all the jointures to do it again from the beginning. I have to do more simple jointures to be able to print my shape before the end of the week. I finally did arc circles and circles for jointures, with bigger clearance between them, to make them move better.
I extrude the circles and half circle to do the jointures.
I also did want to print it without support, to avoid the problem happened before with the previous shape. I had to add some angles under the jointures. As we can see the jointures shapes is rounded, that means it is not really easy to draw on it.
I select the sketch on the left side of the shape, select the jointure on the body and use the project tool to bring the ridge of the shape on my sketch.
Then I designed the angle of the jointure from the side, and extrude the lower part in triangle shape. To do that I checked the big test board and finally add an angle at 78°
Then I selected the two bodies and did a subtractive boolean operation.
I exported my file as an .stl file and import it on the cura software.
To download the file, click right and select save the file.
Here is the file panda.f3d
Here is the file panda.stl
I selected an infill at 60% to have a strong shape, I removed the support and add a brim.
At the end of the scan, the shape is pretty good. We can recognize the panda shape.
When we look on the side of the object, we can see that where the printing printed without support it is a little bit messy. Because of the angles of the shape the printer has difficulties to print it well but I couldn’t do less angle because I still need the shape to be thick.
All the files¶
- .stl file for overhang
- .stl file for clearance
- file cube_3d.f3d
- file panda.stl
- file panda.f3d
- two files of panda scanning compressed in .rar