Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  Texthöhe extrahieren

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 Autodesk Produkte
Autor Thema:  Texthöhe extrahieren (4668 mal gelesen)
AHG
Mitglied



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

Beiträge: 37
Registriert: 25.08.2003

AutoCAD 2007
WIN XP Pro SP2
1.5 GHz, 1 GB RAM
NVIDIA GeForce2 MX/MX 400

erstellt am: 08. Okt. 2003 16:55    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,

es gibt ja schon sehr viele Lisp-Dateien. Aber leider habe ich keine für meinen Zweck entdecken können.
Ich habe eine Zeichnung mit mehr als 1500 Punkten. Da diese leider alle den z-Wert 0 haben kann ich sie nicht für mein Geländemodell verwenden. Aber!!! es gibt zu jedem Punkt einen Text, mit der richtigen Höhe.
Kennt jemand eine Möglichkeit die x-,y-,z-Werte aller Text-Basispunkte in eine Liste zu schreiben? Das wäre super. Danke

------------------
Gruß,
Arlett

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


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

Beiträge: 295
Registriert: ..

ACAD14 und 2005;
MAP4; GeoCAD; PARIS;
( Vermessung )

erstellt am: 08. Okt. 2003 17:23    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 AHG 10 Unities + Antwort hilfreich

Hallo Arlett,

wenn du mal die Postings der letzten Tage gelesen hättest, wärst du hier drauf gestoßen
http://ww3.cad.de/foren/ubb/Forum54/HTML/005091.shtml

Servus, Mario

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

daiz
Mitglied



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

Beiträge: 224
Registriert: 06.09.2003

SYSTEMINFO:
WinXP, Map 3d 2006

erstellt am: 09. Okt. 2003 01:04    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 AHG 10 Unities + Antwort hilfreich

Hallo,

ich habe mal was gebastelt.
Mit dem Lisp werden alle Texte, die auf dem Layer "Höhe" liegen, zusammen mit ihren Einfügepunkten an eine Liste übergeben.
x-Koord;y-Koord;Text;
Die Texte können einzeln oder per Auswahlfenster ausgewählt werden.
Alle Werte werden auf drei Dezimalstellen gerundet.
Die Liste wird in die Datei liste.txt geschrieben. Falls diese Datei schon existiert, besteht die Möglichkeit, diese zu überschreiben oder die neuen Werte anzuhängen.
Gestartet wird das Lisp mit "zkoord".

Ich hoffe, es funktioniert. Ich habe es nur kurz an zwei Zeichnungen bei mir getestet. Da lief es problemlos.

Daiz


(defun c:zkoord (/)
(setq dimzinalt (getvar "dimzin"))
(setvar "DIMZIN" 0)
(princ "\nACHTUNG: Höhentexte müssen auf Layer Höhe liegen!!! ")
(setq za 0)
(princ "\nHöhentexte wählen (einzeln oder Auswahlfenster) ")
(setq auswahl (ssget))
(setq anzahl (sslength auswahl))
(prompt "gewählt: ")
(princ)
(princ "\nDaten werden in Datei liste.txt geschrieben. ")
(setq wa (getint "\nEvtl. exist. Datei überschreiben <0> oder Daten anhängen <1> ? <1> "))
(if (= wa 0)
  (setq wa1 "w")
  (setq wa1 "a")
)
(setq f (open (strcat (getvar "DWGPREFIX")"liste.txt") wa1))
(while (< za anzahl)
   (setq liste (entget (ssname auswahl za)))
   (setq alayer (substr (cdr(assoc 8 liste))1 4))
   (setq atext (cdr(assoc 0 liste)))
(if (and(= atext "TEXT") (= alayer "HÖHE"))
  (progn
    (setq auswahl1 (assoc 10 liste))
    (setq auswahl2 (cdr(assoc 1 liste)))   
    (setq pktlst1 (rtos (cadr auswahl1)2 3))
    (setq pktlst2 (rtos (caddr auswahl1)2 3))
    (setq pktlst3 (rtos (atof auswahl2) 2 3))  
    (setq pktlst (strcat pktlst1 ";" pktlst2 ";" pktlst3 ";"))
    (princ za)
    (princ "\nPKTLst: ") (princ pktlst)
    (write-line pktlst f)
  )
)
(setq za (+ 1 za))
) ;end while
         (close f)
(setvar "dimzin" dimzinalt)   
) ;end defun

