Stap 14: Werken aan een 3D-print
De RepRap bouwt 3D-objecten met gesmolten plastic. Elke laag is vastgelegd als een netwave. Er is een softwar/firmware beschikbaar is voor het genereren van dit gaas voor een 3D-object. Maar ik ben geïnteresseerd in het maken van een programma dat de shapes rechtstreeks vanuit Processing afgedrukt.
Ik ben beginnen door modifiying de stuiterende bal sketch om te tekenen van een maaswijdte die betrekking op een 2D-shape hebben zal.
De volgende stap zal zijn naar de mesh 90deg en herhalen (om af te drukken de volgende laag) gedraaid.
Hier is wat ik heb tot nu toe - dit is alleen bij de verwerking en omvat niet alle communitation met de Arduino.
Verwerking / / /
/**
* bal sporen heen en weer in het venster
*/
int size = 10; Breedte van de vorm
float xpos, ypos; Beginopstelling van vorm
zweven xspeed = 3; Snelheid van de vorm
zweven yspeed = 0; / / snelheid van de vorm
int xdirection = 1; Links of rechts
int ydirection = 1; Van boven naar beneden
VOID Setup
{
grootte (200, 200);
noStroke();
frameRate(30);
Smooth();
De beginpositie van de vorm instellen
xpos = 0;
yPos = 0;
Background(102);
}
VOID draw()
{
Background(102);
Update de positie van de vorm
xpos = xpos + (xspeed * xdirection);
yPos = ypos + (yspeed * ydirection);
de richting wijzigen wanneer de bal de rand raakt-tot een vierkant tekent.
begint bij links en beweegt naar rechts
10 stappen omlaag
Als (xpos > breedte-grootte & & ypos == 0) {//down
ydirection = 1;
yspeed = 2;
xspeed = 0;
}
omgekeerde X richting totdat het raakt de 0 X-rand
Als (xpos > breedte-grootte & & ypos == 20) {}
xdirection = -1;
yspeed = 0;
xspeed = 2;
}
10 stappen omlaag
Als (xpos < 0 & & ypos == 20) {//down
ydirection = 1;
yspeed = 2;
xspeed = 0;
}
omgekeerde X richting tot het hiths de 200 X rand
Als (xpos < 0 & & ypos == 40) {}
xdirection = 1;
yspeed = 0;
xspeed = 2;
}
10 stappen omlaag
Als (xpos > breedte-grootte & & ypos == 40) {//down
ydirection = 1;
yspeed = 2;
xspeed = 0;
}
omgekeerde X richting totdat het raakt de 0 X-rand
Als (xpos > breedte-grootte & & ypos == 60) {}
xdirection = -1;
yspeed = 0;
xspeed = 2;
}
10 stappen omlaag
Als (xpos < 0 & & ypos == 60) {//down
ydirection = 1;
yspeed = 2;
xspeed = 0;
}
omgekeerde X richting totdat het raakt de rand X 200
Als (xpos < 0 & & ypos == 80) {}
xdirection = 1;
yspeed = 0;
xspeed = 2;
}
10 stappen omlaag
Als (xpos > breedte-grootte & & ypos == 80) {//down
ydirection = 1;
yspeed = 2;
xspeed = 0;
}
omgekeerde X richting totdat het raakt de 0 X-rand
Als (xpos > breedte-grootte & & ypos == 100) {}
xdirection = -1;
yspeed = 0;
xspeed = 2;
}
10 stappen omlaag
Als (xpos < 0 & & ypos == 100) {//down
ydirection = 1;
yspeed = 2;
xspeed = 0;
}
omgekeerde X richting tot het hiths de 200 X rand
Als (xpos < 0 & & ypos == 120) {//down
xdirection = 1;
yspeed = 0;
xspeed = 2;
}
10 stappen omlaag
Als (xpos > breedte-grootte & & ypos == 120) {}
ydirection = 1;
yspeed = 2;
xspeed = 0;
}
omgekeerde richting totdat het raakt de 0 X-rand
Als (xpos > breedte-grootte & & ypos == 140) {}
xdirection =-1;
yspeed = 0;
xspeed = 2;
}
10 stappen omlaag
Als (xpos < 0 & & ypos == 140) {//down
ydirection = 1;
yspeed = 2;
xspeed = 0;
}
omgekeerde X richting tot het hiths de 200 X rand
Als (xpos < 0 & & ypos == 160) {//down
xdirection = 1;
yspeed = 0;
xspeed = 2;
}
10 stappen omlaag
Als (xpos > breedte-grootte & & ypos == 160) {}
ydirection = 1;
yspeed = 2;
xspeed = 0;
}
omgekeerde richting totdat het raakt de rand X 200
Als (xpos > breedte-grootte & & ypos == 180) {}
xdirection =-1;
yspeed = 0;
xspeed = 2;
}
10 stappen omlaag
Als (xpos > 0 & & ypos == 180) {}
ydirection = 1;
yspeed = 2;
xspeed = 0;
}
omgekeerde richting totdat het raakt de rand 200 x
Als (xpos > 0 & & ypos == 200) {}
xdirection = 1;
yspeed = 0;
xspeed = 2;
}
Teken de vorm
ellips (xpos + grootte/2, ypos + grootte/2, maat, maat);
}