Autor Tema: ¡Menos nodos!  (Leído 3659 veces)

Helmantikós

  • Visitante
¡Menos nodos!
« en: 30 Septiembre 2011, 15:12 »
Suele ser decepcionante que un sencillo logo o dibujo en .dxf, genere unos G-code tan grandes al no ser fácil reducir el número de nodos sin usar herramientas no baratas precisamente.
Para obtener un código limpio que no trate los círculos como multilíneas, yo uso el DXF2gcode.
Genera el código directamente para EMC2, (aunque tiene opción de cambiar la extensión).
http://code.google.com/p/dxf2gcode/
Se puede ver en el archivo que he generado como ejemplo, que todas las partes no rectas las maneja con G3-G2. Concretamente, el grep, me da 364 apariciones de G3, 169 de G2, y 81 de G1.
En total no llega a 800 líneas de código. El mismo .dxf, en Artcam, postprocesador Mach3mm,  el archivo generado tiene 7.263 líneas.

« última modificación: 06 Octubre 2011, 10:25 por Helmantikós »

Desconectado tio_gil

  • Global Moderator
  • Oficial 1ª
  • ****
  • Join Date: Sep 2009
  • Mensajes: 3099
  • Ubicación: Madrid - España
Re:¡Menos nodos!
« Respuesta #1 en: 30 Septiembre 2011, 15:54 »
HOla,
esta pregunta está relacionada más con la electrónica pero con  referencia a lo que comentas.
Entiendo que cuando haces una interpolación  lineal, un circulo se convierte en un poliedro y supongo que habrá un sitio donde le digas cual es "lado mínimo" de ese poliedro (a más pequeño, mejor circulo, cunato menos, peor -llevado al extremo, puede salir un cuadrado-). Desde el punto de vista electrónico es "fácil", puesto que la relación de pulsos entre los ejes es el cociente de ambos (la tangente del angulo entre punto inicial y punto final).

Pero si tenemos la interpolación circular, como se come? (es posible que tenga las neuronas totalmente off)

P.S.: la pregunta viene porque es uno de mis caballos de batalla en mi 1/2 CNC, donde hacer un circulo es "complicado"
Torno Optimun D240x500 modificado, Fresa BF20L Vario modificada, mucha otra herramienta... y pocas ganas de trabajar !!

Helmantikós

  • Visitante
Re:¡Menos nodos!
« Respuesta #2 en: 30 Septiembre 2011, 21:15 »
Nunca me he planteado programar un control CNC, pero imagino que en lugar de trigonométricas, se usarían funciones de curvatura, 1/R.
Pero muchos postprocesadores como dices interpretan las curvas Bezier como polilíneas, y de ahí el código "hinchado".

Bezier

Como EMC2 es de código abierto, supongo que se podría husmear en los fuentes para ver cómo trata las llamadas a G2 y G3.