[FAQ] Solución para añadir opciones a RAMPS V 1.4 con Gcode

1,637 views
Skip to first unread message

Andres Maroto

unread,
Nov 14, 2013, 8:08:17 AM11/14/13
to asrob-uc3m-i...@googlegroups.com

Bueno, tras mucho leer y encontrar más bien poco en Google, entre las personas del grupo Clone_Wars he conseguido encontrar la forma de poder activar los pines auxiliares que tiene nuestra RAMPS V1.4 para usarlos con un comando Gcode que queramos nosotros “CustomCode”


NO ME HAGO RESPONSABLE DE POSIBLES DAÑOS EN LA RAMPS Y/O ACCESORIOS. EL PROBAR SIEMPRE REQUIERE ARRIESGAR.

yo he probado sin ningún cable más cocnectado, pololus, termiestores, lcd, etc. incluso se recomienda probar sin fuente de alimentación.

En primer lugar es necesario mucha paciencia…. pero mucha. Porque parece sencillo pero se puede volver tedioso por un detalle que luego comentaré….


Necesitamos, como supongo que sabréis, el Arduino (el que os funcione para compilar y cargar), el sketch a modificar (Marlin/Sprinter) y un programa como Repetier o similar para comprobar el código añadido.


Existe el comando M42 Pxx Syyy donde se pueden probar los pines auxiliares marcados en verde.

La explicación es M42 (comando “custom”) Pxx (número de pin a usar, D58 => 58, D64=> 64) Syyy (intensidad de la salida, 0/255, 0=gnd / 255=+5V).

No todos admiten el rango PWM por lo que cuanquier número superior a 0 será considerado HGIH +5V. por defecto el comando M42 actua sobre el LED_PIN 13, es decir, que si la instrucción está mal introducida actua sobre el led de la RAMPS V1.4.

Ejemplos:

M42 P58 S255 => nos pone el pin 58 en +5V

M42 P58 S0 => nos pone el pin 58 en GND


M42 P63 S125 => si el pin no es PWM se pone a HIGH +5V. si en pin es PWM se pone a +2.5V (el valor proporcional al 255)


M42 P53 S255 => pone el LED en HIGH, el PIN 53 está definido para otro uso.


Decir también que los pines auxiliares al conectar la RAMPS a la fuente, están todos sin definir, ni GND ni +V hasta que no se escribe el CustomCode correspondiente.


Como el poner de cada vez todos los números completos puede llegar a ser aburrido y además tienes que recordar el número de cada pin, la explicación siguiente sirve para añadir un GustoCode para que nos sea más fácil recordarlo e incluso incorporarlo a los archivos Gcode de nuestras impresoras.


Doy por supuesto que sabéis abrir,  compilar y cagar un sketch, porque ya tenéis impresora. jeje  ;)


  1. ABRIR EL SKETCH A MODIFICAR, (Marlin/Sprinter)

  2. En la pestaña Marlin:main.cpp buscar el final de las rutinas CASE : (no están por orden numérico.

  3. Crear nuestro propio CASE con el número que queramos… CONFIRMAR ANTES que no está usado por otra función.

    // lineas añadidas como pruebas

       case 241: // pin de prueba pone a +5V

        {

         SET_OUTPUT(PRUEBA_PIN);

           WRITE(PRUEBA_PIN, HIGH);

        }

       break;

       case 242: // pin de prueba pone a GND

        {

         SET_OUTPUT(PRUEBA_PIN);

           WRITE(PRUEBA_PIN, LOW);

        }

       break;




  4. Definir nuestro pin de prueba en el archivo pins.h. Sobra decir que será en la zona de nuestra RAMPS

    #if MOTHERBOARD == 33 || MOTHERBOARD == 34


    #define LARGE_FLASH        true


    #define PRUEBA_PIN 58 //añadir otro pin para prueba


    #define X_STEP_PIN         54

    #define X_DIR_PIN          55

    #define X_ENABLE_PIN       38

    #define X_MIN_PIN           3

    #define X_MAX_PIN           2


  5. Compilar para que muestre los posibles errores.
    Pause……………jejejeje
    Si muestra error….. GOTO número 2 y revisa los posibles errores/cambios
    Si está OK…… continue
  6. Una vez cargado nuestro firm en la RAMPS, abrir el Repertier y comprobar que funciona el pin auxiliar que hemos creado nosotros introduciendo en código Mnúmero_case_inventado.
    El primer CASE => para activar la salida y el segundo para apagarla…



  7. Saludos y seguiremos con alguna cosa más….

Iceflow

unread,
Nov 14, 2013, 8:21:25 AM11/14/13
to asrob-uc3m-i...@googlegroups.com
Muy bien explicado Andres!! y gran trabajo de busqueda :D!!


--
 
---
Has recibido este mensaje porque estás suscrito al grupo "Clone Wars: Imprimiendo impresoras 3D" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a asrob-uc3m-impreso...@googlegroups.com.
Para publicar una entrada en este grupo, envía un correo electrónico a asrob-uc3m-i...@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.

thingmaker

unread,
Nov 14, 2013, 8:26:11 AM11/14/13
to asrob-uc3m-i...@googlegroups.com
Muchas gracias por el aporte...

Tengo unas cuantas dudas:

a)Paraece que el mismo Pin puede ser Digital (con D) y analógico(PWM con A) ¿esto quiere decir que si queremos usarlos como digital debemos usar el número correspondiente a D y si con analógico el de A?

