csirmaz.openscad-py/openscad_py/scale.py
2024-11-30 22:45:02 +00:00

22 lines
540 B
Python

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 Scale(Object):
def __init__(self, v: TUnion[list, Point, float, int], child: Object):
if isinstance(v, float) or isinstance(v, int):
v = [v, v, v]
self.v = Point.c(v)
self.child = child
def render(self) -> str:
"""Render the object into OpenSCAD code"""
return f"scale(v={self.v.render()}){{\n{self.child.render()}\n}}"