Presentation is loading. Please wait.

Presentation is loading. Please wait.

Printable Programming. Instructors Krishnan Suresh Associate Professor Mechanical Engineering UW Madison Victor Markus Undergraduate Student (senior)

Similar presentations


Presentation on theme: "Printable Programming. Instructors Krishnan Suresh Associate Professor Mechanical Engineering UW Madison Victor Markus Undergraduate Student (senior)"— Presentation transcript:

1 Printable Programming

2 Instructors Krishnan Suresh Associate Professor Mechanical Engineering UW Madison Victor Markus Undergraduate Student (senior) Mechanical Engineering UW Madison Jimmy Herman Undergraduate Student (senior) Mechanical Engineering UW Madison

3 3D-Printing Why is it a Big Deal?

4 Geometric Complexity is Free 1. Any shape!

5 Wide Capacity 2. ‘Any’ size

6 Democratization 3. Anyone

7 Where is the catch? - Isthmus News on 3D Printing (Oct, 2015)

8 Barrier How do we start designing for 3D printing?

9 Plenty of CAD Tools Expensive Difficult

10 CADjs (Developed at UW) http://www.cadjs.org/ Press F5 to run the program

11 Your First Program! 1.Create blocks & cylinders 2.Move to correct location 3.Add and subtract!

12 Your First Program! base = cube(1,1,1); cyl = cylinder(0.1,1.5); cyl = cyl.translateX(0.2); finalBody = base.difference(cyl); Primitives Transformations Booleans finalBody.display(); (Run Code) base.display(); (F5 to run code)

13 Challenge Primitives? Transformations? Booleans?

14 CADjs Language

15 GUI Operations Save the CADjs Code Load the saved CADjs Code Clear the screen Execute the code (instead of F5) If browser crashes/closed, recover last code Size of the model, number of triangles, etc Save the STL code for 3d-printing 3D printing specific Turn off/on the axis Increase/decrease smoothness Load an STL model

16 Example

17 Subtraction g1=cube(1);Parent Material g2=sphere(.6);Subtracting Material g3=g1.difference(g2);Command g1-g2 g3.display();Display

18 Addition g1=cube(1);Parent Material g2=sphere(.6);Adding Material g3=g1.union(g2);Command g1+g2 g3.display();Display

19 Intersection g1=cube(1);Parent Material g2=sphere(.6);Intersecting Material g3=g1.intersection(g2);Command g1 interest g2 g3.display();Display

20 Question 3 solids? Boolean operations?

21 Solution g1 = cube(1); g2 = sphere(0.6); g3 = cylinder(0.4,2); g4 = g1.union(g2).difference(g3); g4.display(); g4 = g1. difference(g3).union(g2); 3 + (4*5) ≠ (3+4)*5

22 3D Printing

23 Scale Model g4.scale(10); g1 = cube(1); g2 = sphere(0.6); g3 = cylinder(0.4,2); g4 = g1.union(g2).difference(g3); g4.display(); Millimeters

24 Save.stl file g1 = cube(1); g2 = sphere(0.6); g3 = cylinder(0.4,2); g4 = g1.union(g2).difference(g3); g4.scale(10); g4.display();

25 .stl file

26 Read STL file into 3D Printer Software Every 3D printer comes with software to read.stl file

27 Import.stl file XYZware window- import *.stl file

28 Load model

29 Resize to fit printer

30 View Your Model A.view B.rotate C.rotate D.scale

31 Print

32 Personalized Key Chain g1 = textGeom('CADjs'); g1 = g1.rotateZ(180).translate(50,10,0); g2 = cube(120,60,5); g3 = g1.union(g2); g3.display();

33 Questions/Help cadjs.help@gmail.com


Download ppt "Printable Programming. Instructors Krishnan Suresh Associate Professor Mechanical Engineering UW Madison Victor Markus Undergraduate Student (senior)"

Similar presentations


Ads by Google