Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Datenübertrag aus Excel in das CAD-Programm LibreCAD

Forumthread: Datenübertrag aus Excel in das CAD-Programm LibreCAD

Datenübertrag aus Excel in das CAD-Programm LibreCAD
31.01.2025 13:04:11
Joachim
Hallo Forum,
ich arbeite privat mit LibreCAD, einem kostenfreien CAD-Programm.
Ich muss immer wieder CAD-Zeichnungen geringfügig ändern und habe in Excel eine Datei erstellt, die die Änderungen errechnet und mir die Info für die neue Zeichnung in mehreren Zellen in Form von Zeichenketten erstellt.
Die Zeichenketten können recht lang werden (über 3.000 Zeichen)
Diese Zeichenketten kopiere ich einzeln und füge sie manuell in LibreCAD in die dortige Kommandozeile ein.
Noch "Enter" drücken und LibreCAD erstellt aus der Zeichenkette die Zeichnung erstellt.
Das funktioniert prima.
Beispiel für eine solche Zeichenkette:
l;10.2,12.4;15.8,16.7;-7.2,5.6
Nur als Erläuterung:
LibreCAD liest daraus:
(kleines) L: zeichne Linie
10.2,12.4 von x=10,2 / y=12,4 nach
15.8,16.7 x=15,8 / y=16,7 und von dort nach
-7.2,5.6 x=-7,2 / y= 5,6
Also der Punkt in der Zeichenkette entspricht dem Komma in der deutschen Schreibweise reeller Zahlen,
das Komma in der Zeichenkette trennt die x- und y-Koordinaten,
das Semikolon trennt die einzelnen Befehle.

Wenn ich aus Excel nach LibreCAD wechsle, muss ich mit einem Mausklick zuvor den Cursor in die dortige Kommandozeile setzen, sonst funzt das Einfügen nicht. und die "Enter"-taste musss ich auch manuell betätigen.
Jetzt zur Frage:
Kann ich "kopieren und in LibreCAD-einfügen" per VBA erledigen, da ich das mehrmalige "in Excel kopieren", "zu LibreCAD wechseln", "Kommandozeile auswählen", "Einfügen" und "Enter betätigen" gerne automatisieren würde.
Ein Lösungsvorschlag für eine Zelle reicht mir aus, um den Code dann auf mehrere Zellen zu erweitern reichen meine spärlichen VBA Kenntnise hoffentlich aus.
Ich habe keine Bsp-Datei hochgeladen, da ich davon ausgehe, dass die als Beispiel genannte Zeichenkette einfach in ein leeres Blatt kopiert werden kann? Falls das nicht so ist, lade ich gerne eine Beispieldatei hoch.
Und Nein, ich erwarte nicht, dass jemand extra LibreCAD installiert und austestet. Aber vllt. arbeitet jemand mit LibreCAD der Ahnung von VBA hat oder im besten Fall schon mal was aus Excel nach LibreCAD per VBA rübergeschoben hat??
Ich habe gerade das PS: verfasst und da ist mir aufgefallen, dass ich ggf. LibreCAD umgegehen kann, falls es möglich ist, aus Excel heraus eine DXF-Datei zu erstellen? EIne Archivsuche mit DXF ergab aber keine Treffer...
Schon mal im Voraus herzlichen Dank an das Forum, es ist immer wieder erstaunlich, wie schnell und kompetent hier Fragen beantwortet werden.

Gruß
Joachim
PS: Für alle, die es interessiert: Ich berechne Bauteile für Holzboxen, um meine Werkstatt aufzuräumen bzw. Platz zu schaffen. Da fast alle Fächer, in die die Boxen rein sollen, unterschiedliche Maße haben und die Boxen maßgeschneidert auf den Inhalt den sie aufnehmen sollen sind, brauche ich zig verschiedene Boxen. Da auch die Sperrholzbretter unterschiedliche Dicke haben (je nach Größe der Box), habe ich mir die Exceldatei geschrieben und lasse mir die Zeichnungen automatisch berechnen.
Die DXF-Datei aus LibreCAD lade ich dann ich meinen Laser ein, der mir die Bauteile ausschneidet. Zusammenstecken, etwas Leim und fertig...
Anzeige

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datenübertrag aus Excel in das CAD-Programm LibreCAD
31.01.2025 16:40:02
Yal
Hallo Joachim,

