Polygon in EAGLE

Hi,

I’m relativly new to using EAGLE for PCB design and I was wondering if there was any way one could create a polygon from a set of coordinates defining the cornerpoints (in board view). A command perhaps… Now I have to first draw a rough sketch and then edit all the lines from properties. I have also tried to make a liberary object for the polygon, but this just gave a lot of DRC errors because I had to put pads inside the polygon to be able to connect wires to it. The polygon is going to represent a optimal mitered bend for a microstrip line.

There probably is a way to do this but I’ve never figured out the keyboard interface. The way I would do this is to set my grid to what ever will work (use alt for really fine control) and draw the approximate object with the mouse. Then zoom way in and tweak each vertex until it is exactly what you want (use the alt grid).

I agree that ideally you should be able create a footprint that is the microstrip but there seems to be no way to create arbitrarily shaped pads.

mundobot:
I was wondering if there was any way one could create a polygon from a set of coordinates defining the cornerpoints (in board view). A command perhaps…

Every EAGLE operation in the GUI has a coresponding text CLI.

Once you know the EAGLE specific name for that command

you can search for it in the on-line help. (Warning; it reads

like a UNIX manual - a bit terse for most of us).

Depending upon whic version you have (5.x has superior

on-line help notation), go to the help file and type

“Editor Commands”, for a directory listing of them all.

For you project POLYGON and WIRE and MOVE will be handy.

mundobot:
Now I have to first draw a rough sketch and then edit all the lines from properties. I have also tried to make a liberary(sic) object for the polygon, but this just gave a lot of DRC errors because I had to put pads inside the polygon to be able to connect wires to it.

I ran into the same problem, but found two work arounds.

The first and obvious is to ignore the DRC errors. This is a

bad work practice (much like by-passing a safety switch on

dangerous machinery…)

In Version 5.x you can now declare DRC errors as approved

so they don’t clutter the dialog box and don’t trip each time

you run the DRC again.

The second work around is to place guides or witness marks in

a brand new custom library part on a layer not needed for PCB

design and CADCAM. I use the Document layer 48.

Import the new library symbol and use layer 48 as a guide

to place components in the board editor. This is a good way

to get accurate location and avoids accidental "bumping’

of critical dims with the mouse.

My first use of this technique was for PCB outlines to fit

specific holes and outline routing. Here’s a snapshot of

[my library for outlines, likely you can pick it up easily but

ask if my short cuts are not clear.

mundobot:
The polygon is going to represent a optimal mitered bend for a microstrip line.

Hmm. The stumbling block for me was that I couldn’t edit

the pad size and shapes.

However, for your project the library part could

be created accurately on the document layer (as

noted) and either traced in your final layout or

changed to an active signal layer. I’d have to try

that out. EAGLE is a cruel mistress most days.](http://www.stonard.com/SFE/EAGLE/PCB_Outlines.lbr)

POLYGON is the command. Specify the poly as a series of points of the form (x y). Clunky. You could create a script and run it with the script command. Not pretty but it is reproducible…

example. In board view,type or paste the the following line.

POLYGON strip (1 1.5) (1.5 1.5) (1.5 2) (2 2) (2 2.5) (1 2.5) (1 1.5)

to create a poly with name the strip.

look to help for more details on POLYGON

Philba:
POLYGON is the command. Specify the poly as a series of points of the form (x y). Clunky. You could create a script and run it with the script command. Not pretty but it is reproducible…

example. In board view,type or paste the the following line.

POLYGON strip (1 1.5) (1.5 1.5) (1.5 2) (2 2) (2 2.5) (1 2.5) (1 1.5)

to create a poly with name the strip.

look to help for more details on POLYGON

Thats exactly what I was looking for. Now I can just store the coordinates in a text-file and copy/paste them in every time I need them. It not as good as creating a liberary-element for the bend, but as long as that is not possible, this solution should do.

Ideally, there should be an Eagle-function that allowed you to define pads in objects like polygons. A function were you could just draw another polygon which defined the pad area inside the original polygon. This way you could greate pads in any shapes and also microstrip elements like mine, where you need some kind of connection point for the microstrip lines (for routing).

By the way, does anyone have any good solutions for necking down the microstrip line in front of the smd-pads? I’m thinking of the case where you are trying to connect a microstrip line to a pad that is smaller than the width of the line.

I’m not sure what the issue is - you can draw a trace of the same name to the polygon you created. Put ground under the trace and you should be fine. You can also move any polygon points you want but doesn’t that change your strip characteristics?

Philba:
I’m not sure what the issue is - you can draw a trace of the same name to the polygon you created. Put ground under the trace and you should be fine. You can also move any polygon points you want but doesn’t that change your strip characteristics?

I was thinking about the case where you are connecting a microstrip trace to an smd-pad which is part of a components footprint, like an amplifier. Then you will sometimes experience that the pad has maybe half the width of the microstrip trace. In this cases you would ideally neck the microstrip width down close to the pad, so that the strip’s width and the pad’s width is equal when the microstrip enters the pad. I’m thinking a polygon would work in this case also, but ratnest keep on returning an “illegal polygon” error message. But I havent really experiemented much with this, because I still have a few footprints to add to the lib before I can start with the routing.

Yeah, eagle can be picky about polygons. You should be able to get any shape (polygon shape, that is) but don’t arrange the points so that the outline crosses itself. I assume you are getting the “illegal polygon” error from DRC.