[Diese Nachricht wurde von daiz am 09. Oktober 2003 editiert.]

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

AHG
Mitglied



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

Beiträge: 37
Registriert: 25.08.2003

AutoCAD 2007
WIN XP Pro SP2
1.5 GHz, 1 GB RAM
NVIDIA GeForce2 MX/MX 400

erstellt am: 09. Okt. 2003 11:44    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 daiz,

Danke, dass du noch um die Zeit etwas gebastelst hast. Nun habe ich das schon x-mal probiert, aber immer ist die Datei leer. Da kann man ja eigentlich nichts falsch machen oder?

------------------
Gruß,
Arlett

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

daiz
Mitglied



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

Beiträge: 224
Registriert: 06.09.2003

SYSTEMINFO:
WinXP, Map 3d 2006

erstellt am: 09. Okt. 2003 15:56    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 AHG 10 Unities + Antwort hilfreich

Hallo,

schwer zu sagen, warum das bei Dir nicht geht.
Drei Sachen sind wichtig:

1) Der Text muß auf dem Layer "Höhe" liegen. Texte auf anderen Layern werden nicht ausgewählt.

2) Der Text muß Text sein und nicht Mtext. Mtexte werden nicht ausgewählt.

3) Der Text darf nur aus Zahlen und "." bestehen, sonst wird 0,000 an die Liste übergeben.

Du kannst mir gerne mal eine Zeichnung schicken, dann schaue ich mal, ob es geht.


Daiz

[Diese Nachricht wurde von daiz am 09. Oktober 2003 editiert.]

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

AHG
Mitglied



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

Beiträge: 37
Registriert: 25.08.2003

AutoCAD 2007
WIN XP Pro SP2
1.5 GHz, 1 GB RAM
NVIDIA GeForce2 MX/MX 400

erstellt am: 09. Okt. 2003 16:35    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 daiz,

ich hab' jetzt nochmal schwer nachgedacht, da hätte ich ja auch schon früher drauf kommen können: Wenn man das richtige Programm verwendet (in diesem Fall R14, und nicht MAP2004), dann geht's auch. Und zwar richtig super, DANKE. 

------------------
Gruß,
Arlett

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

daiz
Mitglied



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

Beiträge: 224
Registriert: 06.09.2003

SYSTEMINFO:
WinXP, Map 3d 2006

erstellt am: 09. Okt. 2003 16:56    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 AHG 10 Unities + Antwort hilfreich

Na das freut mich doch, daß es nun klappt. 

Aber irgendwie schade, daß es mit map2004 nicht läuft.
Ich meine, ewig werde ich mein R14 ja auch nicht behalten.
Und dann kann ich die meisten Lisps wohl in die Tonne kloppen.

Oder hat wer von Euch eine Dokumentation mit allen relevanten Änderungen von R14 nach 2004 ???

Vielleicht hat ja mal wer Lust ein Lisp zu schrieben, welches alte Lisps automatisch updaten kann, damit diese auch unter neuesten acad-versionen laufen. 


Daiz

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

T. Bürger
Mitglied
Technischer Angestellter


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

Beiträge: 201
Registriert: 30.01.2001

AcadCAD MEP 2008 (D A CH)

erstellt am: 09. Okt. 2003 18:14    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 AHG 10 Unities + Antwort hilfreich

Hallo daiz,

Deine Lispeleien wirst Du nur dann ändern müssen wenn dort Befehlseingaben von Autocad abgearbeitet werden:

(command "XYZ_Befehl" ...)

Der command Befehl macht ja nichts anderes als Eingaben die sonst in Autocad per Tastatur eingegeben werden scriptartig abzuarbeiten.
Da hat sich natürlich etwas zwischen R.14 und R.16 (2004) geändert.

