3d printing of nonplanar layers for ... - uni-hamburg.de€¦ · 27/11/2018  · gcode generation...

30
MIN Faculty Department of Informatics 3D Printing of Nonplanar Layers for Smooth Surface Generation Master Thesis Final Results Daniel Ahlers University of Hamburg Faculty of Mathematics, Informatics and Natural Sciences Department of Informatics Technical Aspects of Multimodal Systems 27. Nov. 2018 D. Ahlers 3D Printing of Nonplanar Layers 1 / 30

Upload: others

Post on 01-Mar-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 3D Printing of Nonplanar Layers for ... - uni-hamburg.de€¦ · 27/11/2018  · GCode Generation IntroductionRelatedWorkImplementationEvaluationConclusion I PathsaretranslatedtoG-Codeinstructions

MIN FacultyDepartment of Informatics

3D Printing of Nonplanar Layers for SmoothSurface Generation

Master Thesis Final Results

Daniel Ahlers

University of HamburgFaculty of Mathematics, Informatics and Natural SciencesDepartment of InformaticsTechnical Aspects of Multimodal Systems

27. Nov. 2018

D. Ahlers – 3D Printing of Nonplanar Layers 1 / 30

Page 2: 3D Printing of Nonplanar Layers for ... - uni-hamburg.de€¦ · 27/11/2018  · GCode Generation IntroductionRelatedWorkImplementationEvaluationConclusion I PathsaretranslatedtoG-Codeinstructions

OutlineIntroduction Related Work Implementation Evaluation Conclusion

1. Introduction2. Related Work3. Implementation4. Evaluation5. Conclusion

D. Ahlers – 3D Printing of Nonplanar Layers 2 / 30

Page 3: 3D Printing of Nonplanar Layers for ... - uni-hamburg.de€¦ · 27/11/2018  · GCode Generation IntroductionRelatedWorkImplementationEvaluationConclusion I PathsaretranslatedtoG-Codeinstructions

IntroductionIntroduction Related Work Implementation Evaluation Conclusion

I Generating 3D objects directly from model dataI Can produce complex objectsI 3D printing covers a wide variety of techniquesI Focus on standard Fused Deposition Modeling (FDM) printersI Object is built by stacking individual layers onto each otherI Approximates 3D object

D. Ahlers – 3D Printing of Nonplanar Layers 3 / 30

Page 4: 3D Printing of Nonplanar Layers for ... - uni-hamburg.de€¦ · 27/11/2018  · GCode Generation IntroductionRelatedWorkImplementationEvaluationConclusion I PathsaretranslatedtoG-Codeinstructions

ProblemIntroduction Related Work Implementation Evaluation Conclusion

Stair stepping

D. Ahlers – 3D Printing of Nonplanar Layers 4 / 30

Page 5: 3D Printing of Nonplanar Layers for ... - uni-hamburg.de€¦ · 27/11/2018  · GCode Generation IntroductionRelatedWorkImplementationEvaluationConclusion I PathsaretranslatedtoG-Codeinstructions

ProblemIntroduction Related Work Implementation Evaluation Conclusion

Stair stepping

0 20 40 60 80

0

2

4

6

8

10

surface angle / ◦

stair-s

teplen

gth/mm

0.1mm0.3mm

D. Ahlers – 3D Printing of Nonplanar Layers 5 / 30

Page 6: 3D Printing of Nonplanar Layers for ... - uni-hamburg.de€¦ · 27/11/2018  · GCode Generation IntroductionRelatedWorkImplementationEvaluationConclusion I PathsaretranslatedtoG-Codeinstructions

Curved Layer Fused Deposition Modeling [1]Introduction Related Work Implementation Evaluation Conclusion

I Introduced Curved Layer Fused Deposition Modeling (CLFDM)I Curved surface is defined as a parametric surfaceI MATLAB script generates the toolpathI Generated from top to bottomI Offsetting the top surface until the desired thickness reachedI Toolpaths where only visualized not printed

D. Ahlers – 3D Printing of Nonplanar Layers 6 / 30

Page 7: 3D Printing of Nonplanar Layers for ... - uni-hamburg.de€¦ · 27/11/2018  · GCode Generation IntroductionRelatedWorkImplementationEvaluationConclusion I PathsaretranslatedtoG-Codeinstructions

Combining Flat and Curved Layers [2, 3]Introduction Related Work Implementation Evaluation Conclusion

I Combined curved and flat layer in a single objectI Surfaces are classified by their normalI All top surfaces are printed curvedI Toolpath is generated by rasterizing the surfaceI Top surface is offset downwards along the facets normalI Curved area is removed from the modelI Remaining model is sliced planar

D. Ahlers – 3D Printing of Nonplanar Layers 7 / 30

Page 8: 3D Printing of Nonplanar Layers for ... - uni-hamburg.de€¦ · 27/11/2018  · GCode Generation IntroductionRelatedWorkImplementationEvaluationConclusion I PathsaretranslatedtoG-Codeinstructions

Hardware LimitationsIntroduction Related Work Implementation Evaluation Conclusion

I Nonplanar moves can cause collisionsI Restrict Z-movementsI Limitations:

I Maximum angleI Maximum height

I Pointy nozzle

50mm

8◦7.5mm

45◦

D. Ahlers – 3D Printing of Nonplanar Layers 8 / 30

Page 9: 3D Printing of Nonplanar Layers for ... - uni-hamburg.de€¦ · 27/11/2018  · GCode Generation IntroductionRelatedWorkImplementationEvaluationConclusion I PathsaretranslatedtoG-Codeinstructions

Identifying Printable Nonplanar SurfacesIntroduction Related Work Implementation Evaluation Conclusion

I Find surfaces which not exceed hardware limitsI Angle can be easily calculated by the normalI normal .Z >= cos(maxangle)I Grouped into connected componentsI Check min and max of each group and compare with the

maximum height

z

x

D. Ahlers – 3D Printing of Nonplanar Layers 9 / 30

Page 10: 3D Printing of Nonplanar Layers for ... - uni-hamburg.de€¦ · 27/11/2018  · GCode Generation IntroductionRelatedWorkImplementationEvaluationConclusion I PathsaretranslatedtoG-Codeinstructions

Layer GenerationIntroduction Related Work Implementation Evaluation Conclusion

I Slice model into individual layersI Generate 2D polygons of layersI Vertices of the polygon are generated where the cut intersects

with a triangle edge

zx

y

x

D. Ahlers – 3D Printing of Nonplanar Layers 10 / 30

Page 11: 3D Printing of Nonplanar Layers for ... - uni-hamburg.de€¦ · 27/11/2018  · GCode Generation IntroductionRelatedWorkImplementationEvaluationConclusion I PathsaretranslatedtoG-Codeinstructions

Surface Generation for Nonplanar LayersIntroduction Related Work Implementation Evaluation Conclusion

I Find top surfaces which lay below the nonplanar meshI Subtract the layer above from each layerI The leftover is a top surfaceI Intersect the top surface with the horizontal projection of the

nonplanar meshI Mark the intersections as top_nonplanar surfaces

z

x

D. Ahlers – 3D Printing of Nonplanar Layers 11 / 30

Page 12: 3D Printing of Nonplanar Layers for ... - uni-hamburg.de€¦ · 27/11/2018  · GCode Generation IntroductionRelatedWorkImplementationEvaluationConclusion I PathsaretranslatedtoG-Codeinstructions

Surface Generation for Nonplanar LayersIntroduction Related Work Implementation Evaluation Conclusion

I Move all top_nonplanar surfaces to the highest layer withnonplanar surfacesI Highest layer is marked as home_layerI Each surface below is moved to home_layerI Repeated for additional shell layers

z

x

D. Ahlers – 3D Printing of Nonplanar Layers 12 / 30

Page 13: 3D Printing of Nonplanar Layers for ... - uni-hamburg.de€¦ · 27/11/2018  · GCode Generation IntroductionRelatedWorkImplementationEvaluationConclusion I PathsaretranslatedtoG-Codeinstructions

Perimeter GenerationIntroduction Related Work Implementation Evaluation Conclusion

I Generated along the inside of the contour polygonsI Offset the outline half an extrusion width to the insideI Generate outline loop on this lineI Repeat until desired perimeters are reached

zx

y

x

D. Ahlers – 3D Printing of Nonplanar Layers 13 / 30

Page 14: 3D Printing of Nonplanar Layers for ... - uni-hamburg.de€¦ · 27/11/2018  · GCode Generation IntroductionRelatedWorkImplementationEvaluationConclusion I PathsaretranslatedtoG-Codeinstructions

Prepare FillingIntroduction Related Work Implementation Evaluation Conclusion

I Surfaces of the object are classifiedI First layer -> bottom (red)I Nothing on the layer above -> top (blue)I Nothing below -> overhangI Bottom layer below or top above -> internal_solid (light blue)I Everything else -> internal (yellow)

I Each type is later handled differently

zx

y

x

D. Ahlers – 3D Printing of Nonplanar Layers 14 / 30

Page 15: 3D Printing of Nonplanar Layers for ... - uni-hamburg.de€¦ · 27/11/2018  · GCode Generation IntroductionRelatedWorkImplementationEvaluationConclusion I PathsaretranslatedtoG-Codeinstructions

Surface FillingIntroduction Related Work Implementation Evaluation Conclusion

I Each surface is filled regarding their typeI Top, bottom and internal_solid are usually solidI Infill usually with less dense infill pattern

I RectilinearI StarI HoneycombI ...

zx

y

x

D. Ahlers – 3D Printing of Nonplanar Layers 15 / 30

Page 16: 3D Printing of Nonplanar Layers for ... - uni-hamburg.de€¦ · 27/11/2018  · GCode Generation IntroductionRelatedWorkImplementationEvaluationConclusion I PathsaretranslatedtoG-Codeinstructions

Toolpath Generation for Nonplanar LayersIntroduction Related Work Implementation Evaluation Conclusion

Projection of generated pathI Transform the 2D toolpath into a 3D nonplanar toolpathI Project each point of the path down onto the triangle meshI For each point of the path

I Search the triangle which contains the pointI Project the point vertically down onto the triangle

z

x

D. Ahlers – 3D Printing of Nonplanar Layers 16 / 30

Page 17: 3D Printing of Nonplanar Layers for ... - uni-hamburg.de€¦ · 27/11/2018  · GCode Generation IntroductionRelatedWorkImplementationEvaluationConclusion I PathsaretranslatedtoG-Codeinstructions

Toolpath Generation for Nonplanar LayersIntroduction Related Work Implementation Evaluation Conclusion

Projection of generated pathI Split path up on intersections with the triangle edgesI For each line of the path:

I Check against all edges of every triangle if they intersectI Store the intersection pointsI Take Z-component from the triangle meshI Sort all points along the previous line directionI Remove duplicate points

I Nonplanar toolpath is finished

zx

z

xy

D. Ahlers – 3D Printing of Nonplanar Layers 17 / 30

Page 18: 3D Printing of Nonplanar Layers for ... - uni-hamburg.de€¦ · 27/11/2018  · GCode Generation IntroductionRelatedWorkImplementationEvaluationConclusion I PathsaretranslatedtoG-Codeinstructions

GCode GenerationIntroduction Related Work Implementation Evaluation Conclusion

I Paths are translated to G-Code instructionsI Usually X and Y moves inside each layerI Z-coordinates added where they are neededI The extrusion is calculated by the desired line thickness and its

length

G1 X66 .511 Y86 .603 Z5 .607 E2 .00002G1 X66 .603 Y86 .511 Z5 .599 E2 .00719G1 X67 .223 Y86 .511 Z5 .545 E2 .04121G1 X66 .511 Y87 .223 Z5 .607 E2 .09641G1 X66 .511 Y87 .843 Z5 .607 E2 .13031G1 X67 .843 Y86 .511 Z5 .491 E2 .23353G1 X68 .463 Y86 .511 Z5 .436 E2 .26755

D. Ahlers – 3D Printing of Nonplanar Layers 18 / 30

Page 19: 3D Printing of Nonplanar Layers for ... - uni-hamburg.de€¦ · 27/11/2018  · GCode Generation IntroductionRelatedWorkImplementationEvaluationConclusion I PathsaretranslatedtoG-Codeinstructions

GCode GenerationIntroduction Related Work Implementation Evaluation Conclusion

Collision preventionI Collisions can occur when traveling inside a layerI To prevent them collisions:

I Always move Z up firstI Always move Z down lastI Always lift Z when below current layer height

zx

zx

D. Ahlers – 3D Printing of Nonplanar Layers 19 / 30

Page 20: 3D Printing of Nonplanar Layers for ... - uni-hamburg.de€¦ · 27/11/2018  · GCode Generation IntroductionRelatedWorkImplementationEvaluationConclusion I PathsaretranslatedtoG-Codeinstructions

LimitationsIntroduction Related Work Implementation Evaluation Conclusion

I Some features of slicing unusable with nonplanar layers(adaptive layers, support ...)

I Handles only top facing surfacesI Only usable where nonplanar surfaces are printable without

collisionI Printer needs a pointy nozzle and some clearance to print

objectsI Projection of planar path onto curved surface will lead to over-

and under-extrusion

[5]

D. Ahlers – 3D Printing of Nonplanar Layers 20 / 30

Page 21: 3D Printing of Nonplanar Layers for ... - uni-hamburg.de€¦ · 27/11/2018  · GCode Generation IntroductionRelatedWorkImplementationEvaluationConclusion I PathsaretranslatedtoG-Codeinstructions

PrintingIntroduction Related Work Implementation Evaluation Conclusion

I Software demoI Printing video

D. Ahlers – 3D Printing of Nonplanar Layers 21 / 30

Page 22: 3D Printing of Nonplanar Layers for ... - uni-hamburg.de€¦ · 27/11/2018  · GCode Generation IntroductionRelatedWorkImplementationEvaluationConclusion I PathsaretranslatedtoG-Codeinstructions

Stair-SteppingIntroduction Related Work Implementation Evaluation Conclusion

I Stair-stepping is removed on nonplanar printable areas

D. Ahlers – 3D Printing of Nonplanar Layers 22 / 30

Page 23: 3D Printing of Nonplanar Layers for ... - uni-hamburg.de€¦ · 27/11/2018  · GCode Generation IntroductionRelatedWorkImplementationEvaluationConclusion I PathsaretranslatedtoG-Codeinstructions

Slice and PrintspeedIntroduction Related Work Implementation Evaluation Conclusion

I Test model has 3778 facetsI Has a nonplanar printable areaI Layer height is 0.3mm and between 0.1mm and 0.3mm for

adaptive layers

slicing printingplanar 7.7 sec 91 minnonplanar 25.8 sec 93 minadaptive 11.7 sec 125 min

D. Ahlers – 3D Printing of Nonplanar Layers 23 / 30

Page 24: 3D Printing of Nonplanar Layers for ... - uni-hamburg.de€¦ · 27/11/2018  · GCode Generation IntroductionRelatedWorkImplementationEvaluationConclusion I PathsaretranslatedtoG-Codeinstructions

Surface RoughnessIntroduction Related Work Implementation Evaluation Conclusion

I The nozzle penetrates the extrusion line while printingI The negative approximation error increases with the surface

angle θI Due to the penetration the surface appears rough

θ

D

D. Ahlers – 3D Printing of Nonplanar Layers 24 / 30

Page 25: 3D Printing of Nonplanar Layers for ... - uni-hamburg.de€¦ · 27/11/2018  · GCode Generation IntroductionRelatedWorkImplementationEvaluationConclusion I PathsaretranslatedtoG-Codeinstructions

Surface RoughnessIntroduction Related Work Implementation Evaluation Conclusion

I Stair stepping is formed between by two layersI The negative approximation error decreases with the surface

angle θI The surface looks rougher with longer stair steps.

θ

D. Ahlers – 3D Printing of Nonplanar Layers 25 / 30

Page 26: 3D Printing of Nonplanar Layers for ... - uni-hamburg.de€¦ · 27/11/2018  · GCode Generation IntroductionRelatedWorkImplementationEvaluationConclusion I PathsaretranslatedtoG-Codeinstructions

Surface RoughnessIntroduction Related Work Implementation Evaluation Conclusion

Negative approximation error:I Planar error generated by the stair-steppingI Nonplanar error generated by the nozzle penetration

0 5 10 15 20 25 30 35 40 450

0.5

1

1.5

2

surface angle / ◦

negativ

eerror/

mm

2 nonplanarplanar(0.3mm)

D. Ahlers – 3D Printing of Nonplanar Layers 26 / 30

Page 27: 3D Printing of Nonplanar Layers for ... - uni-hamburg.de€¦ · 27/11/2018  · GCode Generation IntroductionRelatedWorkImplementationEvaluationConclusion I PathsaretranslatedtoG-Codeinstructions

ConclusionIntroduction Related Work Implementation Evaluation Conclusion

I Stairstepping removed on surfaces with a small slopeI Surfaces appear much smootherI Shape error of the printed object is reducedI Overall strength of the object is increasedI Print time is similar to planar printingI Complex object often suffer from collisions

D. Ahlers – 3D Printing of Nonplanar Layers 27 / 30

Page 28: 3D Printing of Nonplanar Layers for ... - uni-hamburg.de€¦ · 27/11/2018  · GCode Generation IntroductionRelatedWorkImplementationEvaluationConclusion I PathsaretranslatedtoG-Codeinstructions

OutlookIntroduction Related Work Implementation Evaluation Conclusion

I Add support generationI Better travel movesI Include bottom facing surfacesI Nozzle height adjustments for less surface penetrationI Better fill patternsI Build a print head especially for nonplanar printing

D. Ahlers – 3D Printing of Nonplanar Layers 28 / 30

Page 29: 3D Printing of Nonplanar Layers for ... - uni-hamburg.de€¦ · 27/11/2018  · GCode Generation IntroductionRelatedWorkImplementationEvaluationConclusion I PathsaretranslatedtoG-Codeinstructions

BibliographyIntroduction Related Work Implementation Evaluation Conclusion

[1] D. Chakraborty, B. Aneesh Reddy, and A. Roy Choudhury,“Extruder path generation for curved layer fused depositionmodeling,” Computer Aided Design, vol. 40, pp. 235–243, Feb.2008.

[2] B. Huang and S. Singamneni, “A mixed-layer approachcombining both flat and curved layer slicing for fuseddeposition modelling,” Proceedings of the Institution ofMechanical Engineers, Part B: Journal of EngineeringManufacture, vol. 229, no. 12, pp. 2238–2249, 2014.

[3] T. Llewellyn-Jones, R. Allen, and R. Trask, “Curved layer fusedfilament fabrication using automated toolpath generation,” 3DPrinting and Additive Manufacturing, vol. 3, no. 4,pp. 236–243, 2016.

D. Ahlers – 3D Printing of Nonplanar Layers 29 / 30

Page 30: 3D Printing of Nonplanar Layers for ... - uni-hamburg.de€¦ · 27/11/2018  · GCode Generation IntroductionRelatedWorkImplementationEvaluationConclusion I PathsaretranslatedtoG-Codeinstructions

Bibliography (cont.)Introduction Related Work Implementation Evaluation Conclusion

[4] Y. Jin, J. Du, Y. He, and G. Fu, “Modeling and processplanning for curved layer fused deposition,” The InternationalJournal of Advanced Manufacturing Technology, vol. 91,no. 1-4, pp. 273–285, 2017.

[5] S. Lim, R. A. Buswell, P. J. Valentine, D. Piker, S. A. Austin,and X. De Kestelier, “Modelling curved-layered printing pathsfor fabricating large-scale construction components,” AdditiveManufacturing, vol. 12, pp. 216–230, 2016.

D. Ahlers – 3D Printing of Nonplanar Layers 30 / 30