/
CADjs CADjs

CADjs - PowerPoint Presentation

danika-pritchard
danika-pritchard . @danika-pritchard
Follow
464 views
Uploaded On 2016-09-03

CADjs - PPT Presentation

Cloning and for loops wheel hub and spoke assembly g1 cube5 g2cylinder120 g3cylinder120 g4cylinder202 g5cylinder102 g2rotateX90 g3rotateZ90 gg4differenceg5 ID: 459721

union display cylinder translate display union translate cylinder clone loop base translatex textgeom cube for

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "CADjs" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1

CADjsCloning and for loopsSlide2

wheel, hub and spoke assemblyg1 = 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

();

Slide3

QuestionSlide4

Idea of Cloningg1 = cylinder(0.5,0.5);g1.display();Want to create another similar cylinders, but translatedg1 = cylinder(0.5,0.5);g1.display();g2 = g1;//make a copy?g2.translate(1);//translate g2

g2 = g1; … does not make copyg2 is exactly the same as g1Translating 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();Slide5

Idea of Copiesg1 = cylinder(0.5,0.5);g1.display();g2 = g1.clone();//makes a true copyg2.translate(1);// translate g2, but not g1g2.display();g3 = g1.clone();//g3.translate(2);g3.display();

… can continue, but better to use for loops!Slide6

for loopsSlide7

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)Slide8

‘for’ loop with BeeperresetBeeper();for (i = 0; i < 5; i= i+1){ beep();}resetBeeper();for (i = 0; i < 5;

i++){ beep();}

Increase

i

by 1 every loopSlide9

‘for’ loop with BeeperresetBeeper();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?Slide10

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

for (i = -2; i <= 2; i

= i+2){

textGeom

(

i

).

translateX

(

i

).display();

}Slide11

‘for’ loop with textGeomfor (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();

}Slide12

For loop with geometryUse one cylinder and copy/moveg = cylinder(.5,.5);for (i = 0;i < 5;i = i+1) { g1 = g.clone(); g1.translateX(i).display();

}

Union with a baseSlide13

For loop with geometryUnion with a basebase = 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();Slide14

Union ‘for’ loopg = cube(.5,.5);g1 = g.clone();for (

i = 0;i < 36;i

++) {

g1.rotateZ(10);

g =

g.union

(g1);

}

g.display

();Slide15

Union ‘for’ loop & differenceg = 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

();Slide16

Lego modelSlide17

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

Lego model: Step 2g = 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();Slide19

Lego model: Step 3g = 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();Slide20

Lego model: Step 4g = 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

();Slide21

Exercise (Ladder)1.5 length, 0.1 width and heightLength = 10, width = 0.25 (2 pieces, 1.25 apart)Slide22

Exercise (Ladder)Slide23

ExerciseRadius = 1.0, height = 0.25Radius = 0.1, height = 0.5

(centers on a circle of radius 0.8)

8 pinsSlide24

ExerciseN = 6 pinsN = 8 pinsModify your code to handle N pins

N = 3 pinsSlide25

ExercisesetDefaultSegments(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 pinsfor (i = 0; i < N;

i++) { A = A.union(pin); pin = pin.rotateY(360/N);}

A.display

();