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

25 lines
702 B
Python

from typing import Union as TUnion
from typing import List
import math
import numpy as np
from openscad_py.point import Point
from openscad_py.object_ import Object
class Cube(Object):
"""A 3D primitive, cube.
Creates a cube in the first octant. When center is true, the cube is centered on the origin.
See https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/The_OpenSCAD_Language#cube
"""
def __init__(self, size: TUnion[list, Point], center: bool = False):
self.size = Point.c(size)
self.center = center
def render(self):
"""Render the object into OpenSCAD code"""
return f"cube(size={self.size.render()}, center={self._center()});"