[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