nicht ganz klar ist, ob jede Definition immer 6 Parameter oder manchmal mehr.

Wenn diese Parameter in einer Zeile liegen "l" in A1, erste Zahl in B1, dann C1, usw.
liefert dir
=TEXTVERKETTEN(";";wahr;A1:I1)
eine Verkettung der 9 ersten Zellen. Davon sind nur 7 befüllt, aber "wahr bedeutet, dass die leere (am Ende) ignoriert werden sollen.
dann mit
=WECHSELN(TEXTVERKETTEN(";";wahr;A1:I1); ","; ".")
machst Du aus jedem Komma einen Punkt.
ergänzt mit
=WECHSELN(WECHSELN(TEXTVERKETTEN(";";wahr;A1:I1); ","; "."); ";"; ",";2)
wird jede zweite ";" durch Komma ersetzt. Es sollte jetzt die Zielstruktur haben.

Wenn Du die Formel in einer separaten Blatt ablegst (Du musst jedesmal prüfen, wo die Liste endet), kannst Du dann das Blatt als Textdatei speichern. Fertig.

VG
Yal

Anzeige
AW: Datenübertrag aus Excel in das CAD-Programm LibreCAD
01.02.2025 09:41:15
Joachim Lewandowski
Hallo Yal,
die funktionsweise von wechseln() und textverketten() ist mir bekannt.
Genau SO erzeuge ich mir ja die Zeichenkette in der von CAD-Programm geforderten "Grammatik".
Es geht nicht drum, die Zeichenkette zu erzeugen, sondern darum die Zeichenkette ins CAD-Programm rüber "zu schieben".
Dass ich das händisch mit kopieren und einfügen machen kann ist mir schon klar, das mache ich ja so.
Die Frage war nach einem automatisierten Ablauf per VBA.
Trotzdem Danke für Deine Antwort...
Joachim
Anzeige
AW: Datenübertrag aus Excel in das CAD-Programm LibreCAD
31.01.2025 18:45:58
volti
Hallo Joachim,

falls Yals Vorschlag noch nicht zum Ziel führte und auch sonst niemand eine Idee hat, hier noch mal ein paar Gedanken zu Deinem Problem.

Daten in ein Feld einer Anwendung zu bekommen kann man ggf. direkt oder per Paste machen.
Hierzu muss man dann allerdings die Windows-API bemühen.
Für das Erstellen einer entsprechenden Programmierung muss man einige Parameter der Anwendung kennen. Captiontext der Anwendung um dies ansteuern zu können, IDs der Controls wie Button oder Editbox oder alternativ die Positionen in der Anwendung für evtl. Mausklicks. Hierbei ist ein Winddow-Spy-Programm hilfreich.

Alles in allem machbar, aber etwas aufwändig. Lohnt sich nur, wenn man das dauerhaft oder länger entsprechend oft verwenden will.

