.
This commit is contained in:
40
extensions/fablabchemnitz/cutcraft/cutcraftcylinder.py
Normal file
40
extensions/fablabchemnitz/cutcraft/cutcraftcylinder.py
Normal file
@@ -0,0 +1,40 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import inkex
|
||||
from cutcraftshape import CutCraftShape
|
||||
import cutcraft.platforms as cp
|
||||
from cutcraft.shapes import Cylinder
|
||||
|
||||
class CutCraftCylinder(CutCraftShape):
|
||||
def __init__(self):
|
||||
CutCraftShape.__init__(self)
|
||||
self.arg_parser.add_argument("--vertices", type=int, default=3, help="Number of vertices")
|
||||
self.arg_parser.add_argument("--levels", type=int, default=3, help="Number of levels")
|
||||
self.arg_parser.add_argument("--supports", type=int, default=3, help="Number of supports")
|
||||
self.arg_parser.add_argument("--supwidth", type=float, default=6.0, help="Support Width")
|
||||
self.arg_parser.add_argument("--height", type=float, default=60.0, help="Cylinder height")
|
||||
self.arg_parser.add_argument("--outer", type=float, default=60.0, help="Diameter of cylinder")
|
||||
self.arg_parser.add_argument("--inner", type=float, default=30.0, help="Diameter of central hole - 0.0 for no hole")
|
||||
|
||||
def effect(self):
|
||||
CutCraftShape.effect(self)
|
||||
|
||||
vertices = self.options.vertices
|
||||
levels = self.options.levels
|
||||
supports = self.options.supports
|
||||
supwidth = self.svg.unittouu( str(self.options.supwidth) + self.unit )
|
||||
height = self.svg.unittouu( str(self.options.height) + self.unit )
|
||||
outer = self.svg.unittouu( str(self.options.outer) + self.unit )
|
||||
inner = self.svg.unittouu( str(self.options.inner) + self.unit )
|
||||
|
||||
if outer<=inner:
|
||||
self._error("ERROR: Outer diameter must be greater than inner diameter.")
|
||||
exit()
|
||||
|
||||
shape = Cylinder(height, outer/2.0, inner/2.0, vertices, supports, supwidth/2.0, supwidth, levels,
|
||||
self.thickness, self.kerf)
|
||||
|
||||
self.pack(shape)
|
||||
|
||||
if __name__ == '__main__':
|
||||
CutCraftCylinder().run()
|
||||
Reference in New Issue
Block a user