33
From CADjs to 3-D Printing

From CADjs to 3-D Printing. Area & Volume g = cube(1); g.display(); Area? Volume? g = cube(1); g.display(); g.info();

Embed Size (px)

Citation preview

Page 1: From CADjs to 3-D Printing. Area & Volume g = cube(1); g.display(); Area? Volume? g = cube(1); g.display(); g.info();

From CADjs to 3-D Printing

Page 2: From CADjs to 3-D Printing. Area & Volume g = cube(1); g.display(); Area? Volume? g = cube(1); g.display(); g.info();

Area & Volume

g = cube(1);g.display();

Area?Volume?

g = cube(1);g.display();g.info();

Page 3: From CADjs to 3-D Printing. Area & Volume g = cube(1); g.display(); Area? Volume? g = cube(1); g.display(); g.info();

Area & Volume

g = cube(1).difference(cube(2,0.5,0.5))

Area?Volume?

g.info();

Page 4: From CADjs to 3-D Printing. Area & Volume g = cube(1); g.display(); Area? Volume? g = cube(1); g.display(); g.info();

Area & Volume

g = cylinder(1,2);

Area?Volume?

g.info();

g = cylinder(1,2,64).info();

Page 5: From CADjs to 3-D Printing. Area & Volume g = cube(1); g.display(); Area? Volume? g = cube(1); g.display(); g.info();

Export as *.stl file

• Check size of model• 3d Printers ~ mm (typical)• Scale if necessary• Save stl

test.info();

test.scale(10);

test.saveSTL()

Page 6: From CADjs to 3-D Printing. Area & Volume g = cube(1); g.display(); Area? Volume? g = cube(1); g.display(); g.info();

Open .stl file

Page 7: From CADjs to 3-D Printing. Area & Volume g = cube(1); g.display(); Area? Volume? g = cube(1); g.display(); g.info();

Read STL file into 3D Printer Software

Every 3D printer comes with software to read .stl file

Page 8: From CADjs to 3-D Printing. Area & Volume g = cube(1); g.display(); Area? Volume? g = cube(1); g.display(); g.info();

Import .stl file

XYZware window- import *.stl file

Page 9: From CADjs to 3-D Printing. Area & Volume g = cube(1); g.display(); Area? Volume? g = cube(1); g.display(); g.info();

Load model

Page 10: From CADjs to 3-D Printing. Area & Volume g = cube(1); g.display(); Area? Volume? g = cube(1); g.display(); g.info();

Resize to fit printer

Page 11: From CADjs to 3-D Printing. Area & Volume g = cube(1); g.display(); Area? Volume? g = cube(1); g.display(); g.info();

View Your Model

A. view

B. rotate

C. rotate

D. scale

Page 12: From CADjs to 3-D Printing. Area & Volume g = cube(1); g.display(); Area? Volume? g = cube(1); g.display(); g.info();

Print

Page 13: From CADjs to 3-D Printing. Area & Volume g = cube(1); g.display(); Area? Volume? g = cube(1); g.display(); g.info();

3-D Printing

Boolean Operations

Page 14: From CADjs to 3-D Printing. Area & Volume g = cube(1); g.display(); Area? Volume? g = cube(1); g.display(); g.info();

Boolean Subtraction

How would you make this object?

Page 15: From CADjs to 3-D Printing. Area & Volume g = cube(1); g.display(); Area? Volume? g = cube(1); g.display(); g.info();

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();

Page 16: From CADjs to 3-D Printing. Area & Volume g = cube(1); g.display(); Area? Volume? g = cube(1); g.display(); g.info();

Potential Problem

Sliver!

Small computation errors can result in slivers!

Page 17: From CADjs to 3-D Printing. Area & Volume g = cube(1); g.display(); Area? Volume? g = cube(1); g.display(); g.info();

Easy Solution

g1 = cube(1);g2 = cube(1.2,0.5,0.6);g2 = g2.translateZ(0.3);g1.display();g2.displayTransparent();

Go past boundary on subtraction!

g1 = cube(1);g2 = cube(1.2,0.5,0.6);g2 = g2.translateZ(0.3);g1 = g1.difference(g2);g1.display();

No slivers possible!

