Draft Additive Manufacturing File Format Chair, ASTM F42/Design Task Group on File Formats July 8, 2010 With Jonathan Hiller Disclaimer:

Slides:



Advertisements
Similar presentations
Programming Paradigms and languages
Advertisements

Normal Map Compression with ATI 3Dc™ Jonathan Zarge ATI Research Inc.
Experiments and Variables
Texture Synthesis on [Arbitrary Manifold] Surfaces Presented by: Sam Z. Glassenberg* * Several slides borrowed from Wei/Levoy presentation.
OpenFab A Programmable Pipline for Multi-Material Fabrication Kiril Vidimce Presented By: Mira Shalah Szu-Po Wang Jonathan Ragan-Kelley Wojciech Matusik.
CE En 112 Engineering Drawing with CAD Application
Texture Visual detail without geometry. Texture Mapping desire for heightened realism.
Extended Gaussian Images
Developer’s Survey of Polygonal Simplification Algorithms Based on David Luebke’s IEEE CG&A survey paper.
Rapid Prototyping Technologies Wei-Ren Ng Department of Electrical and Computer Engineering, University of Arizona.
Xianfeng Gu, Yaling Wang, Tony Chan, Paul Thompson, Shing-Tung Yau
CS447/ Realistic Rendering -- Solids Modeling -- Introduction to 2D and 3D Computer Graphics.
HCI 530 : Seminar (HCI) Damian Schofield.
Collision Detection CSE 191A: Seminar on Video Game Programming Lecture 3: Collision Detection UCSD, Spring, 2003 Instructor: Steve Rotenberg.
Modelling. Outline  Modelling methods  Editing models – adding detail  Polygonal models  Representing curves  Patched surfaces.
2003 by Jim X. Chen: Introduction to Modeling Jim X. Chen George Mason University.
Connecting with Computer Science, 2e
Content Subdivision First some basics (control point polygon, mesh)
COLOR MORPHOLOGY CENG 566 FINAL PROJECT Sezen ERDEM.
STANDARD SPECIFICATIONS FOR ADDITIVE MANUFACTURING FILE FORMAT (.AMF) Gary Coykendall National Resource Center for Materials Technology Education (MatEdU)
Additive Manufacturing File Format Hod Lipson Chair, ASTM F42/Design Task Group on File Formats November 10, 2009 With Jonathan.
Additive Manufacturing File Formats Disclaimer: Information in this presentation does not constitute the final standard. Actual.
Connecting with Computer Science 2 Objectives Learn why numbering systems are important to understand Refresh your knowledge of powers of numbers Learn.
Modeling and representation 1 – comparative review and polygon mesh models 2.1 Introduction 2.2 Polygonal representation of three-dimensional objects 2.3.
Computer Graphics: Programming, Problem Solving, and Visual Communication Steve Cunningham California State University Stanislaus and Grinnell College.
Antigone Engine Kevin Kassing – Period
COMP 175: Computer Graphics March 24, 2015
Volumetric Visualization. Outline Announcements –PS III due Friday –Last day for self-motivated assignment Belated CookiePresentation What is VV? Slices.
October 14, 2014Computer Vision Lecture 11: Image Segmentation I 1Contours How should we represent contours? A good contour representation should meet.
CS 376 Introduction to Computer Graphics 04 / 11 / 2007 Instructor: Michael Eckmann.
UW EXTENSION CERTIFICATE PROGRAM IN GAME DEVELOPMENT 2 ND QUARTER: ADVANCED GRAPHICS Textures.
The future of MINC Robert D. Vincent
ME6104: CAD. Module 32. ME6104: CAD. Module 32. Systems Realization Laboratory Module 32 CAD-RP Transition ME 6104.
Image Synthesis Rabie A. Ramadan, PhD 1. 2 About my self Rabie A. Ramadan My website and publications
1 Compiler Construction (CS-636) Muhammad Bilal Bashir UIIT, Rawalpindi.
CS559: Computer Graphics Lecture 24: Shape Modeling Li Zhang Spring 2010.
IS 325 Notes for Wednesday August 28, Data is the Core of the Enterprise.
Subdivision Schemes Basic idea: Start with something coarse, and refine it into smaller pieces for rendering –We have seen how subdivision may be used.
Representation. Objectives Introduce concepts such as dimension and basis Introduce coordinate systems for representing vectors spaces and frames for.
Adobe Photoshop CS3 Revealed – Chapter 16 FOR THE WEB CREATING IMAGES.
Return to Outline Copyright © 2011 by Maribeth H. Price 3-1 Labeling and annotation.
Abstract ESOLID is a computational geometry system that performs boundary evaluation using exact computation. Boundary Evaluation Exact computation Problem.
Parametric Surfaces Define points on the surface in terms of two parameters Simplest case: bilinear interpolation s t s x(s,t)x(s,t) P 0,0 P 1,0 P 1,1.
Data Representation, Number Systems and Base Conversions
Ray Tracer Spring 2008 Help Session. Outline Project Web Resources What do you have to do for this project? Ray Class Isect Class Requirements Tricks.
Vertices, Edges and Faces By Jordan Diamond. Vertices In geometry, a vertices is a special kind of point which describes the corners or intersections.
CS 325 Introduction to Computer Graphics 04 / 12 / 2010 Instructor: Michael Eckmann.
04/18/02(c) 2002 University of Wisconsin Last Time Hermite Curves Bezier Curves.
What is GIS? “A powerful set of tools for collecting, storing, retrieving, transforming and displaying spatial data”
1 Sheet Metal Design (III) Hong RuJin September, 10, 2000.
A Fast Algorithm for Incremental Distance Calculation Ming C. Lin & John Canny University of California, Berkeley 1991 Presentation by Adit Koolwal.
XP New Perspectives on Creating Web Pages With Word Tutorial 1 1 Creating Web Pages With Word Tutorial 1.
Lesson Plan: Drafting and Design J6-2. What is 3D solid modeling? How do 3D solid modeling programs work?
IMAGE PROCESSING is the use of computer algorithms to perform image process on digital images   It is used for filtering the image and editing the digital.
PC-DMIS Introduction to GD&T Selection
Extracting the Topology Information from STL Model in order to Generate Cross-sectional Loops Efficiently Islam Md. Olioul*, Ho Chan Kim*† Department.
Photorealistic Rendering vs. Interactive 3D Graphics
POLYGON MESH Advance Computer Graphics
SOLID MODELLING.
IMAGES.
Texture Mapping COMP575/COMP770.
Computer Graphics.
Unit 1 Bases for Blueprint Reading and Sketching
06 | End-to-End 3D Printing
Meshes.
Mesh Parameterization: Theory and Practice
Enabling the full potential of 3D Printing with the 3MF File Format
Chap 10. Geometric Level of Detail
Enabling the full potential of 3D Printing with the 3MF File Format
Computed Tomography (C.T)
Presentation transcript:

Draft Additive Manufacturing File Format Chair, ASTM F42/Design Task Group on File Formats July 8, 2010 With Jonathan Hiller Disclaimer: Information in this presentation does not constitute the final standard. Actual specifications is subject to change until finalized by ASTM

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

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 as much as possible (diminishing returns after ~4 levels) 5. No ambiguities. Detailed procedure in specification. v0v0 v1v1 d n0n0 t0t0 t1t1 n1n1 n 01 v 01 t 01

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 region – 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 Surface/depth textures Data encryption, copyright External references and subassemblies Process control Non-volumetric support structures Non mesh geometry specification methods – Voxel, FRep

Next steps

Join The Discussion

Building consensus Contact to be added or

Required Tools Viewer – Geometry (with curved triangles) – Metadata – Constellations – Color – Materials STL   AMF Converter (available) Verifier

Certification? Canonical files – Computational verification – Physical verification XML Schema

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 AMF Standard converging – Voice your support or suggest alternatives – Ballot Sep Essential to moving the AM field forward – STL is holding back our field – Machines can do much more than current CAD/STL can support