| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY wird von NVIDIA zum Händler des Jahres gewählt – zum dritten Mal in Folge, eine Pressemitteilung
|
Autor
|
Thema: Daten in eine ASCII - Datei speichern (6408 mal gelesen)
|
JosefG Mitglied Bauzeichner (Hoch- u. Tiefbau)
Beiträge: 127 Registriert: 14.04.2003
|
erstellt am: 02. Sep. 2003 22:25 <-- editieren / zitieren --> Unities abgeben:
Hallo alle zusammen. Ich möchte aus einem Lageplan Stationen und Geländehöhen anklicken und diese Daten (Texte) in eine ASCII-Datei (z.B. Punktliste.txt) speichern. z.B.: (Station) (Geländehöhe) 0+000,00 12.50 0+050,50 12.90 0+150,85 13.50 usw. Diese "Punktliste.txt" Datei brauche ich zum Einlesen der Daten in einen Längsschnitt. Wer kann mir helfen durch Tipps oder evt. Lisp-Programme? Danke für Eure Hilfe. Josef Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Ehrenmitglied V.I.P. h.c. CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools
|
erstellt am: 02. Sep. 2003 23:30 <-- editieren / zitieren --> Unities abgeben: Nur für JosefG
Hallo Josef, so vielleicht?
Code:
(defun c:kpitd ( / f txt1 txt2 antw) (setq f (open (strcat (getvar "DWGPREFIX")"punktliste.txt") "w")) (while (or (not antw)(= antw "J")) (princ "\nStationstext wählen:") (setq txt1 (entsel) txt1 (if txt1 (cdr(assoc 1(entget(car txt1)))))) (if txt1 (progn (princ "\nzugehörige Geländehöhe wählen:") (setq txt2 (entsel) txt2 (if txt2 (cdr(assoc 1(entget(car txt2)))))) ) (princ "\n!!!Keinen Stationstext gewählt!!!") ) (if (and txt1 txt2) (write-line (strcat txt1 "\t" txt2) f) (princ "---Fehlende Werte ->Keine Daten in Datei geschrieben---") ) (initget "J N") (setq antw (getkword "\nWeiter Ja/Nein<J>")) );while (close f) (princ) )
Ich weiß zwar nicht wie viele Texte du auf diese Art exportieren möchtest, deshalb wäre es unter Umständen sinnvoll einen Weg zu suchen, der alle in einem Rutsch exportiert, aber das kannst du wohl besser einschätzen. Bei Interesse an einer solchen Lösung kannst Du Dich ja bei mir melden. Bei Fragen ... Grüße Holger ------------------ Holger Brischke CADlon - Lisp over night! Ich bin vom 07.-10.10. auf dem Anwendertreffen anzutreffen. [Diese Nachricht wurde von Brischke am 04. September 2003 editiert.] [Diese Nachricht wurde von Brischke am 10. September 2003 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
JosefG Mitglied Bauzeichner (Hoch- u. Tiefbau)
Beiträge: 127 Registriert: 14.04.2003
|
erstellt am: 04. Sep. 2003 22:00 <-- editieren / zitieren --> Unities abgeben:
Hallo Holger Vielen DANK für Dein Lisp-Programm. Habe es heute getestet. Ein kleines Problem taucht aber noch auf. Wenn ich es in einer Zeichnung das erste Mal starte, ist es in Ordnung. Beim zweiten Mal in der gleichen Zeichnung ist keine Reaktion da. Der Befehl läßt sich nicht ausführen! Was mache ich falsch? Gestartet habe ich das Programm mit einem Icon: ^C^C(load"Textli") kpitd ! DANKE für Deine Hilfe. Josef Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Ehrenmitglied V.I.P. h.c. CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools
|
erstellt am: 04. Sep. 2003 23:13 <-- editieren / zitieren --> Unities abgeben: Nur für JosefG
Hallo Josef, ich habe den Code oben korrigiert. Das liegt daran, dass die eine Variable antw nicht lokal deklariert ist. Jetzte sollte es dann funktionieren, auch beim 2ten, 3ten .. Starten. Bei Fragen ... Grüße Holger ------------------ Holger Brischke CADlon - Lisp over night! Ich bin vom 07.-10.10. auf dem Anwendertreffen anzutreffen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
m-troeger Mitglied gel. Bauzeichner; Vermessungszeichner, Vermesser im Außendienst, GIS-Erfassung in PARIS
Beiträge: 295 Registriert: .. ACAD14 und 2005; MAP4; GeoCAD; PARIS; ( Vermessung )
|
erstellt am: 07. Sep. 2003 20:19 <-- editieren / zitieren --> Unities abgeben: Nur für JosefG
|
JosefG Mitglied Bauzeichner (Hoch- u. Tiefbau)
Beiträge: 127 Registriert: 14.04.2003
|
erstellt am: 09. Sep. 2003 22:29 <-- editieren / zitieren --> Unities abgeben:
|
JosefG Mitglied Bauzeichner (Hoch- u. Tiefbau)
Beiträge: 127 Registriert: 14.04.2003 Windows 7 AutoCAD MAP 3D 2013
|
erstellt am: 09. Sep. 2003 22:53 <-- editieren / zitieren --> Unities abgeben:
Hallo Holger! Danke für die Ergänzung. Jetzt ist das Programm OK. Eine Frage hab' ich noch: Wenn ich im aktuellen Verzeichnis bin, z.B: d:\Tiefbau\DWG\Berliner Sraße, wie kann ich dann hier eine Text-Datei ( z.B.: Liste.txt oder Höhen.txt) speichern? Evtl. so: (setq f (open "d:\\Tiefbau\\DWG\\Berliner Straße\\Liste.txt" "w")). Die Text-Datei sollte frei einfügbar sein. Gruß Josef Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Ehrenmitglied V.I.P. h.c. CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools
|
erstellt am: 10. Sep. 2003 08:50 <-- editieren / zitieren --> Unities abgeben: Nur für JosefG
Hallo Josef, ich habe es wiederum im Code des Ursprungsbeitrages aktualisiert. Was meinst du allerdings mit frei einfügbar? Meinst du einen Dateinamen wählen zu können. dann kann man diese Zeile (setq f (open (strcat (getvar "DWGPREFIX")"punktliste.txt") "w")) auch tauschen gegen (setq f (open (getfiled "Punktlistendatei" (getvar "DWGPREFIX") "txt" 1) "w")) Meinst du aber, Daten an diese Datei anzuhängen dann mach in der Zeile: (setq f (open (strcat (getvar "DWGPREFIX")"punktliste.txt") "w")) aus dem "w" ein "a". Dann werden die Daten angehangen. Bei Fragen ... Grüße Holger ------------------ Holger Brischke CADlon - Lisp over night! 10 - Der Countdown läuft. Wofür?... ./. Ich bin vom 07.-10.10. in Stuttgart dabei. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
JosefG Mitglied Bauzeichner (Hoch- u. Tiefbau)
Beiträge: 127 Registriert: 14.04.2003
|
erstellt am: 10. Sep. 2003 20:40 <-- editieren / zitieren --> Unities abgeben:
Hallo Holger! DANKE für die Top-Antwort. Einfach Klasse... Holger eine letze Frage zum Thema: Ist es möglich, die Stationen u. Geländehöhen beim Anklicken zu markieren bzw. auszuleuchten um festzustellen, welche Daten man anklickt bzw. anklickt hat (zur besseren Orientierung) DANKE für das Top-Programm. Gruß Josef Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Ehrenmitglied V.I.P. h.c. CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools
|
erstellt am: 11. Sep. 2003 10:48 <-- editieren / zitieren --> Unities abgeben: Nur für JosefG
Hallo Josef, ja klar kann man das, anbei der diesbzgl geänderte Code:
Code:
(defun c:kpitd ( / f txt1 txt2 antw txt1e txt2e) (setq f (open (strcat (getvar "DWGPREFIX")"punktliste.txt") "w")) (while (or (not antw)(= antw "J")) (princ "\nStationstext wählen:") (setq txt1 (entsel) txt1 (if txt1 (cdr(assoc 1(entget(setq txt1e(car txt1))))))) (if txt1 (progn (princ "\nzugehörige Geländehöhe wählen:") (setq txt2 (entsel) txt2 (if txt2 (cdr(assoc 1(entget(setq txt2e(car txt2))))))) ) (princ "\n!!!Keinen Stationstext gewählt!!!") ) (if (and txt1 txt2) (progn (write-line (strcat txt1 "\t" txt2) f) (redraw txt1e 2) (redraw txt2e 2) ) (princ "---Fehlende Werte ->Keine Daten in Datei geschrieben---") ) (initget "J N") (setq antw (getkword "\nWeiter Ja/Nein<J>")) );while (close f) (princ) )
Bei Fragen ... Grüße Holger ------------------ Holger Brischke CADlon - Lisp over night! 10 - Der Countdown läuft. Wofür?... ./. Ich bin vom 07.-10.10. in Stuttgart dabei. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
JosefG Mitglied Bauzeichner (Hoch- u. Tiefbau)
Beiträge: 127 Registriert: 14.04.2003
|
erstellt am: 11. Sep. 2003 21:07 <-- editieren / zitieren --> Unities abgeben:
|
JosefG Mitglied Bauzeichner (Hoch- u. Tiefbau)
Beiträge: 127 Registriert: 14.04.2003 Windows 7 AutoCAD MAP 3D 2013
|
erstellt am: 13. Okt. 2003 06:58 <-- editieren / zitieren --> Unities abgeben:
Guten Morgen Holger! Eine kleine Nachlese zum Programm habe ich noch. Das Lisp-Programm "läuft" hervorragend. Aber was ist, wenn ich mich verwählt habe, z.B. statt Stationstext -> Geländehöhe angeklickt habe! Kann ich dies ändern? Ich weiß zwar nicht wie viele Texte du auf diese Art exportieren möchtest, deshalb wäre es unter Umständen sinnvoll einen Weg zu suchen, der alle in einem Rutsch exportiert, aber das kannst du wohl besser einschätzen. Bei Interesse an einer solchen Lösung kannst Du Dich ja bei mir melden. Holger, kann ich diese Daten (Stationen und Höhen) im Fenster nehmen und dann speichern! Ist dies auch möglich? Danke für Deine Hilfe & einen schönen Wochenanfang ... Josef
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Ehrenmitglied V.I.P. h.c. CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools
|
erstellt am: 13. Okt. 2003 10:05 <-- editieren / zitieren --> Unities abgeben: Nur für JosefG
Hallo Josef, dann stelle mal eine Bsp-Zeichnung rein, damit ich mir die Unterscheidungsmerkmale der Texte, welcher was darstellt, heraussuchen kann. Dann ist auch das alles machbar. Bei Fragen ... Grüße Holger ------------------ Holger Brischke (defun - Lisp over night! AutoLISP-Programmierung für AutoCAD NEU: AutoLISP- Projektschulung NEU: Praxisorientierte Schulungen und Workshops durch die bekannten CAD.de Moderatoren AutoCAD, AutoCAD LT, AutoCAD Mechanical, Mechanical Desktop, Architectural Desktop Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
JosefG Mitglied Bauzeichner (Hoch- u. Tiefbau)
Beiträge: 127 Registriert: 14.04.2003
|
erstellt am: 14. Okt. 2003 07:18 <-- editieren / zitieren --> Unities abgeben:
|