<?xml version="1.0" encoding="utf-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<title>Forum Bauen und Umwelt</title>
<link>https://bauforum.wirklichewelt.de/</link>
<description>Das Bauforum</description>
<language>de</language>
<item>
<title>Komplette Inbetriebnahme nicht vor 2030 (Antwort)</title>
<content:encoded><![CDATA[<p>Der <a href="https://www.swr.de/swraktuell/baden-wuerttemberg/stuttgart/stuttgart21-eroeffnung-wohl-erst-2030-100.html" target="_blank" rel=\"noopener\">SWR berichtet</a>, dass eine komplette Inbetriebnahme von Stuttgart 21 wohl nicht vor 2030 erfolgen wird – unter anderem, weil die Bahn bundesweit alle Digitalisierungsprojekte gestoppt habe, anstatt das im vorigen Jahrhundert vorgestellte und seit 2002 auf wichtigen Strecken eigentlich verpflichtend einzubauende Zugkontrollsystem ETCS flächendeckend auszurollen.</p>
]]></content:encoded>
<link>https://bauforum.wirklichewelt.de/index.php?id=11769</link>
<guid>https://bauforum.wirklichewelt.de/index.php?id=11769</guid>
<pubDate>Thu, 26 Feb 2026 13:37:05 +0000</pubDate>
<category>Baupraxis</category><dc:creator>Martin Vogel</dc:creator>
</item>
<item>
<title>Noch ein Jahr später → 2027 (Antwort)</title>
<content:encoded><![CDATA[<p>Wie die Tagesschau heute berichtet, wird auch ein Eröffnungstermin im nächsten Jahr nicht zu halten sein. „Angepeilt“ wird nun eine Eröffnung im Jahr 2027, falls bis dahin die Stellwerktechnik ans Laufen gebracht werden kann.<br />
Immerhin ist in der Meldung bisher nichts über eine erneute Kostensteigerung zu lesen, sodass die genannten 11,3 Milliarden zunächst einmal weiterbestehen.<br />
<a href="https://www.tagesschau.de/wirtschaft/stuttgart-21-bauprojekt-bahnhof-eroeffnung-100.html" target="_blank" rel=\"noopener\">Eröffnung von &quot;Stuttgart 21&quot; erneut verschoben</a></p>
]]></content:encoded>
<link>https://bauforum.wirklichewelt.de/index.php?id=11768</link>
<guid>https://bauforum.wirklichewelt.de/index.php?id=11768</guid>
<pubDate>Wed, 19 Nov 2025 15:39:22 +0000</pubDate>
<category>Baupraxis</category><dc:creator>Martin Vogel</dc:creator>
</item>
<item>
<title>Update Juni 2024 (Antwort)</title>
<content:encoded><![CDATA[<p>Wieder einmal ist ein Update für den Geländemodellierer fällig, weil die praktischen GNU-zip-komprimierten XYZ-Dateien mit den Geländehöhen vom Land NRW nicht mehr angeboten werden. Stattdessen werden nun GeoTIFF-Dateien verwendet, die rund 20 % kleiner sind.</p>
<p><a href="images/uploaded/20240612205955666a0c4b67fa8.zip" target="_blank" rel=\"noopener\">Download der Python-Datei</a></p>
<p>Das Programm verwendet die Module Pillow (PIL) und Numpy, welche gegebenenfalls mit PIP oder der Paketverwaltung des Betriebssystems nachinstalliert werden müssen. Zusätzlich wird das Modul OSGeo/gdal benötigt, wenn auch Orthophotos verarbeitet werden sollen. Dieses ist unter Windows recht aufwändig zu installieren, weshalb ich Linux zum Betrieb des Programms empfehle. </p>
<p>Wer nur einen Windows-PC zur Verfügung hat, sollte sich einmal das Linux Subsytem für Windows (Microsoft nennt es <a href="https://learn.microsoft.com/de-de/windows/wsl/install" target="_blank" rel=\"noopener\">Windows Subsystem für Linux – WSL</a>) ansehen.</p>
]]></content:encoded>
<link>https://bauforum.wirklichewelt.de/index.php?id=11767</link>
<guid>https://bauforum.wirklichewelt.de/index.php?id=11767</guid>
<pubDate>Wed, 12 Jun 2024 21:07:39 +0000</pubDate>
<category>Software</category><dc:creator>Martin Vogel</dc:creator>
</item>
<item>
<title>Noch ein Jahr später, noch eine Milliarde teurer (Antwort)</title>
<content:encoded><![CDATA[<p>Wie der Spiegel heute berichtet, gehen aktuelle Schätzungen nun von 12 Milliarden Euro Gesamtkosten für Stuttgart 21 aus und die Inbetriebnahme soll nun erst im Dezember 2026 stattfinden – wenn überhaupt.<br />
<a href="https://www.spiegel.de/politik/deutschland/stuttgart-21-deutsche-bahn-wird-inbetriebnahme-um-ein-weiteres-jahr-verschieben-a-7b6f5a10-0d20-476d-bce5-2d8901f61453" target="_blank" rel=\"noopener\">https://www.spiegel.de/politik/deutschland/stuttgart-21-deutsche-bahn-wird-in...</a></p>
]]></content:encoded>
<link>https://bauforum.wirklichewelt.de/index.php?id=11766</link>
<guid>https://bauforum.wirklichewelt.de/index.php?id=11766</guid>
<pubDate>Mon, 10 Jun 2024 16:24:35 +0000</pubDate>
<category>Baupraxis</category><dc:creator>Martin Vogel</dc:creator>
</item>
<item>
<title>Shape-File in DXF-Datei konvertieren</title>
<content:encoded><![CDATA[<p>Es ist gelegentlich schon faszinierend, wie simpel manche Dinge in Python sind, wenn man das richtige Modul importiert. Um zum Beispiel eine Shape-Datei (SHP-Datei) mit GIS-Daten wie Grundstücksgrenzen oder Gebäudeumrissen in eine DXF-Datei umzuformen, die mit nahezu allen CAD-Programmen weiterverarbeitet werden kann, sind gerade einmal drei Zeilen Pythoncode notwendig:</p>
<pre class="python" style="font-family:monospace;"><ol><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff7700;">import</span> geopandas <span style="color: #ff7700;">as</span> gpd</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">daten <span style="color: #000;">=</span> gpd.<span style="color: black;">read_file</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;Dateiname.zip&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">daten.<span style="color: black;">boundary</span>.<span style="color: black;">to_file</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;Dateiname.dxf&quot;</span><span style="color: #000;">,</span> driver<span style="color: #000;">=</span><span style="color: #080;">&quot;DXF&quot;</span><span style="color: black;">&#41;</span></div></li></ol></pre><p>Dabei ist es völlig egal, ob die SHP-Datei in ein ZIP-Archiv eingebettet ist oder ob das Archiv vorher ausgepackt wurde. Die read_file-Methode funktioniert gleichermaßen mit ZIP-Dateien wie mit SHP-Dateien.</p>
<p>Wenn das Modul geopandas nicht gefunden wird, muss es über die Windows-Eingabeaufforderung bzw. über ein Terminalfenter mit dem Befehl<br />
</p>
<pre><code>pip install geopandas</code></pre><p><br />
installiert werden.<br />
In neueren Ubuntu-Linux-Version lautet der Befehl zur Installation<br />
</p>
<pre><code>sudo apt install python3-geopandas</code></pre>]]></content:encoded>
<link>https://bauforum.wirklichewelt.de/index.php?id=11765</link>
<guid>https://bauforum.wirklichewelt.de/index.php?id=11765</guid>
<pubDate>Tue, 27 Feb 2024 14:46:12 +0000</pubDate>
<category>Allgemeines</category><dc:creator>Martin Vogel</dc:creator>
</item>
<item>
<title>Vorlesungszeiten und Semesterferien 2024 in NRW</title>
<content:encoded><![CDATA[<p>Das Ministerium für Kultur und Wissenschaft Nordrheinwestfalen (MKW) hat für die Hochschulen für Angewandte Wissenschaften (Fachhochschulen) folgende aktuellen Vorlesungszeiten festgelegt:</p>
<p>Wintersemester 23/24: 25.09.2023 – 09.02.2024<br />
Sommersemester 2024: 01.04.2024 – 26.07.2024<br />
Wintersemester 24/25: 23.09.2024 – 07.02.2025<br />
Sommersemester 2025: 24.03.2025 – 18.07.2025<br />
Wintersemester 25/26: 22.09.2025 – 06.02.2026<br />
Sommersemester 2026: 06.04.2026 – 31.07.2026<br />
Wintersemester 26/27: 28.09.2026 – 12.02.2027<br />
Sommersemester 2027: 29.03.2027 – 23.07.2027<br />
Wintersemester 27/28: 27.09.2027 – 11.02.2028<br />
Sommersemester 2028: 03.04.2028 – 28.07.2028<br />
Wintersemester 28/29: 25.09.2028 – 09.02.2029<br />
Sommersemester 2029: 26.03.2029 – 20.07.2029<br />
Wintersemester 29/30: 24.09.2023 – 08.02.2030<br />
Sommersemester 2030: 18.03.2030 – 12.07.2030</p>
<p>Für Universitäten in NRW sind die vom Wissenschaftsministerium veröffentlichten Zeiten für die Vorlesungszeiträume und Semesterferien leicht abweichend:</p>
<p>Wintersemester 23/24: 09.10.2023 – 02.02.2024<br />
Sommersemester 2024: 08.04.2024 – 19.07.2024<br />
Wintersemester 24/25: 07.10.2024 – 31.01.2025<br />
Sommersemester 2025: 07.04.2025 – 18.07.2025<br />
Wintersemester 25/26: 06.10.2025 – 30.01.2026<br />
Sommersemester 2026: 13.04.2026 – 24.07.2026<br />
Wintersemester 26/27: 12.10.2026 – 05.02.2027<br />
Sommersemester 2027: 05.04.2027 – 16.07.2027<br />
Wintersemester 27/28: 11.10.2027 – 04.02.2028<br />
Sommersemester 2028: 17.04.2028 – 28.07.2028<br />
Wintersemester 28/29: 09.10.2028 – 02.02.2029<br />
Sommersemester 2029: 09.04.2029 – 20.07.2029<br />
Wintersemester 29/30: 08.10.2029 – 01.02.2030<br />
Sommersemester 2030: 01.04.2030 – 12.07.2030</p>
]]></content:encoded>
<link>https://bauforum.wirklichewelt.de/index.php?id=11764</link>
<guid>https://bauforum.wirklichewelt.de/index.php?id=11764</guid>
<pubDate>Fri, 26 Jan 2024 11:30:49 +0000</pubDate>
<category>Allgemeines</category><dc:creator>Martin Vogel</dc:creator>
</item>
<item>
<title>CHBH.LSP – Bemaßung mit hochgestellten Millimetern für BricsCAD unter macOS (Antwort)</title>
<content:encoded><![CDATA[<p>Ich kann mir gut vorstellen, dass das Lisp-Programm zur Verschönerung der Bemaßungen jetzt auch unter macOS läuft – die nur unter Windows vorhandenen Funktionen und die windowstypischen Sonderzeichen wurden ja aus CHBH.LSP entfernt. Da wir allerdings gelegentlich Überraschungen mit der Mac-Version von BricsCAD erleben, käme es auf einen Versuch an.</p>
]]></content:encoded>
<link>https://bauforum.wirklichewelt.de/index.php?id=11763</link>
<guid>https://bauforum.wirklichewelt.de/index.php?id=11763</guid>
<pubDate>Thu, 25 Jan 2024 09:06:54 +0000</pubDate>
<category>Software</category><dc:creator>Martin Vogel</dc:creator>
</item>
<item>
<title>CHBH.LSP – Bemaßung mit hochgestellten Millimetern für BricsCAD unter Linux (Antwort)</title>
<content:encoded><![CDATA[<p>Funktioniert dieses Tool auch in BricsCAD unter MacOS?</p>
]]></content:encoded>
<link>https://bauforum.wirklichewelt.de/index.php?id=11762</link>
<guid>https://bauforum.wirklichewelt.de/index.php?id=11762</guid>
<pubDate>Thu, 25 Jan 2024 08:50:43 +0000</pubDate>
<category>Software</category><dc:creator>AnnaSch</dc:creator>
</item>
<item>
<title>Aufmessen und Abstecken mit Totalstationen</title>
<content:encoded><![CDATA[<p>Auf <a href="https://buildingpoint-sued.de/loesungen/aufmessen-und-abstecken-mit-totalstationen-und-gnss" target="_blank" rel=\"noopener\">Digitales 3D Aufmaß</a> haben wir Informationen zu den Einsatzmöglichkeiten von <strong>Totalstationen im Hochbau</strong> zusammengetragen und beleuchtet. Darunter folgende Anwendungsbereiche:</p>
<ul>
<li><strong>Bestandsaufnahme:</strong> Totalstationen zur 3D-Bestandsaufnahme von Punkten, Linien, Bögen und Fotos<br />
</li><li><strong>BIM2Field:</strong> Absteckpunkte von digitalen Modellen auf die Baustelle übertragen, mit Totalstationen<br />
</li><li><strong>Ebenheitsanalyse:</strong> Unebenheiten erkennen und nivellierte Oberflächen sicherstellen im Rahmen der Vermessungskontrolle mittels Totalstationen<br />
</li><li><strong>Muster und Schablonen:</strong> Schablonen für wiederkehrende Befestigungsmuster via Totalstation auf die Baustelle übertragen</li></ul><p>Dort könnt ihr erfahren welche Prozesse und Arbeitsschritte im Zusammenspiel zwischen einem BIM-/3D- oder 2D-Modell und der Baustelle durch Totalstationen digitalisiert und automatisiert werden können.</p>
<p>Nähere Informationen zur passenden Messtechnik findet ihr hier: <a href="https://buildingpoint-sued.de/produkte/trimble-ri" target="_blank" rel=\"noopener\">Automatische Robotik-Totalstation</a></p>
]]></content:encoded>
<link>https://bauforum.wirklichewelt.de/index.php?id=11761</link>
<guid>https://bauforum.wirklichewelt.de/index.php?id=11761</guid>
<pubDate>Fri, 19 Jan 2024 11:11:51 +0000</pubDate>
<category>Allgemeines</category><dc:creator>BuildingPoint</dc:creator>
</item>
<item>
<title>Bauabrechnung, Aufmass und Baukalkulation in Deutschland</title>
<content:encoded><![CDATA[<p>.. .Sehr geehrte Damen und Herren,</p>
<p>hiermit stellen wir Ihnen unser Ingenieurbüro für Bauabrechnung &amp; Aufmaß vor. Dabei bieten wir Ihnen über unsere Internetseite eine gesamtheitliche Vorstellung unseres Unternehmens, sowie Leistungen und Referenzen an.</p>
<p><a href="https://rohbauabrechnung.de/" target="_blank" rel=\"noopener\">https://rohbauabrechnung.de/</a></p>
<p>Unser Ingenieurbüro für Bauabrechnung &amp; Aufmaß ist seit Jahren bundesweit an diversen Bauprojekten beteiligt. Kunden unseres Unternehmens sind Bauunternehmungen, Architekturbüros, sowie direkte Bauherren. Darunter fallen folgende Tätigkeiten:</p>
<p>- Erstellung von Leistungsverzeichnissen<br />
- Nachtragsmanagement<br />
- Bauabrechnung<br />
- Massenermittlung inkl. Aufmaßplanmanagement<br />
- Massenermittlung für Pauschalangebote</p>
<p><br />
Über Ihre Anfragen, sowie eine zukünftige projektbezogene Zusammenarbeit würden wir uns freuen.</p>
<p>-- <br />
Mit freundlichem Gruß</p>
<p>Ihr Partner für den Ingenieur- Hochbau !</p>
<p>Ing. Mamdouh El-lahib<br />
Zechenweg 17<br />
44649 Herne<br />
0049 2325 595 71 88<br />
0049 1578 221 60 83<br />
info@rohbauabrechnung.de<br />
<a href="https://www.rohbauabrechnung.de" target="_blank" rel="noopener">www.rohbauabrechnung.de</a></p>
]]></content:encoded>
<link>https://bauforum.wirklichewelt.de/index.php?id=11760</link>
<guid>https://bauforum.wirklichewelt.de/index.php?id=11760</guid>
<pubDate>Fri, 05 Jan 2024 18:37:48 +0000</pubDate>
<category>Allgemeines</category><dc:creator>Bauabrechner</dc:creator>
</item>
<item>
<title>Bauforum werbefrei</title>
<content:encoded><![CDATA[<p>Ab heute wird im Bauforum keine Werbung mehr geschaltet. Da Google angekündigt hat, im Januar zwangsweise seitenfüllende Einwilligungserklärungen zu verlangen, verzichte ich lieber auf die Werbeeinnahmen, als diese von mir verabscheuten Vorschaltseiten meinen Lesenden zuzumuten.<br />
Gleichzeitig wurden alle eingebundenen Inhalte von Youtube, Google oder dem Netzwerk, das früher Twitter hieß, entfernt.<br />
Falls ich irgendwelche Reste übersehen haben sollte: bitte melden.</p>
]]></content:encoded>
<link>https://bauforum.wirklichewelt.de/index.php?id=11759</link>
<guid>https://bauforum.wirklichewelt.de/index.php?id=11759</guid>
<pubDate>Fri, 08 Dec 2023 18:44:54 +0000</pubDate>
<category>Allgemeines</category><dc:creator>Martin Vogel</dc:creator>
</item>
<item>
<title>SPIEGEL: Stuttgart 21 soll sich um 2 Milliarden verteuern (Antwort)</title>
<content:encoded><![CDATA[<p>Wie heute <a href="https://www.spiegel.de/wirtschaft/unternehmen/stuttgart-21-soll-sich-um-fast-zwei-milliarden-verteuern-a-3f727f55-3589-421b-9718-ffb4ce4f8276" target="_blank" rel=\"noopener\">auf Spiegel.de</a> unter indirekter Berufung auf informierte Kreise zu lesen ist, sollen sich aktuelle Kostenschätzungen nun im Bereich um 11 Milliarden Euro bewegen. Dazu komme noch ein Puffer von 500 Millionen Euro, wodurch die Kosten wohl eher bei 11,5 Milliarden landen könnten.<br />
Nicht mehr erleben muss das <a href="https://www.spiegel.de/panorama/leute/stuttgart-21-gegner-dietrich-wagner-ist-tot-a-d71cf643-4ca6-4819-a1d5-df4e8ba65e58" target="_blank" rel=\"noopener\">der im Sommer verstorbene Ingenieur Dietrich Wagner</a>, der bei dem vom damaligen Ministerpräsidenten Mappus genehmigten rechtswidrigen Polizeieinsatz im September 2010 von einem Wasserwerferschützen fast völlig blind geschossen wurde und die letzten 13 Jahre seines Lebens wegen der ihm zugefügten schwersten Verletzungen weder Rad fahren noch lesen konnte.</p>
]]></content:encoded>
<link>https://bauforum.wirklichewelt.de/index.php?id=11758</link>
<guid>https://bauforum.wirklichewelt.de/index.php?id=11758</guid>
<pubDate>Thu, 07 Dec 2023 18:15:42 +0000</pubDate>
<category>Baupraxis</category><dc:creator>Martin Vogel</dc:creator>
</item>
<item>
<title>Ein Netzwerk mit &quot;X&quot; (Antwort)</title>
<content:encoded><![CDATA[<p>Anscheinend wird der Account auf <s>Twitter</s> X nicht mehr geduldet.</p>
<p><img src="https://bauforum.wirklichewelt.de/images/uploaded/2023080109042264c8ca96567d0.png" alt="[image]"  loading="lazy" /><br />
Bildinhalt: „@BO_Presse; Account gesperrt; Twitter sperrt Accounts, die gegen die Twitter Regeln verstoßen.“</p>
]]></content:encoded>
<link>https://bauforum.wirklichewelt.de/index.php?id=11757</link>
<guid>https://bauforum.wirklichewelt.de/index.php?id=11757</guid>
<pubDate>Tue, 01 Aug 2023 09:06:57 +0000</pubDate>
<category>HS Bochum</category><dc:creator>Martin Vogel</dc:creator>
</item>
<item>
<title>BIMPython</title>
<content:encoded><![CDATA[<p>Seit Version V21 wird das CAD-Programm BricsCAD mit einem integrierten Pythoninterpreter ausgeliefert und ermöglicht über den Befehl BIMPYTHON die Ausführung von Pythonprogrammen direkt im CAD-System.<br />
Pythonprogramme, die in BricsCAD ausgeführt werden, müssen lediglich das Modul „bricscad.bim“ importieren, um Zugriff auf die Programmierschnittstelle (API) und damit auf die Objekte in der Zeichnungsdatei zu erhalten.<br />
</p>
<pre class="python" style="font-family:monospace;"><ol><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff7700;">from</span> bricscad.<span style="color: black;">bim</span> <span style="color: #ff7700;">import</span> current_model</div></li></ol></pre><p><br />
Eine Übersicht über die vorhandenen Funktionen liefert die <a href="https://help.bricsys.com/document?title=_guides/BIM_building_data/GD_usingpythonscripts.html" target="_blank" rel=\"noopener\">Webseite der BricsCAD-Hilfe</a>. <br />
Derzeit (April 2023) enthält die API nur lesende Funktionen für BIM-Objekte und schreibende Funktionen für einige ausgewählte Eigenschaften von diesen, sodass Pythonscripte innerhalb von BricsCAD nicht in der Lage sind, Zeichnungsobjekte ohne den Umweg über Scriptdateien zu erzeugen oder deren geometrische Eigenschaften zu bearbeiten. Ein Zugriff auf geometrische Grundelemente ohne BIM-Eigenschaften ist gar nicht möglich.<br />
Das folgende Pythonprogramm gibt aus, welche BIM-Eigenschaften der Zeichnung, aus der heraus es mittels BIMPYTHON gestartet wird, von ihm geändert werden können:<br />
</p>
<pre class="python" style="font-family:monospace;"><ol><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff7700;">from</span> bricscad.<span style="color: black;">bim</span> <span style="color: #ff7700;">import</span> current_model<span style="color: #000;">,</span> list_properties</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #808;">print</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;Folgende BIM-Objekte sind in dieser &quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      <span style="color: #080;">&quot;Zeichnung vorhanden:<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">Eigenschaften <span style="color: #000;">=</span> <span style="color: #808;">set</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff7700;">for</span> Objekt <span style="color: #ff7700;">in</span> current_model<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>:</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #808;">print</span><span style="color: black;">&#40;</span>Objekt<span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #ff7700;">for</span> Eigenschaft <span style="color: #ff7700;">in</span> list_properties<span style="color: black;">&#40;</span>Objekt<span style="color: black;">&#41;</span>:</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        Wert <span style="color: #000;">=</span> Objekt.<span style="color: black;">get_property</span><span style="color: black;">&#40;</span>Eigenschaft<span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        <span style="color: #ff7700;">for</span> x <span style="color: #ff7700;">in</span> <span style="color: black;">&#40;</span><span style="color: #008;">0</span><span style="color: #000;">,</span> <span style="color: #008;">1</span><span style="color: #000;">,</span> <span style="color: #080;">&quot;x&quot;</span><span style="color: #000;">,</span> <span style="color: #080;">&quot;u&quot;</span><span style="color: #000;">,</span> <span style="color: #008;">0.1</span><span style="color: #000;">,</span> <span style="color: #008;">1.0</span><span style="color: black;">&#41;</span>:</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">            Objekt.<span style="color: black;">set_property</span><span style="color: black;">&#40;</span>Eigenschaft<span style="color: #000;">,</span> x<span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">            w <span style="color: #000;">=</span> Objekt.<span style="color: black;">get_property</span><span style="color: black;">&#40;</span>Eigenschaft<span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">            <span style="color: #ff7700;">if</span> Wert <span style="color: #000;">!=</span> x <span style="color: #ff7700;">and</span> w <span style="color: #000;">==</span> x:</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                Eigenschaften.<span style="color: black;">add</span><span style="color: black;">&#40;</span>f<span style="color: #080;">&quot;{Eigenschaft} {type(w)}&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        Objekt.<span style="color: black;">set_property</span><span style="color: black;">&#40;</span>Eigenschaft<span style="color: #000;">,</span> Wert<span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #808;">print</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>Folgende Eigenschaften dieser Objekte können &quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      <span style="color: #080;">&quot;verändert werden:<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff7700;">for</span> e <span style="color: #ff7700;">in</span> <span style="color: #808;">sorted</span><span style="color: black;">&#40;</span>Eigenschaften<span style="color: black;">&#41;</span>:</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #808;">print</span><span style="color: black;">&#40;</span>e<span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #808;">print</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #808;">print</span><span style="color: black;">&#40;</span><span style="color: #808;">len</span><span style="color: black;">&#40;</span>current_model<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span><span style="color: #000;">,</span> <span style="color: #080;">&quot;Objekte gefunden.&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #808;">print</span><span style="color: black;">&#40;</span><span style="color: #808;">len</span><span style="color: black;">&#40;</span>Eigenschaften<span style="color: black;">&#41;</span><span style="color: #000;">,</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      <span style="color: #080;">&quot;veränderbare Eigenschaften entdeckt.&quot;</span><span style="color: black;">&#41;</span></div></li></ol></pre>]]></content:encoded>
<link>https://bauforum.wirklichewelt.de/index.php?id=11756</link>
<guid>https://bauforum.wirklichewelt.de/index.php?id=11756</guid>
<pubDate>Wed, 26 Apr 2023 09:53:34 +0000</pubDate>
<category>Software</category><dc:creator>Martin Vogel</dc:creator>
</item>
<item>
<title>Bergbaumuseum: Kontinuität durch Wechsel</title>
<content:encoded><![CDATA[<p>Um seine seit den 1990er-Jahren erstellten CAD-Zeichnungen weiternutzen zu können, hat das Deutsche Bergbau-Museum in Bochum die Verwendung von AutoCAD aufgegeben und arbeitet nun mit BricsCAD. Die Nutzungsbedingungen von Autodesk waren für das Forschungsinstitut nicht mehr tragbar, sagt Museumsmitarbeiter Gero Steffens im AutoCAD-Magazin.</p>
<p><a href="https://www.autocad-magazin.de/forschungsprojekte-dokumentieren-grubenplaene-in-2d/" target="_blank" rel=\"noopener\">AutoCAD Magazin: Grubenpläne in 2D</a></p>
]]></content:encoded>
<link>https://bauforum.wirklichewelt.de/index.php?id=11755</link>
<guid>https://bauforum.wirklichewelt.de/index.php?id=11755</guid>
<pubDate>Tue, 25 Apr 2023 12:50:42 +0000</pubDate>
<category>Software</category><dc:creator>Martin Vogel</dc:creator>
</item>
<item>
<title>Automatischer Download passender Orthophotos für BricsCAD (Antwort)</title>
<content:encoded><![CDATA[<p>Die letzte Version des Python-Programms „Gelaendemodell.py“ zum Download von NRW-Höhenmodellen lädt nun auch gleich die passenden Orthophotos herunter, schneidet sie zu und legt sie als JPG-Dateien im Arbeitsverzeichnis des Programms ab. Dazu werden Funktionen der <a href="https://gdal.org/" target="_blank" rel=\"noopener\">GDAL-Bibliothek</a> verwendet.</p>
<p>Mit den BricsCAD-Funktionen für TIN-Oberflächennetze erhält man anschließend in wenigen Minuten eine BIM-taugliche Geländeoberfläche mit exakt passender Textur. Die horizontale Auflösung der Textur beträgt dabei etwa 10 cm.</p>
<p><img src="https://bauforum.wirklichewelt.de/images/uploaded/20210514121813609e6a859aa68.jpg" alt="[image]"  loading="lazy" /></p>
<p><span style="font-size:large;"><strong>Kurzanleitung</strong></span></p>
<p>1. <a href="images/uploaded/Gelaendemodell.zip" target="_blank" rel=\"noopener\">ZIP-Datei</a> herunterladen und Pythonprogramm „Gelaendemodell.py“ auspacken</p>
<p>2. Benötigte Python-Module für die GDAL-Funktionen installieren</p>
<p>Ubuntu Linux:<br />
</p>
<pre><code>sudo apt install python3-gdal</code></pre><p><br />
Fertig. Weiter zu Schritt 3.</p>
<p>Microsoft Windows:<br />
Es ist möglicherweise einfacher, Linux zu installieren und dann den Befehl oben einzugeben.<br />
Wenn Sie jedoch ein zutiefst leidenshungriger Microsoft-Anhänger sind und absurd komplizierten Frickeleien huldigen, bitteschön:<br />
a) Installieren Sie Python 3.7.<br />
b) Starten Sie Python. Es wird eine Textzeile ausgegeben, die zum Beispiel so aussieht: „Python 3.7.9 (tags/v3.7.9:13c94747c7, Aug 17 2020, 18:58:18) [MSC v.1900 64 bit (AMD64)] on win32“ – merken Sie sich die Zahl hinter „MSC v.“.<br />
c) Gehen Sie auf die Webseite <a href="https://www.gisinternals.com/release.php" target="_blank" rel=\"noopener\">https://www.gisinternals.com/release.php</a> und suchen sie in den Downloads nach der passenden Release-Version zu der MSC-Version aus Schritt b. Das ist zum Beispiel „release-1900-x64-gdal-2-4-4-mapserver-7-4-3“. Klicken Sie den Link an.<br />
d) Auf der folgenden Seite finden Sie den „Generic installer for the GDAL core components“ (in diesem Beispiel „gdal-204-1900-x64-core.msi“) und den „Installer for the GDAL python bindings“ für Ihre Python-Version, also hier „GDAL-2.4.4.win-amd64-py3.7.msi“. Laden Sie beide Dateien herunter und installieren Sie sie.<br />
e) Finden Sie heraus, in welchem Ordner die GDAL-Installation gelandet ist, das könnte zum Beispiel „C:\Program Files\GDAL“ sein. In diesem Ordner gibt es auch ein Unterverzeichnis „gdal-data“.<br />
f) Ergänzen Sie Ihre Umgebungsvariable PATH um den Ordner der GDAL-Installation und legen Sie zusätzlich eine neue Umgebungsvariable GDAL_DATA an, in die Sie den Pfad zum Ordner „gdal-data“ eintragen. Das sieht dann vielleicht so aus:<img src="https://bauforum.wirklichewelt.de/images/uploaded/20210514195559609ed5cf346c5.png" alt="[image]"  loading="lazy" /><br />
g) Starten Sie Python neu. Wenn der Befehl „import osgeo“ keine Fehlermeldung verursacht, hat die Installation geklappt. Falls nicht, finden Sie die aktuelle Ubuntu-Linux-Version auf <a href="https://ubuntu.com/download/desktop" target="_blank" rel=\"noopener\">https://ubuntu.com/download/desktop</a>. Führen Sie nach der Linux-Installation Schritt 2 erneut aus.</p>
<p>3. Nun werden nur noch zwei Geländepunkte im Dezimalgradformat benötigt, die man beispielsweise aus einem Onlinekartendienst ablesen kann, und das Pythonprogramm erledigt den Rest:</p>
<p>Als Beispiel nehme ich einmal den Grauwackesteinbruch in Hagen-Ambrock, der zwischen den Koordinaten 51.318339, 7.497003 und 51.325803, 7.513617 liegt.</p>
<p><img src="https://bauforum.wirklichewelt.de/images/uploaded/20210514111726609e5c467d9f5.png" alt="[image]"  loading="lazy" /></p>
<p>Das Programm erzeugt hier (unter anderem) eine TIN-Koordinatendatei „Steinbruch.txt“ sowie ein Orthophoto „Steinbruch.jpg“. Zusätzlich gibt es die Information aus, dass der Geländeausschnitt 1174 Meter in Ost-West-Richtung und 807 Meter in Nord-Süd-Richtung umfasst.</p>
<p>In BricsCAD kann nun mit dem Befehl „TIN I“ die gerade erzeugte TXT-Datei geladen werden. Wenn BricsCAD behauptet, die TIN-Oberfläche könne nicht erstellt werden, schauen Sie einmal, ob der Datei- oder Ordnername Umlaute enthält. Die scheinen momentan ein Problem zu sein.</p>
<p><img src="https://bauforum.wirklichewelt.de/images/uploaded/20210514113556609e609c1d82b.png" alt="[image]"  loading="lazy" /></p>
<p>Auf diese TIN-Oberfläche kann nun das erzeugte Orthophoto gelegt werden. </p>
<p>BricsCAD hat dazu einen extra Befehl TINASSIGNIMAGE, der macht es jedoch unnötig kompliziert, das Bild in der korrekten Größe einzubinden.</p>
<p>Einfacher ist es, mit dem Befehl MATERIALIEN ein neues Material zu erzeugen, das als „Diffuse Map“ unser Orthophoto verwendet und direkt mit der oben ermittelten Breite und Höhe skaliert wird.<br />
<img src="https://bauforum.wirklichewelt.de/images/uploaded/20210514120209609e66c11ff30.png" alt="[image]"  loading="lazy" /></p>
<p>Man sollte bei der gewählten Bild- und Geländeauflösung innerhalb sinnvoller Grenzen bleiben. Bei einem Gelände aus rund einer Million Höhenpunkten und einem dazugehörigen 100-Megapixel-Foto wird das Programm schon arg ruckelig.</p>
]]></content:encoded>
<link>https://bauforum.wirklichewelt.de/index.php?id=11754</link>
<guid>https://bauforum.wirklichewelt.de/index.php?id=11754</guid>
<pubDate>Fri, 14 May 2021 12:37:39 +0000</pubDate>
<category>Allgemeines</category><dc:creator>Martin Vogel</dc:creator>
</item>
<item>
<title>Kostenlose Digitale Geländemodelle aus ganz NRW für BricsCAD und AutoCAD</title>
<content:encoded><![CDATA[<p>Auf dem Geodatenserver der Bezirksregierung Köln hat es mehrere interessante Änderungen gegeben. </p>
<p>Zum einen sind die zu Gemeinden paketierten xyz-Höhendaten nun <a href="index.php?id=11747" class="internal">schon wieder</a> in einem anderen Downloadverzeichnis zu finden (aktuell ist <a href="https://www.opengeodata.nrw.de/produkte/geobasis/hm/dgm1_xyz/dgm1_xyz_paketiert/" target="_blank" rel=\"noopener\">dieser Link</a> gültig). Diese Daten wurden bisher von meinem <a href="index.php?id=11490" class="internal">Python-Programm zur Erstellung von Digitalen Geländemodellen beliebiger Grundstücke in NRW</a> verwendet, das nun eigentlich erneut für diese URL anzupassen gewesen wäre.</p>
<p>Das geschieht aber nicht, denn zusätzlich zu den mehrere Gigabyte großen ZIP-Dateien gibt es nun alle 4-km²-Kacheln mit jeweils 4 Millionen zentimetergenauen NRW-Höhenwerten einzeln als nur noch knapp 20 MB kleine GNU-zip-Dateien. Das langwierige Herunterladen und Auspacken der riesigen ZIP-Archive entfällt endlich und das Programm lädt nun nur noch einzelne kleine Dateien herunter, falls es diese nicht ohnehin schon in einem früheren Programmlauf auf dem Rechner gespeichert hat.</p>
<p>Die dritte Änderung betrifft die Lizenz der Daten. Diese sind nun ohne jede Einschränkung nutzbar. Das Lizenzmodell heißt „<a href="https://www.govdata.de/dl-de/zero-2-0" target="_blank" rel=\"noopener\">Datenlizenz Deutschland - Zero - Version 2.0</a>“</p>
<p><img src="https://bauforum.wirklichewelt.de/images/uploaded/202005291018315ed0e177dd5a8.png" alt="[image]"  loading="lazy" /><br />
<em>Die Halden Hoppenbruch und Hoheward als TIN-Oberflächen in BricsCAD V20</em></p>
<p>Um das kostenlose Programm „Geländemodell.py“ auszuführen, benötigen Sie lediglich eine aktuelle Python-Version. Das Programm fragt Sie zuerst nach dem Verzeichnis für die herunterzuladenden Geländedaten und anschließend nach dem Basisnamen der anzulegenden Dateien. Angenommen, Sie möchten ein 3D-Modell der Halde Hoheward in Herten erstellen, so bietet sich als Basisname natürlich so etwas wie „Hoheward“ an. Als nächstes sind zwei Geokoordinaten einzugeben, die Sie zum Beispiel durch zweimaliges Anklicken eines Punktes in einer Google-Maps-Karte erhalten. Bei der Halde Hoheward sind das vielleicht die beiden Punkte „51.553891, 7.149416“ und „51.578594, 7.178255“.</p>
<p>Weitere Benutzereingaben sind gar nicht notwendig. Das Programm lädt die fehlenden Geländkacheln vom Geodatenserver herunter und baut daraus eine Anzahl verschiedener 3D-Dateien zusammen. Während die Dateien geschrieben werden, zeigt das Python-Programm einen Höhenplan des ausgewählten Geländes an.</p>
<p><img src="https://bauforum.wirklichewelt.de/images/uploaded/202005290950395ed0daef31555.png" alt="[image]"  loading="lazy" /></p>
<p>Als Ausgabedateien erzeugt das Programm:</p>
<ul>
<li>eine PNG-Grafik mit dem Matplotlib-Höhendiagramm aus der Abbildung oben<br />
</li><li>eine unkomprimierte xyz-Datei der Geodaten im UTM-Koordinatensystem für GIS-Anwendungen<br />
</li><li>eine <a href="index.php?id=11725" class="internal">BricsCAD-BIM-Geländedatei</a> im kommagetrennten TXT-Format, bei der anstelle der UTM-Koordinaten relative Meterangaben zur Südwestecke des Geländes verwendet werden und die in Sekundenschnelle mittels des BIM-Befehls „TIN I“ geladen werden kann (siehe Abbildung oben)<br />
</li><li>eine <a href="index.php?id=11729" class="internal">DXF-Datei mit farbigen 3D-Flächen</a>, die sich in BricsCAD und AutoCAD <a href="index.php?id=11613" class="internal">zu einem Volumenkörper heften</a> lässt<br />
</li><li>eine Stereolithographiedatei (STL) für den 3D-Druck im ASCII-Format und<br />
</li><li>eine STL-Datei für den 3D-Druck im Binärformat.</li></ul><p>Download des Python-Programms: </p>
<p><a href="images/uploaded/Digitales%20Geländemodell%20V16.zip" target="_blank" rel=\"noopener\">Digitales Geländemodell V16.zip</a></p>
<pre class="python" style="font-family:monospace;"><ol><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#!/usr/bin/env python3</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff7700;">import</span> <span style="color: #dc143c;">os</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff7700;">import</span> <span style="color: #dc143c;">sys</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff7700;">import</span> <span style="color: #dc143c;">webbrowser</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff7700;">import</span> <span style="color: #dc143c;">struct</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff7700;">from</span> tkinter <span style="color: #ff7700;">import</span> Tk</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff7700;">from</span> tkinter.<span style="color: black;">filedialog</span> <span style="color: #ff7700;">import</span> askdirectory</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff7700;">from</span> <span style="color: #dc143c;">math</span> <span style="color: #ff7700;">import</span> sqrt<span style="color: #000;">,</span> sin<span style="color: #000;">,</span> cos<span style="color: #000;">,</span> tan<span style="color: #000;">,</span> radians<span style="color: #000;">,</span> degrees<span style="color: #000;">,</span> floor</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff7700;">import</span> <span style="color: #dc143c;">urllib</span>.<span style="color: black;">request</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff7700;">import</span> <span style="color: #dc143c;">gzip</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #808;">print</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;&quot;&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #080;">Dieses Python3-Skript erstellt Höhenmodelle für CAD und 3D-Druck.</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #080;">Mit zwei Dezimalgradkoordinaten geben Sie die Eckpunkte einer rechteckigen</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #080;">Geländeoberfläche an, für die dieses Programm mehrere 3D-Dateien erzeugt:</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #080;"> - ein Höhenmodell im STL-Format für 3D-Drucker,</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #080;"> - eine DXF-Datei mit 3D-Flächen, die in Regionen umgewandelt und zu einem</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #080;">   Volumenmodell geheftet werden können,</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #080;"> - eine auf die von Ihnen gewählte Auswahl und Auflösung reduzierte XYZ-Datei, </span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #080;"> - eine importfähige DGM-Datei im TXT-Format für BricsCADs SITE-Befehl, sowie</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #080;"> - eine Höhenkarte im PNG-Format, falls das Python-Modul Matplotlib</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #080;">   installiert ist.</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #080;">&quot;&quot;&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Das aus Drei- und Vierecken zusammengesetzte Oberflächenmodell in der</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># DXF-Datei lässt sich durch Anwenden der beiden Befehle &quot;REGION&quot; und</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># &quot;DMHEFTEN&quot; (BricsCAD) bzw. &quot;FLÄCHEFORM&quot; (AutoCAD) in ein Volumenmodell</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># umwandeln.</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Das Programm wurde für die öffentlichen Höhendaten für digitale</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Geländemodelle in NRW geschrieben, lässt sich aber mit geringen Anpassungen</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># auch für andere DGM-Daten nutzen.</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Autor: Dipl.-Ing. Martin Vogel, Hochschule Bochum, 2017–2020</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Lizenz: Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Deutschland</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># (CC BY-SA 3.0 DE) https://creativecommons.org/licenses/by-sa/3.0/de/</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Version 16.0 vom 29. Mai 2020</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   Die Download-URL der DGM-Dateien wurde schon wieder geändert.</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   Die alten, zu Bezirken zusammengefassten ZIP-Dateien sind nun in</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#       https://www.opengeodata.nrw.de</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#             /produkte/geobasis/hm/dgm1_xyz/dgm1_xyz_paketiert/</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   </span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   Diese Riesenpakete werden vom Programm aber gar nicht mehr verwendet,</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   denn es gibt jetzt ein neues Verzeichnis mit einzelnen,</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   Gnuzip-komprimierten Dateien, die nur noch um die 20 MB groß sind und</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   viel besser geeignet sind, unter der URL</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#       https://www.opengeodata.nrw.de</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#             /produkte/geobasis/hm/dgm1_xyz/dgm1_xyz/</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   Das Programm liest diese Dateien nun direkt, ohne sie erst aufwendig</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   auspacken und zwischenspeichern zu müssen.</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Version 15.3 vom 22. Januar 2020</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   Die Download-URL der DGM-Dateien wurde geändert.</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   alt: https://www.opengeodata.nrw.de/produkte/geobasis/dgm/dgm1/</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   neu: https://www.opengeodata.nrw.de/produkte/geobasis/hm/dgm1_xyz/</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Version 15.2 vom 23. Juni 2019</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   Die Quadrate der Geländeoberfläche werden nun so in zwei Dreiecke</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   aufgeteilt, dass die Diagonale möglichst kurz ist. Die Oberfläche wirkt</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   dadurch, besonders bei geringen Auflösungen, deutlich realistischer.</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Version 15.1 vom 22. Juni 2019</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   3D-Flächen der DXF-Datei mit höhenabhängiger Indexfarbe.</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   Layer für alle Entities ist nun &quot;Gelaendemodell.py&quot;.</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Version 15 vom 21. Juni 2019</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   Erzeugung von CAD-Scriptdateien aus dem Programm entfernt.</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   Seit der DXF-Unterstützung waren die SCR-Scripte eigentlich nur noch</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   eine überflüssige Spielerei.</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Version 14.3 vom 21. Juni 2019</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   In der DXF-Datei werden jetzt alle Entities explizit Layer &quot;0&quot; zugeordnet.</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   AutoCAD wirft sonst einen Importfehler aus.</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Version 14.2 vom 12. Juni 2019</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   Vor dem Herunterladen einer ZIP-Datei wird geprüft, ob sie nicht schon</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   existiert.</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   Es werden nur noch die gerade benötigten XYZ-Dateien aus der ZIP-Datei</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   ausgepackt.</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   Export des Matplotlib-Höhendiagramms als PNG statt PDF, weil der Export</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   von PDF- und SVG-Vektordaten hoher Auflösung extrem langsam ist.</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   Download jetzt mit Fortschrittsanzeige.</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Version 14.1 vom 12. Juni 2019</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   ZIP-Dateien mit Umlauten im Namen werden jetzt auch unter Microsoft Windows</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   heruntergeladen.</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Version 14 vom 9. Juni 2019</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   Fehlende Kacheln werden nun automatisch nachgeladen.</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   Eine Fortschrittsanzeige fehlt allerdings noch.</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Version 13.1 vom 6. Juni 2019</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   Bugfix, weil der Verzeichnisauswahldialog auf manchen Mac-OS-Geräten</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   nicht geschlossen wurde.</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   Alle alten C-Formatstrings durch f-Strings ersetzt. </span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Version 13 vom 10. Mai 2019</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   XYZ-Daten als TXT-Datei für Bricscad-BIM-Geländeoberflächen.</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Version 12 vom 3. Juni 2018</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   Anzeige und PDF-Export eines Höhendiagramms mittels Matplotlib.</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Version 11 vom 18. Juni 2017</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   Zu fehlenden Kacheln wird nun angegeben, in welchen Ortsdateien diese</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   zu finden sind. Dazu mussten alle 396 Dateien einmal heruntergeladen und</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   diese 269 Gigabyte ZIP-Dateien katalogisiert werden. -&gt; Gelaendekatalog.csv</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Version 10 vom 15. Juni 2017</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   UTM-Koordinatenumrechnung jetzt ohne externes Modul und nach vereinfachtem</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   Algorithmus.</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Version 9 vom 13. Juni 2017</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   DXF-Export der Dreiecks- und Vierecksflächen aus Version 8.</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Version 8 vom 11. Juni 2017</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   Oberflächenmodell für CAD-Skript aus einzelnen Dreiecksflächen, wie in der</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   STL-Datei, Seitenflächen und Boden jedoch aus Vierecken.</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Version 7 vom 9. Juni 2017</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   Jetzt mit 3D-Netz, viel schneller als Volumenkörper im CAD-Programm.</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   Leider kann BricsCAD aus dieser Oberfläche keinen Volumenkörper heften.</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Version 6 vom 21. März 2017</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   Jetzt mit Log-Datei zur Garantie der Wiederholbarkeit.</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Version 5 vom 19. März 2017</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   Jetzt mit variabler Höhe der Unterseite. Es gibt in NRW tatsächlich Flächen,</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   die weit unterhalb des Meeresspiegels liegen. (Tagebau Etzweiler: -298,90m!)</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Version 4 vom 18. März 2017</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   Jetzt mit binärem STL-Export. Die Dateien sind nur noch halb so groß</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   und werden viel schneller gelesen als ASCII-STL-Dateien.</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Version 3 vom 17. März 2017</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   Einige mögliche Fehleingaben werden jetzt freundlich abgefangen.</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   Erweiterung um CAD-Skript für Dreiecksprismen, um den Minecraft-Effekt</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   loszuwerden.</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Version 2 vom 16. März 2017</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   Jetzt mit Eingabe der Höhenauflösung.</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   Außerdem werden nicht mehr alle gefundenen Punkte im Dictionary</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   abgelegt, sondern nur noch die später auch benötigten.</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Ideen für Erweiterungen:</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#  - Grafische Oberfläche (mit Kontrolle der Kachelabdeckung) einbauen.</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#  - In die DXF-Datei noch Werte für Zoom, Blickwinkel, Geokoordinaten</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#    usw. eintragen.</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff7700;">def</span> sysexit<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>:</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #808;">input</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>Programm wird beendet. [Enter]&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #dc143c;">sys</span>.<span style="color: black;">exit</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff7700;">def</span> log<span style="color: black;">&#40;</span>s<span style="color: #000;">,</span> sichtbar<span style="color: #000;">=</span><span style="color: #808;">True</span><span style="color: black;">&#41;</span>:</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #080;">&quot;Bildschirmmeldung mit Protokollierung&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #ff7700;">with</span> <span style="color: #808;">open</span><span style="color: black;">&#40;</span>name+<span style="color: #080;">&quot;.log&quot;</span><span style="color: #000;">,</span><span style="color: #080;">&quot;a&quot;</span><span style="color: black;">&#41;</span> <span style="color: #ff7700;">as</span> logfile:</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        logfile.<span style="color: black;">write</span><span style="color: black;">&#40;</span>f<span style="color: #080;">&quot;{s}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #ff7700;">if</span> sichtbar:</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        <span style="color: #808;">print</span><span style="color: black;">&#40;</span>f<span style="color: #080;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>{s}&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff7700;">def</span> utm<span style="color: black;">&#40;</span>Bg<span style="color: #000;">,</span>Lg<span style="color: black;">&#41;</span>:</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #080;">&quot;Umrechnung von Breitengrad und Längengrad in UTM-Koordinaten&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># Quelle: http://www.ottmarlabonde.de/L1/UTMBeispielRechnung.htm</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># Literatur: A. Schödlbauer,</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;">#     Rechenformeln und Rechenbeispiele zur Landesvermessung,</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;">#     Teil 2, Herbert WichmannVerlag Karlsruhe</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    L <span style="color: #000;">=</span> radians<span style="color: black;">&#40;</span>Lg<span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    B <span style="color: #000;">=</span> radians<span style="color: black;">&#40;</span>Bg<span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    tB <span style="color: #000;">=</span> tan<span style="color: black;">&#40;</span>B<span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    cB <span style="color: #000;">=</span> cos<span style="color: black;">&#40;</span>B<span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># Halbachsen des WGS84-Ellipsoids:</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># a = 6378137.0</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># b = 6356752.314</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># Radiusreduzierung</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    mH <span style="color: #000;">=</span> <span style="color: #008;">0.9996</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># c = a**2/b</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    c <span style="color: #000;">=</span> <span style="color: #008;">6399593.626005325</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># eq = (a**2-b**2)/b**2</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    eq <span style="color: #000;">=</span> <span style="color: #008;">0.006739496819936062</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># E0 = c*(1-3/4*eq+45/64*eq**2-175/256*eq**3+11025/16384*eq**4)</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    E0 <span style="color: #000;">=</span> <span style="color: #008;">6367449.145759811</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># E2 = c*(-3/8*eq+15/32*eq**2-525/1024*eq**3+2205/4096*eq**4)</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    E2 <span style="color: #000;">=</span> -<span style="color: #008;">16038.508797800609</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># E4 = c*(15/256*eq**2-105/1024*eq**3+2205/16384*eq**4)</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    E4 <span style="color: #000;">=</span> <span style="color: #008;">16.83262765753934</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># E6 = c*(-35/3072*eq**3+315/12288*eq**4)</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    E6 <span style="color: #000;">=</span> -<span style="color: #008;">0.021980907677118407</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    LL <span style="color: #000;">=</span> E0*B + E2*sin<span style="color: black;">&#40;</span><span style="color: #008;">2</span>*B<span style="color: black;">&#41;</span> + E4*sin<span style="color: black;">&#40;</span><span style="color: #008;">4</span>*B<span style="color: black;">&#41;</span> + E6*sin<span style="color: black;">&#40;</span><span style="color: #008;">6</span>*B<span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    x0 <span style="color: #000;">=</span> mH*LL</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    LhL <span style="color: #000;">=</span> <span style="color: #008;">3</span> + <span style="color: #008;">6</span>*floor<span style="color: black;">&#40;</span>degrees<span style="color: black;">&#40;</span>L<span style="color: black;">&#41;</span>/<span style="color: #008;">6</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    Zone <span style="color: #000;">=</span> <span style="color: #008;">30</span> + <span style="color: black;">&#40;</span><span style="color: #008;">3</span>+LhL<span style="color: black;">&#41;</span>/<span style="color: #008;">6</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    DL <span style="color: #000;">=</span> L - radians<span style="color: black;">&#40;</span>LhL<span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    etaq <span style="color: #000;">=</span> eq*cB**<span style="color: #008;">2</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    Nq <span style="color: #000;">=</span> c/sqrt<span style="color: black;">&#40;</span><span style="color: #008;">1</span>+etaq<span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    x2 <span style="color: #000;">=</span> mH/<span style="color: #008;">2</span>*Nq*tB*cB**<span style="color: #008;">2</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    x4 <span style="color: #000;">=</span> mH/<span style="color: #008;">24</span>*Nq*tB*cB**<span style="color: #008;">4</span>*<span style="color: black;">&#40;</span><span style="color: #008;">5</span>-tB**<span style="color: #008;">2</span>+<span style="color: #008;">9</span>*etaq<span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    x6 <span style="color: #000;">=</span> mH/<span style="color: #008;">720</span>*Nq*tB*cB**<span style="color: #008;">6</span>*<span style="color: black;">&#40;</span><span style="color: #008;">61</span>-<span style="color: #008;">58</span>*tB**<span style="color: #008;">2</span>+tB**<span style="color: #008;">4</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    N <span style="color: #000;">=</span> x0 + x2*DL**<span style="color: #008;">2</span> + x4*DL**<span style="color: #008;">4</span> + x6*DL**<span style="color: #008;">6</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    y1 <span style="color: #000;">=</span> mH*Nq*cB</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    y3 <span style="color: #000;">=</span> mH/<span style="color: #008;">6</span>*Nq*cB**<span style="color: #008;">3</span>*<span style="color: black;">&#40;</span><span style="color: #008;">1</span>-tB**<span style="color: #008;">2</span>+etaq<span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    y5 <span style="color: #000;">=</span> mH/<span style="color: #008;">120</span>*Nq*cB**<span style="color: #008;">5</span>*<span style="color: black;">&#40;</span><span style="color: #008;">5</span>-<span style="color: #008;">18</span>*tB**<span style="color: #008;">2</span>+tB**<span style="color: #008;">4</span>+etaq*<span style="color: black;">&#40;</span><span style="color: #008;">14</span>-<span style="color: #008;">58</span>*tB**<span style="color: #008;">2</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    E <span style="color: #000;">=</span> y1*DL + y3*DL**<span style="color: #008;">3</span> + y5*DL**<span style="color: #008;">5</span> + <span style="color: #008;">500000</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #ff7700;">return</span> N<span style="color: #000;">,</span> E<span style="color: #000;">,</span> Zone</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Schritt 1: Wie soll das Kind heißen?</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #808;">print</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>Geben Sie einen Basisnamen für die erzeugten Dateien an!<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      <span style="color: #080;">&quot;Existierende Dateien mit diesem Namen und den Endungen .dxf, <span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      <span style="color: #080;">&quot;.xyz, .png, .log, .txt und .stl werden ohne Warnung überschrieben.<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">name <span style="color: #000;">=</span> <span style="color: #808;">input</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;Dateiname ohne Endung: &quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">log<span style="color: black;">&#40;</span><span style="color: #080;">&quot;Basisname: &quot;</span>+name<span style="color: #000;">,</span> sichtbar<span style="color: #000;">=</span><span style="color: #808;">False</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Schritt 2: Wo sind die Geodaten?</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #808;">print</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>Das Programm benötigt Geodaten vom Webserver www.opengeodata.nrw.de.&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      <span style="color: #080;">&quot;<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      <span style="color: #080;">&quot;Bitte wählen Sie den lokalen Ordner für diese Dateien aus.&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Für den Dialog müssen wir Tk laden.</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">Fenster <span style="color: #000;">=</span> Tk<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Wir brauchen das Tk-Hauptfenster hier nicht.</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">Fenster.<span style="color: black;">withdraw</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Die unter Windows und Linux überflüssigen Update-Aufrufe sollen einen Bug</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># unter Mac OS umgehen, durch den der Dialog bis zum Ende des Programms auf dem</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Bildschirm bleibt.</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># https://stackoverflow.com/questions/21866537/what-could-cause-an-open-file-</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#         dialog-window-in-tkinter-python-to-be-really-slow</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">Fenster.<span style="color: black;">update</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Dialogfenster zur Ordnerwahl</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">ordner <span style="color: #000;">=</span> askdirectory<span style="color: black;">&#40;</span>title<span style="color: #000;">=</span><span style="color: #080;">&quot;Bitte den gewünschten Ordner doppelklicken&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">Fenster.<span style="color: black;">update</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff7700;">if</span> <span style="color: #ff7700;">not</span> ordner:</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #808;">print</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>Kein Ordner ausgewählt.&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    sysexit<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">log<span style="color: black;">&#40;</span>f<span style="color: #080;">&quot;Gewählter Ordner: {ordner}&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Schritt 3: Welches Gebiet wollen wir modellieren?</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #808;">print</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>Geben Sie zwei gegenüberliegende Eckpunkte des zu modellierenden<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      <span style="color: #080;">&quot;Rechtecks an! Das Eingabeformat ist (Breite, Länge) in Dezimalgrad,<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      <span style="color: #080;">&quot;also beispielsweise 51.335757,7.479087 – Sie können die Koordinaten<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      <span style="color: #080;">&quot;direkt aus Google Maps oder Ihrem GPS-Gerät übernehmen.<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff7700;">try</span>:</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    lat1<span style="color: #000;">,</span> lon1 <span style="color: #000;">=</span> <span style="color: #808;">eval</span><span style="color: black;">&#40;</span><span style="color: #808;">input</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;Erstes Eckpunktkoordinatenpaar: &quot;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    lat2<span style="color: #000;">,</span> lon2 <span style="color: #000;">=</span> <span style="color: #808;">eval</span><span style="color: black;">&#40;</span><span style="color: #808;">input</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;Gegenüberliegendes Koordinatenpaar: &quot;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff7700;">except</span>:</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #808;">print</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;Es wurden keine zwei mit einem Komma getrennte Zahlen erkannt.&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    sysexit<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Die Eingabe oben war beliebig, wir brauchen aber gleich die Südwestecke</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># unten links und die Nordostecke oben rechts:</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">ul_lat<span style="color: #000;">,</span> or_lat <span style="color: #000;">=</span> <span style="color: #808;">sorted</span><span style="color: black;">&#40;</span><span style="color: black;">&#40;</span>lat1<span style="color: #000;">,</span> lat2<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">ul_lon<span style="color: #000;">,</span> or_lon <span style="color: #000;">=</span> <span style="color: #808;">sorted</span><span style="color: black;">&#40;</span><span style="color: black;">&#40;</span>lon1<span style="color: #000;">,</span> lon2<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">log<span style="color: black;">&#40;</span>f<span style="color: #080;">&quot;Geokoordinaten: {ul_lat},{ul_lon} {or_lat},{or_lon}&quot;</span><span style="color: #000;">,</span> sichtbar<span style="color: #000;">=</span><span style="color: #808;">False</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Umrechnung der Dezimalgradkoordinaten ins UTM-System; aus Längen- und</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Breitengrad werden ein Nordwert, ein Ostwert und eine Zonennummer.</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">ul_n<span style="color: #000;">,</span> e<span style="color: #000;">,</span> zn <span style="color: #000;">=</span> <span style="color: #808;">map</span><span style="color: black;">&#40;</span><span style="color: #808;">int</span><span style="color: #000;">,</span> utm<span style="color: black;">&#40;</span>ul_lat<span style="color: #000;">,</span> ul_lon<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Die Zonennummer ist in den Dateien, die unter opengeodata.nrw.de</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># heruntergeladen werden können, dem Ostwert vorangestellt.</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">ul_e <span style="color: #000;">=</span> <span style="color: #808;">int</span><span style="color: black;">&#40;</span>f<span style="color: #080;">&quot;{zn}{e}&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Das gleiche noch einmal für die Nordostecke unseres Rechtecks.</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">or_n<span style="color: #000;">,</span> e<span style="color: #000;">,</span> zn <span style="color: #000;">=</span> <span style="color: #808;">map</span><span style="color: black;">&#40;</span><span style="color: #808;">int</span><span style="color: #000;">,</span> utm<span style="color: black;">&#40;</span>or_lat<span style="color: #000;">,</span> or_lon<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">or_e <span style="color: #000;">=</span> <span style="color: #808;">int</span><span style="color: black;">&#40;</span>f<span style="color: #080;">&quot;{zn}{e}&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">log<span style="color: black;">&#40;</span><span style="color: #080;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>Lage und Größe des ausgewählten Rechtecks:&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">log<span style="color: black;">&#40;</span>f<span style="color: #080;">&quot;UTM-Koordinaten: {ul_e},{ul_n} {or_e},{or_n} in Zone {zn}&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">log<span style="color: black;">&#40;</span>f<span style="color: #080;">&quot;Ausdehnung Ost-West: {or_e-ul_e} m&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">log<span style="color: black;">&#40;</span>f<span style="color: #080;">&quot;Ausdehnung Nord-Süd: {or_n-ul_n} m&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">log<span style="color: black;">&#40;</span>f<span style="color: #080;">&quot;Fläche: {(or_e-ul_e)*(or_n-ul_n)} m²&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Schritt 4: Liste der zu öffnenden XYZ-Dateien zusammenbauen.</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Bei den NRW-Höhendaten kann man am Dateinamen erkennen, ob gesuchte</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Punkte in ihnen enthalten sein könnten.</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Der Dateiname gibt die untere linke Ecke einer 2000x2000-m²-Kachel an.</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Beispiel für einen Dateinamen: dgm1_32368_5700_2_nw.xyz</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Hier sind die Ostwerte 32368000 bis 32369999 und die Nordwerte</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># 5700000 bis n5701999 enthalten.</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">xyz_Liste <span style="color: #000;">=</span> <span style="color: black;">&#91;</span><span style="color: black;">&#93;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">e_min <span style="color: #000;">=</span> <span style="color: #008;">2</span> * <span style="color: black;">&#40;</span>ul_e // <span style="color: #008;">2000</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">e_max <span style="color: #000;">=</span> <span style="color: #008;">2</span> * <span style="color: black;">&#40;</span>or_e // <span style="color: #008;">2000</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">n_min <span style="color: #000;">=</span> <span style="color: #008;">2</span> * <span style="color: black;">&#40;</span>ul_n // <span style="color: #008;">2000</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">n_max <span style="color: #000;">=</span> <span style="color: #008;">2</span> * <span style="color: black;">&#40;</span>or_n // <span style="color: #008;">2000</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff7700;">for</span> e <span style="color: #ff7700;">in</span> <span style="color: #808;">range</span><span style="color: black;">&#40;</span>e_min<span style="color: #000;">,</span>e_max+<span style="color: #008;">1</span><span style="color: #000;">,</span><span style="color: #008;">2</span><span style="color: black;">&#41;</span>:</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #ff7700;">for</span> n <span style="color: #ff7700;">in</span> <span style="color: #808;">range</span><span style="color: black;">&#40;</span>n_min<span style="color: #000;">,</span>n_max+<span style="color: #008;">1</span><span style="color: #000;">,</span><span style="color: #008;">2</span><span style="color: black;">&#41;</span>:</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        xyz_Liste.<span style="color: black;">append</span><span style="color: black;">&#40;</span>f<span style="color: #080;">&quot;dgm1_{e}_{n}_2_nw.xyz.gz&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Sind alle Dateien vorhanden?</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #808;">print</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>Untersuche Vollständigkeit der Höhendaten…&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Liste fehlender Geländekacheln</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">fehlende_xyz <span style="color: #000;">=</span> <span style="color: black;">&#91;</span><span style="color: black;">&#93;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Für alle benötigten Kacheln:</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff7700;">for</span> xyz_name <span style="color: #ff7700;">in</span> xyz_Liste:</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># Ist diese Kachel im angegebenen Ordner vorhanden?</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #ff7700;">if</span> <span style="color: #ff7700;">not</span> <span style="color: #dc143c;">os</span>.<span style="color: black;">path</span>.<span style="color: black;">isfile</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">os</span>.<span style="color: black;">path</span>.<span style="color: black;">join</span><span style="color: black;">&#40;</span>ordner<span style="color: #000;">,</span>xyz_name<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>:</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        <span style="color: #800; font-style: italic;"># Nein? Name an Liste fehlender Kacheln anhängen</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        fehlende_xyz.<span style="color: black;">append</span><span style="color: black;">&#40;</span>xyz_name<span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Sind Dateien herunterzuladen?</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff7700;">if</span> fehlende_xyz:</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #808;">print</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>Geländekacheln werden heruntergeladen:<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #ff7700;">for</span> xyz_name <span style="color: #ff7700;">in</span> fehlende_xyz: </div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        <span style="color: #800; font-style: italic;"># Downloadadresse der gz-Datei: </span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        url <span style="color: #000;">=</span> <span style="color: black;">&#40;</span><span style="color: #080;">&quot;https://www.opengeodata.nrw.de/&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">               <span style="color: #080;">&quot;produkte/geobasis/hm/dgm1_xyz/dgm1_xyz/&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">               f<span style="color: #080;">&quot;{xyz_name}&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        <span style="color: #800; font-style: italic;"># Datei wird heruntergeladen.</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        <span style="color: #808;">print</span><span style="color: black;">&#40;</span>xyz_name<span style="color: #000;">,</span><span style="color: #080;">&quot;…&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        dateiname <span style="color: #000;">=</span> <span style="color: #dc143c;">os</span>.<span style="color: black;">path</span>.<span style="color: black;">join</span><span style="color: black;">&#40;</span>ordner<span style="color: #000;">,</span>xyz_name<span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        <span style="color: #ff7700;">try</span>:</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">            <span style="color: #ff7700;">with</span> <span style="color: #dc143c;">urllib</span>.<span style="color: black;">request</span>.<span style="color: black;">urlopen</span><span style="color: black;">&#40;</span>url<span style="color: black;">&#41;</span> <span style="color: #ff7700;">as</span> response<span style="color: #000;">,</span> \</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                 <span style="color: #808;">open</span><span style="color: black;">&#40;</span>dateiname<span style="color: #000;">,</span> <span style="color: #080;">'wb'</span><span style="color: black;">&#41;</span> <span style="color: #ff7700;">as</span> datei:</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                datei.<span style="color: black;">write</span><span style="color: black;">&#40;</span>response.<span style="color: black;">read</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        <span style="color: #ff7700;">except</span> <span style="color: #dc143c;">urllib</span>.<span style="color: black;">error</span>.<span style="color: black;">URLError</span>:</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">            <span style="color: #808;">print</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;*** FEHLER ***<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">            <span style="color: #808;">print</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;Der Downloadversuch ist gescheitert. Bitte laden Sie<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #000;">,</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  f<span style="color: #080;">&quot;{url}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  <span style="color: #080;">&quot;mit einem Webbrowser herunter und verschieben Sie die<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  <span style="color: #080;">&quot;Datei in den Ordner<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #000;">,</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  f<span style="color: #080;">&quot;{ordner}.<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">            <span style="color: #808;">print</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;Das Programm versucht nun, die Datei von einem &quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  <span style="color: #080;">&quot;Webbrowser<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  <span style="color: #080;">&quot;herunterladen zu lassen.<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  <span style="color: #080;">&quot;Starten Sie es nach dem Download erneut!<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">            <span style="color: #dc143c;">webbrowser</span>.<span style="color: #808;">open</span><span style="color: black;">&#40;</span>url<span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">            sysexit<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #808;">print</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;… alle benötigten Dateien sind vorhanden.&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Schritt 5: Modelldetails festlegen</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #808;">print</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>Die horizontale Auflösung der Daten beträgt einen Meter, was bei<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      <span style="color: #080;">&quot;größeren Flächen zu extremen Dateigrößen und Verarbeitungszeiten der<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      <span style="color: #080;">&quot;erzeugten Modelle führen kann. Tipp: beginnen Sie mit ungefähr 1000<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      <span style="color: #080;">&quot;Punkten auf der gesamten Fläche und erhöhen Sie die Auflösung in<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      <span style="color: #080;">&quot;weiteren Durchläufen schrittweise.<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Vorschlag für die horizontale Auflösung ermitteln; es sollten etwa 1000</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Punkte in der gesamten Fläche liegen.</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">kl0 <span style="color: #000;">=</span> <span style="color: #808;">max</span><span style="color: black;">&#40;</span><span style="color: #008;">1</span><span style="color: #000;">,</span> <span style="color: #808;">int</span><span style="color: black;">&#40;</span><span style="color: black;">&#40;</span><span style="color: black;">&#40;</span>or_e - ul_e<span style="color: black;">&#41;</span> * <span style="color: black;">&#40;</span>or_n - ul_n<span style="color: black;">&#41;</span> / <span style="color: #008;">1000</span><span style="color: black;">&#41;</span> ** <span style="color: #008;">0.5</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">p0 <span style="color: #000;">=</span> <span style="color: black;">&#40;</span><span style="color: black;">&#40;</span>or_e - ul_e<span style="color: black;">&#41;</span> // kl0<span style="color: black;">&#41;</span> * <span style="color: black;">&#40;</span><span style="color: black;">&#40;</span>or_n - ul_n<span style="color: black;">&#41;</span> // kl0<span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #808;">print</span><span style="color: black;">&#40;</span>f<span style="color: #080;">&quot;Bei {kl0} m Auflösung würden Sie beispielsweise {p0} Punkte &quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      <span style="color: #080;">&quot;erhalten.<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff7700;">try</span>:</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    kl <span style="color: #000;">=</span> <span style="color: #808;">int</span><span style="color: black;">&#40;</span><span style="color: #808;">input</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;Geben Sie einen ganzzahligen Wert ein [m]: &quot;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff7700;">except</span>:</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    kl <span style="color: #000;">=</span> <span style="color: #008;">1</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #808;">print</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>Die vertikale Auflösung der Daten beträgt einen Zentimeter. Das ist<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      <span style="color: #080;">&quot;normalerweise in Ordnung. Für einen Höhenschichteneffekt wie bei<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      <span style="color: #080;">&quot;architektonischen Geländemodellen kann dieser Wert auch auf 100 oder<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      <span style="color: #080;">&quot;mehr geändert werden, je nach gewünschter Effektstärke.<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      <span style="color: #080;">&quot;Nebeneffekt: Das CAD-Volumenmodell benötigt bei größeren Werten<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      <span style="color: #080;">&quot;deutlich weniger Speicherplatz.<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff7700;">try</span>:</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    kh <span style="color: #000;">=</span> <span style="color: #808;">int</span><span style="color: black;">&#40;</span><span style="color: #808;">input</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;Geben Sie einen ganzzahligen Wert ein [cm]: &quot;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff7700;">except</span>:</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    kh <span style="color: #000;">=</span> <span style="color: #008;">1</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Höhe und Breite als Vielfaches der gewählten Auflösung berechnen</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">xmax <span style="color: #000;">=</span> or_e - <span style="color: black;">&#40;</span>or_e - ul_e<span style="color: black;">&#41;</span> % kl</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">ymax <span style="color: #000;">=</span> or_n - <span style="color: black;">&#40;</span>or_n - ul_n<span style="color: black;">&#41;</span> % kl</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">log<span style="color: black;">&#40;</span>f<span style="color: #080;">&quot;Horizontale Auflösung [m]: {kl}&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">log<span style="color: black;">&#40;</span>f<span style="color: #080;">&quot;Vertikale Auflösung [cm]: {kh}&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">log<span style="color: black;">&#40;</span>f<span style="color: #080;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>Ausdehnung Ost-West: {xmax-ul_e} m&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">log<span style="color: black;">&#40;</span>f<span style="color: #080;">&quot;Ausdehnung Nord-Süd: {ymax-ul_n} m&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">fqm <span style="color: #000;">=</span> <span style="color: black;">&#40;</span>xmax - ul_e<span style="color: black;">&#41;</span> * <span style="color: black;">&#40;</span>ymax - ul_n<span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">log<span style="color: black;">&#40;</span>f<span style="color: #080;">&quot;Fläche: {fqm} m² bzw. {fqm/1e6:.3f} km²&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Schritt 6: Verarbeitung der Eingabedateien.</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Alle gefundenen Höhenwerte werden zunächst in ein Dictionary</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># geschrieben, aus dem sie für die einzelnen Dateien wieder</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># ausgelesen werden.</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">D <span style="color: #000;">=</span> <span style="color: black;">&#123;</span><span style="color: black;">&#125;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Die Höhe der Unterseite ist nicht null, sondern orientiert sich</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># am tatsächlichen Gelände.</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">minh <span style="color: #000;">=</span> <span style="color: #808;">float</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;inf&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">maxh <span style="color: #000;">=</span> -<span style="color: #808;">float</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;inf&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Schleife über alle zu verwendenden Eingabedateien</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff7700;">for</span> dateiname <span style="color: #ff7700;">in</span> xyz_Liste:</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #ff7700;">with</span> <span style="color: #dc143c;">gzip</span>.<span style="color: #808;">open</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">os</span>.<span style="color: black;">path</span>.<span style="color: black;">join</span><span style="color: black;">&#40;</span>ordner<span style="color: #000;">,</span> dateiname<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span> <span style="color: #ff7700;">as</span> dgm:</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        log<span style="color: black;">&#40;</span>f<span style="color: #080;">&quot;Verarbeite Kachel {dateiname}&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        <span style="color: #ff7700;">for</span> zeile <span style="color: #ff7700;">in</span> dgm:</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">            <span style="color: #800; font-style: italic;"># Beispiel für eine Zeile aus Bochum:</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">            <span style="color: #800; font-style: italic;"># 32372000.00 5706000.00   61.32</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">            <span style="color: #ff7700;">try</span>:</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                x<span style="color: #000;">,</span>y<span style="color: #000;">,</span>h <span style="color: #000;">=</span> zeile.<span style="color: black;">split</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                x <span style="color: #000;">=</span> <span style="color: #808;">int</span><span style="color: black;">&#40;</span><span style="color: #808;">float</span><span style="color: black;">&#40;</span>x<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                y <span style="color: #000;">=</span> <span style="color: #808;">int</span><span style="color: black;">&#40;</span><span style="color: #808;">float</span><span style="color: black;">&#40;</span>y<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                h <span style="color: #000;">=</span> <span style="color: #808;">float</span><span style="color: black;">&#40;</span>h<span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">            <span style="color: #ff7700;">except</span> <span style="color: #808;">ValueError</span>:</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                <span style="color: #808;">print</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;Abbruch, falsches Format:&quot;</span><span style="color: #000;">,</span>zeile<span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                <span style="color: #ff7700;">break</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">            <span style="color: #800; font-style: italic;"># Koordinaten der Zeile im gesuchten Rechteck?</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">            <span style="color: #ff7700;">if</span> ul_e <span style="color: #000;">&lt;=</span> x <span style="color: #000;">&lt;=</span> or_e <span style="color: #ff7700;">and</span> ul_n <span style="color: #000;">&lt;=</span> y <span style="color: #000;">&lt;=</span> or_n:</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                <span style="color: #800; font-style: italic;"># Liegt der Punkt im ausgedünnten Horizontalraster?</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                <span style="color: #ff7700;">if</span> <span style="color: #ff7700;">not</span> <span style="color: black;">&#40;</span>x - ul_e<span style="color: black;">&#41;</span> % kl <span style="color: #ff7700;">and</span> <span style="color: #ff7700;">not</span> <span style="color: black;">&#40;</span>y - ul_n<span style="color: black;">&#41;</span> % kl:</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                    <span style="color: #800; font-style: italic;"># Punkt wird bei gewählter Auflösung verwendet</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                    <span style="color: #ff7700;">if</span> kh <span style="color: #000;">!=</span> <span style="color: #008;">1</span>:</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                        <span style="color: #800; font-style: italic;"># Höhenwerte werden gerundet</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                        h <span style="color: #000;">=</span> <span style="color: #808;">round</span><span style="color: black;">&#40;</span><span style="color: #808;">round</span><span style="color: black;">&#40;</span>h*<span style="color: #008;">100</span>/kh<span style="color: black;">&#41;</span>*kh/<span style="color: #008;">100</span><span style="color: #000;">,</span> <span style="color: #008;">2</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                    D<span style="color: black;">&#91;</span>x<span style="color: #000;">,</span>y<span style="color: black;">&#93;</span> <span style="color: #000;">=</span> h</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                    minh <span style="color: #000;">=</span> <span style="color: #808;">min</span><span style="color: black;">&#40;</span>h<span style="color: #000;">,</span> minh<span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                    maxh <span style="color: #000;">=</span> <span style="color: #808;">max</span><span style="color: black;">&#40;</span>h<span style="color: #000;">,</span> maxh<span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">log<span style="color: black;">&#40;</span>f<span style="color: #080;">&quot;Größte gefundene Höhe: {maxh:.2f} Meter&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">log<span style="color: black;">&#40;</span>f<span style="color: #080;">&quot;Kleinste gefundene Höhe: {minh:.2f} Meter&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># &quot;echten&quot; minh-Wert für später merken</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">minhs <span style="color: #000;">=</span> minh</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Unterkante des Modells absenken:</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">minh <span style="color: #000;">=</span> <span style="color: #008;">10</span> * floor<span style="color: black;">&#40;</span>minh / <span style="color: #008;">10</span><span style="color: black;">&#41;</span> - <span style="color: #008;">10</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">log<span style="color: black;">&#40;</span>f<span style="color: #080;">&quot;Setze Unterkante auf {minh:.2f} Meter.&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">log<span style="color: black;">&#40;</span>f<span style="color: #080;">&quot;Neue Modellhöhe: {maxh-minh:.2f} Meter&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">##############################################################</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Die Verarbeitung der Eingabedateien ist nun abgeschlossen. #</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">##############################################################</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Schritt 7: Erzeugen der Ausgabedateien.</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">##########################</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Matplotlib-Höhendiagramm</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Das Programm soll auch ohne Matplotlib durchlaufen.</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff7700;">try</span>:</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #ff7700;">import</span> matplotlib.<span style="color: black;">pyplot</span> <span style="color: #ff7700;">as</span> plt</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff7700;">except</span> ModuleNotFoundError:</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #808;">print</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>Ein Höhendiagramm kann nicht angezeigt werden,<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">          <span style="color: #080;">&quot; weil Matplotlib nicht installiert ist.<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    plt <span style="color: #000;">=</span> <span style="color: #808;">None</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Wenn der Matplotlib-Import erfolgreich war:</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff7700;">if</span> plt:</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># Diagramm anzeigen</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #808;">print</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>Höhendiagramm wird erzeugt.&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># Keine Interaktion, Diagramm nur anzeigen …</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    plt.<span style="color: black;">rcParams</span><span style="color: black;">&#91;</span><span style="color: #080;">'toolbar'</span><span style="color: black;">&#93;</span> <span style="color: #000;">=</span> <span style="color: #080;">'None'</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># Einheitlicher Maßstab für x und y</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    plt.<span style="color: black;">axis</span><span style="color: black;">&#40;</span><span style="color: #080;">'equal'</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># Für das Diagramm wird die untere linke Ecke auf (0,0)</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># gesetzt. Wer kann schon was mit UTM-Koordinaten anfangen?</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># Liste der x-Werte</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    xi <span style="color: #000;">=</span> <span style="color: #808;">list</span><span style="color: black;">&#40;</span><span style="color: #808;">range</span><span style="color: black;">&#40;</span><span style="color: #008;">0</span><span style="color: #000;">,</span> or_e - ul_e + <span style="color: #008;">1</span><span style="color: #000;">,</span> kl<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># Liste der y-Werte</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    yi <span style="color: #000;">=</span> <span style="color: #808;">list</span><span style="color: black;">&#40;</span><span style="color: #808;">range</span><span style="color: black;">&#40;</span><span style="color: #008;">0</span><span style="color: #000;">,</span> or_n - ul_n + <span style="color: #008;">1</span><span style="color: #000;">,</span> kl<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># Matrix der Höhenwerte für alle x-y-Paare</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    zi <span style="color: #000;">=</span> <span style="color: black;">&#91;</span><span style="color: black;">&#91;</span>D<span style="color: black;">&#91;</span><span style="color: black;">&#40;</span>x + ul_e<span style="color: #000;">,</span> y + ul_n<span style="color: black;">&#41;</span><span style="color: black;">&#93;</span> <span style="color: #ff7700;">for</span> x <span style="color: #ff7700;">in</span> xi<span style="color: black;">&#93;</span> <span style="color: #ff7700;">for</span> y <span style="color: #ff7700;">in</span> yi<span style="color: black;">&#93;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># Anzahl der Höhenlinien: etwa 10 (7 bis 14)</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    nh <span style="color: #000;">=</span> <span style="color: black;">&#40;</span>maxh - minhs<span style="color: black;">&#41;</span> * <span style="color: #008;">100</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #ff7700;">while</span> nh <span style="color: #000;">&gt;</span> <span style="color: #008;">70</span>: nh <span style="color: #000;">=</span> <span style="color: #808;">int</span><span style="color: black;">&#40;</span>nh / <span style="color: #008;">10</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #ff7700;">if</span> nh <span style="color: #000;">&gt;</span> <span style="color: #008;">35</span>: nh <span style="color: #000;">=</span> <span style="color: #808;">int</span><span style="color: black;">&#40;</span>nh / <span style="color: #008;">5</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #ff7700;">if</span> nh <span style="color: #000;">&gt;</span> <span style="color: #008;">14</span>: nh <span style="color: #000;">=</span> <span style="color: #808;">int</span><span style="color: black;">&#40;</span>nh / <span style="color: #008;">2</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># print(&quot;Zeichne&quot;,nh,&quot;Höhenlinien.&quot;)</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># Höhenlinien</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    plt.<span style="color: black;">contour</span><span style="color: black;">&#40;</span>xi<span style="color: #000;">,</span> yi<span style="color: #000;">,</span> zi<span style="color: #000;">,</span> nh<span style="color: #000;">,</span> linewidths<span style="color: #000;">=</span><span style="color: #008;">1</span><span style="color: #000;">,</span> colors<span style="color: #000;">=</span><span style="color: #080;">&quot;k&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># farbige Oberfläche</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    plt.<span style="color: black;">pcolormesh</span><span style="color: black;">&#40;</span>xi<span style="color: #000;">,</span> yi<span style="color: #000;">,</span> zi<span style="color: #000;">,</span> cmap <span style="color: #000;">=</span> plt.<span style="color: black;">get_cmap</span><span style="color: black;">&#40;</span><span style="color: #080;">'terrain'</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># Legende</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    plt.<span style="color: black;">colorbar</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># Überschrift</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    plt.<span style="color: black;">title</span><span style="color: black;">&#40;</span>f<span style="color: #080;">&quot;Ausschnittgröße {xmax-ul_e}×{ymax-ul_n} m<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">              f<span style="color: #080;">&quot;(0,0) bei {ul_lat}° Nord, {ul_lon}° Ost&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    plt.<span style="color: black;">gcf</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>.<span style="color: black;">canvas</span>.<span style="color: black;">set_window_title</span><span style="color: black;">&#40;</span>f<span style="color: #080;">'Höhendiagramm {name}'</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># Das Höhendiagramm anzeigen und zurück zum Programm …</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    plt.<span style="color: black;">show</span><span style="color: black;">&#40;</span>block<span style="color: #000;">=</span><span style="color: #808;">False</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># Bitte nicht erst auf eine günstige Gelegenheit zur Anzeige warten,</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># sondern das Diagramm sofort anzeigen!</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    plt.<span style="color: black;">gcf</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>.<span style="color: black;">canvas</span>.<span style="color: black;">flush_events</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># Bild als PNG speichern</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    ausname <span style="color: #000;">=</span> name+<span style="color: #080;">&quot;.png&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    log<span style="color: black;">&#40;</span>f<span style="color: #080;">&quot;Schreibe PNG-Ausgabedatei: {ausname}&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    plt.<span style="color: black;">savefig</span><span style="color: black;">&#40;</span>ausname<span style="color: #000;">,</span> bbox_inches<span style="color: #000;">=</span><span style="color: #080;">'tight'</span><span style="color: #000;">,</span> dpi<span style="color: #000;">=</span><span style="color: #008;">600</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">###########</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># XYZ-Datei</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Alle verwendeten Punkte als simple XYZ-Datei sichern</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">ausname <span style="color: #000;">=</span> name+<span style="color: #080;">&quot;.xyz&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">log<span style="color: black;">&#40;</span>f<span style="color: #080;">&quot;Schreibe XYZ-Ausgabedatei: {ausname}&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff7700;">with</span> <span style="color: #808;">open</span><span style="color: black;">&#40;</span>ausname<span style="color: #000;">,</span><span style="color: #080;">&quot;w&quot;</span><span style="color: black;">&#41;</span> <span style="color: #ff7700;">as</span> aus:</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #ff7700;">for</span> x <span style="color: #ff7700;">in</span> <span style="color: #808;">range</span><span style="color: black;">&#40;</span>ul_e<span style="color: #000;">,</span>or_e+<span style="color: #008;">1</span><span style="color: #000;">,</span>kl<span style="color: black;">&#41;</span>:</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        <span style="color: #ff7700;">for</span> y <span style="color: #ff7700;">in</span> <span style="color: #808;">range</span><span style="color: black;">&#40;</span>ul_n<span style="color: #000;">,</span>or_n+<span style="color: #008;">1</span><span style="color: #000;">,</span>kl<span style="color: black;">&#41;</span>:</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">            aus.<span style="color: black;">write</span><span style="color: black;">&#40;</span>f<span style="color: #080;">&quot;{x} {y} {D[(x,y)]}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">###############</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># BIM-TXT-Datei            </span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># XYZ-Daten für BricsCAD mit Komma trennen und zum Koordinatenursprung</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># verschieben.</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">ausname <span style="color: #000;">=</span> name+<span style="color: #080;">&quot;.txt&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">log<span style="color: black;">&#40;</span>f<span style="color: #080;">&quot;Schreibe BricsCAD-BIM-Geländedatei: {ausname}&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff7700;">with</span> <span style="color: #808;">open</span><span style="color: black;">&#40;</span>ausname<span style="color: #000;">,</span><span style="color: #080;">&quot;w&quot;</span><span style="color: black;">&#41;</span> <span style="color: #ff7700;">as</span> aus:</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #ff7700;">for</span> x <span style="color: #ff7700;">in</span> <span style="color: #808;">range</span><span style="color: black;">&#40;</span>ul_e<span style="color: #000;">,</span>or_e+<span style="color: #008;">1</span><span style="color: #000;">,</span>kl<span style="color: black;">&#41;</span>:</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        <span style="color: #ff7700;">for</span> y <span style="color: #ff7700;">in</span> <span style="color: #808;">range</span><span style="color: black;">&#40;</span>ul_n<span style="color: #000;">,</span>or_n+<span style="color: #008;">1</span><span style="color: #000;">,</span>kl<span style="color: black;">&#41;</span>:</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">            aus.<span style="color: black;">write</span><span style="color: black;">&#40;</span>f<span style="color: #080;">&quot;{x-ul_e},{y-ul_n},{D[(x,y)]}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">############</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># DXF-Export</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">ausname <span style="color: #000;">=</span> name+<span style="color: #080;">&quot;.dxf&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">log<span style="color: black;">&#40;</span>f<span style="color: #080;">&quot;Schreibe DXF-Datei mit 3D-Flächen: {ausname}&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Weil 3D-Solids in einem obskuren „Geheimformat“ gespeichert werden, wird</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># hier nur die umhüllende Fläche erzeugt. Diese muss im CAD-Programm mittels</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># der Befehle REGION ALLE und DMHEFTEN bzw. FLÄCHEFORM umgewandelt werden,</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># um einen richtigen Geländekörper zu erhalten.</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff7700;">def</span> hf<span style="color: black;">&#40;</span>h<span style="color: black;">&#41;</span>:</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># &quot;Höhenfarbe&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># Gibt abhängig von der relativen Höhe eine von 17 Indexfarben zurück,</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># Erscheinungsbild ähnelt dem topographischer Karten.</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #ff7700;">return</span> <span style="color: black;">&#40;</span><span style="color: #008;">194</span><span style="color: #000;">,</span> <span style="color: #008;">182</span><span style="color: #000;">,</span> <span style="color: #008;">170</span><span style="color: #000;">,</span> <span style="color: #008;">160</span><span style="color: #000;">,</span> <span style="color: #008;">150</span><span style="color: #000;">,</span> <span style="color: #008;">134</span><span style="color: #000;">,</span> <span style="color: #008;">112</span><span style="color: #000;">,</span> <span style="color: #008;">100</span><span style="color: #000;">,</span> <span style="color: #008;">91</span><span style="color: #000;">,</span> <span style="color: #008;">71</span><span style="color: #000;">,</span> <span style="color: #008;">61</span><span style="color: #000;">,</span> <span style="color: #008;">50</span><span style="color: #000;">,</span> <span style="color: #008;">40</span><span style="color: #000;">,</span> <span style="color: #008;">42</span><span style="color: #000;">,</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">            <span style="color: #008;">31</span><span style="color: #000;">,</span> <span style="color: #008;">9</span><span style="color: #000;">,</span> <span style="color: #008;">254</span><span style="color: black;">&#41;</span><span style="color: black;">&#91;</span><span style="color: #808;">int</span><span style="color: black;">&#40;</span><span style="color: #008;">17</span>*<span style="color: black;">&#40;</span>h-minhs<span style="color: black;">&#41;</span>/<span style="color: black;">&#40;</span>maxh-minhs<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span><span style="color: black;">&#93;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff7700;">with</span> <span style="color: #808;">open</span><span style="color: black;">&#40;</span>ausname<span style="color: #000;">,</span><span style="color: #080;">&quot;w&quot;</span><span style="color: black;">&#41;</span> <span style="color: #ff7700;">as</span> aus:</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># Kopf der DXF-Datei schreiben</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    aus.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;0<span style="color: #000099; font-weight: bold;">\n</span>SECTION<span style="color: #000099; font-weight: bold;">\n</span>2<span style="color: #000099; font-weight: bold;">\n</span>HEADER<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">              <span style="color: #080;">&quot;9<span style="color: #000099; font-weight: bold;">\n</span>$ACADVER<span style="color: #000099; font-weight: bold;">\n</span>1<span style="color: #000099; font-weight: bold;">\n</span>AC1006<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">              <span style="color: #080;">&quot;9<span style="color: #000099; font-weight: bold;">\n</span>$INSBASE<span style="color: #000099; font-weight: bold;">\n</span>10<span style="color: #000099; font-weight: bold;">\n</span>0.0<span style="color: #000099; font-weight: bold;">\n</span>20<span style="color: #000099; font-weight: bold;">\n</span>0.0<span style="color: #000099; font-weight: bold;">\n</span>30<span style="color: #000099; font-weight: bold;">\n</span>0.0<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">              <span style="color: #080;">&quot;9<span style="color: #000099; font-weight: bold;">\n</span>$INSUNITS<span style="color: #000099; font-weight: bold;">\n</span>70<span style="color: #000099; font-weight: bold;">\n</span>6<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">              <span style="color: #080;">&quot;9<span style="color: #000099; font-weight: bold;">\n</span>$EXTMIN<span style="color: #000099; font-weight: bold;">\n</span>10<span style="color: #000099; font-weight: bold;">\n</span>0.0<span style="color: #000099; font-weight: bold;">\n</span>20<span style="color: #000099; font-weight: bold;">\n</span>0.0<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">              f<span style="color: #080;">&quot;9<span style="color: #000099; font-weight: bold;">\n</span>$EXTMAX<span style="color: #000099; font-weight: bold;">\n</span>10<span style="color: #000099; font-weight: bold;">\n</span>{xmax-ul_e}<span style="color: #000099; font-weight: bold;">\n</span>20<span style="color: #000099; font-weight: bold;">\n</span>{ymax-ul_n}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">              <span style="color: #080;">&quot;9<span style="color: #000099; font-weight: bold;">\n</span>$LIMMIN<span style="color: #000099; font-weight: bold;">\n</span>10<span style="color: #000099; font-weight: bold;">\n</span>0.0<span style="color: #000099; font-weight: bold;">\n</span>20<span style="color: #000099; font-weight: bold;">\n</span>0.0<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">              f<span style="color: #080;">&quot;9<span style="color: #000099; font-weight: bold;">\n</span>$LIMMAX<span style="color: #000099; font-weight: bold;">\n</span>10<span style="color: #000099; font-weight: bold;">\n</span>{xmax-ul_e}<span style="color: #000099; font-weight: bold;">\n</span>20<span style="color: #000099; font-weight: bold;">\n</span>{ymax-ul_n}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">              <span style="color: #080;">&quot;0<span style="color: #000099; font-weight: bold;">\n</span>ENDSEC<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">              <span style="color: #080;">&quot;0<span style="color: #000099; font-weight: bold;">\n</span>SECTION<span style="color: #000099; font-weight: bold;">\n</span>2<span style="color: #000099; font-weight: bold;">\n</span>TABLES<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">              <span style="color: #080;">&quot;0<span style="color: #000099; font-weight: bold;">\n</span>TABLE<span style="color: #000099; font-weight: bold;">\n</span>2<span style="color: #000099; font-weight: bold;">\n</span>LAYER<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">              <span style="color: #080;">&quot;70<span style="color: #000099; font-weight: bold;">\n</span>2<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">              <span style="color: #080;">&quot;0<span style="color: #000099; font-weight: bold;">\n</span>LAYER<span style="color: #000099; font-weight: bold;">\n</span>2<span style="color: #000099; font-weight: bold;">\n</span>Gelaendemodell.py<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">              <span style="color: #080;">&quot;70<span style="color: #000099; font-weight: bold;">\n</span>64<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">              <span style="color: #080;">&quot;62<span style="color: #000099; font-weight: bold;">\n</span>7<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">              <span style="color: #080;">&quot;6<span style="color: #000099; font-weight: bold;">\n</span>CONTINUOUS<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">              <span style="color: #080;">&quot;0<span style="color: #000099; font-weight: bold;">\n</span>ENDTAB<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">              <span style="color: #080;">&quot;0<span style="color: #000099; font-weight: bold;">\n</span>ENDSEC<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">              <span style="color: #080;">&quot;0<span style="color: #000099; font-weight: bold;">\n</span>SECTION<span style="color: #000099; font-weight: bold;">\n</span>2<span style="color: #000099; font-weight: bold;">\n</span>ENTITIES<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># Geländeoberfläche</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #ff7700;">for</span> x <span style="color: #ff7700;">in</span> <span style="color: #808;">range</span><span style="color: black;">&#40;</span>ul_e<span style="color: #000;">,</span>xmax+<span style="color: #008;">1</span>-kl<span style="color: #000;">,</span>kl<span style="color: black;">&#41;</span>:</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      xu <span style="color: #000;">=</span> x - ul_e</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      <span style="color: #ff7700;">for</span> y <span style="color: #ff7700;">in</span> <span style="color: #808;">range</span><span style="color: black;">&#40;</span>ul_n<span style="color: #000;">,</span>ymax+<span style="color: #008;">1</span>-kl<span style="color: #000;">,</span>kl<span style="color: black;">&#41;</span>:</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        yu <span style="color: #000;">=</span> y - ul_n</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        h1 <span style="color: #000;">=</span> D<span style="color: black;">&#91;</span>x<span style="color: #000;">,</span>y<span style="color: black;">&#93;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        h2 <span style="color: #000;">=</span> D<span style="color: black;">&#91;</span>x+kl<span style="color: #000;">,</span>y<span style="color: black;">&#93;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        h3 <span style="color: #000;">=</span> D<span style="color: black;">&#91;</span>x<span style="color: #000;">,</span>y+kl<span style="color: black;">&#93;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        h4 <span style="color: #000;">=</span> D<span style="color: black;">&#91;</span>x+kl<span style="color: #000;">,</span>y+kl<span style="color: black;">&#93;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        <span style="color: #800; font-style: italic;"># Die vier Eckpunkte werden auf zwei Dreiecke aufgeteilt.</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        <span style="color: #800; font-style: italic;"># Als Diagonale wird die kürzere der beiden Verbindungen</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        <span style="color: #800; font-style: italic;"># 1-4 bzw. 2-3 gewählt:</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        <span style="color: #800; font-style: italic;"># entweder</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        <span style="color: #800; font-style: italic;">#     3 4         4     3 4</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        <span style="color: #800; font-style: italic;">#     1 2   =   1 2  +  1</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        <span style="color: #800; font-style: italic;"># oder</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        <span style="color: #800; font-style: italic;">#     3 4       3       3 4</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        <span style="color: #800; font-style: italic;">#     1 2   =   1 2  +    2</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        <span style="color: #800; font-style: italic;"># Ein Dreieck ist im DXF-Format ein Viereck, bei dem der letzte Punkt</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        <span style="color: #800; font-style: italic;"># doppelt vorkommt.</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        <span style="color: #ff7700;">if</span> <span style="color: #808;">abs</span><span style="color: black;">&#40;</span>h4-h1<span style="color: black;">&#41;</span> <span style="color: #000;">&lt;</span> <span style="color: #808;">abs</span><span style="color: black;">&#40;</span>h2-h3<span style="color: black;">&#41;</span>:</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">            <span style="color: #800; font-style: italic;"># Diagonale 1-4</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">            aus.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;0<span style="color: #000099; font-weight: bold;">\n</span>3DFACE<span style="color: #000099; font-weight: bold;">\n</span>8<span style="color: #000099; font-weight: bold;">\n</span>Gelaendemodell.py<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                      f<span style="color: #080;">&quot;62<span style="color: #000099; font-weight: bold;">\n</span>{hf((h1+h4+h2)/3)}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                      f<span style="color: #080;">&quot;10<span style="color: #000099; font-weight: bold;">\n</span>{xu}<span style="color: #000099; font-weight: bold;">\n</span>20<span style="color: #000099; font-weight: bold;">\n</span>{yu}<span style="color: #000099; font-weight: bold;">\n</span>30<span style="color: #000099; font-weight: bold;">\n</span>{h1}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                      f<span style="color: #080;">&quot;11<span style="color: #000099; font-weight: bold;">\n</span>{xu+kl}<span style="color: #000099; font-weight: bold;">\n</span>21<span style="color: #000099; font-weight: bold;">\n</span>{yu+kl}<span style="color: #000099; font-weight: bold;">\n</span>31<span style="color: #000099; font-weight: bold;">\n</span>{h4}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                      f<span style="color: #080;">&quot;12<span style="color: #000099; font-weight: bold;">\n</span>{xu+kl}<span style="color: #000099; font-weight: bold;">\n</span>22<span style="color: #000099; font-weight: bold;">\n</span>{yu}<span style="color: #000099; font-weight: bold;">\n</span>32<span style="color: #000099; font-weight: bold;">\n</span>{h2}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                      f<span style="color: #080;">&quot;13<span style="color: #000099; font-weight: bold;">\n</span>{xu+kl}<span style="color: #000099; font-weight: bold;">\n</span>23<span style="color: #000099; font-weight: bold;">\n</span>{yu}<span style="color: #000099; font-weight: bold;">\n</span>33<span style="color: #000099; font-weight: bold;">\n</span>{h2}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">            aus.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;0<span style="color: #000099; font-weight: bold;">\n</span>3DFACE<span style="color: #000099; font-weight: bold;">\n</span>8<span style="color: #000099; font-weight: bold;">\n</span>Gelaendemodell.py<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                      f<span style="color: #080;">&quot;62<span style="color: #000099; font-weight: bold;">\n</span>{hf((h1+h3+h4)/3)}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                      f<span style="color: #080;">&quot;10<span style="color: #000099; font-weight: bold;">\n</span>{xu}<span style="color: #000099; font-weight: bold;">\n</span>20<span style="color: #000099; font-weight: bold;">\n</span>{yu}<span style="color: #000099; font-weight: bold;">\n</span>30<span style="color: #000099; font-weight: bold;">\n</span>{h1}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                      f<span style="color: #080;">&quot;11<span style="color: #000099; font-weight: bold;">\n</span>{xu}<span style="color: #000099; font-weight: bold;">\n</span>21<span style="color: #000099; font-weight: bold;">\n</span>{yu+kl}<span style="color: #000099; font-weight: bold;">\n</span>31<span style="color: #000099; font-weight: bold;">\n</span>{h3}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                      f<span style="color: #080;">&quot;12<span style="color: #000099; font-weight: bold;">\n</span>{xu+kl}<span style="color: #000099; font-weight: bold;">\n</span>22<span style="color: #000099; font-weight: bold;">\n</span>{yu+kl}<span style="color: #000099; font-weight: bold;">\n</span>32<span style="color: #000099; font-weight: bold;">\n</span>{h4}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                      f<span style="color: #080;">&quot;13<span style="color: #000099; font-weight: bold;">\n</span>{xu+kl}<span style="color: #000099; font-weight: bold;">\n</span>23<span style="color: #000099; font-weight: bold;">\n</span>{yu+kl}<span style="color: #000099; font-weight: bold;">\n</span>33<span style="color: #000099; font-weight: bold;">\n</span>{h4}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        <span style="color: #ff7700;">else</span>:</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">            <span style="color: #800; font-style: italic;"># Diagonale 2-3</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">            aus.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;0<span style="color: #000099; font-weight: bold;">\n</span>3DFACE<span style="color: #000099; font-weight: bold;">\n</span>8<span style="color: #000099; font-weight: bold;">\n</span>Gelaendemodell.py<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                      f<span style="color: #080;">&quot;62<span style="color: #000099; font-weight: bold;">\n</span>{hf((h1+h3+h2)/3)}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                      f<span style="color: #080;">&quot;10<span style="color: #000099; font-weight: bold;">\n</span>{xu}<span style="color: #000099; font-weight: bold;">\n</span>20<span style="color: #000099; font-weight: bold;">\n</span>{yu}<span style="color: #000099; font-weight: bold;">\n</span>30<span style="color: #000099; font-weight: bold;">\n</span>{h1}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                      f<span style="color: #080;">&quot;11<span style="color: #000099; font-weight: bold;">\n</span>{xu}<span style="color: #000099; font-weight: bold;">\n</span>21<span style="color: #000099; font-weight: bold;">\n</span>{yu+kl}<span style="color: #000099; font-weight: bold;">\n</span>31<span style="color: #000099; font-weight: bold;">\n</span>{h3}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                      f<span style="color: #080;">&quot;12<span style="color: #000099; font-weight: bold;">\n</span>{xu+kl}<span style="color: #000099; font-weight: bold;">\n</span>22<span style="color: #000099; font-weight: bold;">\n</span>{yu}<span style="color: #000099; font-weight: bold;">\n</span>32<span style="color: #000099; font-weight: bold;">\n</span>{h2}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                      f<span style="color: #080;">&quot;13<span style="color: #000099; font-weight: bold;">\n</span>{xu+kl}<span style="color: #000099; font-weight: bold;">\n</span>23<span style="color: #000099; font-weight: bold;">\n</span>{yu}<span style="color: #000099; font-weight: bold;">\n</span>33<span style="color: #000099; font-weight: bold;">\n</span>{h2}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">            aus.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;0<span style="color: #000099; font-weight: bold;">\n</span>3DFACE<span style="color: #000099; font-weight: bold;">\n</span>8<span style="color: #000099; font-weight: bold;">\n</span>Gelaendemodell.py<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                      f<span style="color: #080;">&quot;62<span style="color: #000099; font-weight: bold;">\n</span>{hf((h2+h3+h4)/3)}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                      f<span style="color: #080;">&quot;10<span style="color: #000099; font-weight: bold;">\n</span>{xu+kl}<span style="color: #000099; font-weight: bold;">\n</span>20<span style="color: #000099; font-weight: bold;">\n</span>{yu}<span style="color: #000099; font-weight: bold;">\n</span>30<span style="color: #000099; font-weight: bold;">\n</span>{h2}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                      f<span style="color: #080;">&quot;11<span style="color: #000099; font-weight: bold;">\n</span>{xu}<span style="color: #000099; font-weight: bold;">\n</span>21<span style="color: #000099; font-weight: bold;">\n</span>{yu+kl}<span style="color: #000099; font-weight: bold;">\n</span>31<span style="color: #000099; font-weight: bold;">\n</span>{h3}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                      f<span style="color: #080;">&quot;12<span style="color: #000099; font-weight: bold;">\n</span>{xu+kl}<span style="color: #000099; font-weight: bold;">\n</span>22<span style="color: #000099; font-weight: bold;">\n</span>{yu+kl}<span style="color: #000099; font-weight: bold;">\n</span>32<span style="color: #000099; font-weight: bold;">\n</span>{h4}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                      f<span style="color: #080;">&quot;13<span style="color: #000099; font-weight: bold;">\n</span>{xu+kl}<span style="color: #000099; font-weight: bold;">\n</span>23<span style="color: #000099; font-weight: bold;">\n</span>{yu+kl}<span style="color: #000099; font-weight: bold;">\n</span>33<span style="color: #000099; font-weight: bold;">\n</span>{h4}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># Unterseite</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    aus.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;0<span style="color: #000099; font-weight: bold;">\n</span>3DFACE<span style="color: #000099; font-weight: bold;">\n</span>8<span style="color: #000099; font-weight: bold;">\n</span>Gelaendemodell.py<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">              <span style="color: #080;">&quot;62<span style="color: #000099; font-weight: bold;">\n</span>47<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">              f<span style="color: #080;">&quot;10<span style="color: #000099; font-weight: bold;">\n</span>0<span style="color: #000099; font-weight: bold;">\n</span>20<span style="color: #000099; font-weight: bold;">\n</span>0<span style="color: #000099; font-weight: bold;">\n</span>30<span style="color: #000099; font-weight: bold;">\n</span>{minh}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">              f<span style="color: #080;">&quot;11<span style="color: #000099; font-weight: bold;">\n</span>{xmax-ul_e}<span style="color: #000099; font-weight: bold;">\n</span>21<span style="color: #000099; font-weight: bold;">\n</span>0<span style="color: #000099; font-weight: bold;">\n</span>31<span style="color: #000099; font-weight: bold;">\n</span>{minh}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">              f<span style="color: #080;">&quot;12<span style="color: #000099; font-weight: bold;">\n</span>{xmax-ul_e}<span style="color: #000099; font-weight: bold;">\n</span>22<span style="color: #000099; font-weight: bold;">\n</span>{ymax-ul_n}<span style="color: #000099; font-weight: bold;">\n</span>32<span style="color: #000099; font-weight: bold;">\n</span>{minh}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">              f<span style="color: #080;">&quot;13<span style="color: #000099; font-weight: bold;">\n</span>0<span style="color: #000099; font-weight: bold;">\n</span>23<span style="color: #000099; font-weight: bold;">\n</span>{ymax-ul_n}<span style="color: #000099; font-weight: bold;">\n</span>33<span style="color: #000099; font-weight: bold;">\n</span>{minh}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># Linke Wand</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #ff7700;">for</span> y <span style="color: #ff7700;">in</span> <span style="color: #808;">range</span><span style="color: black;">&#40;</span>ul_n<span style="color: #000;">,</span>ymax+<span style="color: #008;">1</span>-kl<span style="color: #000;">,</span>kl<span style="color: black;">&#41;</span>:</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        yu <span style="color: #000;">=</span> y-ul_n</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        h1 <span style="color: #000;">=</span> D<span style="color: black;">&#91;</span>ul_e<span style="color: #000;">,</span>y<span style="color: black;">&#93;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        h2 <span style="color: #000;">=</span> D<span style="color: black;">&#91;</span>ul_e<span style="color: #000;">,</span>y+kl<span style="color: black;">&#93;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        aus.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;0<span style="color: #000099; font-weight: bold;">\n</span>3DFACE<span style="color: #000099; font-weight: bold;">\n</span>8<span style="color: #000099; font-weight: bold;">\n</span>Gelaendemodell.py<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  <span style="color: #080;">&quot;62<span style="color: #000099; font-weight: bold;">\n</span>47<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  f<span style="color: #080;">&quot;10<span style="color: #000099; font-weight: bold;">\n</span>0<span style="color: #000099; font-weight: bold;">\n</span>20<span style="color: #000099; font-weight: bold;">\n</span>{yu}<span style="color: #000099; font-weight: bold;">\n</span>30<span style="color: #000099; font-weight: bold;">\n</span>{minh}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  f<span style="color: #080;">&quot;11<span style="color: #000099; font-weight: bold;">\n</span>0<span style="color: #000099; font-weight: bold;">\n</span>21<span style="color: #000099; font-weight: bold;">\n</span>{yu+kl}<span style="color: #000099; font-weight: bold;">\n</span>31<span style="color: #000099; font-weight: bold;">\n</span>{minh}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  f<span style="color: #080;">&quot;12<span style="color: #000099; font-weight: bold;">\n</span>0<span style="color: #000099; font-weight: bold;">\n</span>22<span style="color: #000099; font-weight: bold;">\n</span>{yu+kl}<span style="color: #000099; font-weight: bold;">\n</span>32<span style="color: #000099; font-weight: bold;">\n</span>{h2}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  f<span style="color: #080;">&quot;13<span style="color: #000099; font-weight: bold;">\n</span>0<span style="color: #000099; font-weight: bold;">\n</span>23<span style="color: #000099; font-weight: bold;">\n</span>{yu}<span style="color: #000099; font-weight: bold;">\n</span>33<span style="color: #000099; font-weight: bold;">\n</span>{h1}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># Rechte Wand</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #ff7700;">for</span> y <span style="color: #ff7700;">in</span> <span style="color: #808;">range</span><span style="color: black;">&#40;</span>ul_n<span style="color: #000;">,</span>ymax+<span style="color: #008;">1</span>-kl<span style="color: #000;">,</span>kl<span style="color: black;">&#41;</span>:</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        xu <span style="color: #000;">=</span> xmax-ul_e</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        yu <span style="color: #000;">=</span> y-ul_n</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        h1 <span style="color: #000;">=</span> D<span style="color: black;">&#91;</span>xmax<span style="color: #000;">,</span>y<span style="color: black;">&#93;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        h2 <span style="color: #000;">=</span> D<span style="color: black;">&#91;</span>xmax<span style="color: #000;">,</span>y+kl<span style="color: black;">&#93;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        aus.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;0<span style="color: #000099; font-weight: bold;">\n</span>3DFACE<span style="color: #000099; font-weight: bold;">\n</span>8<span style="color: #000099; font-weight: bold;">\n</span>Gelaendemodell.py<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  <span style="color: #080;">&quot;62<span style="color: #000099; font-weight: bold;">\n</span>47<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  f<span style="color: #080;">&quot;10<span style="color: #000099; font-weight: bold;">\n</span>{xu}<span style="color: #000099; font-weight: bold;">\n</span>20<span style="color: #000099; font-weight: bold;">\n</span>{yu}<span style="color: #000099; font-weight: bold;">\n</span>30<span style="color: #000099; font-weight: bold;">\n</span>{minh}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  f<span style="color: #080;">&quot;11<span style="color: #000099; font-weight: bold;">\n</span>{xu}<span style="color: #000099; font-weight: bold;">\n</span>21<span style="color: #000099; font-weight: bold;">\n</span>{yu}<span style="color: #000099; font-weight: bold;">\n</span>31<span style="color: #000099; font-weight: bold;">\n</span>{h1}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  f<span style="color: #080;">&quot;12<span style="color: #000099; font-weight: bold;">\n</span>{xu}<span style="color: #000099; font-weight: bold;">\n</span>22<span style="color: #000099; font-weight: bold;">\n</span>{yu+kl}<span style="color: #000099; font-weight: bold;">\n</span>32<span style="color: #000099; font-weight: bold;">\n</span>{h2}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  f<span style="color: #080;">&quot;13<span style="color: #000099; font-weight: bold;">\n</span>{xu}<span style="color: #000099; font-weight: bold;">\n</span>23<span style="color: #000099; font-weight: bold;">\n</span>{yu+kl}<span style="color: #000099; font-weight: bold;">\n</span>33<span style="color: #000099; font-weight: bold;">\n</span>{minh}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># Vordere Wand</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #ff7700;">for</span> x <span style="color: #ff7700;">in</span> <span style="color: #808;">range</span><span style="color: black;">&#40;</span>ul_e<span style="color: #000;">,</span>xmax+<span style="color: #008;">1</span>-kl<span style="color: #000;">,</span>kl<span style="color: black;">&#41;</span>:</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        h1 <span style="color: #000;">=</span> D<span style="color: black;">&#91;</span>x<span style="color: #000;">,</span>ul_n<span style="color: black;">&#93;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        h2 <span style="color: #000;">=</span> D<span style="color: black;">&#91;</span>x+kl<span style="color: #000;">,</span>ul_n<span style="color: black;">&#93;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        xu <span style="color: #000;">=</span> x - ul_e</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        aus.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;0<span style="color: #000099; font-weight: bold;">\n</span>3DFACE<span style="color: #000099; font-weight: bold;">\n</span>8<span style="color: #000099; font-weight: bold;">\n</span>Gelaendemodell.py<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  <span style="color: #080;">&quot;62<span style="color: #000099; font-weight: bold;">\n</span>47<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  f<span style="color: #080;">&quot;10<span style="color: #000099; font-weight: bold;">\n</span>{xu}<span style="color: #000099; font-weight: bold;">\n</span>20<span style="color: #000099; font-weight: bold;">\n</span>0<span style="color: #000099; font-weight: bold;">\n</span>30<span style="color: #000099; font-weight: bold;">\n</span>{minh}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  f<span style="color: #080;">&quot;11<span style="color: #000099; font-weight: bold;">\n</span>{xu}<span style="color: #000099; font-weight: bold;">\n</span>21<span style="color: #000099; font-weight: bold;">\n</span>0<span style="color: #000099; font-weight: bold;">\n</span>31<span style="color: #000099; font-weight: bold;">\n</span>{h1}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  f<span style="color: #080;">&quot;12<span style="color: #000099; font-weight: bold;">\n</span>{xu+kl}<span style="color: #000099; font-weight: bold;">\n</span>22<span style="color: #000099; font-weight: bold;">\n</span>0<span style="color: #000099; font-weight: bold;">\n</span>32<span style="color: #000099; font-weight: bold;">\n</span>{h2}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  f<span style="color: #080;">&quot;13<span style="color: #000099; font-weight: bold;">\n</span>{xu+kl}<span style="color: #000099; font-weight: bold;">\n</span>23<span style="color: #000099; font-weight: bold;">\n</span>0<span style="color: #000099; font-weight: bold;">\n</span>33<span style="color: #000099; font-weight: bold;">\n</span>{minh}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># Hintere Wand</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #ff7700;">for</span> x <span style="color: #ff7700;">in</span> <span style="color: #808;">range</span><span style="color: black;">&#40;</span>ul_e<span style="color: #000;">,</span>xmax+<span style="color: #008;">1</span>-kl<span style="color: #000;">,</span>kl<span style="color: black;">&#41;</span>:</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        xu <span style="color: #000;">=</span> x - ul_e</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        yu <span style="color: #000;">=</span> ymax - ul_n</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        h1 <span style="color: #000;">=</span> D<span style="color: black;">&#91;</span>x<span style="color: #000;">,</span>ymax<span style="color: black;">&#93;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        h2 <span style="color: #000;">=</span> D<span style="color: black;">&#91;</span>x+kl<span style="color: #000;">,</span>ymax<span style="color: black;">&#93;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        aus.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;0<span style="color: #000099; font-weight: bold;">\n</span>3DFACE<span style="color: #000099; font-weight: bold;">\n</span>8<span style="color: #000099; font-weight: bold;">\n</span>Gelaendemodell.py<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  <span style="color: #080;">&quot;62<span style="color: #000099; font-weight: bold;">\n</span>47<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  f<span style="color: #080;">&quot;10<span style="color: #000099; font-weight: bold;">\n</span>{xu}<span style="color: #000099; font-weight: bold;">\n</span>20<span style="color: #000099; font-weight: bold;">\n</span>{yu}<span style="color: #000099; font-weight: bold;">\n</span>30<span style="color: #000099; font-weight: bold;">\n</span>{minh}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  f<span style="color: #080;">&quot;11<span style="color: #000099; font-weight: bold;">\n</span>{xu+kl}<span style="color: #000099; font-weight: bold;">\n</span>21<span style="color: #000099; font-weight: bold;">\n</span>{yu}<span style="color: #000099; font-weight: bold;">\n</span>31<span style="color: #000099; font-weight: bold;">\n</span>{minh}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  f<span style="color: #080;">&quot;12<span style="color: #000099; font-weight: bold;">\n</span>{xu+kl}<span style="color: #000099; font-weight: bold;">\n</span>22<span style="color: #000099; font-weight: bold;">\n</span>{yu}<span style="color: #000099; font-weight: bold;">\n</span>32<span style="color: #000099; font-weight: bold;">\n</span>{h2}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  f<span style="color: #080;">&quot;13<span style="color: #000099; font-weight: bold;">\n</span>{xu}<span style="color: #000099; font-weight: bold;">\n</span>23<span style="color: #000099; font-weight: bold;">\n</span>{yu}<span style="color: #000099; font-weight: bold;">\n</span>33<span style="color: #000099; font-weight: bold;">\n</span>{h1}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    aus.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;0<span style="color: #000099; font-weight: bold;">\n</span>ENDSEC<span style="color: #000099; font-weight: bold;">\n</span>0<span style="color: #000099; font-weight: bold;">\n</span>EOF<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">##################################</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Stereolitographiedatei STL ASCII   </span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">ausname <span style="color: #000;">=</span> name+<span style="color: #080;">&quot;.ascii.stl&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">log<span style="color: black;">&#40;</span>f<span style="color: #080;">&quot;Schreibe STL-Datei für 3D-Druck (ASCII): {ausname}&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Die Flächen umhüllen einen Quader, der unten auf Höhe minh aufliegt</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># und oben durch die Geländeoberfläche abgeschnitten wird.</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Für die „Flächennormalen“ wird hier immer eine der Achsenrichtungen</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># eingesetzt. Für die Geländeoberfläche ist das beispielsweise die</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># nach oben gerichtete z-Achse (0, 0, 1).</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Der genaue Winkel ist auch gar nicht relevant. Hauptsache,</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># die „Normale“ zeigt irgendwie aus dem umhüllten Körper heraus</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># und nicht in ihn hinein.</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff7700;">with</span> <span style="color: #808;">open</span><span style="color: black;">&#40;</span>ausname<span style="color: #000;">,</span><span style="color: #080;">&quot;w&quot;</span><span style="color: black;">&#41;</span> <span style="color: #ff7700;">as</span> aus:</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    aus.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;solid &quot;</span>+name+<span style="color: #080;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># Geländeoberfläche</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #ff7700;">for</span> x <span style="color: #ff7700;">in</span> <span style="color: #808;">range</span><span style="color: black;">&#40;</span>ul_e<span style="color: #000;">,</span>xmax+<span style="color: #008;">1</span>-kl<span style="color: #000;">,</span>kl<span style="color: black;">&#41;</span>:</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      xu <span style="color: #000;">=</span> x - ul_e</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      <span style="color: #ff7700;">for</span> y <span style="color: #ff7700;">in</span> <span style="color: #808;">range</span><span style="color: black;">&#40;</span>ul_n<span style="color: #000;">,</span>ymax+<span style="color: #008;">1</span>-kl<span style="color: #000;">,</span>kl<span style="color: black;">&#41;</span>:</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        yu <span style="color: #000;">=</span> y - ul_n</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        h1 <span style="color: #000;">=</span> D<span style="color: black;">&#91;</span>x<span style="color: #000;">,</span>y<span style="color: black;">&#93;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        h2 <span style="color: #000;">=</span> D<span style="color: black;">&#91;</span>x+kl<span style="color: #000;">,</span>y<span style="color: black;">&#93;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        h3 <span style="color: #000;">=</span> D<span style="color: black;">&#91;</span>x<span style="color: #000;">,</span>y+kl<span style="color: black;">&#93;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        h4 <span style="color: #000;">=</span> D<span style="color: black;">&#91;</span>x+kl<span style="color: #000;">,</span>y+kl<span style="color: black;">&#93;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        <span style="color: #800; font-style: italic;"># Kürzere Diagonale wählen</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        <span style="color: #ff7700;">if</span> <span style="color: #808;">abs</span><span style="color: black;">&#40;</span>h4-h1<span style="color: black;">&#41;</span> <span style="color: #000;">&lt;</span> <span style="color: #808;">abs</span><span style="color: black;">&#40;</span>h2-h3<span style="color: black;">&#41;</span>:</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">            aus.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;facet normal 0 0 1<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                      <span style="color: #080;">&quot;outer loop<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                      f<span style="color: #080;">&quot;vertex {xu} {yu} {h1}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                      f<span style="color: #080;">&quot;vertex {xu+kl} {yu+kl} {h4}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                      f<span style="color: #080;">&quot;vertex {xu+kl} {yu} {h2}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                      <span style="color: #080;">&quot;endloop<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                      <span style="color: #080;">&quot;endfacet<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">            aus.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;facet normal 0 0 1<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                      <span style="color: #080;">&quot;outer loop<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                      f<span style="color: #080;">&quot;vertex {xu} {yu} {h1}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                      f<span style="color: #080;">&quot;vertex {xu} {yu+kl} {h3}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                      f<span style="color: #080;">&quot;vertex {xu+kl} {yu+kl} {h4}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                      <span style="color: #080;">&quot;endloop<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                      <span style="color: #080;">&quot;endfacet<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        <span style="color: #ff7700;">else</span>:</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">            aus.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;facet normal 0 0 1<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                      <span style="color: #080;">&quot;outer loop<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                      f<span style="color: #080;">&quot;vertex {xu} {yu} {h1}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                      f<span style="color: #080;">&quot;vertex {xu} {yu+kl} {h3}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                      f<span style="color: #080;">&quot;vertex {xu+kl} {yu} {h2}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                      <span style="color: #080;">&quot;endloop<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                      <span style="color: #080;">&quot;endfacet<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">            aus.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;facet normal 0 0 1<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                      <span style="color: #080;">&quot;outer loop<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                      f<span style="color: #080;">&quot;vertex {xu+kl} {yu} {h2}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                      f<span style="color: #080;">&quot;vertex {xu} {yu+kl} {h3}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                      f<span style="color: #080;">&quot;vertex {xu+kl} {yu+kl} {h4}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                      <span style="color: #080;">&quot;endloop<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                      <span style="color: #080;">&quot;endfacet<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        <span style="color: #800; font-style: italic;"># Was für ein Aufwand für zwei popelige Dreiecke!</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># Die Unterseite und die Seitenflächen wiederholen im Moment</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># die Unterteilung der Oberseite. Dadurch hat die STL-Datei fast</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># doppelt so viele Dreiecke wie eigentlich nur nötig wären.</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># Durch geschickte Aufteilung könnte die Unterseite mit nur zwei</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># Dreiecken realisiert werden, wobei die Seitenflächen mit rund der</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># Hälfte der Dreiecke auskommen könnten. Bei großen Geländesteigungen</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># gibt es da aber ein paar Herausforderungen an den Algorithmus.</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># Unterseite</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #ff7700;">for</span> x <span style="color: #ff7700;">in</span> <span style="color: #808;">range</span><span style="color: black;">&#40;</span>ul_e<span style="color: #000;">,</span>xmax+<span style="color: #008;">1</span>-kl<span style="color: #000;">,</span>kl<span style="color: black;">&#41;</span>:</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      xu <span style="color: #000;">=</span> x - ul_e</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      <span style="color: #ff7700;">for</span> y <span style="color: #ff7700;">in</span> <span style="color: #808;">range</span><span style="color: black;">&#40;</span>ul_n<span style="color: #000;">,</span>ymax+<span style="color: #008;">1</span>-kl<span style="color: #000;">,</span>kl<span style="color: black;">&#41;</span>:</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        yu <span style="color: #000;">=</span> y - ul_n</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        aus.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;facet normal 0 0 -1<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  <span style="color: #080;">&quot;outer loop<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  f<span style="color: #080;">&quot;vertex {xu} {yu} {minh}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  f<span style="color: #080;">&quot;vertex {xu+kl} {yu} {minh}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  f<span style="color: #080;">&quot;vertex {xu+kl} {yu+kl} {minh}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  <span style="color: #080;">&quot;endloop<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  <span style="color: #080;">&quot;endfacet<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        aus.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;facet normal 0 0 -1<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  <span style="color: #080;">&quot;outer loop<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  f<span style="color: #080;">&quot;vertex {xu} {yu} {minh}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  f<span style="color: #080;">&quot;vertex {xu+kl} {yu+kl} {minh}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  f<span style="color: #080;">&quot;vertex {xu} {yu+kl} {minh}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  <span style="color: #080;">&quot;endloop<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  <span style="color: #080;">&quot;endfacet<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># Linke Wand</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #ff7700;">for</span> y <span style="color: #ff7700;">in</span> <span style="color: #808;">range</span><span style="color: black;">&#40;</span>ul_n<span style="color: #000;">,</span>ymax+<span style="color: #008;">1</span>-kl<span style="color: #000;">,</span>kl<span style="color: black;">&#41;</span>:</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        yu <span style="color: #000;">=</span> y-ul_n</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        h1 <span style="color: #000;">=</span> D<span style="color: black;">&#91;</span>ul_e<span style="color: #000;">,</span>y<span style="color: black;">&#93;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        h2 <span style="color: #000;">=</span> D<span style="color: black;">&#91;</span>ul_e<span style="color: #000;">,</span>y+kl<span style="color: black;">&#93;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        aus.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;facet normal -1 0 0<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  <span style="color: #080;">&quot;outer loop<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  f<span style="color: #080;">&quot;vertex 0 {yu} {minh}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  f<span style="color: #080;">&quot;vertex 0 {yu+kl} {h2}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  f<span style="color: #080;">&quot;vertex 0 {yu} {h1}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  <span style="color: #080;">&quot;endloop<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  <span style="color: #080;">&quot;endfacet<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        aus.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;facet normal -1 0 0<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  <span style="color: #080;">&quot;outer loop<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  f<span style="color: #080;">&quot;vertex 0 {yu} {minh}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  f<span style="color: #080;">&quot;vertex 0 {yu+kl} {minh}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  f<span style="color: #080;">&quot;vertex 0 {yu+kl} {h2}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  <span style="color: #080;">&quot;endloop<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  <span style="color: #080;">&quot;endfacet<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># Rechte Wand</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #ff7700;">for</span> y <span style="color: #ff7700;">in</span> <span style="color: #808;">range</span><span style="color: black;">&#40;</span>ul_n<span style="color: #000;">,</span>ymax+<span style="color: #008;">1</span>-kl<span style="color: #000;">,</span>kl<span style="color: black;">&#41;</span>:</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        xu <span style="color: #000;">=</span> xmax-ul_e</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        yu <span style="color: #000;">=</span> y-ul_n</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        h1 <span style="color: #000;">=</span> D<span style="color: black;">&#91;</span>xmax<span style="color: #000;">,</span>y<span style="color: black;">&#93;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        h2 <span style="color: #000;">=</span> D<span style="color: black;">&#91;</span>xmax<span style="color: #000;">,</span>y+kl<span style="color: black;">&#93;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        aus.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;facet normal 1 0 0<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  <span style="color: #080;">&quot;outer loop<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  f<span style="color: #080;">&quot;vertex {xu} {yu} {minh}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  f<span style="color: #080;">&quot;vertex {xu} {yu} {h1}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  f<span style="color: #080;">&quot;vertex {xu} {yu+kl} {h2}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  <span style="color: #080;">&quot;endloop<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  <span style="color: #080;">&quot;endfacet<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        aus.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;facet normal 1 0 0<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  <span style="color: #080;">&quot;outer loop<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  f<span style="color: #080;">&quot;vertex {xu} {yu} {minh}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  f<span style="color: #080;">&quot;vertex {xu} {yu+kl} {h2}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  f<span style="color: #080;">&quot;vertex {xu} {yu+kl} {minh}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  <span style="color: #080;">&quot;endloop<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  <span style="color: #080;">&quot;endfacet<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># Vordere Wand</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #ff7700;">for</span> x <span style="color: #ff7700;">in</span> <span style="color: #808;">range</span><span style="color: black;">&#40;</span>ul_e<span style="color: #000;">,</span>xmax+<span style="color: #008;">1</span>-kl<span style="color: #000;">,</span>kl<span style="color: black;">&#41;</span>:</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        h1 <span style="color: #000;">=</span> D<span style="color: black;">&#91;</span>x<span style="color: #000;">,</span>ul_n<span style="color: black;">&#93;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        h2 <span style="color: #000;">=</span> D<span style="color: black;">&#91;</span>x+kl<span style="color: #000;">,</span>ul_n<span style="color: black;">&#93;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        xu <span style="color: #000;">=</span> x - ul_e</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        aus.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;facet normal 0 -1 0<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  <span style="color: #080;">&quot;outer loop<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  f<span style="color: #080;">&quot;vertex {xu} 0 {minh}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  f<span style="color: #080;">&quot;vertex {xu} 0 {h1}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  f<span style="color: #080;">&quot;vertex {xu+kl} 0 {h2}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  <span style="color: #080;">&quot;endloop<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  <span style="color: #080;">&quot;endfacet<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        aus.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;facet normal 0 -1 0<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  <span style="color: #080;">&quot;outer loop<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  f<span style="color: #080;">&quot;vertex {xu} 0 {minh}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  f<span style="color: #080;">&quot;vertex {xu+kl} 0 {h2}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  f<span style="color: #080;">&quot;vertex {xu+kl} 0 {minh}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  <span style="color: #080;">&quot;endloop<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  <span style="color: #080;">&quot;endfacet<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># Hintere Wand</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #ff7700;">for</span> x <span style="color: #ff7700;">in</span> <span style="color: #808;">range</span><span style="color: black;">&#40;</span>ul_e<span style="color: #000;">,</span>xmax+<span style="color: #008;">1</span>-kl<span style="color: #000;">,</span>kl<span style="color: black;">&#41;</span>:</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        xu <span style="color: #000;">=</span> x - ul_e</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        yu <span style="color: #000;">=</span> ymax - ul_n</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        h1 <span style="color: #000;">=</span> D<span style="color: black;">&#91;</span>x<span style="color: #000;">,</span>ymax<span style="color: black;">&#93;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        h2 <span style="color: #000;">=</span> D<span style="color: black;">&#91;</span>x+kl<span style="color: #000;">,</span>ymax<span style="color: black;">&#93;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        aus.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;facet normal 0 1 0<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  <span style="color: #080;">&quot;outer loop<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  f<span style="color: #080;">&quot;vertex {xu} {yu} {minh}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  f<span style="color: #080;">&quot;vertex {xu+kl} {yu} {h2}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  f<span style="color: #080;">&quot;vertex {xu} {yu} {h1}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  <span style="color: #080;">&quot;endloop<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  <span style="color: #080;">&quot;endfacet<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        aus.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;facet normal 0 1 0<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  <span style="color: #080;">&quot;outer loop<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  f<span style="color: #080;">&quot;vertex {xu} {yu} {minh}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  f<span style="color: #080;">&quot;vertex {xu+kl} {yu} {minh}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  f<span style="color: #080;">&quot;vertex {xu+kl} {yu} {h2}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  <span style="color: #080;">&quot;endloop<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                  <span style="color: #080;">&quot;endfacet<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    aus.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;endsolid &quot;</span>+name+<span style="color: #080;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">##################################</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Stereolitographiedatei STL Binär</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Hier geschieht das gleiche wie bei der STL-ASCII-Ausgabe, nur die</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># erzeugte Datei ist kleiner.</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># https://de.wikipedia.org/wiki/STL-Schnittstelle</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;"># Die struct-Codes unten bedeuten:</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   &quot;&lt;&quot;   niedrigwertiges Byte voran (&quot;little-endian&quot;)</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   &quot;I&quot;   vorzeichenlose Ganzzahl (4 Byte)</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   &quot;12f&quot; 12 Gleitkommawerte (je 4 Byte)</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #800; font-style: italic;">#   &quot;h&quot;   kurze Ganzzahl (2 Byte)</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">ausname <span style="color: #000;">=</span> name+<span style="color: #080;">&quot;.binär.stl&quot;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">log<span style="color: black;">&#40;</span>f<span style="color: #080;">&quot;Schreibe STL-Datei für 3D-Druck (binär): {ausname}&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff7700;">with</span> <span style="color: #808;">open</span><span style="color: black;">&#40;</span>ausname<span style="color: #000;">,</span><span style="color: #080;">&quot;wb&quot;</span><span style="color: black;">&#41;</span> <span style="color: #ff7700;">as</span> aus:</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># 80 Bytes ungenutzter Header</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    aus.<span style="color: black;">write</span><span style="color: black;">&#40;</span>b<span style="color: #080;">'<span style="color: #000099; font-weight: bold;">\0</span>'</span> * <span style="color: #008;">80</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># Wie viele Dreiecke hat das Modell insgesamt?</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    nx <span style="color: #000;">=</span> <span style="color: black;">&#40;</span>xmax - ul_e<span style="color: black;">&#41;</span> // kl </div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    ny <span style="color: #000;">=</span> <span style="color: black;">&#40;</span>ymax - ul_n<span style="color: black;">&#41;</span> // kl </div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    ngesamt <span style="color: #000;">=</span> <span style="color: #008;">4</span> * nx*ny + <span style="color: #008;">4</span> * nx + <span style="color: #008;">4</span> * ny</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    aus.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">struct</span>.<span style="color: black;">pack</span><span style="color: black;">&#40;</span><span style="color: #080;">'&lt;I'</span><span style="color: #000;">,</span> ngesamt<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># Geländeoberfläche</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #ff7700;">for</span> x <span style="color: #ff7700;">in</span> <span style="color: #808;">range</span><span style="color: black;">&#40;</span>ul_e<span style="color: #000;">,</span>xmax+<span style="color: #008;">1</span>-kl<span style="color: #000;">,</span>kl<span style="color: black;">&#41;</span>:</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      xu <span style="color: #000;">=</span> x - ul_e</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      <span style="color: #ff7700;">for</span> y <span style="color: #ff7700;">in</span> <span style="color: #808;">range</span><span style="color: black;">&#40;</span>ul_n<span style="color: #000;">,</span>ymax+<span style="color: #008;">1</span>-kl<span style="color: #000;">,</span>kl<span style="color: black;">&#41;</span>:</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        yu <span style="color: #000;">=</span> y - ul_n</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        h1 <span style="color: #000;">=</span> D<span style="color: black;">&#91;</span>x<span style="color: #000;">,</span>y<span style="color: black;">&#93;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        h2 <span style="color: #000;">=</span> D<span style="color: black;">&#91;</span>x+kl<span style="color: #000;">,</span>y<span style="color: black;">&#93;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        h3 <span style="color: #000;">=</span> D<span style="color: black;">&#91;</span>x<span style="color: #000;">,</span>y+kl<span style="color: black;">&#93;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        h4 <span style="color: #000;">=</span> D<span style="color: black;">&#91;</span>x+kl<span style="color: #000;">,</span>y+kl<span style="color: black;">&#93;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        <span style="color: #ff7700;">if</span> <span style="color: #808;">abs</span><span style="color: black;">&#40;</span>h4-h1<span style="color: black;">&#41;</span> <span style="color: #000;">&lt;</span> <span style="color: #808;">abs</span><span style="color: black;">&#40;</span>h2-h3<span style="color: black;">&#41;</span>:</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">            aus.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">struct</span>.<span style="color: black;">pack</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;&lt;12fh&quot;</span><span style="color: #000;">,</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                                  <span style="color: #008;">0</span><span style="color: #000;">,</span> <span style="color: #008;">0</span><span style="color: #000;">,</span> <span style="color: #008;">1</span><span style="color: #000;">,</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                                  xu<span style="color: #000;">,</span> yu<span style="color: #000;">,</span> h1<span style="color: #000;">,</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                                  xu+kl<span style="color: #000;">,</span> yu+kl<span style="color: #000;">,</span> h4<span style="color: #000;">,</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                                  xu+kl<span style="color: #000;">,</span> yu<span style="color: #000;">,</span> h2<span style="color: #000;">,</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                                  <span style="color: #008;">0</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">            aus.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">struct</span>.<span style="color: black;">pack</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;&lt;12fh&quot;</span><span style="color: #000;">,</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                                  <span style="color: #008;">0</span><span style="color: #000;">,</span> <span style="color: #008;">0</span><span style="color: #000;">,</span> <span style="color: #008;">1</span><span style="color: #000;">,</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                                  xu<span style="color: #000;">,</span> yu<span style="color: #000;">,</span> h1<span style="color: #000;">,</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                                  xu<span style="color: #000;">,</span> yu+kl<span style="color: #000;">,</span> h3<span style="color: #000;">,</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                                  xu+kl<span style="color: #000;">,</span> yu+kl<span style="color: #000;">,</span> h4<span style="color: #000;">,</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                                  <span style="color: #008;">0</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        <span style="color: #ff7700;">else</span>:</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">            aus.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">struct</span>.<span style="color: black;">pack</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;&lt;12fh&quot;</span><span style="color: #000;">,</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                                  <span style="color: #008;">0</span><span style="color: #000;">,</span> <span style="color: #008;">0</span><span style="color: #000;">,</span> <span style="color: #008;">1</span><span style="color: #000;">,</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                                  xu<span style="color: #000;">,</span> yu<span style="color: #000;">,</span> h1<span style="color: #000;">,</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                                  xu<span style="color: #000;">,</span> yu+kl<span style="color: #000;">,</span> h3<span style="color: #000;">,</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                                  xu+kl<span style="color: #000;">,</span> yu<span style="color: #000;">,</span> h2<span style="color: #000;">,</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                                  <span style="color: #008;">0</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">            aus.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">struct</span>.<span style="color: black;">pack</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;&lt;12fh&quot;</span><span style="color: #000;">,</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                                  <span style="color: #008;">0</span><span style="color: #000;">,</span> <span style="color: #008;">0</span><span style="color: #000;">,</span> <span style="color: #008;">1</span><span style="color: #000;">,</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                                  xu+kl<span style="color: #000;">,</span> yu<span style="color: #000;">,</span> h2<span style="color: #000;">,</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                                  xu<span style="color: #000;">,</span> yu+kl<span style="color: #000;">,</span> h3<span style="color: #000;">,</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                                  xu+kl<span style="color: #000;">,</span> yu+kl<span style="color: #000;">,</span> h4<span style="color: #000;">,</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                                  <span style="color: #008;">0</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># Unterseite</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #ff7700;">for</span> x <span style="color: #ff7700;">in</span> <span style="color: #808;">range</span><span style="color: black;">&#40;</span>ul_e<span style="color: #000;">,</span>xmax+<span style="color: #008;">1</span>-kl<span style="color: #000;">,</span>kl<span style="color: black;">&#41;</span>:</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      xu <span style="color: #000;">=</span> x - ul_e</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">      <span style="color: #ff7700;">for</span> y <span style="color: #ff7700;">in</span> <span style="color: #808;">range</span><span style="color: black;">&#40;</span>ul_n<span style="color: #000;">,</span>ymax+<span style="color: #008;">1</span>-kl<span style="color: #000;">,</span>kl<span style="color: black;">&#41;</span>:</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        yu <span style="color: #000;">=</span> y - ul_n</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        aus.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">struct</span>.<span style="color: black;">pack</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;&lt;12fh&quot;</span><span style="color: #000;">,</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                              <span style="color: #008;">0</span><span style="color: #000;">,</span> <span style="color: #008;">0</span><span style="color: #000;">,</span> -<span style="color: #008;">1</span><span style="color: #000;">,</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                              xu<span style="color: #000;">,</span> yu<span style="color: #000;">,</span> minh<span style="color: #000;">,</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                              xu+kl<span style="color: #000;">,</span> yu+kl<span style="color: #000;">,</span> minh<span style="color: #000;">,</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                              xu+kl<span style="color: #000;">,</span> yu<span style="color: #000;">,</span> minh<span style="color: #000;">,</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                              <span style="color: #008;">0</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        aus.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">struct</span>.<span style="color: black;">pack</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;&lt;12fh&quot;</span><span style="color: #000;">,</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                              <span style="color: #008;">0</span><span style="color: #000;">,</span> <span style="color: #008;">0</span><span style="color: #000;">,</span> -<span style="color: #008;">1</span><span style="color: #000;">,</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                              xu<span style="color: #000;">,</span> yu<span style="color: #000;">,</span> minh<span style="color: #000;">,</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                              xu<span style="color: #000;">,</span> yu+kl<span style="color: #000;">,</span> minh<span style="color: #000;">,</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                              xu+kl<span style="color: #000;">,</span> yu+kl<span style="color: #000;">,</span> minh<span style="color: #000;">,</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                              <span style="color: #008;">0</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># Linke Wand</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #ff7700;">for</span> y <span style="color: #ff7700;">in</span> <span style="color: #808;">range</span><span style="color: black;">&#40;</span>ul_n<span style="color: #000;">,</span>ymax+<span style="color: #008;">1</span>-kl<span style="color: #000;">,</span>kl<span style="color: black;">&#41;</span>:</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        yu <span style="color: #000;">=</span> y-ul_n</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        h1 <span style="color: #000;">=</span> D<span style="color: black;">&#91;</span>ul_e<span style="color: #000;">,</span>y<span style="color: black;">&#93;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        h2 <span style="color: #000;">=</span> D<span style="color: black;">&#91;</span>ul_e<span style="color: #000;">,</span>y+kl<span style="color: black;">&#93;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        aus.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">struct</span>.<span style="color: black;">pack</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;&lt;12fh&quot;</span><span style="color: #000;">,</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                              -<span style="color: #008;">1</span><span style="color: #000;">,</span> <span style="color: #008;">0</span><span style="color: #000;">,</span> <span style="color: #008;">0</span><span style="color: #000;">,</span> </div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                              <span style="color: #008;">0</span><span style="color: #000;">,</span> yu<span style="color: #000;">,</span> minh<span style="color: #000;">,</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                              <span style="color: #008;">0</span><span style="color: #000;">,</span> yu+kl<span style="color: #000;">,</span> h2<span style="color: #000;">,</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                              <span style="color: #008;">0</span><span style="color: #000;">,</span> yu<span style="color: #000;">,</span> h1<span style="color: #000;">,</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                              <span style="color: #008;">0</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        aus.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">struct</span>.<span style="color: black;">pack</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;&lt;12fh&quot;</span><span style="color: #000;">,</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                              -<span style="color: #008;">1</span><span style="color: #000;">,</span> <span style="color: #008;">0</span><span style="color: #000;">,</span> <span style="color: #008;">0</span><span style="color: #000;">,</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                              <span style="color: #008;">0</span><span style="color: #000;">,</span> yu<span style="color: #000;">,</span> minh<span style="color: #000;">,</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                              <span style="color: #008;">0</span><span style="color: #000;">,</span> yu+kl<span style="color: #000;">,</span> minh<span style="color: #000;">,</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                              <span style="color: #008;">0</span><span style="color: #000;">,</span> yu+kl<span style="color: #000;">,</span> h2<span style="color: #000;">,</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                              <span style="color: #008;">0</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># Rechte Wand</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    xu <span style="color: #000;">=</span> xmax-ul_e</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #ff7700;">for</span> y <span style="color: #ff7700;">in</span> <span style="color: #808;">range</span><span style="color: black;">&#40;</span>ul_n<span style="color: #000;">,</span>ymax+<span style="color: #008;">1</span>-kl<span style="color: #000;">,</span>kl<span style="color: black;">&#41;</span>:</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        yu <span style="color: #000;">=</span> y-ul_n</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        h1 <span style="color: #000;">=</span> D<span style="color: black;">&#91;</span>xmax<span style="color: #000;">,</span>y<span style="color: black;">&#93;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        h2 <span style="color: #000;">=</span> D<span style="color: black;">&#91;</span>xmax<span style="color: #000;">,</span>y+kl<span style="color: black;">&#93;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        aus.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">struct</span>.<span style="color: black;">pack</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;&lt;12fh&quot;</span><span style="color: #000;">,</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                              <span style="color: #008;">1</span><span style="color: #000;">,</span> <span style="color: #008;">0</span><span style="color: #000;">,</span> <span style="color: #008;">0</span><span style="color: #000;">,</span> </div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                              xu<span style="color: #000;">,</span> yu<span style="color: #000;">,</span> minh<span style="color: #000;">,</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                              xu<span style="color: #000;">,</span> yu<span style="color: #000;">,</span> h1<span style="color: #000;">,</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                              xu<span style="color: #000;">,</span> yu+kl<span style="color: #000;">,</span> h2<span style="color: #000;">,</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                              <span style="color: #008;">0</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        aus.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">struct</span>.<span style="color: black;">pack</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;&lt;12fh&quot;</span><span style="color: #000;">,</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                              <span style="color: #008;">1</span><span style="color: #000;">,</span> <span style="color: #008;">0</span><span style="color: #000;">,</span> <span style="color: #008;">0</span><span style="color: #000;">,</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                              xu<span style="color: #000;">,</span> yu<span style="color: #000;">,</span> minh<span style="color: #000;">,</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                              xu<span style="color: #000;">,</span> yu+kl<span style="color: #000;">,</span> h2<span style="color: #000;">,</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                              xu<span style="color: #000;">,</span> yu+kl<span style="color: #000;">,</span> minh<span style="color: #000;">,</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                              <span style="color: #008;">0</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># Vordere Wand</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #ff7700;">for</span> x <span style="color: #ff7700;">in</span> <span style="color: #808;">range</span><span style="color: black;">&#40;</span>ul_e<span style="color: #000;">,</span>xmax+<span style="color: #008;">1</span>-kl<span style="color: #000;">,</span>kl<span style="color: black;">&#41;</span>:</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        h1 <span style="color: #000;">=</span> D<span style="color: black;">&#91;</span>x<span style="color: #000;">,</span>ul_n<span style="color: black;">&#93;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        h2 <span style="color: #000;">=</span> D<span style="color: black;">&#91;</span>x+kl<span style="color: #000;">,</span>ul_n<span style="color: black;">&#93;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        xu <span style="color: #000;">=</span> x - ul_e</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        aus.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">struct</span>.<span style="color: black;">pack</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;&lt;12fh&quot;</span><span style="color: #000;">,</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                              <span style="color: #008;">0</span><span style="color: #000;">,</span> -<span style="color: #008;">1</span><span style="color: #000;">,</span> <span style="color: #008;">0</span><span style="color: #000;">,</span> </div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                              xu<span style="color: #000;">,</span> <span style="color: #008;">0</span><span style="color: #000;">,</span> minh<span style="color: #000;">,</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                              xu<span style="color: #000;">,</span> <span style="color: #008;">0</span><span style="color: #000;">,</span> h1<span style="color: #000;">,</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                              xu+kl<span style="color: #000;">,</span> <span style="color: #008;">0</span><span style="color: #000;">,</span> h2<span style="color: #000;">,</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                              <span style="color: #008;">0</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        aus.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">struct</span>.<span style="color: black;">pack</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;&lt;12fh&quot;</span><span style="color: #000;">,</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                              <span style="color: #008;">0</span><span style="color: #000;">,</span> -<span style="color: #008;">1</span><span style="color: #000;">,</span> <span style="color: #008;">0</span><span style="color: #000;">,</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                              xu<span style="color: #000;">,</span> <span style="color: #008;">0</span><span style="color: #000;">,</span> minh<span style="color: #000;">,</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                              xu+kl<span style="color: #000;">,</span> <span style="color: #008;">0</span><span style="color: #000;">,</span> h2<span style="color: #000;">,</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                              xu+kl<span style="color: #000;">,</span> <span style="color: #008;">0</span><span style="color: #000;">,</span> minh<span style="color: #000;">,</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                              <span style="color: #008;">0</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #800; font-style: italic;"># Hintere Wand</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    yu <span style="color: #000;">=</span> ymax - ul_n</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    <span style="color: #ff7700;">for</span> x <span style="color: #ff7700;">in</span> <span style="color: #808;">range</span><span style="color: black;">&#40;</span>ul_e<span style="color: #000;">,</span>xmax+<span style="color: #008;">1</span>-kl<span style="color: #000;">,</span>kl<span style="color: black;">&#41;</span>:</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        xu <span style="color: #000;">=</span> x - ul_e</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        h1 <span style="color: #000;">=</span> D<span style="color: black;">&#91;</span>x<span style="color: #000;">,</span>ymax<span style="color: black;">&#93;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        h2 <span style="color: #000;">=</span> D<span style="color: black;">&#91;</span>x+kl<span style="color: #000;">,</span>ymax<span style="color: black;">&#93;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        aus.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">struct</span>.<span style="color: black;">pack</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;&lt;12fh&quot;</span><span style="color: #000;">,</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                              <span style="color: #008;">0</span><span style="color: #000;">,</span> <span style="color: #008;">1</span><span style="color: #000;">,</span> <span style="color: #008;">0</span><span style="color: #000;">,</span> </div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                              xu<span style="color: #000;">,</span> yu<span style="color: #000;">,</span> minh<span style="color: #000;">,</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                              xu+kl<span style="color: #000;">,</span> yu<span style="color: #000;">,</span> h2<span style="color: #000;">,</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                              xu<span style="color: #000;">,</span> yu<span style="color: #000;">,</span> h1<span style="color: #000;">,</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                              <span style="color: #008;">0</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        aus.<span style="color: black;">write</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">struct</span>.<span style="color: black;">pack</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;&lt;12fh&quot;</span><span style="color: #000;">,</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                              <span style="color: #008;">0</span><span style="color: #000;">,</span> <span style="color: #008;">1</span><span style="color: #000;">,</span> <span style="color: #008;">0</span><span style="color: #000;">,</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                              xu<span style="color: #000;">,</span> yu<span style="color: #000;">,</span> minh<span style="color: #000;">,</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                              xu+kl<span style="color: #000;">,</span> yu<span style="color: #000;">,</span> minh<span style="color: #000;">,</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                              xu+kl<span style="color: #000;">,</span> yu<span style="color: #000;">,</span> h2<span style="color: #000;">,</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">                              <span style="color: #008;">0</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">log<span style="color: black;">&#40;</span><span style="color: #080;">&quot;Programmlauf erfolgreich beendet.<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #808;">print</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;Die Ausgabedateien können nun weiterverarbeitet werden.&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #808;">input</span><span style="color: black;">&#40;</span><span style="color: #080;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>Programm schließen mit [Enter]&quot;</span><span style="color: black;">&#41;</span></div></li><li style="background:#f9f9f9;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #ff7700;">if</span> plt:</div></li><li style="background:#f5f5f5;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">    plt.<span style="color: black;">close</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></div></li></ol></pre>]]></content:encoded>
<link>https://bauforum.wirklichewelt.de/index.php?id=11753</link>
<guid>https://bauforum.wirklichewelt.de/index.php?id=11753</guid>
<pubDate>Fri, 29 May 2020 10:28:20 +0000</pubDate>
<category>Allgemeines</category><dc:creator>Martin Vogel</dc:creator>
</item>
<item>
<title>CHBH.LSP – Bemaßung mit hochgestellten Millimetern für BricsCAD unter Linux</title>
<content:encoded><![CDATA[<p>Vor 15 Jahren hatte ich <a href="index.php?id=964" class="internal">hier</a> einmal ein kleines Lisp-Progrämmchen vorgestellt, mit dem sich Bemaßungen in AutoCAD in normgerechte Baubemaßungen nach DIN 1356-1 umwandeln lassen.</p>
<p>Es stellte sich heraus, dass das Programm auch mit heutiger Software noch funktioniert und traurigerweise auch immer noch erforderlich ist, weil es seit 40 Jahren niemand für nötig hält, in die offenen DWG-Spezifikationen ein normgerechtes Bemaßungsformat einzubauen.</p>
<p><img src="https://bauforum.wirklichewelt.de/images/uploaded/202005261245235ecd0f63bb867.png" alt="[image]"  loading="lazy" /></p>
<p>Für BricsCAD unter Linux waren lediglich zwei Anpassungen in der Dialogdatei CHBH.DCL erforderlich. Die Windows-Zeichenkodierung der Umlaute sorgte für Probleme und ein nur für Windows verfügbares Schlüsselwort zum Setzen des Fokus verursachte unter Linux einen Syntaxfehler. Die Fokus-Zeile ist aber für die Funktion entbehrlich und die problematischen Windows-Umlaute ließen sich durch ASCII-Zeichen ersetzen.</p>
<p>Wer das Lisp-Programm CHBH.LSP selber in BricsCAD unter Linux ausprobieren will, um in seinen oder ihren Bauzeichnungen die Bemaßungen DIN-gerecht zu formatieren, Millimeter hochzustellen und Längen unter einem Meter als volle Zentimeter mit Ganzzahlen anzuzeigen, kann das folgendermaßen erreichen:</p>
<p>Lassen Sie sich in BricsCAD anzeigen, in welchem Verzeichnis es nach Support-Dateien sucht. Tippen Sie dazu SUPPORTORDNER ein. Der Verzeichnisname lautet beispielsweise /home/username/Bricsys/BricsCAD/V20x64/de_DE/Support/. Kopieren Sie die drei Dateien CHBH.LSP, CHBH.DCL und CHBH.BMP aus der ZIP-Datei unten in dieses Verzeichnis.</p>
<p><img src="https://bauforum.wirklichewelt.de/images/uploaded/202005261307525ecd14a8874de.png" alt="[image]"  loading="lazy" /></p>
<p>Mit dem Befehl APPLOAD fügen Sie anschließend den Befehl CHBH zu BricsCAD hinzu. Wenn Sie das Häkchen „AutoLaden“ setzen, wird der Befehl ab sofort bei jedem Start des Programms verfügbar sein.</p>
<p><a href="images/uploaded/CHBH_2020_Linux.zip" target="_blank" rel=\"noopener\">CHBH Download (ZIP-Datei)</a></p>
<p>(Update 2020-05-28: In der ZIP-Datei befindet sich nun eine 2014 aktualisierte Version des Lisp-Programms, die einen Fehler beseitigt, der beim Runden bestimmter Zahlenwerte entstand. Ein großes Dankeschön an Günter Amann für die Einsendung.)<br />
(Update 2020-07-22: Die Bemaßungen bleiben nun nicht länger assoziativ, damit BricsCAD die von CHBH bearbeiteten Maßzahlen im Layout nicht bei nächster Gelegenheit wieder auf die automatisch erzeugten Werte zurücksetzt.)</p>
]]></content:encoded>
<link>https://bauforum.wirklichewelt.de/index.php?id=11752</link>
<guid>https://bauforum.wirklichewelt.de/index.php?id=11752</guid>
<pubDate>Tue, 26 May 2020 13:19:06 +0000</pubDate>
<category>Software</category><dc:creator>Martin Vogel</dc:creator>
</item>
<item>
<title>BricsCAD V20.2.04-1 für Mac und Linux jetzt deutschsprachig (Antwort)</title>
<content:encoded><![CDATA[<p>Es hat ein paar Tage gedauert, doch ab sofort kann die neue BricsCAD-Version V20 auch in einer deutschen Sprachversion für Mac OS und Linux heruntergeladen werden.</p>
<p><a href="https://www.bricsys.com/download.do" target="_blank" rel=\"noopener\">https://www.bricsys.com/download.do</a></p>
]]></content:encoded>
<link>https://bauforum.wirklichewelt.de/index.php?id=11751</link>
<guid>https://bauforum.wirklichewelt.de/index.php?id=11751</guid>
<pubDate>Wed, 08 Apr 2020 13:18:39 +0000</pubDate>
<category>Software</category><dc:creator>Martin Vogel</dc:creator>
</item>
<item>
<title>Vorlesungsbeginn im Sommersemester 2020 in NRW (Antwort)</title>
<content:encoded><![CDATA[<p>Ministerpräsident Armin Laschet gab gerade in einem Statement zur aktuellen Lage zum Corona-Virus bekannt, dass der Vorlesungsbeginn des Sommersemesters in NRW auf den 20. April 2020 verschoben wurde.</p>
]]></content:encoded>
<link>https://bauforum.wirklichewelt.de/index.php?id=11750</link>
<guid>https://bauforum.wirklichewelt.de/index.php?id=11750</guid>
<pubDate>Fri, 13 Mar 2020 14:36:35 +0000</pubDate>
<category>Termine</category><dc:creator>Martin Vogel</dc:creator>
</item>
</channel>
</rss>