oder aber

Du schreibst/liest irgendwelche Werte aus Systemvariablen die es so nicht mehr gibt oder geändert worden sind.

------------------
Grüße T. Bürger   

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

daiz
Mitglied



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

Beiträge: 224
Registriert: 06.09.2003

SYSTEMINFO:
WinXP, Map 3d 2006

erstellt am: 09. Okt. 2003 18:59    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 AHG 10 Unities + Antwort hilfreich

Hallo T.Bürger,

ich frage mich, woran liegt es dann im obigen Lisp?
Kein "command".
Haben sich die SYSVARs DIMZIN oder DWGPREFIX geändert?

Daiz

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

T. Bürger
Mitglied
Technischer Angestellter


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

Beiträge: 201
Registriert: 30.01.2001

AcadCAD MEP 2008 (D A CH)

erstellt am: 10. Okt. 2003 10:00    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 AHG 10 Unities + Antwort hilfreich

Hallo daiz,

ich habe Deine Lispelei einmal ausprobiert und ich bin zu dem Schluss gekommen das es nicht an Dir oder Deinem Programm liegt.

Ich habe das ganze mit 400.000 Punkten (Texten) ausprobiert, die Zeichnung lokal und ins Netz gestellt. Es gab nie Probleme und eine Liste wurde auch erstellt.

------------------
Grüße T. Bürger   

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

daiz
Mitglied



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

Beiträge: 224
Registriert: 06.09.2003

SYSTEMINFO:
WinXP, Map 3d 2006

erstellt am: 10. Okt. 2003 10:45    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 AHG 10 Unities + Antwort hilfreich

Hallo,

das ist ja super!

Vielen Dank auch an dieser Stelle an die Menschen, die mir hier: http://ww3.cad.de/foren/ubb/Forum54/HTML/005091.shtml
geholfen haben (bes. m-troeger).
Dort gibts weiter unten übrigens eine arx von sunbeam, die etwas ähnliches kann.
(naja bei mir leider nicht, aber das liegt wohl an r14)

Daiz

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

AHG
Mitglied



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

Beiträge: 37
Registriert: 25.08.2003

AutoCAD 2007
WIN XP Pro SP2
1.5 GHz, 1 GB RAM
NVIDIA GeForce2 MX/MX 400

erstellt am: 10. Okt. 2003 10:53    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


txthöhe.zip

 
Hallo,

schade, funktioniert bei mir noch immer nicht in 2004 (hätte ja sein können). Der Text ist Text auf Layer Höhe und beinhaltet ganze Zahlen ohne Punkt und Komma. Es liegt auch nicht daran, dass der Einfügepunkt von Text und Punkt verschieden ist. Nun, vielleicht nimmt sich jemand meiner kleinen Beispiel-Datei an. Die andere Datei zeigt, was bei mir passiert. Eine liste.txt wird erstellt, aber leer.

------------------
Gruß,
Arlett

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

daiz
Mitglied



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

Beiträge: 224
Registriert: 06.09.2003

SYSTEMINFO:
WinXP, Map 3d 2006

erstellt am: 10. Okt. 2003 10:58    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 AHG 10 Unities + Antwort hilfreich

Hallo,

der Anhang läßt sich leider nicht öffnen.
Ich meine mal irgenwo gelesen zu haben, daß sowas an den Umlauten liegen könnte.
Mach doch mal ein "oe" aus dem "ö".
Ich hoffe, dann geht's.

Daiz

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

AHG
Mitglied



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

Beiträge: 37
Registriert: 25.08.2003

AutoCAD 2007
WIN XP Pro SP2
1.5 GHz, 1 GB RAM
NVIDIA GeForce2 MX/MX 400

erstellt am: 10. Okt. 2003 12:38    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 Diaz,
ich hab' mir nochmal deine Beispielzeichnung angeschaut. Gelesen, verglichen und probiert. Und, siehe da, es funzt.
Es lag am Layernamen. Ich habe einfach mal Höhe in HÖHE (siehe  Lisp  ) umbenannt. Ist etwas anders als R14.

