code-cad-things/sign.py

34 lines
1 KiB
Python

from build123d import *
from ocp_vscode import show
length, width, thickness, fontsz, fontht = 80.0, 60.0, 10.0, 25.0, 4.0
ex34 = Box(length, width, thickness)
plane = Plane(ex34.faces().sort_by().last)
ex34_sk = plane * Text("Hello", font_size=fontsz, align=(Align.CENTER, Align.MIN))
ex34 += extrude(ex34_sk, amount=fontht)
ex34_sk2 = plane * Text("World", font_size=fontsz, align=(Align.CENTER, Align.MAX))
ex34 -= extrude(ex34_sk2, amount=-fontht)
LENGTH=100
HEIGHT=30
THICKNESS=1.3
TEXT_THICKNESS=0.8
FONT_SIZE=20
FONT="assets/dovahkiin-font/DovahkiinBold-ME3Y.ttf"
# FONT="Arial"
TEXT="Brady"
EXTRUDE_TEXT=False
sign = Box(LENGTH,HEIGHT,THICKNESS)
front_plane = Plane(sign.faces().sort_by().last)
sign_text = front_plane * Text(TEXT, font_size=FONT_SIZE, font_path=FONT, align=(Align.CENTER, Align.CENTER))
if EXTRUDE_TEXT:
sign += extrude(sign_text, amount=TEXT_THICKNESS)
else:
sign -= extrude(sign_text, amount=-TEXT_THICKNESS)
if __name__ == "__main__":
show(sign)
export_stl(sign, "./sign.stl")