From 21f9e60af1318a22d2c687b974b88e6921b64fdf Mon Sep 17 00:00:00 2001
From: ValueOn AG
Date: Fri, 26 Sep 2025 23:37:07 +0200
Subject: [PATCH] test cad
---
mandates/pek/bostich.mtl | 30 -
mandates/pek/bostich.obj | 244 ------
mandates/pek/bostich_hole_punch.3ds | Bin 0 -> 1800 bytes
mandates/pek/create_bostich_3ds.py | 266 ++++++
mandates/pek/create_bostich_3ds_fixed.py | 279 +++++++
mandates/pek/{haus.dxf => haus_final.dxf} | 760 +-----------------
poweron/appdoc/README_LangDoc.md | 183 +++++
.../appdoc/doc_architecture_gateway.drawio | 2 +-
8 files changed, 733 insertions(+), 1031 deletions(-)
delete mode 100644 mandates/pek/bostich.mtl
delete mode 100644 mandates/pek/bostich.obj
create mode 100644 mandates/pek/bostich_hole_punch.3ds
create mode 100644 mandates/pek/create_bostich_3ds.py
create mode 100644 mandates/pek/create_bostich_3ds_fixed.py
rename mandates/pek/{haus.dxf => haus_final.dxf} (51%)
create mode 100644 poweron/appdoc/README_LangDoc.md
diff --git a/mandates/pek/bostich.mtl b/mandates/pek/bostich.mtl
deleted file mode 100644
index 98be941..0000000
--- a/mandates/pek/bostich.mtl
+++ /dev/null
@@ -1,30 +0,0 @@
-# Material-Definitionen für Bostich Locher
-# Bostich.mtl
-
-newmtl dark_blue
-Ka 0.1 0.1 0.3
-Kd 0.2 0.2 0.6
-Ks 0.8 0.8 0.9
-Ns 100.0
-illum 2
-
-newmtl light_gray
-Ka 0.3 0.3 0.3
-Kd 0.7 0.7 0.7
-Ks 0.2 0.2 0.2
-Ns 50.0
-illum 2
-
-newmtl white
-Ka 0.8 0.8 0.8
-Kd 0.9 0.9 0.9
-Ks 0.1 0.1 0.1
-Ns 30.0
-illum 2
-
-newmtl metal
-Ka 0.2 0.2 0.2
-Kd 0.6 0.6 0.6
-Ks 0.9 0.9 0.9
-Ns 200.0
-illum 2
diff --git a/mandates/pek/bostich.obj b/mandates/pek/bostich.obj
deleted file mode 100644
index 5a8d0f9..0000000
--- a/mandates/pek/bostich.obj
+++ /dev/null
@@ -1,244 +0,0 @@
-# Bostich 2-Loch Locher 3D Modell
-# Abmessungen: 20cm x 10cm x 10cm
-# Erstellt basierend auf Fotos
-
-mtllib bostich.mtl
-
-# Hauptkörper - Basis (dunkelblau)
-# Vorne
-v -10.0 -5.0 5.0
-v 10.0 -5.0 5.0
-v 10.0 5.0 5.0
-v -10.0 5.0 5.0
-
-# Hinten
-v -10.0 -5.0 -5.0
-v 10.0 -5.0 -5.0
-v 10.0 5.0 -5.0
-v -10.0 5.0 -5.0
-
-# Obere Struktur (hellgrau/weiß)
-# Vorne
-v -8.0 -4.0 5.0
-v 8.0 -4.0 5.0
-v 8.0 4.0 5.0
-v -8.0 4.0 5.0
-
-# Hinten
-v -8.0 -4.0 -3.0
-v 8.0 -4.0 -3.0
-v 8.0 4.0 -3.0
-v -8.0 4.0 -3.0
-
-# Hebel (dunkelblau)
-# Vorne
-v -6.0 -3.0 5.0
-v 6.0 -3.0 5.0
-v 6.0 3.0 5.0
-v -6.0 3.0 5.0
-
-# Hinten
-v -6.0 -3.0 3.0
-v 6.0 -3.0 3.0
-v 6.0 3.0 3.0
-v -6.0 3.0 3.0
-
-# Papierführung (weiß)
-# Basis
-v -2.0 -5.0 5.0
-v 2.0 -5.0 5.0
-v 2.0 -5.0 8.0
-v -2.0 -5.0 8.0
-
-# Verlängerung
-v -1.5 -5.0 8.0
-v 1.5 -5.0 8.0
-v 1.5 -5.0 12.0
-v -1.5 -5.0 12.0
-
-# Lochstanzen (Metall)
-# Stanze 1 (links)
-v -3.0 -0.5 5.0
-v -2.0 -0.5 5.0
-v -2.0 0.5 5.0
-v -3.0 0.5 5.0
-
-v -3.0 -0.5 -5.0
-v -2.0 -0.5 -5.0
-v -2.0 0.5 -5.0
-v -3.0 0.5 -5.0
-
-# Stanze 2 (rechts)
-v 2.0 -0.5 5.0
-v 3.0 -0.5 5.0
-v 3.0 0.5 5.0
-v 2.0 0.5 5.0
-
-v 2.0 -0.5 -5.0
-v 3.0 -0.5 -5.0
-v 3.0 0.5 -5.0
-v 2.0 0.5 -5.0
-
-# Federn (Metall)
-# Feder 1
-v -2.5 -0.3 3.0
-v -2.0 -0.3 3.0
-v -2.0 0.3 3.0
-v -2.5 0.3 3.0
-
-v -2.5 -0.3 1.0
-v -2.0 -0.3 1.0
-v -2.0 0.3 1.0
-v -2.5 0.3 1.0
-
-# Feder 2
-v 2.0 -0.3 3.0
-v 2.5 -0.3 3.0
-v 2.5 0.3 3.0
-v 2.0 0.3 3.0
-
-v 2.0 -0.3 1.0
-v 2.5 -0.3 1.0
-v 2.5 0.3 1.0
-v 2.0 0.3 1.0
-
-# Schrauben (Metall)
-# Schraube 1
-v 4.0 -2.0 4.0
-v 4.5 -2.0 4.0
-v 4.5 -1.5 4.0
-v 4.0 -1.5 4.0
-
-# Schraube 2
-v 4.0 1.5 4.0
-v 4.5 1.5 4.0
-v 4.5 2.0 4.0
-v 4.0 2.0 4.0
-
-# Flächen definieren
-
-# Hauptkörper - Basis (dunkelblau)
-g base
-usemtl dark_blue
-
-# Vorderseite
-f 1 2 3 4
-
-# Rückseite
-f 5 8 7 6
-
-# Oben
-f 1 5 6 2
-f 2 6 7 3
-f 3 7 8 4
-f 4 8 5 1
-
-# Unten
-f 1 4 3 2
-f 5 6 7 8
-
-# Obere Struktur (hellgrau)
-g upper_structure
-usemtl light_gray
-
-# Vorderseite
-f 9 10 11 12
-
-# Rückseite
-f 13 16 15 14
-
-# Oben
-f 9 13 14 10
-f 10 14 15 11
-f 11 15 16 12
-f 12 16 13 9
-
-# Unten
-f 9 12 11 10
-f 13 14 15 16
-
-# Hebel (dunkelblau)
-g lever
-usemtl dark_blue
-
-# Vorderseite
-f 17 18 19 20
-
-# Rückseite
-f 21 24 23 22
-
-# Oben
-f 17 21 22 18
-f 18 22 23 19
-f 19 23 24 20
-f 20 24 21 17
-
-# Unten
-f 17 20 19 18
-f 21 22 23 24
-
-# Papierführung (weiß)
-g paper_guide
-usemtl white
-
-# Basis
-f 25 26 27 28
-
-# Verlängerung
-f 29 30 31 32
-
-# Seiten
-f 25 29 32 28
-f 26 30 31 27
-f 28 32 31 27
-f 25 26 30 29
-
-# Lochstanzen (Metall)
-g punches
-usemtl metal
-
-# Stanze 1 - Zylinder
-f 33 34 35 36
-f 37 40 39 38
-f 33 37 38 34
-f 34 38 39 35
-f 35 39 40 36
-f 36 40 37 33
-
-# Stanze 2 - Zylinder
-f 41 42 43 44
-f 45 48 47 46
-f 41 45 46 42
-f 42 46 47 43
-f 43 47 48 44
-f 44 48 45 41
-
-# Federn (Metall)
-g springs
-usemtl metal
-
-# Feder 1
-f 49 50 51 52
-f 53 56 55 54
-f 49 53 54 50
-f 50 54 55 51
-f 51 55 56 52
-f 52 56 53 49
-
-# Feder 2
-f 57 58 59 60
-f 61 64 63 62
-f 57 61 62 58
-f 58 62 63 59
-f 59 63 64 60
-f 60 64 61 57
-
-# Schrauben (Metall)
-g screws
-usemtl metal
-
-# Schraube 1
-f 65 66 67 68
-
-# Schraube 2
-f 69 70 71 72
diff --git a/mandates/pek/bostich_hole_punch.3ds b/mandates/pek/bostich_hole_punch.3ds
new file mode 100644
index 0000000000000000000000000000000000000000..6c3fb3a88ba1e97109315434a46eea1f390172e7
GIT binary patch
literal 1800
zcmY+FO-~eA6oy|vK}Mt%5fK>?QB*|K7E!UgZqfFD38>-2#FZLR1IyvIpCpSJiT7kNCk1}*P`U-Vzi{?9*n=JTx{*ypJ&{E>@%?zepOXQ(an
z*@0)7xVahoXz_O(?7RL3s|=ZVDs9swrhuWqC3?F+uA}#>~Jz)8|OA0R%aFA9O}&-
z>bFuUwQH9;&<_0uOS{#nJ?I{F!Qpu)+R4eDo39J)!eMpojEMmU~&;cEWMI6u(^oV|k`3s_>
z8bXJ343>sI8iB)eUM8}`{<--^IFI14xJ
X?AJMcYjNpDWA@(d<(sP4?7jI9c*bU{
literal 0
HcmV?d00001
diff --git a/mandates/pek/create_bostich_3ds.py b/mandates/pek/create_bostich_3ds.py
new file mode 100644
index 0000000..32f23d8
--- /dev/null
+++ b/mandates/pek/create_bostich_3ds.py
@@ -0,0 +1,266 @@
+#!/usr/bin/env python3
+"""
+Create 3DS file for LEITZ Bostitch 2-hole punch
+Based on photos showing 20cm x 10cm x 10cm dimensions
+"""
+
+import struct
+import math
+
+def _write3dsHeader(f):
+ """Write 3DS file header"""
+ # Main chunk header
+ f.write(b'\x4D\x4D') # Magic number
+ f.write(struct.pack('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
\ No newline at end of file
+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
\ No newline at end of file