Page 18: From CADjs to 3-D Printing. Area & Volume g = cube(1); g.display(); Area? Volume? g = cube(1); g.display(); g.info();

Boolean Addition

Approach: Create two solids touching each other and union

How to design?

g1 = cube(1);g2 = cube(1,0.5,0.5);g2 = g2.translateZ(0.75);g1 = g1.union(g2);g1.display();

Page 19: From CADjs to 3-D Printing. Area & Volume g = cube(1); g.display(); Area? Volume? g = cube(1); g.display(); g.info();

Boolean Addition

Problem!

Gap!

Page 20: From CADjs to 3-D Printing. Area & Volume g = cube(1); g.display(); Area? Volume? g = cube(1); g.display(); g.info();

Easy Solution

Overlap for union!

No gaps possible!

Page 21: From CADjs to 3-D Printing. Area & Volume g = cube(1); g.display(); Area? Volume? g = cube(1); g.display(); g.info();

3-D Printing

Display and Saving

Page 22: From CADjs to 3-D Printing. Area & Volume g = cube(1); g.display(); Area? Volume? g = cube(1); g.display(); g.info();

Display

When printing your final project there must only be 1 display.

Find the display functions used.

Project=Person.union(Legs);

Project.display();

Union the objects used in your final project and display

*Reminder:

Multiple displays can be helpful for debugging, but must be removed when project is complete

Page 23: From CADjs to 3-D Printing. Area & Volume g = cube(1); g.display(); Area? Volume? g = cube(1); g.display(); g.info();

Saving

Saving Code: Saving STL:(F1)

Only saves the text and can be edited in notpad

saveSTL()

Often the file is sent to the downloads folder

.stl files

SHOULD NOT be edited after saving

Page 24: From CADjs to 3-D Printing. Area & Volume g = cube(1); g.display(); Area? Volume? g = cube(1); g.display(); g.info();

3-D Printing

Printer Limitations

Page 25: From CADjs to 3-D Printing. Area & Volume g = cube(1); g.display(); Area? Volume? g = cube(1); g.display(); g.info();

Print Direction

Layer by layer

Oops!Dripping!

Solution?

No ‘dripping’

Page 26: From CADjs to 3-D Printing. Area & Volume g = cube(1); g.display(); Area? Volume? g = cube(1); g.display(); g.info();

Print Direction

Drip?

Solution?

Choose your print direction carefully!

Page 27: From CADjs to 3-D Printing. Area & Volume g = cube(1); g.display(); Area? Volume? g = cube(1); g.display(); g.info();

Print Direction

Direction?

Drips in all direction!

Pick any direction 3D Printer will add support structures

Page 28: From CADjs to 3-D Printing. Area & Volume g = cube(1); g.display(); Area? Volume? g = cube(1); g.display(); g.info();

Support Structures

Page 29: From CADjs to 3-D Printing. Area & Volume g = cube(1); g.display(); Area? Volume? g = cube(1); g.display(); g.info();

Practical Aspects of 3D Printing

#1: Design part to avoid support structures

#2: Pick print direction with minimal support structures

Page 30: From CADjs to 3-D Printing. Area & Volume g = cube(1); g.display(); Area? Volume? g = cube(1); g.display(); g.info();

Cost of 3D Printing

What is the cost of printing?

Low quality: $0.30 per cm^3

Medium quality: $2.00 per cm^3

High quality: $10.00 per cm^3

Plastic Metal

$10.00 ~ $200.00 per cm^3

Typical Lego Piece: $2.00 + Setup cost

Page 31: From CADjs to 3-D Printing. Area & Volume g = cube(1); g.display(); Area? Volume? g = cube(1); g.display(); g.info();

Practical Aspects of 3D Printing

#1 Design part to avoid support structures

#2 Pick print direction with minimal support structures

#3 Reduce material usage

Page 32: From CADjs to 3-D Printing. Area & Volume g = cube(1); g.display(); Area? Volume? g = cube(1); g.display(); g.info();

Printing Resolution

Coarse Medium Fine

Printers can be set at different resolution

Finer resolutions take more time & cost more!

Page 33: From CADjs to 3-D Printing. Area & Volume g = cube(1); g.display(); Area? Volume? g = cube(1); g.display(); g.info();

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