Files
Michael Wesemann 4fad533711 [mike@mwxm4]
2026-08-04 15:56:10 +02:00

80 lines
2.5 KiB
Makefile

# =================================================================
# Futterturm -- STL- und Bildexport
#
# make alle Druckteile nach build/
# make halbe zusaetzlich die beiden Deckelhaelften
# make img Vorschaubilder nach img/
# make build/rohr.stl einzelnes Teil
# make clean build/ loeschen
# =================================================================
OPENSCAD ?= openscad
SRC := futterturm.scad
# Binaeres STL: rund ein Sechstel der Dateigroesse von ASCII-STL
STLOPT := --export-format binstl
BUILD := build
IMG := img
# Teile, die man in der Vorgabekonfiguration druckt
PARTS := deckel rohr stopfen spange2 stift
STLS := $(PARTS:%=$(BUILD)/%.stl)
RENDER = $(OPENSCAD) --render --colorscheme=Tomorrow --autocenter
VIEWALL = --viewall
.PHONY: all halbe img clean
.DELETE_ON_ERROR:
all: $(STLS)
# Die Zielverzeichnisse entstehen im Rezept ($(@D)), nicht als eigenes
# Target -- sonst kollidiert das Verzeichnis img mit dem Phony-Ziel img.
$(BUILD)/%.stl: $(SRC)
@mkdir -p $(@D)
$(OPENSCAD) $(STLOPT) -D 'part="$*"' -o $@ $<
# Deckel in zwei Haelften -- fuer Druckbetten unter 344 mm
halbe: $(BUILD)/deckel_a.stl $(BUILD)/deckel_b.stl
$(BUILD)/deckel_a.stl: $(SRC)
@mkdir -p $(@D)
$(OPENSCAD) $(STLOPT) -D geteilt=true -D 'part="deckel_a"' -o $@ $<
$(BUILD)/deckel_b.stl: $(SRC)
@mkdir -p $(@D)
$(OPENSCAD) $(STLOPT) -D geteilt=true -D 'part="deckel_b"' -o $@ $<
# -----------------------------------------------------------------
# Vorschaubilder fuers README
# -----------------------------------------------------------------
img: $(IMG)/alle.png $(IMG)/deckel.png $(IMG)/rohr.png \
$(IMG)/rohr-schnitt.png $(IMG)/spange2.png $(IMG)/stopfen.png
$(IMG)/alle.png: $(SRC)
@mkdir -p $(@D)
$(RENDER) $(VIEWALL) --imgsize=1200,850 --camera=0,0,0,55,0,25,0 -D 'part="alle"' -o $@ $<
$(IMG)/deckel.png: $(SRC)
@mkdir -p $(@D)
$(RENDER) --imgsize=1400,420 --camera=0,0,0,55,0,12,380 -D 'part="deckel"' -o $@ $<
$(IMG)/rohr.png: $(SRC)
@mkdir -p $(@D)
$(RENDER) $(VIEWALL) --imgsize=520,900 --camera=0,0,0,78,0,22,0 -D 'part="rohr"' -o $@ $<
$(IMG)/spange2.png: $(SRC)
@mkdir -p $(@D)
$(RENDER) $(VIEWALL) --imgsize=900,620 --camera=0,0,0,110,0,25,0 -D 'part="spange2"' -o $@ $<
$(IMG)/stopfen.png: $(SRC)
@mkdir -p $(@D)
$(RENDER) $(VIEWALL) --imgsize=800,600 --camera=0,0,0,62,0,25,0 -D 'part="stopfen"' -o $@ $<
$(IMG)/rohr-schnitt.png: doc/rohr-schnitt.scad $(SRC)
@mkdir -p $(@D)
$(RENDER) $(VIEWALL) --imgsize=800,760 --camera=0,0,0,72,0,28,0 -o $@ $<
clean:
rm -rf $(BUILD)