This repository has been archived on 2023-03-25. You can view files and clone it, but cannot push or open issues or pull requests.
mightyscape-1.1-deprecated/extensions/fablabchemnitz_drawdirections.py

32 lines
1.2 KiB
Python
Raw Normal View History

2020-08-20 02:41:10 +02:00
#!/usr/bin/env python3
import inkex
from inkex.paths import Path
from inkex import Circle
# Draws red points at the path's beginning and blue point at the path's end
class StartEndPoints(inkex.Effect):
def __init__(self):
inkex.Effect.__init__(self)
self.arg_parser.add_argument("--dotsize", type=int, default=10, help="Dot size (px) for self-intersecting points")
def effect(self):
dot_group = node.getparent().add(inkex.Group())
for node in self.svg.selection.values():
points = list(node.path.end_points)
start = points[0]
end = points[len(points) - 1]
style = inkex.Style({'stroke': 'none', 'fill': '#FF0000'})
startCircle = dot_group.add(Circle(cx=str(start[0]), cy=str(start[1]), r=str(self.svg.unittouu(str(self.options.dotsize/2) + "px"))))
startCircle.style = style
style = inkex.Style({'stroke': 'none', 'fill': '#0000FF'})
endCircle = dot_group.add(Circle(cx=str(end[0]), cy=str(end[1]), r=str(self.svg.unittouu(str(self.options.dotsize/2) + "px"))))
endCircle.style = style
StartEndPoints().run()