b) tenía entendido que esto del Custom G-Code lo soportaba solo Marlin ¿estás seguro que Sprinter también?

c) los que has marcado con rojo ¿por qué no se pueden usar?

d) el D1 y D2 de Aux1 ¿no se pueden usar?

Gracias,

thingmaker

Andres Maroto

unread,
Nov 14, 2013, 9:07:34 AM11/14/13
to asrob-uc3m-i...@googlegroups.com


El jueves, 14 de noviembre de 2013 14:26:11 UTC+1, thingmaker escribió:
Muchas gracias por el aporte...

Tengo unas cuantas dudas:

a)Paraece que el mismo Pin puede ser Digital (con D) y analógico(PWM con A) ¿esto quiere decir que si queremos usarlos como digital debemos usar el número correspondiente a D y si con analógico el de A?
No, no nos confundamos.... la imagen está sacada del "board" de la wiki... que ponga A o D tiene explicación.... en el AUX1 el dibujo como D1 y D2 son las salidas Tx y Rx de la MEGA.
 A4 y D58 significan que el pin es el A4 de la MEGA y el PIN 57 de la RAMPS, configuración del sketch. 
por lo que según está la nomenclatura te indica el pin del MEGA... 
 
b) tenía entendido que esto del Custom G-Code lo soportaba solo Marlin ¿estás seguro que Sprinter también?
Lo probaré para decir resultados, no lo he probado todabía, jeje 

c) los que has marcado con rojo ¿por qué no se pueden usar?
 Yo los he probado todos con el mismo comando y los marcados en rojo no han mostrado cambio de tensión, como comentardio decir que el D57 si que funciona para el M240 => usar para mando infrarojo de una cámara digital  Line 378: #define PHOTOGRAPH_PIN     57 //23. Al cambiar el 23 (por defecto) por el 57 si que funciona.

d) el D1 y D2 de Aux1 ¿no se pueden usar?
Como te he dicho antes son los pines que usa en MEGA/UNO para Tx y Rx

Gracias,

thingmaker

thingmaker

unread,
Nov 14, 2013, 9:19:06 AM11/14/13
to asrob-uc3m-i...@googlegroups.com
Muchas gracias Andres ...

entonces , tendríamos que ver la correspondencia con el pin del mega para saber si es Digital o PWM (o los dos) para conocer si lo podemos usar como analógico o digital ¿correcto?

Lo de la "foto" me ha despertado el interés o me ha elevado el nivel de SAV en sangre ... aunque ya no corresponde al hilo (perdonanme) ¿conocemos algun ejemplo de uso/conexión de una PCB con cámara de fotos que maneje Marlin? :-D

Saludos,

thingmaker

Andres Maroto

unread,
Nov 14, 2013, 9:34:55 AM11/14/13
to asrob-uc3m-i...@googlegroups.com
jajajajajajajaja 

te respondo...... si, es tan sólo confirman si el pin es Digital, Analógico y si tiene PMW .... todo es cuestión de pruebas, ya lo sabéis.....

