initial version of rule creation software
[yourule] / rulers_cm.py
1 #!/usr/bin/env python
2
3 # define the length of things
4 scale = 7.8740
5 ruler_height = 200 # in px
6 ruler_length = 15 # in cm
7
8 import SVGdraw
9
10 drawing = SVGdraw.drawing()
11 svg = SVGdraw.svg()
12
13 # create the body of the ruler
14 body = SVGdraw.rect(0, 0, (10 * scale * ruler_length), ruler_height, "white", "black", 2) 
15 svg.addElement(body)
16
17 # add a units label
18 units = SVGdraw.text((scale * 5), (ruler_height - scale * 2), "centimeters", 24)
19 svg.addElement(units)
20
21 point = 0.0
22 def drawline(size):
23     global point
24     point = point + (2 * scale)
25     line = SVGdraw.line(point, 0, point, (ruler_height * size), "black", 2)
26     svg.addElement(line)
27
28 # for every centimeter
29 for i in range(ruler_length):
30
31     # place 2mm marks
32     for i2 in range(4):
33         drawline(0.3)
34     
35     drawline(0.6)
36     svg.addElement(SVGdraw.text((point - 36), (ruler_height * 0.6 - 5),
37                                 str(i + 1), 24))
38
39 drawing.setSVG(svg)
40 drawing.toXml('ruler_cm.svg')
41
42

Benjamin Mako Hill || Want to submit a patch?