layered manufacturing of thin-walled parts sara mcmains, jordan smith, jianlin wang, carlo séquin...
TRANSCRIPT
Layered Manufacturing of Thin-Walled Parts
Sara McMains, Jordan Smith,
Jianlin Wang, Carlo Séquin
UC Berkeley
Is Layered Manufacturing really Rapid Prototyping?
• How can we speed up these manufacturing technologies?
3.5”, 20hrs 3.0”, 25 hrs2.5”, 15hrs
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
• 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)
FDMRoadsSML
3D B-RepSTL
SupportSlicer
QuickSliceSSL
QuickSlice Fast Build
• Builds a semi-hollow version of the solid
• n solid offset rings• Center filled with a loose
crosshatch pattern
FDMRoadsSML
3D B-RepSTL
SupportSlicer
QuickSliceSSL
Fast
Fast Build Limitations• 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
z
Can Approach Be More Aggressive?
• 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
SML
3D B-Rep
FDMAutomated Process?
Idea #1: 3D Offset Pipeline
• Solid-fill the volume between the input and the offset surfaces
• Crosshatch-fill the volume within the offset surface
PolyhedronOffset
FDMQuickSlice
SML
3D B-RepSTL
Unfortunately, the 3D offset is
Assume we have true 3D offset surface at the desired distance inward
• Difficult to implement robustly
• Too aggressive: slicing can produce gaps near gradually sloping walls
z
Idea #2: Approximate 3D Offset
• 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
SMLSlices
3D B-Rep
Slicer FDMRoadsSupportSlicer
QuickSliceSSL
2D Contour Offset
• 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
Slices3D B-Rep
Offsets
SlicerContourOffset
SML
SSL
FDMRSS
QuickSlice
2½D Polyhedron Offset
• 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
SML
SSL
Slices3D B-Rep
Offsets2½DCSG
Slicer FDMContourOffset
RSS
QuickSlice
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
B A * BA A B
11 iiii SSSSB
1-Layer Thick 2½D Offset iSA Offset
11 OffsetOffset iii SSSC CBAShell
z
11 iiii SSSSB
1-Layer Thick 2½D Offset iSA Offset
11 OffsetOffset iii SSSC CBAShell
z
11 iiii SSSSB
1-Layer Thick 2½D Offset iSA Offset
11 OffsetOffset iii SSSC CBAShell
z
n-Layer Thick 2½D Offset
UU
n
kkiki
n
kkikii SSSSSB
11
11'
UU
n
kki
n
kkii SSSC
11
OffsetOffset' '' CBAShell
iSA Offset
z
n-Layer Thick 2½D Offset
UU
n
kkiki
n
kkikii SSSSSB
11
11'
UU
n
kki
n
kkii SSSC
11
OffsetOffset' '' CBAShell
iSA Offset
z
n-Layer Thick 2½D Offset
UU
n
kkiki
n
kkikii SSSSSB
11
11'
UU
n
kki
n
kkii SSSC
11
OffsetOffset' '' CBAShell
iSA Offset
z
Results: the Bolt Part
• QuickSlice Fast Build– Time: 504 min (8:24)
– Filament used: 22.1 m
• 2½D Offset Method– 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
• Difficulties arise from global interactions
• Robust approach based on Voronoi diagram– Generalization of the approach described by
M. Held 1991
Input Offset 0.1 Offset 0.2
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
• Create a height field by raising the vertices of VD in z by their signed distance
• Offsetting by n is the same as slicing the mountain with the plane z = n
zz = 0
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