[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: gEDA-user: Export to SVG or visio
I have had trouble with sch2svg. When I tried it IIRC some lines
would get cut out. Instead, I use a convoluted path
sch->eps->eps->sk->svg . I've included the script that I use for this
conversion.
# vim: filetype=python
import os.path
Import('env')
builder = Builder(action = 'gschem -p -o %s -s postscript.scm %s' %
(os.path.join('..', '$TARGET'), '$SOURCE'),
suffix = '.eps',
src_suffix = '.sch')
env.Append(BUILDERS = {'Gschem': builder})
#Conversion from eps to svg is thanks to Alejo2083's work at
#http://en.wikipedia.org/wiki/Wikipedia:WikiProject_Electronics/Ps2svg.sh
builder = Builder(action = 'gawk \'/[[:digit:]]*\.[[:digit:]]*
[[:digit:]]*.[[:digit:]]* scale/ {print "0.300000 0.300000 scale";
next} {print}\' $SOURCE > $TARGET',
suffix = '.eps2',
src_suffix = '.eps')
env.Append(BUILDERS = {'Noscale': builder})
#EPS2EPS renders the text as line drawings. This makes the display more
#accurate, but makes it impossible to change the text in the resulting
#files
builder = Builder(action = 'eps2eps -dNOCACHE $SOURCE $TARGET',
suffix = '.eps3',
src_suffix = '.eps2')
env.Append(BUILDERS = {'Eps2eps': builder})
builder = Builder(action = 'pstoedit -mergetext -f sk -rotate 270
$SOURCE $TARGET',
suffix = '.sk',
src_suffix = '.eps2')
env.Append(BUILDERS = {'Pstoedit': builder})
builder = Builder(action = 'skconvert $SOURCE $TARGET',
suffix = '.svg',
src_suffix = '.sk')
env.Append(BUILDERS = {'Skconvert': builder})
builder = Builder(action = 'gnetlist -g spice-sdb -o $TARGET $SOURCE',
suffix = '.pre_spice',
src_suffix = '.sch')
env.Append(BUILDERS = {'Gnetlist' : builder})
builder = Builder(action = 'schematics/spice-preprocess.awk < $SOURCE
> $TARGET',
suffix = '.spice',
src_suffix = '.pre_spice')
env.Append(BUILDERS = {'Spice' : builder})
sources = ['wire.sch',
'1p_lp.sch',
'1p_hp.sch',
'1p_lp_nogain.sch',
'1p_hp_nogain.sch',
'sallen_key_lp.sch',
'sallen_key_lp_nogain.sch',
'sallen_key_lp_rge.sch',
'mfb_lp.sch',
'sallen_key_hp.sch',
'sallen_key_hp_nogain.sch',
'sallen_key_hp_rge.sch',
'mfb_hp.sch',
'tow-thomas_lp.sch',
'tow-thomas_bp.sch',
'geffe_lp_nogain.sch',
'geffe_hp_nogain.sch',
'2amp_tow-thomas_lp.sch',
'2amp_tow-thomas_bp.sch',
'4amp_tow-thomas_hp.sch',
'4amp_tow-thomas_bs.sch']
postscripts = [env.Gschem(s) for s in sources]
scaleless_postscripts = [env.Noscale(s) for s in postscripts]
#fixed_postscripts = [env.Eps2eps(p) for p in scaleless_postscripts]
sketches = [env.Pstoedit(f) for f in scaleless_postscripts]
svgs = [env.Skconvert(s) for s in sketches]
pre_spices = [env.Gnetlist(s) for s in sources]
spices = [env.Spice(s) for s in pre_spices]
svg_install = env.Install('../images', svgs)
spice_install = env.Install('../spice/circuits', spices)
-Alan
On Mon, Jun 28, 2010 at 10:06 AM, timecop <timecop@xxxxxxxxx> wrote:
> i *thought* thats where i saw that.
>
> On Tue, Jun 29, 2010 at 1:04 AM, Bob Paddock <graceindustries@xxxxxxxxx> wrote:
>>> I've found some evidence that SVG export might be possible, but not much
>>> explanation how. Does anyone have some idea how it might be possible?
>>
>> This script convert a .sch file from the program gEDA and convert it
>> in to a SVG (Scalable Vector Graphics) file by Marc Emery. You can
>> get an archived version of it from my site:
>>
>> http://www.designer-iii.com/gEDA/
>>
>> I do not know if that is the newest, or the only, version of that script.
>>
>>
>> _______________________________________________
>> geda-user mailing list
>> geda-user@xxxxxxxxxxxxxx
>> http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
>>
>
>
> _______________________________________________
> geda-user mailing list
> geda-user@xxxxxxxxxxxxxx
> http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
>
_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user