2024-11-30 22:11:59 +00:00
|
|
|
|
|
|
|
from typing import Union as TUnion
|
|
|
|
from typing import List
|
|
|
|
|
|
|
|
|
|
|
|
class Header:
|
|
|
|
"""Render a header (setting global values) of an OpensCAD file"""
|
|
|
|
|
|
|
|
|
|
|
|
def __init__(self, quality: str = 'draft'):
|
2024-11-30 22:45:02 +00:00
|
|
|
# See https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Other_Language_Features#Circle_resolution:_$fa,_$fs,_and_$fn
|
2024-11-30 22:11:59 +00:00
|
|
|
self.quality = quality
|
|
|
|
|
|
|
|
|
|
|
|
def render(self):
|
2024-11-30 22:45:02 +00:00
|
|
|
"""Return OpenSCAD code"""
|
2024-11-30 22:11:59 +00:00
|
|
|
if self.quality == 'draft':
|
|
|
|
return ""
|
|
|
|
if self.quality == 'mid':
|
|
|
|
return "$fa=12;$fs=0.2;"
|
|
|
|
if self.quality == 'best':
|
|
|
|
return "$fa=6;$fs=0.1;"
|
|
|
|
raise ValueError("Unknown quality")
|
|
|
|
|