@T. Bürger: Kannst du das bestätigen?

Vielen Dank an euch

------------------
Gruß,
Arlett

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

T. Bürger
Mitglied
Technischer Angestellter


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

Beiträge: 201
Registriert: 30.01.2001

AcadCAD MEP 2008 (D A CH)

erstellt am: 10. Okt. 2003 13:55    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 AHG 10 Unities + Antwort hilfreich

@AHG,
da ist nichts anders, es wurde nach einem Layer HÖHE gesucht und zwar in Großbuchstaben.

Grüße T. Bürger    

[Diese Nachricht wurde von T. Bürger am 10. Oktober 2003 editiert.]

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

daiz
Mitglied



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

Beiträge: 224
Registriert: 06.09.2003

SYSTEMINFO:
WinXP, Map 3d 2006

erstellt am: 10. Okt. 2003 14:52    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 AHG 10 Unities + Antwort hilfreich

Hallo

ich glaube, da ist doch ein Unterschied.

In acadR14 ist es egal, ob ich den Layer "Höhe", "höhe", "HÖHE", ... nenne.
Im Layereigenschaftefenster wird daraus IMMER "Höhe" und der Gruppencode 8 ist IMMER "HÖHE".

Ich glaube, in acad2004 ist das anders:
Layername "Höhe" -> Code 8 "Höhe"
Layername "HÖHE" -> Code 8 "HÖHE"

Ich schätze, das war auch der Grund für das Problem.

Daiz


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

AHG
Mitglied



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

Beiträge: 37
Registriert: 25.08.2003

AutoCAD 2007
WIN XP Pro SP2
1.5 GHz, 1 GB RAM
NVIDIA GeForce2 MX/MX 400

erstellt am: 10. Okt. 2003 15:12    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 sag ja, in 2004 muss Layername identisch mit dem Suchwort im Lisp sein. "Ich habe einfach mal Höhe in HÖHE (siehe  Lisp)umbenannt." In R14 wird auch nach HÖHE gesucht, aber Layername ist immer Höhe. Groß- und Kleinschreibung ist hier nicht entscheidend.

------------------
Gruß,
Arlett

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

sunbeam
Mitglied
TZ, Programmierer


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

Beiträge: 36
Registriert: 21.02.2003

erstellt am: 10. Okt. 2003 15:42    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 AHG 10 Unities + Antwort hilfreich

Gibts den bei Euer Lispelei keine Funktion
wie (text.Compare.NoCase()wie im c++) oder so.
Da wird beim Vergleich zweier Texte die Groß- oder Kleinschreibung ignoriert. Dann kann der Layer auch "hÖhE" oder sonstwie heißen.
Die Funktion gibt immer > 0 zurück.

Oh is ja schon Wochenende

Also bis Montag

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

CADchup
Ehrenmitglied V.I.P. h.c.




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

Beiträge: 3329
Registriert: 14.03.2001

Sicher ist, dass nichts sicher ist. Selbst das nicht.
Joachim Ringelnatz

erstellt am: 10. Okt. 2003 15:59    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 AHG 10 Unities + Antwort hilfreich

Gibt es. Heißt (strcase) und wandelt den übergebenen String in Großbuchstaben um.


Gruß
CADchup

------------------
www.cadditions.de

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

daiz
Mitglied



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

Beiträge: 224
Registriert: 06.09.2003

SYSTEMINFO:
WinXP, Map 3d 2006

erstellt am: 12. Okt. 2003 15:26    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 AHG 10 Unities + Antwort hilfreich

Hallo,

o.k. dann das ganze mit strcase, damits auch mit acad2004 klappt.
Es müßte dann jetzt egal sein, ob der Text auf Layer "Höhe", "HÖHE", "hÖhE", usw.... liegt.

; Schreibt alle ausgewählten Texte mit ihren x,y-Einfügepunkten in Datei liste.txt
; Texte müssen auf Layer Höhe liegen

