Frage zum STL-Dateiformat

hi,
seit 1.3.2021 gibt es bei Swisstopo beliebige Schweizer Geländedaten im 200m-Raster kostenlos (wie weiss ich aber noch nicht), was die feiner aufgelösten kosten weiss ich aber ebenfalls noch nicht. Jedenfalls kann man sich zum "Spielen" eine Menge Daten mit bis zu 0,5m Auflösung herunterladen, von denen ich aber nur die XYZ-Textdateien verwende. Die Dateien mit 0,5m enthalten aber 4Mio Punkte (1km2), das sprengt noch die memory allocation bei meinem lokalen Webserver. Aber die Landschaften mit 2m-Auflösung sehen auch schon ziemlich gut aus. Unter anderem ist bei den Demodateien der Matterhorngipfel in 25m-Auflösung dabei.
Jetzt habe ich mal ein wenig PHP aus meinem Hirn gequetscht, das XYZ in STL-Dateien umwandelt. Ich verwende dafür das simple ASCII-Format, und nachdem ich in einer Doku gelesen habe, dass der normalisierte Flächenvektor eigentlich nicht gebraucht wird, habe ich ihn mal weggelassen... Allerdings habe ich die Drehrichtung der Dreiecke (rechtsherum) sorgfältig beachtet. Meine Datei sieht also im Prinzip so aus :
facet
outer loop
vertex 0 0 6.304
vertex 1.265 1.265 7.311
vertex 1.265 0 5.594
endloop
endfacet
Bisher habe ich keine Probleme mit dem ABViewer 14, und User "filou" kann die Daten mit Cura und Fusion öffnen, nicht aber mit simplify. Er druckt gerade ein Matterhörnchen...

Meine Frage: wie wichtig ist der Normalvektor eigentlich, wird er tatsächlich unabdingbar irgendwo gebraucht? Mit Vektoren im 3D-Raum habe ich das letzte mal 1974 gerechnet, das dauert ein wenig bis ich das wieder drin habe.

So sieht übrigens das gerade entstehende Matterhörnchen aus (ABViewer vergoldet es sogar...):

1619979039921.png

(Ansicht auf das Hörnligrat von Zermatt her)

LG Bertram
Wenn einer die STL-Datei haben möchte, kein Problem
 
Zuletzt bearbeitet:

plohmbe2

User
Hallo Bertram,
das einzige was mir einfällt wäre, wenn man stl Dateien in ein CAE Programm einliest und über die Richtung des Normalenvektors Ober- und Unterseite der Schalenelemte definiert.
VG Peter
 
Danke schon mal. Bisher sind Ralph und mir auch keine Störungen aufgefallen.
(Ich schlage mich gerade mit einer Höhendatenmatrix herum, die 144Mio Punkte enthält 🤪 - switzerland in your pocket)
 
Diese Höhendaten sind seit 1.3.2021 völlig frei von swisstopo als Z-Matrix erhältlich - die komplette Schweiz mit 25m Raster in einer einzigen Datei (0,8GB). Man kann auch 1km²-Kacheln der gesamten Schweiz mit 2 oder 0,5m Auflösung erhalten, aber die muss man einzeln herunterladen und sich ggf. zusammensetzen. Bei 50cm Auflösung ist die Schweiz also mit 400'000'000'000 Punkten komplett kostenfrei erhältlich, Nachführungszyklus 6 Jahre.

1620163119623.png

Die Software zur Erzeugung dieser STL-Datei habe ich selber geschrieben. Hier mit reduziertem Datensatz mit 800'000 Dreiecken. Mit vollem 25m-Gitterdatensatz wären es um die 300'000'000 Dreiecke - ich glaube kaum, dass es derzeit einen 3D-Drucker gibt, der das stemmen würde. Fräse? Vielleicht, ich werde sehen. Erzeugter GCode muss ja nicht mehr softwaremässig verarbeitet werden, sondern nur sozusagen wie vom Tonband langsam an die Fräse gereicht werden. Wenn ich mir das dann tischgross fräsen würde - 160x100cm - wäre die Auflösung der Daten 100µm 😱. Meine Haas kann 80x50cm - vielleicht schaffe ich ja mal dieses Relief mit 1/20mm (50µm = Haarbreite): das wäre sicher ein Kunstwerk zum Anschauen.
LG Bertram
 
Willkommen im STL-Erzeugungsclub, guck mal was meine Software so macht. Allerdings als binäres STL mit Dreiecksoptimierung aus beliebigen Bildformaten ("Heightmaps") inkl. Vectorformate wie AI und PDF. ;)

capture1.jpg

Der Normalenvektor wird übrigens hierbei berechnet. War Vorgabe fürs Projekt. Aber z.b. Autodesk Meshmixer braucht den nicht, wie auch viele andere importierende Programme.
 
Zuletzt bearbeitet:
1620201194332.png

Davoser See, 2Mio Dreiecke. Entspricht 2x2km mit 2m Auflösung. Aus 4 swisstopo-Kacheln à 1km² zusammengerechnet.
Das PHP-Script braucht (local bei mir) 0:45 zur Berechnung der STL-Datei. Die Erzeugung von beliebigen Kacheln aus der grossen Schweiz-Datei dauert 2:30.
STL ist aber für mich nur ein Zwischenschritt. Mein eigentliches Ziel ist GCode.
LG B

edit: da das kein mir bekannter Drucker erzeugen kann, geht es auch mit gröberer Auflösung. Mit 25m wären es noch ca. 13000 Dreiecke, das schafft der Anicube noch.
 
Zuletzt bearbeitet:
Oben Unten