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,25 @@
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 LinearExtrude(Object):
"""Represents a linear extrusion applied to an object.
If center is false the linear extrusion Z range is from 0 to height; if it is true, the range is from -height/2 to height/2.
"""
def __init__(self, height, child: Object, convexity: int = 10, center: bool = False):
self.height = height
self.child = child
self.convexity = convexity
self.center = center
# twist, slices, scale (float/vector), $fn
def render(self) -> str:
return f"linear_extrude(height={self.height}, center={self._center()}, convexity={self.convexity}){{\n{self.child.render()}\n}}"