+J.Rodrigo
No soy un experto ni de lejos, pero te doy mi critica en función a lo que he aprendido, aquí va......
Para hacer las piezas mucho mas configurables/parametricas seria bueno que usaras valores fijos al principio del archivo(Si sabes C, lo que viene a ser un #define)
eg:
/*******************************************************/
//tu código
cylinder(h = 4, r = 9, $fn=100);
//código +- parametrico
RADIO_RODAMIENTO = 9;
ALTURA_RODAMIENTO = 4;
cylinder(h = ALTURA_RODAMIENTO, r = RADIO_RODAMIENTO, $fn=100);
/*******************************************************/
Luego tienes que crear los bloques principales en función a este parámetro o varios parámetros fijos para que la pieza se expanda armoniosamente.
Por ejemplo si alguien quiere usar un rodamiento mas grande simplemente cambia los valores del rodamiento, lo mismo para los cylindros de las varillas.
De forma general diría que tienes que crear valores fijos para todo el hardware que interactue con la pieza de plástico(tuercas, tornillos, varillas, rodamientos, etc)
También creo que deberías modularizar un poco mas, por ejemplo en el archivo Code_Ztop.scad hay 3 bloques principales:
/*******************************************************/
union() {
cube([12, 40, 24]);
translate([0, 21, 0])
cube([45, 19, 5]);
translate([0, 35, 0])
cube([37, 5, 24]);
}
/*******************************************************/
debería ser algo como:
/*******************************************************/
union() {
bloqueX();
translate([0, 21, 0])
bloqueZ();
translate([0, 35, 0])
bloqueY();
}
/*******************************************************/
Otro ejemplo de modularizacion: Todos los chaflanes deberías tenerlos en un solo modulo y cada chaflán debería ser un modulo individual con un nombre especifico eg: topLeft1, topLeft2, etc.
Pero no todo es malo, me ha gustado tus referencias a bandas de rock, en futuras versiones me gustaría ver algo como Metallica, Iron, etc. :)
/*******************************************************/
//Cube along Y axis
cube([12, 40, 24]);
//Cube along X axis
translate([0, 21, 0])
cube([45, 19, 5]);
//Cube along Z axis
translate([0, 35, 0])
cube([37, 5, 24]);
/*******************************************************/
O en su defecto utilizar módulos para cada cubo
/*******************************************************/
module cubeAlongX(){
cube([12, 40, 24]);
}
module cubeAlongY(){
cube([45, 19, 5]);
}
etc.
/*******************************************************/
Luego todos los cortes tendrías que tenerlos en un modulo llamado cortes y los chaflanes en un modulo llamado chaflanes y cada figura dentro del modulo con un comentario que indique su ubicación.(Esto para que cuando alguien por ejemplo necesite hacer el mismo corte con otro angulo simplemente vaya al modulo cortes y busque la pieza en cuestión para codificarla).
/*******************************************************/
module chaflanes(){
//top left 45 grados
translate([4, 0, 14])
rotate( 90 ,[0, 1, 0])
rotate( 135 ,[0, 0, 1])
cube([15, 8, 9]);
//top right small 45` outside
translate([-1, 31, 5])
rotate( 90 ,[0, 1, 0])
rotate( 135 ,[0, 0, 1])
cube([6, 6, 6]);
}
/*******************************************************/
Repito nuevamente que todo lo que escribo es basado en mi experiencia cuando he querido modificar algún código openScad y me ha tomado mucho tiempo hacer el debugging hasta encontrar el pedazo de código que necesito cambiar. Muchos proyectos OpenSource que empiezan con un código claro son los que han evolucionado mejor y mas rápidamente ya que son accesibles no solo por el tema claridad sino también el tiempo que toma cambiar dicho código.
Para hacer que las evoluciones de objetos 3D sean fáciles es importante ser parametrico y modular.
Saludos.
Para lo que podamos
Estoy en proceso de montarme una i2, tengo casi todos los materiales pedidos a falta de los motores ($$$) y chorradas que los pediré en unos días. En cuanto empiece a recibir y montar abriré su respectiva hoja de ruta =)
No te preocupes!! =)
Ya tengo parametrizado todo el grupo B, estos días me pondré con el grupo A haber si lo puedo acabar esta semana. Gracias por la foto, era como pensaba ya que por medidas no tenia sentido otra posición jajjajaja
Pues la verdad que no me importa si es de 4 o 3 puntos (la que mejor que vaya), pero como tú dices me decantaría por la de 4 puntos, que será más ligera y se le podrá meter más "chicha" a la hora de imprimir.
Lo del Bowden externo era una de las mejoras que tenia pensado hacerle a la impresora en un futuro, ya que si se quiere imprimir más rápido es o motores más fuertes (lo que implica utilizar drivers diferentes) o aligerar el peso.
Un saludo!!
Buenas J.Rodrigo, no te he podido responder antes he estado un poco liado, te adjunto la foto, creo que se ve bastante claro.
Respecto a la diferencia entre la de 3 puntos y la de 4 pues a la hora del montaje es un poco mas trabajoso montar la de 3 puntos pero luego la puedes nivelar muy cómodamente.
Que waay!!! =D
Si utilizare una RAMPS 1.4 para aprovechar algún arduino mega que tenía por casa sin usar, los cojinetes son los metálicos (LM8UU) ya que los tenía pedidos pensando en la i2 =P
Ya solo me quedan las 3 más “laboriosas” (sin contar el fallo tonto de la “Code_Xend_Idler_B_623_M6.scad”), las puedo hacer rápido pero prefiero hacerlas poco a poco y con buena letra.
Puedes copiarlas sin problema, cuidado que la “Code_Xend_Idler_B_623_M6.scad” tiene un fallo (le faltan un par de chaflanes que esta tarde corregiré). Si quieres también puedo hacer un Fork de tu repositorio y te las envió para que las aceptes, creo una carpeta llamada OpenSCAD o como quieras tu o si no ya cuando las tengas copiadas hago el Fork ya que seguiré actualizándolas y mejorando el código. Quien sabe si acabará siendo totalmente paramétrica ( The Power of open source Code ) jejjeje
Un saludo!!
Buenas a tod@s,
Sigo teniendo problemas con la pieza "Nuevo_Code_Xcarriage - A.stl", me explico en la parte donde se pasa la brida para sujetar el cojinete lineal en el plano especifica 22,32 de ancho pero luego en el archivo *.stl mide 20,9244, no es una parte critica de la pieza pero al comprobarla no me cuadra esa parte, que hago la dejo con esa medida? Si no intentare bajarme el Catia y ver donde se origina el error, podría ser que el archivo de Catia sea diferente?
La mayoría son fallos menores que no afectan (1 mm o 0,5 mm), quitando la “Code_Zbotton.scad” que no sé en que estaría pensando que puse el tornillo 5 mm desplazado, pero con una lima lo corrijo sin problemas. Si has impreso alguna de las que he corregido no te preocupes no hace falta que las imprimas otra vez ya las apaño a mano y cuando la tenga montada ya imprimiré las incorrectas.
Gracias Xoan por el enlace, igualmente me estoy bajando el CATIA porque no me cuadrar y con que del *.STL no puedo sacar las operaciones (diámetros y posiciones) de las piezas ya quiero asegurarme de hacerla bien.
Creo que si es del tipo wades, vamos el que se fija debajo el hot-end y utiliza una rueda grande y luego la otra pequeña en el motor paso a paso.
¡¡¡Ya están todas las piezas acabadas!!! =DD
Aunque la Code_Xcarriage_A (Nuevo).scad en la parte de la brida me mide 1,85mm en la parte que tendría que medir 2mm por cada lado, se aproxima bastante y se puede corregir modificando el radio de la circunferencia de 9,5mm. El error de la parte de la brida es porque el archivo de Catia que hay en los *.zip’s del primer mensaje es la versión antigua por lo que parece.
También he añadido lo que me comentaste del tornillo del final de carrera del archivo Code_Xend_Motor.scad con la variable TorFinal en true se añade y en false se quita.
Luego me gustaría pasar todas las configuraciones al archivo “Code_Config.scad”, todo lo que son tornillos, tuercas, cojinetes, varillas… la variable TorFinal que comentaba anteriormente, tengo que estudiarlo haber.
Un saludo!!