Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  BricsCAD
  Auslesen von Textkoordinaten

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für BricsCAD
Autor Thema:  Auslesen von Textkoordinaten (2175 mal gelesen)
FraBaNeu
Mitglied
Angestelter, Vermesser

Sehen Sie sich das Profil von FraBaNeu an!   Senden Sie eine Private Message an FraBaNeu  Schreiben Sie einen Gästebucheintrag für FraBaNeu

Beiträge: 7
Registriert: 25.03.2014

AutoCad 2002
BricsCad v14

erstellt am: 30. Apr. 2014 14:06    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,

ich bin neu hier habe bis jetzt mit Autocad 2002 gearbeitet und bin jetzt auf Bricscad v14 umgestiegen.

Ich habe mit folgender Lisp-Routine immer Koordinaten von Punktnummern (Text) in eine *.txt Datei geschrieben

--------------------------------------------------------------------------

(defun C:text_xy ( / aws datei dateiname n)
(setq dateiname
(getfiled "Datei auswählen:" "" "txt" 1))
(if dateiname
(progn
(setq datei (open dateiname "w"))
(princ "\nBitte Texte und M-Texte auswählen:")
(setq aws (ssget (list (cons -4 "<OR")
(cons 0 "TEXT")
(cons 0 "MTEXT")
(cons -4 "OR>"))))
(if aws
(progn
(setq n 0)
(princ "\n0 Texte ausgelesen.")
(repeat (sslength aws)
(write-line
(strcat
(cdr(assoc 1 (entget(ssname aws n))));;Textinhalt
" ";;;Leerzeichen
(rtos(car(cdr(assoc 10 (entget(ssname aws n)))))2 3)
;;x mit 6 Nachkommastellen
" ";;;Leerzeichen
(rtos(cadr(cdr(assoc 10 (entget(ssname aws n)))))2 3)
;;y mit 6 Nachkommastellen
)datei)
(princ (strcat "\r" (itoa (+ n 1))" Texte ausgelesen."))
(setq n (+ n 1)))
(princ (strcat "\nDie Texte wurden in der Datei "dateiname
" gespeichert.")))
(alert "Es wurden keine Texte ausgewählt."))
)
(alert "ungültiger Dateiname"))
(princ))

--------------------------------------------------------------------------

Wenn ich diese Lisproutine in Briccad ausführe, bekomme ich als Ergebnis eine leere *.txt Datei

Kann mir jemand sagen, wie ich die Routine anpassen kann? 


Besten Dank 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Theodor Schoenwald
Ehrenmitglied



Sehen Sie sich das Profil von Theodor Schoenwald an!   Senden Sie eine Private Message an Theodor Schoenwald  Schreiben Sie einen Gästebucheintrag für Theodor Schoenwald

Beiträge: 1672
Registriert: 16.04.2002

erstellt am: 01. Mai. 2014 21:19    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für FraBaNeu 10 Unities + Antwort hilfreich

Hallo,

Du hast die eine Datei zum schreiben geöffnet, diese Datei muss nach der Beendigung der Arbeit geschlossen werden, z.B.: mit (close Datei).

;;---------------------------------------------------
(defun C:TEXT_XY (/ AWS DATEI DATEINAME N)

(setq DATEINAME (getfiled "Datei auswählen:" "" "txt" 1))
(if DATEINAME
  (progn
  (setq DATEI (open DATEINAME "w"))
  (princ "\nBitte Texte und M-Texte auswählen:")
  (setq AWS (ssget (list (cons -4 "<OR")
                          (cons 0 "TEXT")
                          (cons 0 "MTEXT")
                          (cons -4 "OR>")
                    )
            )
  )
  (if AWS
    (progn
    (setq N 0)
    (princ "\n0 Texte ausgelesen.")
    (repeat (sslength AWS)
      (write-line
      (strcat (cdr (assoc 1 (entget (ssname AWS N))))
              " "
              (rtos (car (cdr (assoc 10 (entget (ssname AWS N))))) 2 3)
              " "
              (rtos (cadr (cdr (assoc 10 (entget (ssname AWS N))))) 2 3)
      )
      DATEI
      )
      (princ (strcat "\r" (itoa (+ N 1)) " Texte ausgelesen."))
      (setq N (+ N 1))
    )
    (princ (strcat "\nDie Texte wurden in der Datei " DATEINAME " gespeichert."))
    )
    (alert "Es wurden keine Texte ausgewählt.")
  )
  (close DATEI); die Datei zumachen
  )
  (alert "Ungültiger Dateiname")
)
(princ)
)
(prompt "\nC:TEXT_XY")
(princ)
;;----------------------------------------

Gruß
Theodor Schönwald

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Theodor Schoenwald
Ehrenmitglied



Sehen Sie sich das Profil von Theodor Schoenwald an!   Senden Sie eine Private Message an Theodor Schoenwald  Schreiben Sie einen Gästebucheintrag für Theodor Schoenwald

Beiträge: 1672
Registriert: 16.04.2002

erstellt am: 03. Mai. 2014 19:31    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für FraBaNeu 10 Unities + Antwort hilfreich

Hallo,

das keine Rückmeldung kam, frage ich nach: hat mein Vorschlag nicht funktioniert?

Gruß
Theodor

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

FraBaNeu
Mitglied
Angestelter, Vermesser

Sehen Sie sich das Profil von FraBaNeu an!   Senden Sie eine Private Message an FraBaNeu  Schreiben Sie einen Gästebucheintrag für FraBaNeu

Beiträge: 7
Registriert: 25.03.2014

AutoCad 2002
BricsCad v14

erstellt am: 05. Mai. 2014 08:17    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Guten Morgen Theodor,

sorry, konnte einige Tage nicht am PC sein (Urlaub)

Habe heute Morgen gleich die Lisp mit Deinen Anpassungen getestet.

Es funktioniert wunderbar.

Besten Dank für die schnelle Hilfe

Freundlicher Gruß
Frank

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Theodor Schoenwald
Ehrenmitglied



Sehen Sie sich das Profil von Theodor Schoenwald an!   Senden Sie eine Private Message an Theodor Schoenwald  Schreiben Sie einen Gästebucheintrag für Theodor Schoenwald

Beiträge: 1672
Registriert: 16.04.2002

erstellt am: 05. Mai. 2014 09:37    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für FraBaNeu 10 Unities + Antwort hilfreich

... alles klar.

Noch eine Anmerkung zu einem anderen Fall der in ACAD läuft und in Bricscad nicht.
Wenn in einer DCL-Datei folgende Zeile steht:

value = 1;

läuft die Datei in ACAD.

in Bricscad nicht, es muss:

value = "1";

stehen.

Anführungszeichen wären richtig und sollten ACAD auch stehen, aber ACAD ignoriert den Fehler.

Fröhliches Schaffen nach dem Urlaub

Theodor

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

FraBaNeu
Mitglied
Angestelter, Vermesser

Sehen Sie sich das Profil von FraBaNeu an!   Senden Sie eine Private Message an FraBaNeu  Schreiben Sie einen Gästebucheintrag für FraBaNeu

Beiträge: 7
Registriert: 25.03.2014

AutoCad 2002
BricsCad v14

erstellt am: 05. Mai. 2014 09:57    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

... Danke für den Tip

und auch weiterhin frohes Schaffen

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz