Layered Manufacturing of Thin-Walled Parts Sara McMains, Jordan Smith, Jianlin Wang, Carlo Séquin UC Berkeley Is Layered Manufacturing really Rapid Prototyping? 2.5”, 15hrs 3.5”, 20hrs 3.0”, 25 hrs • How can we speed up these manufacturing technologies? Raster Scan Technologies • • • • Example: 3D Printing Speed of roller limits the process Build time = z-height Speed up: pack build volume in xy with many parts Vector Scan Technologies • Example: FDM (Fused Deposition Modeling) • Build time = volume scanned (material used) • Our Goal: create a sturdy part that is visually equivalent but uses less material, so that it builds faster Building Solid Parts with QuickSlice QuickSlice 3D B-Rep STL Slicer SSL Support Roads • Software interface to Stratasys 1650 FDM Machine • Input: STL boundary representation • Slices model into z-layer contours (SSL) • Builds support structure • Builds roads (nozzle fill path) (SML) SML FDM QuickSlice Fast Build 3D B-Rep STL QuickSlice Slicer SSL SML Support • Builds a semi-hollow version of the solid • n solid offset rings • Center filled with a loose crosshatch pattern Fast Roads FDM Fast Build Limitations z • Structurally conservative • Only applied to slice layers whose center area is completely covered by slices above and below it • Gradually sloping surfaces prevent its application • Worst case example Can Approach Be More Aggressive? 3D B-Rep Automated Process? SML FDM • Our Goal: – Create an automated process – Input: the boundary representation of a desired solid geometry – Output: a sturdy, physical part that is visually equivalent while using less material – Benefits: faster build times and material conservation • Our Assets: – QuickSlice software as a black box – Specifically the loose fill crosshatched roads option Idea #1: 3D Offset Pipeline 3D B-Rep Polyhedron Offset STL Quick Slice Assume we have true 3D offset surface at the desired distance inward • Solid-fill the volume between the input and the offset surfaces • Crosshatch-fill the volume within the offset surface Unfortunately, the 3D offset is difficult to implement robustly! SML FDM z Idea #2: Approximate 3D Offset 3D B-Rep QuickSlice Slices Slicer Slicer SSL Support Roads SML FDM • Key ideas: – Offsetting is much simpler in 2D than in 3D – The manufacturing process eventually represents the part as a stack in z of layers of 2D contours • Start: slice polyhedron into desired set of 2D contours • End: input SSL to QuickSlice to build support and roads 2D Contour Offset 3D B-Rep Slices Slicer Contour Offset Offsets QuickSlice SML FDM S S R SSL • Data: layers of 2D contours • Offset the 2D contours inward by a specified distance = n layer thicknesses • Near vertical walls, this is the correct 3D offset • Approximation degrades as the walls approach horizontal 2½D Polyhedron Offset 3D B-Rep Slices Slicer Contour Offset Offsets 2½D CSG QuickSlice SML FDM S S R SSL • Data: layers of 2D contours and offsets • Adjust the loose fill areas in regions where the vertical coverage above or below is less than n layers thick – Perform 2D boolean (CSG) combinations of the contours and offsets of the ith layer with the n layers above and below it – We use OpenGL for the 2D booleans Regularized Boolean Operations • • • • Unregularized: op { , , - } Regularized: op* { *, *, -* } A op* B = Closure( Interior( A op B ) ) If A & B are 2D areas and C = A op* B then C is a non-degenerate 2D area or A B AB A * B 1-Layer Thick 2½D Offset A Offset Si B Si Si 1 Si Si 1 C Si Offset Si 1 Offset Si 1 Shell A B C z 1-Layer Thick 2½D Offset A Offset Si B Si Si 1 Si Si 1 C Si Offset Si 1 Offset Si 1 Shell A B C z 1-Layer Thick 2½D Offset A Offset Si B Si Si 1 Si Si 1 C Si Offset Si 1 Offset Si 1 Shell A B C z n-Layer Thick 2½D Offset A Offset Si n n B' Si U Si k 1 Si k U Si k 1 Si k k 1 k 1 z n n C ' Si U Offset Si k U Offset Si k k 1 k 1 Shell A B'C' n-Layer Thick 2½D Offset A Offset Si n n B' Si U Si k 1 Si k U Si k 1 Si k k 1 k 1 z n n C ' Si U Offset Si k U Offset Si k k 1 k 1 Shell A B'C' n-Layer Thick 2½D Offset A Offset Si n n B' Si U Si k 1 Si k U Si k 1 Si k k 1 k 1 z n n C ' Si U Offset Si k U Offset Si k k 1 k 1 Shell A B'C' Results: the Bolt Part • QuickSlice Fast Build • 2½D Offset Method – Time: 504 min (8:24) – Filament used: 22.1 m – Time: 232 min (3:52) – Filament used: 7.6 m QuickSlice took 2.71 times as long and used 2.9 times as much filament Conclusion • We have implemented a robust 2D contour offsetting program. • We have conservatively approximated the 3D polyhedron offset using 2D contour slices, 2D offsets, and 2½D boolean operations. • We have demonstrated a novel approach to speeding up FDM manufacturing. – Our approach decomposes the desired geometry into a thin sturdy outer shell with a loosely filled center volume. – Our approach saves time and material as compared to the built-in QuickSlice solution. Thanks to our Sponsors • NSF – CyberCut – CADRE: • MOSIS++: A Distributed Manufacturing Resource (EIA-9905140) • Ford Motor Co. 2D Contour Offset Implementation Input Offset 0.1 Offset 0.2 • Difficulties arise from global interactions • Robust approach based on Voronoi diagram – Generalization of the approach described by M. Held 1991 Voronoi Diagram of a Contour • Input sites are both Vertices and directed Edge Segments • VD divides the plane into zones s.t. every point in a zone is closest to the corresponding input site than to any other site • Vertices of VD have an associated signed distance • VD is a signed distance function Voronoi Mountain z z=0 • Create a height • Offsetting by n field by raising the is the same as vertices of VD in z slicing the by their signed mountain with distance the plane z = n Offset Slicing z-monotone parabolic VD edges for each unvisited VD edge if VD edge z = n Crawl VD CCW around peak CW around each VD face Dragon Curve Example Input Voronoi Diagram Offset