Silhouette

Silhouette

des Neuperver-Tores in Salzwedel

2025-12-05 (bs)

Vom Foto zur OpenSCAD-Grafik: Neuperver Tor

In diesem Tutorial zeigen wir Schritt für Schritt, wie man aus einem Foto des Neuperver Tors eine OpenSCAD-Silhouette erstellt und daraus eine Liniengrafik ableitet.

Als Beispiel verwenden wir dieses Foto aus der Wikipedia (https://de.wikipedia.org/wiki/Datei:Salzwedel_Neuperver_Tor.jpg):
Neuperver Tor aus Wikipedia

1. Polygon der linken Hälfte

Die linke Hälfte des Tors wurde aus dem Foto abgelesen und als Polygon definiert:

use <showit.scad>


// linke Hälfte
p = [ [20, 0], [20, 67], [28, 67], [28, 76], [34, 76], [34, 0] ];

echo(p=p);

color("green", 0.2) 
  polygon(p);           // Polygon zeichnen 
showit(p, sz=2.5);      // Punkte markieren


Rendering der Polygonhälfte:

Linke Hälfte Polygon

2. Silhouette und Toröffnung

Die linke Hälfte wird gespiegelt, der Mittelteil ergänzt und die Toröffnung ausgeschnitten:


use <showit.scad>

$fn=12;


// linke Hälfte
p = [ [20, 0], [20, 67], [28, 67], [28, 76], [34, 76], [34, 0] ];

echo(p=p);




tr = 7;


module neuperver_sil()
{
  // links
  color("green") polygon(p);
  showit(p, sz=2.5);              
  // Bogen
  translate([34 + 4, 76])
    circle(4);

  // Fläche unter Bogen
  polygon([[34,0], [34, 76], [34+8, 76], [34+8, 0], [34,0] ]);
  // rechts
  color("red", 0.2)
    translate([64 + 12 , 0])
      mirror([1, 0])
        polygon(p);
}


module neu_perver()
{
  difference()
  {
    neuperver_sil();
    // Tor
    x_links = p[3][0] + (p[4][0] - p[3][0])/2;
    translate([x_links, 0, 0]) 
    {
      square([14, 13]);
      translate([tr, 13]) 
        circle(r = tr);    
    }
 } 
}

neu_perver();

Rendering der Silhouette:

Silhouette Neuperver Tor

3. Liniengrafik

Für Drahtlinien- oder Gravurdarstellung kann die Silhouette mit offset() verarbeitet werden:


$fn=12;


// linke Hälfte
p = [ [20, 0], [20, 67], [28, 67], [28, 76], [34, 76], [34, 0] ];

echo(p=p);




tr = 7;


module neuperver_sil()
{
  // links
  color("green") 
    polygon(p);
  // Bogen
  translate([34 + 4, 76])
    circle(4);

  // Fläche unter Bogen
  polygon([[34,0], [34, 76], [34+8, 76], [34+8, 0], [34,0] ]);
  // rechts
  color("red", 0.2)
    translate([64 + 12 , 0])
      mirror([1, 0])
        polygon(p);
}


module neu_perver()
{
  difference()
  {
    neuperver_sil();
    // Tor
    x_links = p[3][0] + (p[4][0] - p[3][0])/2;
    translate([x_links, 0, 0]) 
    {
      square([14, 13]);
      translate([tr, 13]) 
        circle(r = tr);    
    }
 } 
}

difference()
{
  offset(delta=+1) neu_perver();
  neu_perver();
}

Rendering der Liniengrafik:

Liniengrafik Neuperver Tor

4. Nächste Schritte

  • Optional: Python-Helfer für automatische Koordinaten aus Fotos.
  • Export als PNG oder STL für Präsentation oder 3D-Druck.
  • Extrudieren um echte 3-Objekte zu erhalten.
  • Basisplatten unterlegen und evtl. in Rahmen einbauen -- Kerze dahinter!


Titelbildquelle: eigenes Bild


Sende uns Deinen Kommentar

... because software matters