Additive Manufacturing File Formats Disclaimer: Information in this presentation does not constitute the final standard. Actual specifications is subject to change until finalized by ASTM
Overview Background (20m) – Robotics and design automation – Multimaterial analog materials – Digital Materials and rapid assemblers Standards for 3D printing file format (40m) – AMF
Lipson & Pollack, Nature 406, 2000
Embedded Strain Gages Silver-doped silicon Robot finger sensor
Zinc-Air Batteries With Megan Berry
Zinc-air Batteries Zinc-Air
IPMC Actuators
With Evan Malone
Model 1
Model 2
With Max Lobovsky
DIGITAL MATERIALS
Neil Gershenfeld (2005): Digital Materials
Rob MacCurdy
DESIGN
Tea. Earl Gray. Hot.
PotteryPrint.com
. com With Jeff Clune, Jason Yosinski
Objet.com
Auxetic Materials
Complexity is Free Direct (fixed blueprint) Parametric (adjustable) Programed Generative Reactive Dynamic Natural interfaces FabApps Breeding Designs Compilers New Design SpaceNew Designers New ToolsNew Encodings
FILE FORMATS
Goals Identify needs of new file format Propose new standard Reach consensus Catalyze adoption
Outline of presentation Summarize survey Outline proposed standard Process and timetable for moving forward
Prioritized features from survey n=162. Error bars = Standard Error
Proposed Format
Key considerations Technology independence – Describes target object, not how to make it – Every machine can make it to the best of its ability Simplicity – Easy to understand and implement Scalability – Can handle complex objects, microstructures, repetitions Performance – File size, read/write time, processing, accuracy Backwards compatible – Can covert to/from STL without additional info Forward compatible – Easy to extend new features in the future Adoption path – Takes advantage of existing investments in tools and infrastructure
Name AMF – Additive Manufacturing Format – Additive Manufacturing File
XML Meta-format: Format of formats – Text based – Easy to read/write/parse – Existing editing tools – Extensible – Highly compressible Mentioned by a number of constituents – E.g. Materialise – Based on work by J. Hiller (Cornell)
General Concept Parts (objects) defined by volumes and materials – Volumes defined by triangular mesh – Materials defined by properties/names Color properties can be specified – Color – Texture mapping Materials can be combined – Graded materials – Lattice/Mesostructure Objects can be combined into constellations – Repeated instances, packing, orientation
Basic AMF Structure Addresses vertex duplication and leaks of STL
Compressibility Comparison for 32-bit Floats; need to look at double precision
File Size Stored either as text or compressed (zip) Both versions have AMF extension Reader can determine which and decompress during read
Read/Write/Parse time Write (seconds) Read + parse + construct data structure (seconds) Still negligible compared to slicing/processing time
Increasing Geometric Accuracy Flat triangles do not scale well for complex geometry, esepcially: – Curved surfaces – Microstructures Typical objects require millions of triangles – 10M triangles not uncommon Likely to get worse with increasing printer resolution – 10cm sphere at 10 m requires 20,000 triangles
Geometric fidelity is a high priority Must be addressed
CURVED PATCH (Curved using vertex normals) PLANNAR PATCH Optionally add normal/tangent vectors to some triangle mesh edges to allow for more accurate geometry. CURVED PATCH (or curved using edge tangents) Curved patches
Only needed for curved surfaces Only needed for curved edges (rare)
Recursive Triangle Subdivision Importer temporarily subdivides each curved triangle into a set of 4 n planar triangles then uses those to calculate slice
Icosahedrons (20 Triangles)
Flat triangles, error = 10.26% of diameter Error
Icosahedrons (still 20 triangles) One subdivision, error = 3.81%
Icosahedrons (still 20 triangles) Two-fold subdivisions, error = 1.49%
Icosahedrons (20 Triangles) Three-fold subdivisions, error = 0.84%
Icosahedrons (still 20 triangles) Four-fold subdivisions, error = 0.67%
Icosahedrons (still 20 triangles) Five-fold subdivisions, error = 0.635%
Icosahedrons (still 20 triangles) Six-fold subdivisions, error = 0.625%
Curving the triangle patches using surface normal reduces error #-fold subdivisions Error on units sphere
Double Icosahedrons (n=80)
Flat triangles, error = 3.29%
Double Icosahedrons (n=80) One subdivision, error = 0.946%
Double Icosahedrons (n=80) Two-fold subdivision, error = 0.290%
Double Icosahedrons (n=80) Three-fold subdivision, error = 0.121%
Double Icosahedrons (n=80) Four-fold subdivision, error = 0.079%
Double Icosahedrons (n=80) Five-fold subdivision, error = 0.068%
Double Icosahedrons (n=80) Six-fold subdivision, error = 0.065%
Curving the triangle patches using surface normal reduces error #-fold subdivisions Error on units sphere
Curved Triangles 1001,00010,000100,0001,000,00010 Number of Triangles Error on unit sphere STL AMF curved AMF curved 2-fold AMF curved 3-fold AMF curved 4-fold AMF curved 5-fold AMF curved 6-fold x4 error reduction with every subdivision
Curved Triangles 1001,00010,000100,0001,000,00010 Number of Triangles Error on unit sphere STL AMF curved AMF curved 2-fold AMF curved 3-fold AMF curved 4-fold AMF curved 5-fold AMF curved 6-fold Three orders of magnitude improvement in accuracy for same number of triangles
Curved Triangles 1001,00010,000100,0001,000,00010 Number of Triangles Error on unit sphere STL AMF curved AMF curved 2-fold AMF curved 3-fold AMF curved 4-fold AMF curved 5-fold AMF curved 6-fold Three orders of magnitude reduction in number of triangles for same accuracy
Accuracy
Fabricate 10cm diameter sphere with 10μm Precision – STL: 20,480 Flat Triangles 500K Compressed Binary STL – AMF: 320 Curved Triangles 10K Compressed AMF Fabricate 1m Sphere with 1nm precision – AMF: 1M Triangles – STL: !? Examples
Simple to implement 1.If tangents t 0 or t 1 not specified, compute tangents from normals 2.Compute center point v 01 = h( 0.5 ) and center tangent t 01 using Hermite curve h(s)=(2s 3 -3s 2 +1)v 0 +(s 3 -2s 2 +s)t 0 +(-2s 3 +3s 2 )v 1 +(s 3 -s 2 )t 1 3.Repeat for three triangle edges, then split triangle into four 4.Recurse 5 levels (1 curved triangle 1024 flat triangles) 5. No ambiguities. Detailed procedure in specification. v0v0 v1v1 d n0n0 t0t0 t1t1 n1n1 n 01 v 01 t 01
For each curved triangle 1.Normalize all specified normals to length 1 2.Normalize all specified tangents to length 1 3.If edge tangent not specified and normal is specified, estimate edge tangent from normal as the vector perpendicular to the normal in the direction of the straight edge 4.If edge not specified and normal is not specified, estimate edge tangent along linear edge 5.If a normal is not specified, estimate the normal as perpendicular to two edge tangents 6.Scale each tangent by the length of the corresponding straight-edge chord 7.Split into four sub-triangles as per the instructions in previous page
Multiple Materials StiffMaterial FlexibleMaterial MediumMaterial VerticallyGraded z 10-z Checkerboard floor(x+y+z%1)+0.5) 1-floor(x+y+z%1)+0.5)
Graded Materials StiffMaterial FlexibleMaterial MediumMaterial VerticallyGraded z 10-z Checkerboard floor(x+y+z%1)+0.5) 1-floor(x+y+z%1)+0.5)
Microstructure StiffMaterial FlexibleMaterial MediumMaterial VerticallyGraded z 10-z Checkerboard floor(x+y+z%1)+0.5) 1-floor(x+y+z%1)+0.5) Can also reference a texture map
Periodic functions can be used to describe linear and nonlinear lattice materials
Material properties By name – ABS – Nylon 1234 By physical property – 2GPa
Color and Graphics Can be assigned to – A material – A volume – A vertex Specified – Fixed RGBA values – By formula – By reference to an image
Print Constellation Print orientation Duplicated objects Sets of different objects Efficient packing Hierarchical
Metadata John Doe”> SolidX 2.3”> Product 1> 12A”> Part A >
Not addressed (for now) Tolerances (critical dimensions) Surface/depth textures Data encryption, copyright External references and subassemblies Process control Non-volumetric support structures Non mesh geometry specification methods – Voxel, FRep
Adoption Building Concensus
Join The Discussion
Wikipedia provides an overview of key concepts Refers to ASTM for formal spec
STL2.org Repository for sharing code
Open-Source AMF Editor BSD License (allows commercialization) Reference implementation of AMF features
Building consensus Contact to be added or
Required Tools Better Viewers/Slicers – Geometry (with curved triangles) – Alternative platforms Verifier / Analyzers Proposition and testing of new features – Voxel/Frep – IP Management – Digital/Active materials
Anticipated adoption stages CAD companies initially only implement AMF geometry export Full-fledged viewers are developed Equipment manufacturers have incentive to implement imports that support their unique capabilities – Companies supporting color implement color – Companies supporting multimaterial implement material parsing (volume, graded) – Companies interested in lattice structures implement lattice materials Small/new CAD programs allow designers to create parts with microstructure, color, graded materials etc. Big CAD follows Other applications emerge: 3D scanning, CNC
Conclusion Essential to moving the AM field forward – STL is holding back the field – Machines can do much more than current CAD/STL can support AMF Standard converging – Voice support or suggest improvements – Explore new ideas/concept within the framework