From 7f8d98ca0a95e53158d6aa43d56d9de881b4b8c2 Mon Sep 17 00:00:00 2001 From: deboxed Date: Tue, 3 Feb 2026 14:33:38 +0100 Subject: [PATCH] tweaks, add makefile --- .gitignore | 5 +++++ Makefile | 23 +++++++++++++++++++++++ main.json | 19 +++++++++++++++++++ main.scad | 21 +++++++++++---------- 4 files changed, 58 insertions(+), 10 deletions(-) create mode 100644 .gitignore create mode 100644 Makefile create mode 100644 main.json diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..193a3a1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ + +*.png~ +*.deps +*.stl +*.generated.scad diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..1317654 --- /dev/null +++ b/Makefile @@ -0,0 +1,23 @@ +# TARGETS=$(shell sed '/^module [a-z0-9_-]*().*make..\?me.*$$/!d;s/module //;s/().*/.stl/' main.scad) + + + +GENERATED_FILES = $(wildcard *.deps) \ + $(wildcard *.stl) \ + $(wildcard *.png) \ + $(wildcard *.generated.scad) + +.phony: all clean + +# all: ${TARGETS} + +include $(wildcard *.deps) + +%.stl: main.scad main.json Makefile + flatpak run org.openscad.OpenSCAD --enable textmetrics -p main.json -P $(basename $@) -DFN=64 -D "MODELVER=\"$(shell git rev-parse --short=6 HEAD)\"" -m make -o $@ -d $@.deps $< + +%.png: + flatpak run org.openscad.OpenSCAD --enable textmetrics -p main.json -P $(basename $@) -DFN=32 --render --imgsize 1600,1200 -o $@ main.scad + +clean: + rm -rf ${GENERATED_FILES} diff --git a/main.json b/main.json new file mode 100644 index 0000000..23b6641 --- /dev/null +++ b/main.json @@ -0,0 +1,19 @@ +{ + "fileFormatVersion": "1", + "parameterSets": { + "t4t": { + "base_rounding_stamp": "4", + "base_rounding_stencil": "2", + "base_thickness_stamp": "1", + "base_thickness_stencil": "0.40000000000000002", + "border": "3", + "font_index": "0", + "font_manual": "LT Effervescent:style=Regular", + "font_set": "4", + "line": "t4t", + "stamp_depth": "1.5", + "textsize": "36", + "variant": "stamp" + } + } +} diff --git a/main.scad b/main.scad index 58e182d..c6edcb5 100644 --- a/main.scad +++ b/main.scad @@ -1,7 +1,7 @@ /* [Main design variables] */ variant = "stamp"; // ["stamp", "stencil"] // Set the text size to match the width. -textsize = 36; // [10:36] +textsize = 24; // [10:36] font_set = 4; // [0:"linux", 1:"windows", 2:"custom", 3:"stencil", 4:"manual"] font_manual = "Ubuntu:style=Bold"; font_index = 0; @@ -39,7 +39,6 @@ fonts_custom = [ ]; fonts_stencil = ["Depot:style=Regular", - "Depot Filled:style=Regular", "Allerta Stencil:style=Regular", "Stardos Stencil:style=Regular", "Stardos Stencil:style=Bold", @@ -65,6 +64,10 @@ width = tm.size[0]; height = tm.size[1]; base_position = tm.position; +echo(); +echo(str("model size is x:", width, " y:", height)); +echo(""); + // All variables are set, make main main(); @@ -122,15 +125,13 @@ module stencil() { difference() { - stamp_base(width, height, base_thickness_stencil, base_rounding_stamp); + translate(base_position) + translate([-border,-border,0]) + stamp_base(width+2*border, height+2*border, base_thickness_stencil, base_rounding_stamp); + + linear_extrude(height = base_thickness_stencil+0.01) + text(line, font = font, size=textsize); - for (i = [0 : 1 : len(lines)]) - { - line = lines[(len(lines)-1)-i]; - translate(v = [width/2, linespacing/2 +border + i*linespacing, 0]) - linear_extrude(height = base_thickness_stencil+0.01) - text(line, font = font, halign="center", valign="center", size=textsize); - } } }