Take the 2-minute tour ×
Electrical Engineering Stack Exchange is a question and answer site for electronics and electrical engineering professionals, students, and enthusiasts. It's 100% free, no registration required.

I have designed an outline for a PCB in Inkscape and wish to import it into Eagle, but the guides I have found leave me with lots of little lines in Eagle, not a continuous line, what's more is there are gaps between the lines, and as this is for the dimensional layer, not ideal. 1

Is there a way to modify the file so the import is made up of connected lines? Or another way to get this to work?

Also tried this with similar disappointing results 2

share|improve this question
the links are broken... can you fix it? –  Butzke Feb 20 at 13:04
Use a program like Draftsight to make sure that the export to DXF step is actually completing correctly. The export may have a bunch of holes that you can close up with a join command. I would recommend drawing the whole thing in Draftsight anyway, in DXF/DWG format. It may be less like drawing than Illustrator but it's more precise and made to handle tasks just like this. –  scld Feb 20 at 20:15
add comment

4 Answers

Since you designed the outline yourself, just re-enter the same information into Eagle. Eagle lets you define the outline as line segments and arcs.

I just looked at your first link, and it seems the real problem is that you are trying to do something completely unrealistic:

First, if you are designing a PCB, you should do so in the program for that purpose, which in your case is apparently Eagle. Second, you have to understand how printed circuit boards are made to avoid impossible specifications.

Each board will be cut from a larger panel by computer-controller router. These have straight lines and arcs as primitives. This means most of the time arbitrary curves have to be approximated with lots of small line segments, which is inefficient for the board house and very costly for you. Usually after 6 or so route points, they start charging per route point. Every line segment is one route point and every arc two.

Another thing you have to think about is that there can never be a true interior corner because the router bit will have some minimum diameter. If you specify a sharp interior corner, you don't know what you'll get. The board house might use the smallest router bit they have and charge you extra for having to change bits or for the small size (smaller bits break off more easily and cost them more), and you still won't get a sharp interior corner. It is best to always specify interior corners yourself as arcs of some reasonable radius.

All in all what you are trying to do is unreasonable. At the very least, talk to your board house first and find out what special things they might be able to do. It is also unfair of that web page to say that Eagle has a "glaring omission" in this area when the glaring omission is really in their knowledge of PCB fabrication.

If you really need such a strange board shape and this is a one-off, it is probably better to have the board house cut your board to the minimum enclosing rectangle, then cut the wierd shape yourself. It might require a combination of using a band saw and some manual filing. Make sure there is no copper in the areas you don't want and within some minimal distance of the edge. The copper will dull whatever tool you are using to cut or grind the board. You want to cut just fiberglass, not fiberglass and copper.

share|improve this answer
There are places, such as OSH Park, where you can essentially get a free-form outline and cut-out for no additional charge. While you are definitely correct that the inner curves won't be correct, for a lot of applications getting close is all you need. Also, that link was just a third-party guide, not the OP's exact intentions, so maybe direct some anger away from the OP? –  W5VO Feb 20 at 15:05
@W5VO: It wasn't at all clear that the OP didn't link to his own web page. It would make sense for him to show us what he is really trying to do, not what someone else on the internet did. The point about the "glaring omission" comments still stands, but I reworded it to refer to the web page author instead of the OP, even though it's still not clear to me they aren't the same. –  Olin Lathrop Feb 20 at 15:18
I read the guides I have found to mean that he did not write the guides, and I would expect that if he had written the guide he would not be asking why his guide didn't work. That being said, I agree with the "glaring omission" because complex curved outlines are uncommon in PCB design. However, it should be able to do something like that - I've seen many PCBs that have been shaped to fit whatever space they had. Inkscape is working as "the poor man's AutoCAD" here. –  W5VO Feb 20 at 15:35
I didn't write the guide, but I see you have edited your answer to reflect this realisation, and although the guide shows an example with sharp interior angles, I have designed my outlines to not for this very reason. I know what I am asking is possible, and if you don't know how to do this then it is best to say 'I don't know' or not post an answer, instead of blurting out everything you know, which, although may be helpful to some, was not what I was asking about... –  holmeswatson Feb 20 at 16:11
@holme: As I said, it is possible. You approximate arbitrary curves with lots of little line segments. These would be bunch of WIRE commands in the Dimension layer. If you use some tool other than Eagle to produce the curves, then it's up to you to eventually extract line segments from that tool, then convert them to the appropriate WIRE commands. Again, you really want to talk to your board house first though. Find out exactly how they prefer complex curves to be specified, if they are willing to do them at all (for a reasonable price). –  Olin Lathrop Feb 20 at 16:29
add comment

Why don't you just import it however you need to, and then use regular Eagle drawing tools or scripting to trace it into the dimension layer?

share|improve this answer
because the Eagle drawing tools aren't great and I may need to do this a few times. I'm currently using a ULP script, but not getting the desired results –  holmeswatson Feb 20 at 13:38
Sometimes doing things a bit out of the ordinary take a few times to get it right –  Scott Seidman Feb 20 at 14:47
add comment

pstoedit is a tool which processes a PostScript file into other formats. It was quite easy to extend it to create gEDA "pcb" outlines, and assuming Eagle has a reasonably documented file format, it should be easy for you as well.

To understand how the tool works, you need to understand PostScript as a programming language for graphical objects. (Look for Don Lancaster's writings about this.) pstoedit contains a PostScript interpreter, but lets you replace the very lowest level function, the one that actually draws the lines, with one of your own creation. (You can also hook into functions the next level up, that draw text or primitive objects, otherwise they are drawn as lines through your function.)

So if you make a simple Eagle file with one line in it, open the file and divide into "line", "header", and "footer" parts. Your pstoedit plugin will output the header at the beginning of the file, a large number of "line" parts, and the "footer" part at the end.

Then you just export from whatever drawing tool as PostScript or PDF, and use pstoedit to convert to Eagle format.

Disclaimer: I've never looked at Eagle file format documentation; if it is a binary-blob-mystery-meat format you would do well to choose a less limiting tool.

share|improve this answer
add comment

There's a tool called PCBmodE which was created to convert Inkscape into Gerber, which there are other tools to import into eagle.

I haven't used it myself so can't comment further.

share|improve this answer
Are you sure you can import Gerber to Eagle?? –  Scott Seidman Feb 21 at 2:07
There are other pages on the web recommending tools to do so, but I've not done so myself. –  Pete Kirkham Feb 21 at 9:59
add comment

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.