Cómo convertir mm a coordenadas xy en archivos pcb xy [cerrado]

0

Tengo pocos proyectos gerber de pcb que vienen a lo largo de archivos xy en formato txt / xlsx, estos archivos xy tienen valores x y en mm / inch / mils para cada elemento del tablero. Estoy desarrollando el editor de gerber para los archivos de gerber que buscarán elementos en ese baord.

lo que he hecho.

- > Los archivos de capa de Gerber son cargados por el usuario

- > Los archivos de capa de Gerber se representan a una imagen de 600 ppp.

- > El usuario carga el archivo xy como: ::

  

enlace o enlace

- > luego, con Jquery, el usuario puede ir a cualquier coordenada xy en esa imagen.

por lo que el problema no puedo convertir correctamente estos valores xy que están en formato mm / mils a coordenadas xy para navegadores web de Windows

aunque para un proyecto que tiene un archivo xy: enlace configuré un poco de diálogo para convertir su valor xy de mm a las coordenadas trabajadas, pero no trabajando en otros proyectos, así que lo que hice fue tomar los valores de mm xy y multiplicar 12 con él y luego solo cambiaría el valor porque el sistema de coordenadas xy en los navegadores web comenzaría desde la esquina superior izquierda, sin embargo, en la vida real, el xy positivo ocurre en el primer cuadrante, lo que estar en la esquina inferior izquierda. ... la dimensión de representación final del proyecto fue 1350x1107: enlace

por lo que cualquier experto de la industria de PCB ha trabajado con él, se agradecerá la ayuda.

gracias

    
pregunta user889030

1 respuesta

1

Los ejes positivos de un sistema de coordenadas de imagen apuntan hacia la derecha y hacia abajo , mientras que apuntan hacia la derecha y hacia arriba en gerber, como ya escribiste.

Y una imagen tiene su origen en la parte superior izquierda, mientras que gerber también permite coordenadas negativas. Es decir. El origen puede estar en todas partes. Lo que es peor, normalmente conoce el ancho y el alto de una imagen, mientras que un archivo gerber no contiene ninguna información sobre los valores más altos y más bajos en x e y.

Por ejemplo, este es un archivo gerber de dos rectángulos dibujados en EAGLE, uno a la derecha y sobre el origen, el otro a la izquierda y abajo:

G01*
X000000Y000000D02*
D10*
X000500Y001000D02*

  ###   draw first rectangle ###
X000500Y002000D01*
X001500Y002000D01*
X001500Y001000D01*
X000500Y001000D01*

X-001000Y-001000D02*

  ###   draw second rectangle with negative coords ###
X-001000Y-002000D01*
X-002000Y-002000D01*
X-002000Y-001000D01*
X-001000Y-001000D01*

X000000Y000000D02*
M02*

Su primer paso es averiguar el rango de coordenadas de gerber que se muestra en su imagen, o al menos los valores más bajos para x e y. Esto puede ser complicado, ya que, por ejemplo, las coordenadas se pueden dar en relación con la última coordenada.

Una vez que tenga los valores más bajos \ $ x_ {bajo} \ $ y \ $ y_ {bajo} \ $, puede convertir determinados co-datos de xy en coordenadas de píxeles:

$$ x_ {pix} = (x-x_ {low}) \ cdot U \ cdot 600dpi $$ $$ y_ {pix} = ImageHeight - (y-y_ {low}) \ cdot U \ cdot 600dpi $$

\ $ U \ $ es el factor de conversión de la unidad a pulgada, es decir, 0.001 si el archivo gerber usa molinos, y 0.0393701 si usa mm.

Esto, por supuesto, supone que los valores xy en tu tabla se dan en el sistema de coordenadas del archivo gerber.

EDITAR, después de ver tus archivos gerber en los comentarios:

Aquí hay una captura de pantalla de su PCB "controlador de juego", dibujado con gerbv:

Laesquinainferiorizquierdadellímiteestáenalgúnlugaren1951/2900,¡muylejosdelorigen!Lascoordenadasquesemuestranenlaparteinferiorsonlascoordenadasdemimouse,apuntandohaciaelcentrodeC18.Coincidenbienconlascoordenadas2865/4040delarchivopick'n'place.Esobvioquetienequeajustarlascoordenadasdelaspartesaldesplazamiento.

Tambiénhaagregadounaimagendelaplaca,quenoesde600ppp(a1.25"el tamaño de la placa, debe tener aproximadamente 750px de ancho). Su imagen gira 180 °, lo que tiene sentido para la legibilidad de las etiquetas. Pero eso no es lo que está en el archivo, y mi fórmula debe modificarse para esto.

Y la imagen revela que hay algunos píxeles de margen adicional en todo el PCB, por lo que las líneas amarillas no tocan el borde. Esto también debe tenerse en cuenta.

Agregasteotraplaca,la"PCB Nyx". Esta tiene la misma orientación que mi gerbv, tiene sentido otra vez. Esta placa también tiene compensaciones en xey, aunque son bastante pequeñas. Y la imagen también tiene un borde.

    
respondido por el sweber

Lea otras preguntas en las etiquetas