From CADjs to 3-D Printing
Area & Volume g = cube(1); g.display(); g = cube(1); g.displayTransparent();
Area & Volume g = cube(1);
Area & Volume g = cube(1).difference(cube(2,0.5,0.5)); g.display();
Area & Volume g1 = cube(1); g2 = cube(2,0.5,0.5); g1.display();
Area & Volume g = cylinder(1,2); g.display(); g = cylinder(1,2); g.displayTransparent();
Area & Volume g = cylinder(1,2); g.display();
Can be edited in Notepad Saving Code e1 = cube(4,3,3); e1 = e1.union(cylinder(1.5,3,32).rotateX(90).translate(-2,0,0)); e1 = e1.difference(cylinder(0.75,3.1,32).rotateX(90).translate(-2,0,0)); e1 = e1.difference(cube(3.5,3,0.75).translate(-2,0,0)); e1=e1.union(cylinder(0.5,2).rotateZ(90).translate(3,0,0)); e1.display(); Saves JavaScript Code Can be edited in Notepad
Recovers the last JavaScript code executed Code Recovery Recovers the last JavaScript code executed
Saving STL Saves Object as .stl Should NOT BE edited g = cube(1); g.display(); Saves Object as .stl Should NOT BE edited
Save as *.stl file Check size of model 3d Printers ~ mm (typical) g = cube(1).difference(cube(2,0.5,0.5)); g.display(); Check size of model 3d Printers ~ mm (typical) Scale if necessary Save stl
Scaling g = cube(1).difference(cube(2,0.5,0.5)); g.scale(10); g.display();
Read STL file into 3D Printer Software Every 3D printer comes with software to read .stl file
Import .stl file XYZware window- import *.stl file
Load model
Resize to fit printer
View Your Model view rotate scale
3-D Printing Boolean Operations
Boolean Subtraction How would you make this object?
Boolean Subtraction g1 = cube(1); g2 = cube(1,0.5,0.5); g2 = g2.translateZ(0.25); g1.display(); g2.displayTransparent(); g1 = cube(1); g2 = cube(1,0.5,0.5); g2 = g2.translateZ(0.25); g1 = g1.difference(g2); g1.display();
Potential Problem Small computation errors can result in slivers! Even $100K CAD systems suffer from this problem!
Easy Solution No slivers! Go past boundary on subtraction! g1 = cube(1); g2 = cube(1.2,0.5,0.6); g2 = g2.translateZ(0.3); g1.display(); g2.displayTransparent(); g1 = cube(1); g2 = cube(1.2,0.5,0.6); g2 = g2.translateZ(0.3); g1 = g1.difference(g2); g1.display(); No slivers!
Boolean Addition How to design? Approach: Create two solids touching each other and union g1 = cube(1); g2 = cube(1,0.5,0.5); g2 = g2.translateZ(0.75); g1 = g1.union(g2); g1.display();
Even $100K CAD systems suffer from this problem! Boolean Addition Problem! Gap due to numerical error! Even $100K CAD systems suffer from this problem!
Easy Solution Overlap for union! No gaps!
3-D Printing Display and Saving
3-D Printing Printer Limitations
Print Direction Layer by layer Oops! Dripping! Solution? No ‘dripping’
Print Direction Drip? Solution? Choose your print direction carefully!
Print Direction Pick the best orientation for Z axis! Drips in all direction! Printer will add support structures
Support Structures
Practical Aspects of 3D Printing #1: Design part to avoid support structures #2: Pick print direction with minimal support structures
Cost of 3D Printing What is the cost of printing? Plastic Metal $10.00 ~ $200.00 per cm^3 Low quality: $0.30 per cm^3 Medium quality: $2.00 per cm^3 Typical Lego Piece: $2.00 + Setup cost High quality: $10.00 per cm^3
Practical Aspects of 3D Printing #1 Design part to avoid support structures #2 Pick print direction with minimal support structures #3 Reduce material usage
Printing Resolution Coarse Medium Fine Printers can be set at different resolution Finer resolutions take more time & cost more!
Practical Aspects of 3D Printing #1 Design part to avoid support structures #2 Pick print direction with minimal support structures #3 Reduce material usage #4 Avoid thin regions