csirmaz.openscad-py/openscad_py/delta_offset.py

25 lines
707 B
Python
Raw Permalink Normal View History

2024-11-30 22:11:59 +00:00
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 DeltaOffset(Object):
"""A new 2d interior or exterior outline from an existing outline
See https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Transformations#offset
"""
def __init__(self, delta, child: Object, chamfer: bool = False):
self.delta = delta
self.child = child
self.chamfer = chamfer
def render(self) -> str:
2024-11-30 22:45:02 +00:00
"""Render the object into OpenSCAD code"""
2024-11-30 22:11:59 +00:00
return f"offset(delta={delta}, chamfer={'true' if self.chamfer else 'false'}){{\n{self.child.render()}\n}}"