PS: Um eine DXF-Datei direkt per VBA zu erstellen, müsste man die Zusammensetzung des Inhalts kennen. Ich kenne ihn nicht.
Gruß
Karl-Heinz
Anzeige
AW: Datenübertrag aus Excel in das CAD-Programm LibreCAD
02.02.2025 00:22:08
Oppawinni
Wenn ich mich recht erinnere ist DXF ein Format von AutoCad. Das sind aber keine binären Daten, sondern Klartext.
Ich hatte mal versucht eine Beschreibung dazu zu finden, war aber nicht erfolgreich.
Wenn man eine Beschreibung dazu hätte, wäre es wahrscheinlich möglich das aus Excel heraus zu generieren.
Aber du kannst ja mal von einem bestimmten Bauteil mal ein DXF erzeugen und dir anschauen, was da steht.
Vielleicht ist das in deinem Fall nicht mal sehr komplex.
Ob sich das lohnt, steht auf einem andern Blatt.
Ich hatte mich eher mit einer anderen Richtung befasst. Es ging darum CAD-Daten nach Postscript konvertieren.
DXF war ein potentieller Ausgangspunkt. Ich bin aber mangels Beschreibung dann den Weg über IGES gegangen.
Anzeige
AW: Datenübertrag aus Excel in das CAD-Programm LibreCAD
03.02.2025 14:07:59
Joachim
Hallo Oppawinni,
DXF ist kein Format von AutoCAD, das ist das DWG-Format.
DXF steht für Data exchange Format und dient dem Austausch zwischen verschiedenen CAD-Programmen.
Ich hab mich mal ans "Studium" von DXF-Dateien gemacht.
ich habe eine minimale DXF erzeugt (zwei Striche) und angeschaut.
Ich habs geknackt, weiß also wie ich eine DXF aufbauen müßte.
Aufbau einer DXF:
- Eingangssequenz (Ebenen-, farben, Striche-definition/deklaration etc.)
- dann der eigentliche Zeichnungsinhalt (Bei Strichen (und nur diese benötige ich) immer wieder die selbe Sequenz die sich nur in den x- und y-Koordinaten unterscheiden
- Endsequenz
Ich gehe davon aus, dass andere Zeichnungselemente (Kreise, Bögen, etc). auch immer die gleiche Sequenz haben und die relavanten Inhalte (bei Kreis z.B. Mittelpunkt und Radius) immer wieder an gleicher Stelle in dieser Sequenz stehen. Da ich's nicht brauche hab ich nicht weiter"geforscht".
Ich habe probiert eine entsprechende Datei zu erzeugen, hat aber nicht funktioniert.
Die Datei, die ich erzeugt habe (speichern der Daten, indem ich das Excelregister als TXT speichere) wird aus dem Zeichenprogramm nicht als DXF sondern immer als TXT erkannt und LibreCAD weigert sich, diese Datei als "öffenbar" überhaupt anzuzeigen.
Dass ich die Dateiendung von txt auf dxf geändert habe, verteht sich von selbst, hat aber nix gebracht....
Hast Du (oder wer anders) ne Idee wie ich das hinkriege, dass die TXT-Datei, die ich erzeuge nicht automatisch als TXT erkannt wird?
bzw. wie muss die Exceldatei abspeichern, damit eine "normale" (=keine TXT) draus wird und trotzdem nur zeilenweise getrennte Inhalte drun stehen.
CSV hab ich noch nicht probiert, das mach ich wenn ich wieder zu Hause bin...
Ich hatte nach dem Knacken der DXF und erstem Ausprobieren mit "als TXT-speichern" am Wochenende weder die Zeit und schon garnicht die Geduld um weiter auszuprobieren.
heute Nachmittag geht's weiter....
Danke für Deine Antwort
Joachim
Anzeige
AW: Datenübertrag aus Excel in das CAD-Programm LibreCAD
03.02.2025 14:38:02
volti
Hallo Joachim,

eine TXT-Datei ist eine Datei in dem reine Textzeichen (ASCII 32 bis 255) unformatiert stehen.
Zeilen werden mittels der ASCII-Zeichen 10 und/oder 13 (Zeilenvorschub, Wagenrücklauf aus alter Zeit) erzeugt.
Spalten bei Bedarf mit Zeichen 9 (Tabulator)

Eine CSV-Datei ist auch nur eine Textdatei, lediglich mit dem Unterschied, dass Semikola anstelle von Tabs verwendet werden.
BAS,- XML,- usw. sind alles Textdateien, bei denen der jeweilige Inhalt die Information enthält und die sich anhand der Erweiterung (Suffix) unterscheiden.
Als Suffix kann man nehmen, was immer man möchte. Die Ziel-App muss es ggf. nur erkennen.

Wenn Du den Inhalt deiner DXF erfolgreich erstellt hast, entweder als String oder auch in einem Excelblatt würde ich die Übertagung in Deine Zieldatei z.B. mit
Open "C:\Pfad\Zieldatei.dxf" for output as #1 erzeugen und nicht Excel-Save verwenden.

Ich gehe davon aus, dass Deine Ziel-App nur anhand des Suffix die Datendatei erkennt und dann lediglich der Inhalt korrekt sein muss.
Anders als z.B. bei bestimmten Binärdateien, wie ZIP oder BMP und viele andere, die als erstes, zweites Zeichen eine eindeutige Kennung wie PK bzw. BM aufweisen,
Wenn diese Kennung fehlt ist das Suffix egal, sie wird nicht erkannt.

Gruß
KH
Anzeige
AW: Datenübertrag aus Excel in das CAD-Programm LibreCAD
03.02.2025 17:20:27
Oppawinni
Ich denke, dass du im Grunde zwei Möglichkeiten hast.
1. Du erzeugst das DXF per VBA aus den Daten deiner Tabelle.
2. Du erzeugst den Inhalt der per Excel-Tabelle, kopierst den Inhalt der Tabelle in einen Text-Editor und speicherst das entsprechend als .DXF.
Vielleicht kannst du ein vorhandenes DXF als Skelett verwenden und nur deine Geometrie da rein pflanzen. keine Ahnung.

Wie gesagt, es ist fraglich, ob der Aufwand lohnt.
Anzeige
AW: siehe Wikipedia
03.02.2025 16:50:08
Oppawinni
DXF (Drawing Interchange Format) ist ein von AUTODESK spezifiziertes Dateiformat zum CAD-Datenaustausch.
Das bekannteste Produkt von Autodesk ist .......AutoCAD
Es gibt aber leider keine frei verfügbare, vollständige Beschreibung, jedenfalls nicht dass ich wüsste.
AW: Datenübertrag aus Excel in das CAD-Programm LibreCAD
03.02.2025 17:45:08
Yal
hallo zusammen,

es gibt eine komplette Dokumentation:
https://images.autodesk.com/adsk/files/autocad_2012_pdf_dxf-reference_enu.pdf

Eine DXF-Datei soll in Ascii exportiert werden. Es gibt bei Excel 2 Arten von txt-Export: den "Unicode txt" und den "MS-DOS txt". Der erste Export-Typ kreiert eine UTF-16 Kodierung (Datei in Notepad++ geöffnet). Es könnte sein, dass es daran scheitert (wobei einen etwa neueren Software damit zurecht klommen sollte).

VG
Yal

Anzeige
AW: Datenübertrag aus Excel in das CAD-Programm LibreCAD
03.02.2025 18:44:40
Oppawinni
Ok, hätte ich vor so 20 Jahren brauchen können...
AW: Datenübertrag aus Excel in das CAD-Programm LibreCAD
05.02.2025 07:46:31
Joachim Lewandowski
Dieses Forum und die Leute, die darin Ihr Wissen und ihre Kompetenz teilen und unentgeltlich ihre Zeit denen zur Verfügung stellen, die um Hilfe ersuchen, begeistert mich immer wieder.

DANKE ....
..... an die Leute die mir geholfen haben,
..... an alle, die hier helfen
..... an die Betreiber des Forums
Anzeige
AW: Datenübertrag aus Excel in das CAD-Programm LibreCAD
01.02.2025 09:52:19
Joachim Lewandowski
Hallo Volti,
danke für Deine Antwort, nööö, die Antwort von Yal hat mir nichts gebracht, da stand nichts Neues für mich drin.
Das was Du da schreibst, sind alles Bücher mit jeweils 7 Siegeln für mich, die Anwendungen kenne ich nicht mal dem Namen nach, entsprechend groß ist meine Erfahrung damit. Und wie ne DXF aufgebaut ist? Null Ahnung!!! War nur eine Idee, ein direkt zu erzeugen, um den Umweg über das CAD-Programm zu sparen.
Also, herzlichen Dank für Deine Antwort, der Aufwand lohnt sich m.E. nicht um da Stunden dran zu verbraten, bis es funktioniert.
Alles was ich mach funktioniert ja, ich wollte es halt nur bequemer per VBA haben.
Dann mache ich halt zu Fuß weiter, sind ja nur geschätzte 50 verschiedene Boxen....
Noch mal Danke ans Forum....
Joachim
Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18