(defun c:zkoord (/ dimzinalt za auswahl anzahl wa f list alayer atext pktlst)
(setq dimzinalt (getvar "dimzin"))
(setvar "DIMZIN" 0)
(princ "\nACHTUNG: Höhentexte müssen auf Layer Höhe liegen!!! ")
(princ "\nHöhentexte wählen (einzeln oder Auswahlfenster) ")
(setq za 0)
(setq auswahl (ssget))
(setq anzahl (sslength auswahl))
(princ "\ngewählt: ")
(princ "\nDaten werden in Datei liste.txt geschrieben. ")
(setq wa (getint "\nEvtl. exist. Datei überschreiben <0> oder Daten anhängen <1> ? <1> "))
(if (= wa 0)
  (setq wa "w")
  (setq wa "a")
)
(setq f (open (strcat (getvar "DWGPREFIX")"liste.txt") wa))
(while (< za anzahl)
  (setq liste (entget (ssname auswahl za)))
  (setq alayer (strcase (substr (cdr(assoc 8 liste))1 4)))
  (setq atext (cdr(assoc 0 liste)))
(if (and(= atext "TEXT") (= alayer "HÖHE"))
  (progn
    (setq pktlst (strcat (rtos (cadr (assoc 10 liste))2 3)
                            ";"
                          (rtos (caddr (assoc 10 liste))2 3)
                            ";"
                          (rtos (atof (cdr(assoc 1 liste))) 2 3)
                  ) ;end strcat
      ) ;end setq
    (princ "\nPKTLST: ") (princ pktlst)
    (write-line pktlst f)
  ) ;end progn
) ; end if
(setq za (+ 1 za))
) ;end while
(princ "\n ")
        (close f)
(setvar "dimzin" dimzinalt)   
) ;end defun

Daiz

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

Brischke
Ehrenmitglied V.I.P. h.c.
CAD on demand GmbH



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

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools

erstellt am: 13. Okt. 2003 10:58    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 AHG 10 Unities + Antwort hilfreich

Hallo @all,

dem Problem der Groß und Kleinschreibung kann man aus dem Weg gehen, wenn man bereits bei der Bildung des Auswahlsatzes die Wahl auf die Texte eines bestimmten Layers eingrenzt. Zudem werden die Layernamen immer in Großbuchstaben gespeichert, egal in welcher Version. Man kann ja mal versuchen einen Layer namens Höhe und dann einen Layer namens HÖHE anzulegen. Es sollte bei allen eine Fehlermeldung kommen, dass der Layername nicht eindeutig ist, oder eindeutig sein muss.
Meine Code-Variante würde dann so aussehen, auch das Trennzeichen ist am Anfang variabel und der Layername kann entweder HÖHE oder HOEHE heißen. Der Dateiname ist mit c:\pktliste.txt festgelegt

Code:

(defun c:txtkoo ( / as file trenn)
(setq trenn ";";tab= \t
as (ssget
'((-4 . "<and")
(8 . "HÖHE,HOEHE")
(0 . "TEXT")
(-4 . "and>")
)
)
as (if as (bau_elemli as))
)
(if as (setq file (open "c:\\pktliste.txt" "w")))
(mapcar '(lambda (E / z)
(if (= (car E) 10)
(progn
(mapcar '(lambda (K)
(if (not z)
(setq z T)
(princ trenn file)
)
(princ K file)
)
(cdr E)
)
(princ "\n" file)
)
)
)
(apply 'append(mapcar 'entget as))
)
(close file)
)
(defun bau_elemli (asatz / n elemli)
(setq n 0)
(repeat (sslength asatz)
(setq elemli(cons (ssname asatz n) elemli)
n (1+ n))
)
elemli
)

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

daiz
Mitglied



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

Beiträge: 224
Registriert: 06.09.2003

SYSTEMINFO:
WinXP, Map 3d 2006

erstellt am: 13. Okt. 2003 12:51    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 AHG 10 Unities + Antwort hilfreich

Hallo,

