Re: gEDA-user: Inkscape text-pstoedit-pcb and importing PostScript/PDF/EPS vector graphics with holes
On 11/22/2010 11:47 PM, Colin D Bennett wrote: On Mon, 22 Nov 2010 23:21:17 +0100 Jan Martinekho...@dp.fce.vutbr.cz wrote: I really wanted to create a logo/description label in Inkscape and put it on a board I recently made, but after trying for an hour or two to get pstoedit to import text elements properly (holes in letters like 'B' or 'o' were getting filled in when exported to the 'pcb' file format), I gave up. I tried the '-ssp' option to pstoedit but it crashed every time an assertion failure. Have you had better luck with converting text or graphics to pcb format? I am not sure if this can help you, but I usualy do the other way. Export PCB board into ps, then open in inkscape. In inkscape you can do whatever you like - mirror the PCB, do some post-processing (try ungroup before), add text, logos, cutting guidelines, place several PCBs on one page etc. Ah, thinking outside the box. Sounds like a very manual process, though. I have tried using Inkscape to panelize PCBs before in this manner and I found it tedious, and in particular you lose the ability to have the assembly drawing, drill files, etc. to be synchronized with the layout... at least the way I was doing it. I mean that if you modify the board layout in pcb at all, you'll have to re-export and re-modify the postscript output. Also, how would you make gerbers using this process? I guess it would work best for quick-and-dirty one-off boards made at home rather than sent out for fab? Also, if you are editing the silkscreen layer in Inkscape, wouldn't it be hard to make sure you put the graphics/text/etc. in a place that doesn't conflict with elements on other layers? Unless you load each PCB layer into an Inkscape layer... that would help. Regards, Colin Yes, you are right, it is quick and dirty and lots of information is lost. I was thinking about home-made boards. regards, Jan ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: Inkscape text-pstoedit-pcb and importing PostScript/PDF/EPS vector graphics with holes
On Mon, Nov 22, 2010 at 4:06 PM, Colin D Bennett [1]co...@gibibit.com wrote: On Mon, 22 Nov 2010 13:50:03 -0600 Mark Rages [2]markra...@gmail.com wrote: On Mon, Nov 22, 2010 at 1:29 PM, Colin D Bennett [3]co...@gibibit.com wrote: How hard would it be to make use of the freetype library to handle all vector-based fonts? I imagine the font outlines could be converted to line elements fairly easily... ? pcb's fonts are special: they are a single line wide. When you need the smallest letters that a given silk process can print legibly, you want those single-line fonts. OK, that is understandable. I can see that it would be extremely difficult to get an automated conversion of general fonts to single-line-wide fonts. Perhaps still possible, for simple sans-serif fonts by varying the line width dynamically? Anyway, it sound difficult enough that it won't be done. For larger fonts, freetype would be great, and save us the machinations of creating the text in inkscape or something and importing it with pstoedit. I really wanted to create a logo/description label in Inkscape and put it on a board I recently made, but after trying for an hour or two to get pstoedit to import text elements properly (holes in letters like 'B' or 'o' were getting filled in when exported to the 'pcb' file format), I gave up. I tried the '-ssp' option to pstoedit but it crashed every time an assertion failure. Have you had better luck with converting text or graphics to pcb format? My results: - Converting text without -ssp option: pstoedit doesn't crash, but letters have their holes filled in - Converting text with -ssp option: pstoedit crashes I have successfully converted a simple open triangle drawn with a 30 mil stroke from Inkscape-pstoedit-pcb, but even the simplest text causes pstoedit to crash. Here's an example that crashes for me. The file Text.ps simply contains an uppercase letter 'A' in Liberation Sans font. I also checked the 'export text as paths' option for the file Text_notext.ps but pstoedit still crashed. I'm using pstoedit 3.50 on Ubuntu 10.04/amd64 and have also tested on pstoedit 3.45 under Ubuntu 9.10/i386, with the same result. c...@svelte:~$ pstoedit -f pcb Text.ps -ssp Text.pcb pstoedit: version 3.50 / DLL interface 108 (build Jan 25 2010 - release build - g++ 4.4.3) : Copyright (C) 1993 - 2009 Wolfgang Glunz pstoedit: drvbase.h:789: const Point drawingelementnr, curtype::getPoint(unsigned int) const [with unsigned int nr = 0u, Dtype curtype = (Dtype)2u]: Assertion `(i+1) (nr+1)' failed. Aborted c...@svelte:~$ pstoedit -f pcb Text_notext.ps -ssp Text_notext.pcb pstoedit: version 3.50 / DLL interface 108 (build Jan 25 2010 - release build - g++ 4.4.3) : Copyright (C) 1993 - 2009 Wolfgang Glunz pstoedit: drvbase.h:789: const Point drawingelementnr, curtype::getPoint(unsigned int) const [with unsigned int nr = 0u, Dtype curtype = (Dtype)2u]: Assertion `(i+1) (nr+1)' failed. Aborted I haven't had a chance to file a bug for pstoedit or dig any deeper, but I wondered if anyone has encountered this problem before, and if there is a workaround. Regards, Colin It's not much of a workaround for anything large-scale, but I once exploited the fact that pstoedit (with no special options) generates the holes in characters as plain polygons. So it's possible (though rather tedious) to manually edit the generated PCB file and turn the hole-polygons into holes in their correct polygons. I did this once for some logotype, then kept the resulting .pcb file around. I don't remember off the top of my head whether I used the pcb or pcbfill driver in pstoedit. -Andrew References 1. mailto:co...@gibibit.com 2. mailto:markra...@gmail.com 3. mailto:co...@gibibit.com ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: Inkscape text-pstoedit-pcb and importing PostScript/PDF/EPS vector graphics with holes
On Mon, Nov 22, 2010 at 3:06 PM, Colin D Bennett co...@gibibit.com wrote: On Mon, 22 Nov 2010 13:50:03 -0600 Mark Rages markra...@gmail.com wrote: On Mon, Nov 22, 2010 at 1:29 PM, Colin D Bennett co...@gibibit.com wrote: How hard would it be to make use of the freetype library to handle all vector-based fonts? I imagine the font outlines could be converted to line elements fairly easily... ? pcb's fonts are special: they are a single line wide. When you need the smallest letters that a given silk process can print legibly, you want those single-line fonts. OK, that is understandable. I can see that it would be extremely difficult to get an automated conversion of general fonts to single-line-wide fonts. Perhaps still possible, for simple sans-serif fonts by varying the line width dynamically? Anyway, it sound difficult enough that it won't be done. For larger fonts, freetype would be great, and save us the machinations of creating the text in inkscape or something and importing it with pstoedit. I really wanted to create a logo/description label in Inkscape and put it on a board I recently made, but after trying for an hour or two to get pstoedit to import text elements properly (holes in letters like 'B' or 'o' were getting filled in when exported to the 'pcb' file format), I gave up. I tried the '-ssp' option to pstoedit but it crashed every time an assertion failure. Have you had better luck with converting text or graphics to pcb format? My results: - Converting text without -ssp option: pstoedit doesn't crash, but letters have their holes filled in - Converting text with -ssp option: pstoedit crashes I have successfully converted a simple open triangle drawn with a 30 mil stroke from Inkscape-pstoedit-pcb, but even the simplest text causes pstoedit to crash. Here's an example that crashes for me. The file Text.ps simply contains an uppercase letter 'A' in Liberation Sans font. I also checked the 'export text as paths' option for the file Text_notext.ps but pstoedit still crashed. I'm using pstoedit 3.50 on Ubuntu 10.04/amd64 and have also tested on pstoedit 3.45 under Ubuntu 9.10/i386, with the same result. ...@svelte:~$ pstoedit -f pcb Text.ps -ssp Text.pcb pstoedit: version 3.50 / DLL interface 108 (build Jan 25 2010 - release build - g++ 4.4.3) : Copyright (C) 1993 - 2009 Wolfgang Glunz pstoedit: drvbase.h:789: const Point drawingelementnr, curtype::getPoint(unsigned int) const [with unsigned int nr = 0u, Dtype curtype = (Dtype)2u]: Assertion `(i+1) (nr+1)' failed. Aborted ...@svelte:~$ pstoedit -f pcb Text_notext.ps -ssp Text_notext.pcb pstoedit: version 3.50 / DLL interface 108 (build Jan 25 2010 - release build - g++ 4.4.3) : Copyright (C) 1993 - 2009 Wolfgang Glunz pstoedit: drvbase.h:789: const Point drawingelementnr, curtype::getPoint(unsigned int) const [with unsigned int nr = 0u, Dtype curtype = (Dtype)2u]: Assertion `(i+1) (nr+1)' failed. Aborted I haven't had a chance to file a bug for pstoedit or dig any deeper, but I wondered if anyone has encountered this problem before, and if there is a workaround. I've seen this bug before too. Try text to path in Inkscape. If that fails, binary search for the offending text: Delete half of it, try again, etc. Please do file the bug on pstoedit. Regards, Mark markra...@gmail -- Mark Rages, Engineer Midwest Telecine LLC markra...@midwesttelecine.com ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: Inkscape text-pstoedit-pcb and importing PostScript/PDF/EPS vector graphics with holes
On Mon, 2010-11-22 at 16:31 -0500, Andrew Armenia wrote: On Mon, Nov 22, 2010 at 4:06 PM, Colin D Bennett [1]co...@gibibit.com wrote: It's not much of a workaround for anything large-scale, but I once exploited the fact that pstoedit (with no special options) generates the holes in characters as plain polygons. So it's possible (though rather tedious) to manually edit the generated PCB file and turn the hole-polygons into holes in their correct polygons. See the post I just RESENT: to the mailing list. It might be of use to you both. -- Peter Clifton Electrical Engineering Division, Engineering Department, University of Cambridge, 9, JJ Thomson Avenue, Cambridge CB3 0FA Tel: +44 (0)7729 980173 - (No signal in the lab!) Tel: +44 (0)1223 748328 - (Shared lab phone, ask for me) ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: Inkscape text-pstoedit-pcb and importing PostScript/PDF/EPS vector graphics with holes
On Mon, 22 Nov 2010 15:25:49 -0600 Mark Rages markra...@gmail.com wrote: I've seen this bug before too. Try text to path in Inkscape. If that fails, binary search for the offending text: Delete half of it, try again, etc. Please do file the bug on pstoedit. Workaround validated. Thanks for the tip. Using Path | Object to Path in inkscape on my text (A), export to PS, and use pstoedit -f pcbfill Text_Path.ps -ssp Text_Path-ssp.pcb works. I also tried this for longer text strings in more complex fonts and it worked there as well. I found three conditions that had to all be satisfied for this to work: (1) You must use Path | Object to Path in Inkscape. The Save As PostScript output option to convert text to paths does not work. (2) The pstoedit -ssp option is required, or else the hole in the A is filled. (3) The pstoedit pcbfill driver (not pcb) is required or else the outline of the A is not filled in and the letter is drawn as an outline and is not easily readable. Regards, Colin ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: Inkscape text-pstoedit-pcb and importing PostScript/PDF/EPS vector graphics with holes
I really wanted to create a logo/description label in Inkscape and put it on a board I recently made, but after trying for an hour or two to get pstoedit to import text elements properly (holes in letters like 'B' or 'o' were getting filled in when exported to the 'pcb' file format), I gave up. I tried the '-ssp' option to pstoedit but it crashed every time an assertion failure. Have you had better luck with converting text or graphics to pcb format? I am not sure if this can help you, but I usualy do the other way. Export PCB board into ps, then open in inkscape. In inkscape you can do whatever you like - mirror the PCB, do some post-processing (try ungroup before), add text, logos, cutting guidelines, place several PCBs on one page etc. Jan Martinek ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: Inkscape text-pstoedit-pcb and importing PostScript/PDF/EPS vector graphics with holes
On Mon, 22 Nov 2010 23:21:17 +0100 Jan Martinek ho...@dp.fce.vutbr.cz wrote: I really wanted to create a logo/description label in Inkscape and put it on a board I recently made, but after trying for an hour or two to get pstoedit to import text elements properly (holes in letters like 'B' or 'o' were getting filled in when exported to the 'pcb' file format), I gave up. I tried the '-ssp' option to pstoedit but it crashed every time an assertion failure. Have you had better luck with converting text or graphics to pcb format? I am not sure if this can help you, but I usualy do the other way. Export PCB board into ps, then open in inkscape. In inkscape you can do whatever you like - mirror the PCB, do some post-processing (try ungroup before), add text, logos, cutting guidelines, place several PCBs on one page etc. Ah, thinking outside the box. Sounds like a very manual process, though. I have tried using Inkscape to panelize PCBs before in this manner and I found it tedious, and in particular you lose the ability to have the assembly drawing, drill files, etc. to be synchronized with the layout... at least the way I was doing it. I mean that if you modify the board layout in pcb at all, you'll have to re-export and re-modify the postscript output. Also, how would you make gerbers using this process? I guess it would work best for quick-and-dirty one-off boards made at home rather than sent out for fab? Also, if you are editing the silkscreen layer in Inkscape, wouldn't it be hard to make sure you put the graphics/text/etc. in a place that doesn't conflict with elements on other layers? Unless you load each PCB layer into an Inkscape layer... that would help. Regards, Colin ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user