sábado, 19 de abril de 2014

Criando componentes no Eagle usando scripts

De vez em quando a gente precisa desenhar um componente no Eagle e perde um tempão trocando de escala para posicionar PADs e furos, e muitas vezes acaba acochambrando algumas dimensões em alguns décimos de mílimetros quando a paciência acaba.

Mas dá pra fazer componentes usando scripts. Basta criar um arquivo de texto com extensão .scr e executar este arquivo no Eagle clicando no botão SCR para selecionar o arquivo e executá-lo

A sintaxe é a mesma da linha de comandos do Eagle (que muita gente nem sabe que existe)


Por exemplo, o comando

HOLE  2 (0 0) 

cria um buraco de diâmetro igual a 2 na coordenada (0,0). Note que o parâmetro acompanha a unidade do grid. Sendo assim, para que o buraco tenha 2 mm, basta digitar antes

GRID mm

Eis abaixo um exemplo. Eu precisava de um soquete de micro-SD e não encontrei na Internet a biblioteca. Daí baseado no desenho do componente, eu criei o script abaixo:

# TFlash from China
# Daniel José Viana, 2014

grid mm 0.1 
Layer top

# solder pads
smd 0.7 1.6 (2.2 10.5)
smd 0.7 1.6 (1.1 10.5)
smd 0.7 1.6 (0.0 10.5)
smd 0.7 1.6 (-1.1 10.5)
smd 0.7 1.6 (-2.2 10.5)
smd 0.7 1.6 (-3.3 10.5)
smd 0.7 1.6 (-4.4 10.5)
smd 0.7 1.6 (-5.5 10.5)
smd 0.7 1.6 (-6.6 10.5)

# package ground
smd 1.2 2.2 (7.75 0.4)
smd 1.2 2.2 (-7.75 0.4)
smd 1.6 1.4 (6.85 10)
smd 1.0 1.4 (-7.75 10)

#holes
hole 1.25 (3.05 0)
hole 1.25 (-4.95 0)

#outline
layer tPlace
Set Wire_Bend 2
wire 0.05 (7.35 -4.0) (7.35 10)
wire 0.05 (7.35 10) (-7.35 10) 
wire 0.05 (-7.35 10) (-7.35 -3.3)
wire 0.05 (-7.35 -3.3) (1 -3.3)
wire 0.05 (1 -3.3) (4.3 -4.0)
wire 0.05 (4.3 -4.0) (7.35 -4.0)

#complementary
layer tDocu
Set Wire_Bend 6
wire 0.1 (-6.45 -3.35) (-6.45 -5.6)
wire 0.1 (-6.45 -5.6) (-5.45 -6.6)
wire 0.1 (-5.45 -6.6) (3.55 -6.6)
Set Wire_Bend 7
wire 0.1 (3.55 -6.6) (4.55 -5.6)
wire 0.1 (4.55 -5.6) (4.55 -4.05)

#Identification
layer tNames
text >NAME (-7 12)

layer tValues
text >VALUE (1 12)

E o resultado pode ser visto abaixo.




Um comentário:

Fábio Belavenuto disse...

Muito interessante Daniel, valeu por compartilhar