Para el tema de la cámara, todo se puede hacer siempre que la cámara tenga disparo remoto. ahora mismo la configuración del PHOTOGRAPH_PIN es para un emisor infrarojo usado para una Canon EOS porque emite una ráfaga de impulsos durante un determinado tiempo..... si se monta un opto-relé, se podría usar cualquier cámara con posibilidad de disparo remoto. Mi EOS 100D si tiene, ajjajajajaajajaja estoy en .............. construcción............ 

saludos.

Andres Maroto

unread,
Nov 14, 2013, 10:19:38 AM11/14/13
to asrob-uc3m-i...@googlegroups.com
TE vuelvo a responder, en el sprinter-master para Arduino 1.0.5 con el pronterface, si que funciona el código de prueba que he puesto, en repertier, no me funcionaba nada, ni el M80 ATX_ON....Quizá no se entiendan por el tema de la velocidad del puerto.... pero da lo mismo... que en otro programa si que ha funcionado..

vamos, que según sea Sprinter o Marlin, se requieren distintos programas.......

Hasta donde yo sé.... es lo que os he contado.

saludos.

thingmaker

unread,
Nov 14, 2013, 10:31:49 AM11/14/13
to asrob-uc3m-i...@googlegroups.com
Vale, nuevamente gracias por todo.

Saludos,

thingmaker

AdansCW

unread,
Nov 14, 2013, 11:53:47 AM11/14/13
to asrob-uc3m-i...@googlegroups.com
Muy buen aporte Andrés!!!
Abre un mundo de posibilidades para utlizar MARLIN fuera de REPRAP....
Es una pena que no tengamos chicnchetas como en los foros PHP... ohhhh!! espera, tenemos una wiki Cojonuda!!!

Andres Maroto

unread,
Nov 14, 2013, 11:59:10 AM11/14/13
to asrob-uc3m-i...@googlegroups.com
No sé ponerlo en la wiki..... si sois tan amables..... jajajajajaja

el detector de filamento está en camino.....

Julian Garcia Roger

unread,
Nov 14, 2013, 6:28:02 PM11/14/13
to asrob-uc3m-i...@googlegroups.com
Buen trabajo Andrés ;-)

Iceflow

