from SVGdraw import * d=drawing() #create a drawing s=svg(None,'5cm','4cm') #create a svg drawingspace ds=description('Four separate rectangles') #define a description s.addElement(ds) #add the description to the svg r=rect('0.5cm','0.5cm','2cm','1cm') #define a rectangle s.addElement(r) #add the rectangle to the svg r=rect('0.5cm','2cm','1cm','1.5cm') s.addElement(r) r=rect('3cm','0.5cm','1.5cm','2cm') s.addElement(r) r=rect('3.5cm','3cm','1cm','0.5cm') s.addElement(r) r=rect('.01cm','.01cm','4.98cm','3.98cm','none','blue','.02cm') s.addElement(r) d.setSVG(s) #set the svg of the drawing to the svg d.toXml('5_1_1.svg') #and write it to file import webbrowser webbrowser.open('5_1_1.svg') #open the file in the webbrowser. d=drawing() s=svg(None,'5cm','5cm') ds=description('Two groups, each of two rectangles') s.addElement(ds) g=group('group1') g.attributes['fill']='red' r=rect('1cm','1cm','1cm','1cm') g.addElement(r) r=rect('3cm','1cm','1cm','1cm') g.addElement(r) s.addElement(g) g=group('group2') g.attributes['fill']='blue' r=rect('1cm','3cm','1cm','1cm') g.addElement(r) r=rect('3cm','3cm','1cm','1cm') g.addElement(r) s.addElement(g) r=rect('.01cm','.01cm','4.98cm','4.98cm','none','blue','.02cm') s.addElement(r) d.setSVG(s) d.toXml('5_2_1.svg') import webbrowser webbrowser.open('5_2_1.svg') d=drawing() s=svg(None,'8cm','3cm') ds=description('Local URI references within ancestor\'s \'defs\' element.') s.addElement(ds) df=defs() lg=lineargradient(None,None,None,None,'Gradient01') st=stop('20%','#39F') lg.addElement(st) st=stop('90%','#F3F') lg.addElement(st) df.addElement(lg) s.addElement(df) r=rect('1cm','1cm','6cm','1cm','url(#Gradient01)') s.addElement(r) r=rect('.01cm','.01cm','7.98cm','2.98cm','none','blue','.02cm') s.addElement(r) d.setSVG(s) d.toXml('5_3_3.svg') import webbrowser webbrowser.open('c:/5_3_3.svg') d=drawing() s=svg((0,0,100,30),'10cm','3cm') ds=description("Example Use01 - Simple case of 'use' on a 'rect'") s.addElement(ds) df=defs() r=rect(None,None,60,10) r.attributes['id']='MyRect' df.addElement(r) s.addElement(df) u=use('#MyRect',20,10) s.addElement(u) r=rect(0.1,0.1,99.8,29.8,'none','blue',.2) s.addElement(r) d.setSVG(s) d.toXml('5_6.svg') import webbrowser webbrowser.open('5_6.svg') d=drawing() s=svg((0,0,100,100),'10cm','10cm') ds=description("Timing") s.addElement(ds) df=defs() r=rect(None,None,3,3,'blue') r.attributes['id']='MyRect' df.addElement(r) s.addElement(df) for i in range(0,100,2): for j in range(0,100,2): u=use('#MyRect',i,j) st=set('opacity',0) u.addElement(st) st=set('opacity',0.5,'indefinite') st.attributes['begin']=float(i+j)/2.0 u.addElement(st) s.addElement(u) r=rect(0.1,0.1,99.8,99.8,'none','blue',.2) s.addElement(r) d.setSVG(s) d.toXml('testset.svgz') import webbrowser webbrowser.open('testset.svgz')