@Holger: Dein Programm macht aber irgendwie was anderes. Es schreibt x,y,z-Koordinaten in die Datei und nicht x,y,text.
(Ich war mir am Anfang auch nicht sicher, wie die Frage gemeint war.)

@all: wenn das in r14 und 2004 doch gleich ist mit der Großschreibung, verstehe ich nicht warum es damit in 2004 Probleme gab, in r14 aber nicht.


Daiz

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

Brischke
Ehrenmitglied V.I.P. h.c.
CAD on demand GmbH



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

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools

erstellt am: 13. Okt. 2003 13: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 Nur für AHG 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von AHG:
...
Kennt jemand eine Möglichkeit die x-,y-,z-Werte aller Text-Basispunkte in eine Liste zu schreiben?...


@daiz
Was ist daran nicht eindeutig?

Dann soll sich Arlett einfach melden und noch einmal schreiben, was nun das Ziel ist, wenn nicht das.

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

daiz
Mitglied



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

Beiträge: 224
Registriert: 06.09.2003

SYSTEMINFO:
WinXP, Map 3d 2006

erstellt am: 13. Okt. 2003 13:12    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 AHG 10 Unities + Antwort hilfreich

Hallo,

naja, Arlett war doch zufrieden mit meiner Lösung und die macht nunmal x,y,text und nicht x,y,z.
Ich denke, er hätte es schon gesagt, wenn mein Ansatz falsch gewesen ist.

Daiz

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

Brischke
Ehrenmitglied V.I.P. h.c.
CAD on demand GmbH



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

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools

erstellt am: 13. Okt. 2003 13:40    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 AHG 10 Unities + Antwort hilfreich

... von mir aus auch das
Code:

(defun c:txtkoo ( / as file trenn)
(setq trenn ";";tab= \t
as (ssget
'((-4 . "<and")
(8 . "HÖHE,HOEHE")
(0 . "TEXT")
(-4 . "and>")
)
)
as (if as (bau_elemli as))
)
(if as (setq file (open "c:\\pktliste.txt" "w")))
(mapcar '(lambda (E / z tmp)
(mapcar '(lambda (K)
(if (not z)
(setq z T)
(princ trenn file)
)
(princ K file)
)
(list (car(setq tmp(cdr (assoc 10 E))))
(cadr tmp)
(cdr (assoc 1 E)))
)
(princ "\n" file)
)
(mapcar 'entget as)
)
(close file)
)
(defun bau_elemli (asatz / n elemli)
(setq n 0)
(repeat (sslength asatz)
(setq elemli(cons (ssname asatz n) elemli)
n (1+ n))
)
elemli
)

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

AHG
Mitglied



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

Beiträge: 37
Registriert: 25.08.2003

AutoCAD 2007
WIN XP Pro SP2
1.5 GHz, 1 GB RAM
NVIDIA GeForce2 MX/MX 400

erstellt am: 13. Okt. 2003 15:22    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 Holger,
Hallo Daiz,

hier nochmal kurz erläutert. Der Basispunkt des Textes hat den gleichen z-Wert, wie der Textinhalt.(???) Da die Texte einen Basispunkt haben, hatte ich vermutet, es sei einfacher, diesen auszulesen. Allerdings hatte ich mit der 1. Lösung schon genau das, was ich wollte. Eine Datei mit x,y,z-Werten. Es sollte halt nur noch unter 2004 laufen.

Der kleine Unterschied: solange mir niemand etwas anderes beweist, behaupte ich einfach mal weiblich zu sein. Aufgrund der Seltenheit des Namens, sei das nochmal verziehen. 

------------------
Gruß,
Arlett

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

daiz
Mitglied



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

Beiträge: 224
Registriert: 06.09.2003

SYSTEMINFO:
WinXP, Map 3d 2006

erstellt am: 13. Okt. 2003 18:25    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 AHG 10 Unities + Antwort hilfreich

Hallo Arlett,

danke, dass Du mir das nochmal verzeihst 
und auch für die Aufklärung.

Daiz

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