Paso 14: Trabajando hacia una impresión 3D
El RepRap construye objetos 3D con plástico derretido. Cada capa se establece como una malla de plástico. Hay softwar o firmware disponible para generar este acoplamiento para cualquier objeto 3D. Pero estoy interesado en hacer un programa que imprime las formas de procesamiento.
Estoy empezando por modifica el bosquejo de bola que despide para dibujar una malla que cubra una forma 2D.
El siguiente paso será girar la malla 90deg y repita (para imprimir la siguiente capa).
Aquí es lo que tengo hasta ahora - esto es sólo en el proceso y no incluye ninguna comunicación con el Arduino.
Procesamiento / / /
/**
* huellas bola hacia adelante y hacia atrás a través de la ventana
*/
int tamaño = 10; Ancho de la forma
flotador xpos, ypos; Posición inicial de forma
flotador xspeed = 3; Velocidad de la forma
flotador yspeed = 0; / / velocidad de la forma
int xdirection = 1; Izquierda o derecha
int ydirection = 1; Arriba a abajo
void setup()
{
tamaño (200, 200);
noStroke();
frameRate(30);
Smooth();
Establecer la posición inicial de la forma
XPOS = 0;
YPOS = 0;
Background(102);
}
void draw()
{
Background(102);
Actualizar la posición de la forma
XPOS = xpos + (xspeed * xdirection);
YPOS = ypos + (yspeed * ydirection);
cambiar de dirección cuando la bola golpea el borde - para dibujar un cuadrado
comienza a la izquierda y se mueve hacia derecha
bajar en 10 pasos
Si (xpos > anchura tamaño & & ypos == 0) {//down
ydirection = 1;
yspeed = 2;
XSpeed = 0;
}
reversa X dirección hasta que golpea el borde de X 0
Si (xpos > anchura tamaño & & ypos == 20) {}
xdirection = -1;
yspeed = 0;
XSpeed = 2;
}
bajar en 10 pasos
Si (xpos < 0 & & ypos == 20) {//down
ydirection = 1;
yspeed = 2;
XSpeed = 0;
}
reversa X dirección hasta borde de hiths del 200 X
Si (xpos < 0 & & ypos == 40) {}
xdirection = 1;
yspeed = 0;
XSpeed = 2;
}
bajar en 10 pasos
Si (xpos > anchura tamaño & & ypos == 40) {//down
ydirection = 1;
yspeed = 2;
XSpeed = 0;
}
reversa X dirección hasta que golpea el borde de X 0
Si (xpos > anchura tamaño & & ypos == 60) {}
xdirection = -1;
yspeed = 0;
XSpeed = 2;
}
bajar en 10 pasos
Si (xpos < 0 & & ypos == 60) {//down
ydirection = 1;
yspeed = 2;
XSpeed = 0;
}
reversa X dirección hasta que golpea el borde de X 200
Si (xpos < 0 & & ypos == 80) {}
xdirection = 1;
yspeed = 0;
XSpeed = 2;
}
bajar en 10 pasos
Si (xpos > anchura tamaño & & ypos == 80) {//down
ydirection = 1;
yspeed = 2;
XSpeed = 0;
}
reversa X dirección hasta que golpea el borde de X 0
Si (xpos > anchura tamaño & & ypos == 100) {}
xdirection = -1;
yspeed = 0;
XSpeed = 2;
}
bajar en 10 pasos
Si (xpos < 0 & & ypos == 100) {//down
ydirection = 1;
yspeed = 2;
XSpeed = 0;
}
reversa X dirección hasta borde de hiths del 200 X
Si (xpos < 0 & & ypos == 120) {//down
xdirection = 1;
yspeed = 0;
XSpeed = 2;
}
bajar en 10 pasos
Si (xpos > anchura tamaño & & ypos == 120) {}
ydirection = 1;
yspeed = 2;
XSpeed = 0;
}
hacia atrás hasta que golpea el borde de X 0
Si (xpos > anchura tamaño & & ypos == 140) {}
xdirection =-1;
yspeed = 0;
XSpeed = 2;
}
bajar en 10 pasos
Si (xpos < 0 & & ypos == 140) {//down
ydirection = 1;
yspeed = 2;
XSpeed = 0;
}
reversa X dirección hasta borde de hiths del 200 X
Si (xpos < 0 & & ypos == 160) {//down
xdirection = 1;
yspeed = 0;
XSpeed = 2;
}
bajar en 10 pasos
Si (xpos > anchura tamaño & & ypos == 160) {}
ydirection = 1;
yspeed = 2;
XSpeed = 0;
}
hacia atrás hasta que golpea el borde de X 200
Si (xpos > anchura tamaño & & ypos == 180) {}
xdirection =-1;
yspeed = 0;
XSpeed = 2;
}
bajar en 10 pasos
Si (xpos > 0 & & ypos == 180) {}
ydirection = 1;
yspeed = 2;
XSpeed = 0;
}
hacia atrás hasta que golpea el borde de 200 x
Si (xpos > 0 & & ypos == 200) {}
xdirection = 1;
yspeed = 0;
XSpeed = 2;
}
Dibuja la figura
elipse (xpos + tamaño/2, ypos + tamaño/2, tamaño, tamaño);
}