Split code into separate class files

This commit is contained in:
Elod Csirmaz 2024-11-30 22:11:59 +00:00
parent ffbee53da3
commit 9d24a2c85f
24 changed files with 1062 additions and 830 deletions

View file

@ -0,0 +1,26 @@
from typing import Union as TUnion
from typing import List
import math
from openscad_py.point import Point
from openscad_py.object_ import Object
class RotateExtrude(Object):
"""Represents a rotational extrusion of a (2D) object.
For all points, x>=0 must hold.
See https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/2D_to_3D_Extrusion
"""
def __init__(self, angle, child: Object, convexity: int = 10):
self.angle = angle
self.child = child
self.convexity = convexity
# $fa, $fs, $fn
def render(self) -> str:
return f"rotate_extrude(angle={self.angle}, convexity={self.convexity}) {{\n{self.child.render()}\n}}"