Service: Excel-VBA: Technische Zeichnungen

Zeichnung einer Regalwand

Bitte klicken, um das Bildschirmfoto in Originalgröße zu laden!

Einleitung

Von Zeit zu Zeit erstelle ich zu privaten Zwecken technische Zeichnungen.

Früher hatte ich dazu ein DIN-A3-Zeichenbrett. Nachdem ich einige Jahre lang nichts zu zeichnen hatte, verkaufte ich das Zeichenbrett auf einem Flohmarkt. Ich dachte mir, wenn ich einmal wieder etwas zu zeichnen habe, kann ich mir ein einfaches Zeichenprogramm für den PC besorgen.

Als später wirklich eine technische Zeichnung anstand, stellte es sich jedoch als großes Problem heraus, ein wirklich einfaches Zeichenprogramm zu finden, das meinen Vorstellungen gerecht wurde.

Die Programme waren entweder zu einfach oder zu komplex. Vor allen Dingen aber erfüllten sie allesamt eine simple Anforderung von mir nicht: Ich möchte in erster Linie ein paar Striche mit genau definierten Anfangs- und Endpunkten zeichnen.

Die übliche Art, in Zeichenprogrammen etwas zu zeichnen besteht darin, mit Hilfe irgend welcher Mausaktionen Objekte wie Striche und anderes zu definieren. Will man eine exakte Zeichnung erstellen, muss man in diesen Programmen zuerst mit der Maus irgend ein Zeichnungsobjekt erstellen und anschließend auf mehr oder weniger umständliche Art die exakten Eigenschaften (eben z.B. Anfangs- und Endpunkte bei Linien) definieren.

Im Laufe der vergangenen 10 Jahre habe ich immer wieder Versuche mit unterschiedlichen Zeichenprogrammen gemacht und dabei gut und gerne 20 oder 30 unterschiedliche Programme ausprobiert und immer wieder frustriert vom Rechner gelöscht.

Dabei hat ich die ganze Zeit über das richtige Programm auf meinem Rechner installiert: Microsoft Excel!

Die Excel-Lösung

Man nehme eine Exceltabelle, lege dort einige Grundeinstellungen fest und definiere eine Liste von Linien. Anschließend schreibe man ca. 30 Zeilen Excel-VBA-Code und lasse diesen auf die Exceltabelle los. Fertig!

Anmerkungen

Ich will keinesfalls behaupten, dass meine Zeichenlösung mit Excel besonders toll oder sinnvoll ist. Aber zumindest fand ich es sehr überraschend, dass es so einfach möglich ist, technische Zeichnungen mit Excel zu erstellen.

Und wie gesagt für meine speziellen Ansprüche ist es die optimale Lösung. Außerdem war es für die aktuelle Aufgabe - der Entwurf für zwei Regalwände in einer Dachgeschosswohnung - vollkommen ausreichend.

Schließlich: Ich könnte mir durchaus vorstellen - aufbauend auf meiner vorhandenen Lösung - mit relativ einfachen Mitteln auch anspruchsvollere Zeichnungen zu erstellen. Z.B. indem man vordefinierte Elemente wie gemusterte Hintergrundflächen oder Doppellinien (die z.B. eine Mauer oder ein Brett repräsentieren) vorsieht oder perspektivische Zeichnungen erstellt. Ich könnte mir auch vorstellen, dass man die Elemente aus einer vorhandenen Excel-Zeichnung (mit ihren Positionangaben, etc.) in eine Tabelle übernimmt, damit man sie dort editieren kann um die angepasste Zeichnung anschließend neu zu erstellen.

Aber wiederum: Für die akute Anforderung, die mich veranlasst hat, dies hier zu realisieren war das nicht erforderlich und ich habe meinen Aufwand auf das notwendige Minimum beschränkt.

Ein Vorteil der Excellösung besteht in folgendem: Da die Positionen vieler Linien von einander abhängig sind, muss man die Positionsangaben nicht für jede einzelne Linie festlegen. Statt dessen kann man auf vorherige Maße verweisen und ggf. Offsets definieren, also so etwas schreiben wie: '=D5' oder '=E5+18'.

Ein gravierender Nachteil der momentanen Lösung: Alle Linien (Zeichnungsobjekte) können ausschließlich durch die Eingabe von Koordinaten definiert werden. Das macht zuweilen ein gewisses Maß an 'Gehirnakrobatik' notwendig.

Für die konkret anstehende Zeichnung bestand ein weiterer Vorteil darin , dass ich die Maße für das Holz meiner Regalwände aus den Definitionen für die Zeichnungselemente referenzieren konnte. Auf diese Weise sind Rechen- oder andere Fehler bei der Übernahme der Maße ausgeschlossen.


Ergebnis: vollständig vordefinierte Routine mit Fehlerbehandlung Interessant für Sie:

VBA-Extentions-Tools

Produktivität in VBA steigern
Routinearbeiten in VBA vereinfachen



Seitenanfang

Kontaktaufnahme- und Terminvereinbarung:

Bei Fragen und für Terminvereinbarungen erreichen Sie uns unter:

0 63 49 99 07 38

0 151 51 95 34 00

Oder nutzen Sie das Kontaktformular




Ihr Ansprechpartner:


Hier sollte das Fahnungsfoto zu sehen sein.

Ralf Kunsmann

Spezialist für VBA-Programmierung
(alle Office-Anwendungen)
Entwickler der
VBA-Extension-Tools