unread,
Nov 15, 2013, 11:19:22 PM11/15/13
to asrob-uc3m-i...@googlegroups.com
Nadie va a ayudar al compi a ponerlo en la wiki? :( es algo sumamente interesante creo, no? :D

No me sean asi... por el amor de prusa!! jejejje


El 14 de noviembre de 2013 17:59, Andres Maroto <maroto...@gmail.com> escribió:
No sé ponerlo en la wiki..... si sois tan amables..... jajajajajaja

el detector de filamento está en camino.....

--

AdansCW

unread,
Nov 16, 2013, 3:10:44 AM11/16/13
to asrob-uc3m-i...@googlegroups.com
Te respondo lo mismo que me respondieron a mí (con toda la razón del mundo) cuando hice esa afirmación:
Coño! seguro que tampoco sabías montarte una prusa o como modificar el firmware para usar pines extra, o otras tantas cienes de cosas!!!
Con la wiki no vale la excusa del "yo no sé", yo tampoco sabía, pero en media hora googleando te da para hacer esto:
Tu ya has hecho una parte del trabajo, así que te lo subo yo... pero hay que entender que la wiki es de todos, la creamos todos y la modificamos todos... así que os invito a que os paséis por el post para revisarlo y sobre todo, darle formato... que mis conocimientos de wiki dan solo para eso, saludos.

SAludops

AdansCW

unread,
Nov 16, 2013, 3:34:31 AM11/16/13
to asrob-uc3m-i...@googlegroups.com
Buenas, 
Y la he enlazado aquí:http://www.reprap.org/wiki/Clone_Wars:_Proyectos/es
Me he estado peleando un rato con las tablas... y como mi perfil es más ingenieril (funcional) que de diseño, pues me queda todo muy soviético... así que si queréis darle una vuelta y mejorarlo.... ES UNA WIKI!!!
Había pensado pensado ponerlo en el FAQ, pero el FAQ es más para los nuevos y don "preguntas frecuentes" y esta no es que sea una recurrente... 
Saludos

El jueves, 14 de noviembre de 2013 17:59:10 UTC+1, Andres Maroto escribió:

Andres Maroto

unread,
Nov 16, 2013, 3:35:43 AM11/16/13
to asrob-uc3m-i...@googlegroups.com
VALE..... ENTONO EL "MEA CULPA".

Después de ver el artículo en la wiki, he decidido crearme una cuenta para poder seguir con la subida por si surge alguna cosa más.

El proyecto de el detector de hilo, sigue en marcha, que lo sepáis... jejeje A sabiendas que hay por ahí cosas quizá lo veo algo más complicado que la idea que tengo.

Existe un Custom Code en el Marlin para dicha tarea M600 pero no sé como funciona, y es para introducir un código manual en el programa (desconozco si se puede introducir un código en la LCD).... La idea es usar uno de los pines libres, quizá del AUX-4 (8 de los 18 los usa la LCD) para que la "orden" de cambio de filamento pueda ser semi-automática.

Recordar que puede tardar un poco, pues sólo tengo la RAMPS, y no es fácil trampear toda la máquina... jajajajajajajajaj

SALUDOS

GRACIAS POR SUBIR EL ARTÍCULO.

AdansCW

unread,
Nov 16, 2013, 3:44:16 AM11/16/13
to asrob-uc3m-i...@googlegroups.com
No te preocupes... a mi me dieron también un par de collejas porque aunque soy un gran usuario de wikis, nunca me había parado a pensar en el tema de la edición... y es cierto que la wiki es responsabilidad de todos.
Recuerdo que de vez en cuando Javier Briz hace un llamamiento para recordarnos a todos estos temas... Javier, ¿Porque no recuperas uno de esos post?. ...aquí se aplica el mismo principio de las comunidades y de mi anterior mensaje "¿Y porque no lo haces tú?" jejejeje, es que no yo tengo tanto background para concienciar sobre lo que es una wiki, comunidades, opensource, etc... :p 

Lucas RepRapZ.com

unread,
Nov 16, 2013, 8:17:13 AM11/16/13
to asrob-uc3m-i...@googlegroups.com
Genial, ya lo tengo funcionando. He implementado la salida de 5 pines ahora solo me falta esperar a que abra el lunes la tienda de electrónica y pueda comprar un buen puñado de relés SAV SAV SAV!

Una pregunta de nota: Normalmente (al menos con Marlin) al empezar a imprimir el homing lo hace cuando la cama caliente alcanza su temperatura y antes de que el hotend comience a calentarse. ¿como se puede retrasar el homing hasta que el hotend haya alcanzado su temperatura?

Un saludo.

Antonio Navarro

unread,
Nov 16, 2013, 8:42:21 AM11/16/13
to asrob-uc3m-i...@googlegroups.com
Eso no lo hace Marlin, lo hace el fileteador que uses y el g-code que genere. Seguramente puedas poner un g-code al principio para calentar el hotend antes de hacer homming.

Lepes

unread,
Nov 17, 2013, 5:58:19 PM11/17/13
to asrob-uc3m-i...@googlegroups.com
La documentación de la RAMPS 1.4... o yo no la encuentro... o deja mucho que desear. Andres, Muchas gracias por el curro que te has metido con eso y por haberlo publicado aquí, abre muchas posibilidades.

Lucas, esto lo saca slic3r tal cual (solo añado la traducción a español:
G21 ; set units to millimeters (unidades a milimetros
M107
M190 S100 ; wait for bed temperature to be reached (esperar a que la cama se caliente)
M104 S230 ; set temperature (establecer temperatura del fusor)
G28 ; home all axes (hacer homing)
G1 Z5 F5000 ; lift nozzle (subir el fusor)
M109 S230 ; wait for temperature to be reached (esperar la temperatura del fusor)
G90 ; use absolute coordinates (usar coordenadas absolutas)
G92 E0 (empieza el show ;))

Saludos
M82 ; use absolute distances for extrusion

Lepes

unread,
Nov 17, 2013, 6:03:40 PM11/17/13
to asrob-uc3m-i...@googlegroups.com
Lucas: Creo lo que en realidad quieres preguntar otra cosa. Según veo hay dos tipos de órdenes:

- Que se procesan en segundo plano (como establecer la temperatura del fusor, y ya él solito irá subiendo hasta que la alcance) y el programa continúa con las siguientes órdenes.
- órdenes "modales", es decir, el programa Gcode se queda clavado en esa instrucción hasta que se cumpla (por ejemplo "el esperar a que se alcance la temperatura")

Creo ahora si entiendes el asunto ¿no?

Andres Maroto

unread,
Nov 17, 2013, 6:50:32 PM11/17/13
to asrob-uc3m-i...@googlegroups.com
@lepes ¿que documentación buscas de la RAMPS 1.4?


El domingo, 17 de noviembre de 2013 23:58:19 UTC+1, Lepes escribió:
La documentación de la RAMPS 1.4... o yo no la encuentro... o deja mucho que desear. Andres, Muchas gracias por el curro que te has metido con eso y por haberlo publicado aquí, abre muchas posibilidades.

No te voy a decir que yo tenga la documentación, para nada, pero quizá te pueda ayudar en algo sobre ella... jajajajajajaj.

Por cierto, siguiendo el hilo, en el FRIMWARE REPETIER también se pueden añadir pero es algo distinto pues los archivos son distintos, en "nombre.h" y posición de las líneas #define .....  

Por lo que he podido leer en el repetier como firmware, deciros para los que no lo conozcáis, que sólo leyendo el sketch, ya es flipante las opciones que tiene...

Saludos.

PD para aquellos que están interesados en el detector de filamento, hay una versión de Marlin, que trae incorporada la orden M600 // change filament , yo lo he descargado para mirar de implementar un pulsador con esa orden y que además de poder parar la impresión de forma manual, se pueda poner en "pausa" por cambio de filamento si este se rompe de forma automática.

AdansCW

unread,
Nov 17, 2013, 7:41:54 PM11/17/13
to asrob-uc3m-i...@googlegroups.com
Eso me pregunto yo... ¿Que información buscas que no esté aquí:http://reprap.org/wiki/RAMPS_1.4 ?
Es más, estrictamente, la única documentación que necesitas es esto y esto... además de conocer el firmware que estás usando... nada más
Saludos.

Carlos Picazo

unread,
Nov 18, 2013, 7:38:45 AM11/18/13
to asrob-uc3m-i...@googlegroups.com
Adjunto en este post un enlace a un post que he creado explicando la utilización de estos comandos M42 para controlar una tira de LED RGB. 


Este es un ejemplo de aplicación de lo que se explica en este post.

Si alguien se anima a adjuntarlo a la wiki tiene mi permiso y mi agradecimiento porque no se tocar muy bien esa sección. 


Saludos.

AdansCW

unread,
Nov 18, 2013, 7:48:50 AM11/18/13
to asrob-uc3m-i...@googlegroups.com
Gracias por el aporte! 
Seguro que hay más de uno que se lo leerá!! 
Suerte a los valientes!!!

Jose APC

unread,
Nov 18, 2013, 8:14:25 AM11/18/13
to asrob-uc3m-i...@googlegroups.com
Gracias por el aporte, siempre me pregunté como se podrían usar esos pines.
Estáis echos unos artistas! xD

Un saludo.


El jueves, 14 de noviembre de 2013 14:08:17 UTC+1, Andres Maroto escribió:

Carlos Picazo

unread,
Nov 18, 2013, 8:20:40 AM11/18/13
to asrob-uc3m-i...@googlegroups.com
Adans veo que has hecho tu la página de la wiki, podría añadir una sección que se llamase aplicaciones donde la gente pueda añadir las modificaciones que realiza a su impresora. 

Habiendome mirado los enlaces que has puesto si quieres lo puedo subir yo. jaja

Un saludo.

AdansCW

unread,
Nov 18, 2013, 8:56:58 AM11/18/13
to asrob-uc3m-i...@googlegroups.com
JAVIER BRIZ!!! Yo te invoco!!!! Estaba buscando un post tuyo (O de alguno otro, no recuerdo) d e finales del año pasado o principios de este, explicando que la wiki es de todos, que todos tenemos el deber de mantenerla y contribuir a su crecimiento, etc, etc, etc.... un post de esos concienciadores... pero no lo encuentro!!!!

Bueno, volviendo al tema... Me parece bien la idea,  yo la enlacé en donde me pareció... eso no quiere decir ni que sea ni el mejor sitio ni la mejor forma... siempre hay espacio para las mejoras... no sé si hay gente que se dedica a vigilar un la wiki (o lo tenemos que hacer entre todos... lo siento, soy tan novato como tú en esto), pero en este hilo se puede identificar a alguno de los más involucrados en la wiki (simplemente contando el número de intervenciones en el hilo). Creo que si surgen más dudas, lo mejor es abrir un hilo específico sobre la wiki.

Saludos.
P.D:By the way, si sabes como arreglar los numeritos de los pasos... después de poner el código, empieza en 1, no siguen la secuencia 1,2,3,4,5, etc... ahora los pasos están 1,2,1,1,1,1 (tú o cualquier wiki-chanante que nos esté leyendo...)

Lucas

unread,
May 15, 2015, 10:19:57 AM5/15/15
to asrob-uc3m-i...@googlegroups.com
Voy a retomar este antiguo tema por que en su momento hize aqui una pregunte que al final pude resolver haciendo un apaño pero ahora necesito hacerlo realmente bien.

La cuestión es la siguiente:

Andres Maroto nos indica de forma muy detallada como utilizar los pines auxiliares como salidas entradas o analógicas actuando desde el Gcode. Lo que yo me pregunto es como utilizar uno de los pines digitales como entrada y que el gcode no salte de linea hasta que esa entrada este en HIGH o LOW (segun se haya configurado).

Lepes habia explicado muy bien que hay dos tipos de comando Gcode de segundo plano y modales (que son los que harian falta en este caso), un ejemplo de ello es M190 que hace que se comience a calentar la cama caliente y no salte al siguiente comando hasta que se alcance la temperatura.

Aqui esta el case 190 (M190):

 case 190: // M190 - Wait for bed heater to reach target.
    #if defined(TEMP_BED_PIN) && TEMP_BED_PIN > -1
        LCD_MESSAGEPGM(MSG_BED_HEATING);
        if (code_seen('S')) {
          setTargetBed(code_value());
          CooldownNoWait = true;
        } else if (code_seen('R')) {
          setTargetBed(code_value());
          CooldownNoWait = false;
        }
        codenum = millis();
        
        cancel_heatup = false;
        target_direction = isHeatingBed(); // true if heating, false if cooling

        while ( (target_direction)&&(!cancel_heatup) ? (isHeatingBed()) : (isCoolingBed()&&(CooldownNoWait==false)) )
        {
          if(( millis() - codenum) > 1000 ) //Print Temp Reading every 1 second while heating up.
          {
            float tt=degHotend(active_extruder);
            SERIAL_PROTOCOLPGM("T:");
            SERIAL_PROTOCOL(tt);
            SERIAL_PROTOCOLPGM(" E:");
            SERIAL_PROTOCOL((int)active_extruder);
            SERIAL_PROTOCOLPGM(" B:");
            SERIAL_PROTOCOL_F(degBed(),1);
            SERIAL_PROTOCOLLN("");
            codenum = millis();
          }
          manage_heater();
          manage_inactivity();
          lcd_update();
        }
        LCD_MESSAGEPGM(MSG_BED_DONE);
        previous_millis_cmd = millis();
    #endif
        break;


En el ejemplo de case que aporta Andres por lo que veo se podria definir el pin como una entrada simplemente cambiando SET_OUTPUT por SET_INPUT pero cambiar WRITE por READ da fallos al compilar.

¿Alguien sabria como combinar estos dos "case"?

Juan Pinto

unread,
May 18, 2015, 1:07:40 PM5/18/15
to asrob-uc3m-i...@googlegroups.com
Pedazo de explicacion Andres y compañia :)  Muy util
Salu2

Roberto Arcera

unread,
Oct 6, 2015, 8:18:42 AM10/6/15
to Clone Wars: Imprimiendo impresoras 3D
Me he tomado la libertad de modificar el wiki,..corrigiendo algunas erratas y sobre todo modificando el titulo, que tenia una errata y al final lo he cambiado para describir mejor su contenido.


Espero que no les importe....


Iceflow

unread,
Oct 6, 2015, 8:24:03 AM10/6/15
to asrob-uc3m-i...@googlegroups.com
Todo lo que sea mejora de la información que se comparte siempre es bienvenida!! :D gracias!!

--
Has recibido este mensaje porque estás suscrito al grupo "Clone Wars: Imprimiendo impresoras 3D" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a asrob-uc3m-impreso...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a asrob-uc3m-i...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/asrob-uc3m-impresoras-3d/17f67fd1-575d-437b-8df7-4948bd0b83cc%40googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages