Resin-Bases magnetisieren

Ich habe mir vorgenommen, meine Fallout Miniaturen zu magnetisieren. Bei Miniaturen mit Plastik-Bases ist das gar kein Problem, da ja genug Luft drunter ist, aber was machen wir mit den Resin-Bases und insbesondere bei meinen bestehenden Miniaturen? Schauen wir uns das mal genauer an:

Löcher bohren for Dummies
Hier musste ich eine kleine Lernkurve nehmen: Handbohrer ist Handgelenk-Killer Nummer 1, zu große Bohrer können das ganze Ding halbieren. Ich habe mich dann für einen 3-mm-Bohrer in 2 mm Tiefe entschieden. Zwei Löcher pro Base sollten passen. Mein Akku-Schrauber auf niedriger Stufe (und ohne Schlag!) macht den Rest. Man merkt aber: Freehand ein 2 mm tiefes Loch zu bohren, wenn die Base an sich 3 mm ist, kann zur Herausforderung werden – insbesondere wenn man keinen Tiefenanschlag hat. Also erst mal das Loch mit einem Teddy-Bit kaschiert und weitergemacht – diesmal mit einem Anschlag.

Planänderung
Tiefenanschlag für den Akkuschrauber besorgt und mich auf eine Lochtiefe von 1,5 mm geeinigt. Dabei kam ich auf die nächste Herausforderung: Kleine Knopfmagnete sind nicht wirklich stark. Man braucht also bei den 3×2 mm Magneten jeweils zwei Stück. Jetzt gehe ich noch einen halben Millimeter runter.

Kleine Magnetkunde
Ich habe festgestellt, manche Dinge kann man nicht einfach blind kaufen. Dazu gehören auch kleine Magnete. Klar, bei Temu, Amazon, eBay etc. sind sie recht günstig in großen Stückzahlen zu haben, aber sind auch nur zum Wegwerfen, wenn sie nicht die entsprechende Magnetkraft haben. Mich hat auch immer gewundert, warum auf den Marktplätzen zwar immer von richtig starken Magneten gesprochen werden, aber man keine Maßeinheit dazu erhält. Was bedeutet stark, sehr stark, mega stark, ultra stark….
Beim Fachhändler bin ich dann auf so komische Kürzel gestoßen. N52, N54 & Co.: Was die Zahlen bei Neodym-Magneten wirklich bedeuten:
Die Zahl (z. B. 52) steht für das maximale Energieprodukt. Es ist ein Maß dafür, wie viel magnetische Energie pro Kubikzentimeter im Material gespeichert ist. Ein N52-Magnet ist also bei exakt gleicher Baugröße deutlich kräftiger als ein Standard-Magnet der Güte N35. Das „N“: Steht schlicht für Neodym. Es gibt zudem an, dass der Magnet für Temperaturen bis 80 °C ausgelegt ist (Standard-Klasse).
Sind N52 die stärksten Magnete für kleine Formate (Ø3×1,5 mm)?
Kurz gesagt: Ja. In der Welt der handelsüblichen Magnete ist N52 das obere Ende der Fahnenstange. Zwar existieren theoretisch Gütegrade wie N54 oder N55, diese sind jedoch sehr teuer, extrem spröde und selten zu bekommen.
Glaubt mir: Ihr werden einen Unterschied zwischen Amazon-Magnete und den N52ern merken – und das schon bei dieser kleinen Größe.

3D Druck: Löcher graben, aber richtig
Wer kennt das … man holt sich schöne Tabletop-Bases (z. B. die von Modiphius) und da sind keine Löcher drin. Jetzt könnte ich natürlich im Slicer fummeln und ggf. Vertiefungen reinschneiden, aber das ist auch nichts für 30 STLs und das dann händisch. Da kam mir die Idee, mit Blender und einem Python-Script die Löcher automatisch zu erstellen. Et voilà – funktioniert mit jeder runden Base.
Blender ist eine kostenlose Open-Source-Software, mit der man dreidimensionale Inhalte wie 3D-Modelle, Animationen, visuelle Effekte und sogar ganze Videospiele erstellen kann. Das Programm deckt den gesamten Prozess der 3D-Pipeline ab, von der digitalen Bildhauerei (Sculpting) über die Texturierung bis hin zum finalen Rendering von Bildern oder Filmen. Aufgrund seiner enormen Vielseitigkeit und der aktiven Community wird es sowohl von Hobbykünstlern als auch in professionellen Studios für Design und Animation weltweit eingesetzt.
📂 Blender kannst du hier runter laden.
Keine Panik! Du musst jetzt keinen Blender-Kurs buchen, um es anwenden zu können. Wir brauchen Blender noch nicht mal im Frontend zu öffnen, sondern wir werden mit Blender ein Python-Script ausführen, das folgende Schritte durchführt:
- Öffne den Ordner
input_dirund lade jede STL in diesem Ordner - Für jede STL:
- Ermittle die Mitte der Base
- Erstelle eine Vertiefung mit Durchmesser
hole_diameterin mm und einer Tiefe vonhole_depthmm - Speichere die STL in
output_dir
Kopiere dir den unten stehenden Code und speichere diese in eine .py-Datei (z.B. BaseLoch.py). Passe die variablen nach deinen Begebenheiten an:
- input_dir -> der Ordner mit den STL-Dateien, die du bearbeiten möchtest
- output_dir -> der Ordner zum Ablegen der fertigen STLs
- hole_diameter -> Durchmesser in mm. Lasse noch einen kleinen Puffer.
- hole_depth -> die Tiefe des Lochs in mm. Hier ebenfalls ein Puffer lassen.
import bpy
import os
import sys
# --- PATH ---
input_dir = "/home/user/STLs/"
output_dir = "/home/user/STLs/holes/"
# --- Hole Parameters ---
hole_diameter = 8.3
hole_depth = 2.2
if not os.path.exists(output_dir):
os.makedirs(output_dir)
def process_base(file_path, filename):
# Szene leeren
bpy.ops.wm.read_factory_settings(use_empty=True)
# STL importieren
bpy.ops.wm.stl_import(filepath=file_path)
# Mesh-Objekt greifen
objs = [o for o in bpy.data.objects if o.type == 'MESH']
if not objs: return
base = objs[0]
bpy.context.view_layer.objects.active = base
# Wir setzen den Ursprung in die Mitte und schieben das Objekt auf 0,0,0
bpy.ops.object.origin_set(type='ORIGIN_GEOMETRY', center='BOUNDS')
base.location = (0, 0, 0)
# Transformationen einfrieren
bpy.ops.object.transform_apply(location=True, rotation=True, scale=True)
# Tiefsten Punkt ermitteln (nachdem es auf 0,0,0 liegt)
z_min = min((base.matrix_world @ v.co).z for v in base.data.vertices)
cyl_height = 10.0
# Da die Base jetzt zentriert ist, ist mid_x und mid_y = 0
# Die Oberkante des Bohrers soll z_min + 2.2mm sein
z_pos = z_min + hole_depth - (cyl_height / 2)
bpy.ops.mesh.primitive_cylinder_add(
vertices=64,
radius=hole_diameter / 2,
depth=cyl_height,
location=(0, 0, z_pos)
)
cutter = bpy.context.active_object
# --- SCHRITT 3: BOOLEAN ---
mod = base.modifiers.new(name="Magnet", type='BOOLEAN')
mod.operation = 'DIFFERENCE'
mod.object = cutter
mod.solver = 'FLOAT' # Wichtig für Blender 5.0
# Anwenden
bpy.context.view_layer.objects.active = base
bpy.ops.object.modifier_apply(modifier=mod.name)
bpy.data.objects.remove(cutter)
export_path = os.path.join(output_dir, filename)
bpy.ops.wm.stl_export(filepath=export_path)
print(f"Fertig: {filename} (Boden bei Z: {z_min:.2f})")
files = [f for f in os.listdir(input_dir) if f.lower().endswith(".stl")]
print(f"Starte Batch für {len(files)} Dateien...")
for f in files:
try:
process_base(os.path.join(input_dir, f), f)
except Exception as e:
print(f"Fehler bei {f}: {e}")
print("\nAlle Dateien im 'op' Ordner gespeichert.")Jetzt gehen wir in unserer Kommandozeile zum Ort des Scripts und starten Blender im Hintergrund und übergeben unseren Code zum ausführen. Ich nutze Linux und kann daher direkt folgenden Befehl eingeben:
blender --background --python BaseLoch.pyUnter Windows muss man ggf. den kompletten Pfad zu Blender angeben.
"C:\Program Files\Blender Foundation\Blender 5.1\blender.exe" --background --python BaseLoch.pyBestenfalls sollten jetzt im output_dir die neu erstellten STLs mit Loch vorliegen. Jetzt nur noch slicen, drucken und Spaß haben.
Hier mal das Ergebnis bei einer 50mm Base mit einem 8x2mm Magneten:




