Presentation is loading. Please wait.

Presentation is loading. Please wait.

CADjs Cloning and for loops. wheel, hub and spoke assembly g1 = cube(5); g2=cylinder(1,20); g3=cylinder(1,20); g4=cylinder(20,2); g5=cylinder(10,2); g2.rotateX(90);

Similar presentations


Presentation on theme: "CADjs Cloning and for loops. wheel, hub and spoke assembly g1 = cube(5); g2=cylinder(1,20); g3=cylinder(1,20); g4=cylinder(20,2); g5=cylinder(10,2); g2.rotateX(90);"— Presentation transcript:

1 CADjs Cloning and for loops

2 wheel, hub and spoke assembly g1 = cube(5); g2=cylinder(1,20); g3=cylinder(1,20); g4=cylinder(20,2); g5=cylinder(10,2); g2.rotateX(90); g3.rotateZ(90); g=g4.difference(g5); g=g.union(g1); g=g.union(g2); g=g.union(g3); g.display();

3 Question

4 Idea of Cloning g1 = cylinder(0.5,0.5); g1.display(); Want to create another similar cylinders, but translated g1 = cylinder(0.5,0.5); g1.display(); g2 = g1;//make a copy? g2.translate(1);//translate g2 g2 = g1; … does not make copy g2 is exactly the same as g1 Translating g2 will also translate g1 g1 = cylinder(0.5,0.5); g1.display(); g2 = g1.clone();//makes a true copy g2.translate(1);// translate g2, but not g1 g2.display();

5 Idea of Copies g1 = cylinder(0.5,0.5); g1.display(); g2 = g1.clone();//makes a true copy g2.translate(1);// translate g2, but not g1 g2.display(); g3 = g1.clone();// g3.translate(2); g3.display(); … can continue, but better to use for loops!

6 for loops

7 for (i = 0;i < 5;i = i+1) { } ‘for’ loop Start at i = 0 Stop when i = 5 Increase i by 1 every loop How many times is the loop executed? i =0 i = 1 i = 2 i = 3 i = 4 (stop)

8 ‘for’ loop with Beeper resetBeeper(); for (i = 0; i < 5; i= i+1){ beep(); } resetBeeper(); for (i = 0; i < 5; i++){ beep(); } Increase i by 1 every loop

9 ‘for’ loop with Beeper resetBeeper(); for (i = 0; i <= 10; i= i+2){ beep(); } How many beeps? resetBeeper(); for (i = -5; i <2; i= i+1){ beep(); } How many beeps?

10 ‘for’ loop with textGeom for (i = 0; i < 5; i++){ textGeom(i).translateX(i).display(); } for (i = -2; i <= 2; i = i+2){ textGeom(i).translateX(i).display(); }

11 ‘for’ loop with textGeom for (i = 0; i < 5; i++){ textGeom(i).translateX(i).display(); } for (i = 0; i < 5; i++){ textGeom(2*i).translateX(i).display(); } for (i = 0; i < 5; i++){ textGeom(2*i).translateX(2*i).display(); }

12 For loop with geometry Use one cylinder and copy/move g = cylinder(.5,.5); for (i = 0;i < 5;i = i+1) { g1 = g.clone(); g1.translateX(i).display(); } Union with a base

13 For loop with geometry Union with a base base = cube(5,0.2,1).translateX(2.); g = cylinder(.5,.5); for (i = 0;i < 5;i = i+1) { g1 = g.clone(); base = base.union(g1.translateX(i)); } base.display();

14 Union ‘for’ loop g = cube(.5,.5); g1 = g.clone(); for (i = 0;i < 36;i++) { g1.rotateZ(10); g = g.union(g1); } g.display();

15 Union ‘for’ loop & difference g = cube(.5,.5); g1 = g.clone(); g2=cylinder(1,.45).rotateX(90); for (i = 0;i < 36;i++) { g1.rotateZ(10); g = g.union(g1); } g=g2.difference(g) g.display();

16 Lego model

17 Lego model: Step 1 g = cylinder(.5,.5); g1 = g.clone(); for (i = 0;i < 3;i++) { g1.translate(2,0,0); g = g.union(g1); } g.display();

18 Lego model: Step 2 g = cylinder(.5,.5); g1 = g.clone(); for (i = 0;i < 3;i++) { g1.translate(2,0,0); g = g.union(g1); } g3=g.clone().translate(0,0,2); g=g.union(g3); g.display();

19 Lego model: Step 3 g = cylinder(.5,.5); g1 = g.clone(); base=cube(8,3,4).translate(3,-1.75,1); for (i = 0;i < 3;i++) { g1.translate(2,0,0); g = g.union(g1); } g3=g.clone().translate(0,0,2); g=g.union(g3); g=g.union(base); g.display();

20 Lego model: Step 4 g = cylinder(.5,.5); g1 = g.clone(); base=cube(8,3,4).translate(3,-1.75,1); g4=cube(7,4,3).translate(3,-2.5,1); base=base.difference(g4); for (i = 0;i < 3;i++) { g1.translate(2,0,0); g = g.union(g1); } g3=g.clone().translate(0,0,2); g=g.union(g3); g=g.union(base); g.display();

21 Exercise (Ladder) 1.5 length, 0.1 width and height Length = 10, width = 0.25 (2 pieces, 1.25 apart)

22 Exercise (Ladder)

23 Exercise Radius = 1.0, height = 0.25 Radius = 0.1, height = 0.5 (centers on a circle of radius 0.8) 8 pins

24 Exercise N = 6 pins N = 8 pins Modify your code to handle N pins N = 3 pins

25 Exercise setDefaultSegments(24); R = 1.0; H = 0.25; A = cylinder(R,H); r = 0.1; h = 0.5; s = 0.8; pin = cylinder(r,h).translateY(H/2+h/2).translateX(s); N = 8; // number of pins for (i = 0; i < N; i++) { A = A.union(pin); pin = pin.rotateY(360/N); } A.display();


Download ppt "CADjs Cloning and for loops. wheel, hub and spoke assembly g1 = cube(5); g2=cylinder(1,20); g3=cylinder(1,20); g4=cylinder(20,2); g5=cylinder(10,2); g2.rotateX(90);"

Similar presentations


Ads by Google