| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY präsentiert die neue NVIDIA RTX A400 und die A1000 Grafikkarte, eine Pressemitteilung
|
Autor
|
Thema: Koordinaten auslesen mit Text (2273 mal gelesen)
|
CadWerner Mitglied Technischer Zeichner
Beiträge: 78 Registriert: 21.02.2005 Acad 2002
|
erstellt am: 15. Feb. 2006 09:42 <-- editieren / zitieren --> Unities abgeben:
Hallo Leute, ich habe hier im Forum eine Lisp bekommen, die einwandfrei funktioniert. Jetzt bräuchte ich dazu allerdings eine kleine Erweiterung, die hoffentlich nicht so schwer ist. Momentan liest mir die Lisp, die x,y und z Koordinaten von einem Text aus und den Text selber, allerdings nur Zahlen scheinbar. Jetzt habe ich Punkt 1 und Punkt 1a bis 200 oder so... das a liest mir die Lisp aber nicht aus. Meine Frage an Euch, kann mir jemand die Lisp so erweitern, das es auch möglich ist, den kompletten Text auszulesen? (defun c:zkoord_mm (/) (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 ";" (rtos (cadddr auswahl1)2 3))) (princ za) (princ "\nPKTLst: ") (princ pktlst) (write-line pktlst f) ) ) (setq za (+ 1 za)) ) ;end while (close f) (setvar "dimzin" dimzinalt) ) ;end defun Danke schon mal im vorraus für Eure Hilfe ------------------ gruß aus waldbrunn werner Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 15. Feb. 2006 09:56 <-- editieren / zitieren --> Unities abgeben: Nur für CadWerner
den kompletten Text hast du doch schon hier : (setq auswahl2 (cdr(assoc 1 liste))) wo ist das Problem?
------------------ - Thomas - "Du bist einen uns unbekannten Weg in eine andere Form des Seins gegangen. - Wir sehen uns wieder in deinem Paradies! - Tschüß Axel.." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CadWerner Mitglied Technischer Zeichner
Beiträge: 78 Registriert: 21.02.2005 Acad 2002
|
erstellt am: 15. Feb. 2006 10:04 <-- editieren / zitieren --> Unities abgeben:
hmm komisch... das Problem ist, das ich wenn ich die Liste öffne, bzw. sie in excel einlese, habe ich anstatt 1 x, y, z koordinate und 1a x, y, z koordinate zweimal als text die 1 stehen. Das ist auch schon in Acad in der Befehlszeile zu sehen, das er das a einfach nicht mit ausliest. Zumindest ist das bei mir so. An was kann das denn liegen? ------------------ gruß aus waldbrunn werner Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 15. Feb. 2006 10:11 <-- editieren / zitieren --> Unities abgeben: Nur für CadWerner
das liegt an der Zeile (setq pktlst3 (rtos (atof auswahl2) 2 3)) ------------------ - Thomas - "Du bist einen uns unbekannten Weg in eine andere Form des Seins gegangen. - Wir sehen uns wieder in deinem Paradies! - Tschüß Axel.." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CadWerner Mitglied Technischer Zeichner
Beiträge: 78 Registriert: 21.02.2005 Acad 2002
|
erstellt am: 15. Feb. 2006 10:16 <-- editieren / zitieren --> Unities abgeben:
das ist gut, wenn du weißt an was es liegt Könntest du mir noch sagen, was ich ändern muss, damit ich das a auch ausgelesen bekomme? Das wäre echt klasse... ------------------ gruß aus waldbrunn werner Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 15. Feb. 2006 10:22 <-- editieren / zitieren --> Unities abgeben: Nur für CadWerner
Zitat: Original erstellt von CadWerner: das ist gut, wenn du weißt an was es liegt Könntest du mir noch sagen, was ich ändern muss, damit ich das a auch ausgelesen bekomme? Das wäre echt klasse...
Ne, das mache ich nicht. Aus deinen Post ist ersichtlich, das du dich bisher überhaupt nicht mit der Materie beschäftigt hast. Das sehe ich aber als Voraussetzung bei der Hilfe zur Selbsthilfe! Sorry - vielleicht hat ja jemand ein anderes Hilfeverständnis und tut dir den Gefallen. Mit ein klein wenig Nachdenken kommst du sicher aber auch selbst auf die Lösung. ------------------ - Thomas - "Du bist einen uns unbekannten Weg in eine andere Form des Seins gegangen. - Wir sehen uns wieder in deinem Paradies! - Tschüß Axel.." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CadWerner Mitglied Technischer Zeichner
Beiträge: 78 Registriert: 21.02.2005 Acad 2002
|
erstellt am: 15. Feb. 2006 10:35 <-- editieren / zitieren --> Unities abgeben:
es ist schade, das einem nicht geholfen wird, der keine Ahnung von dem ganzen hat. Weder in der Acad Hilfe noch hier im Forum (ist für mich ja alles ne Fremdsprache)kann ich etwas finden. Wie soll ich mir dann helfen? Trotzdem danke, dann gehe ich halt den umständlichen Weg und werde alles per Hand in der Liste ändern. ------------------ gruß aus waldbrunn werner Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 15. Feb. 2006 10:43 <-- editieren / zitieren --> Unities abgeben: Nur für CadWerner
|
CadWerner Mitglied Technischer Zeichner
Beiträge: 78 Registriert: 21.02.2005 Acad 2002
|
erstellt am: 15. Feb. 2006 11:00 <-- editieren / zitieren --> Unities abgeben:
Danke, das war genau das was ich gebraucht habe. Zu Deinem Link, welchen Du in die Antwort geschrieben hast, der ist jetzt in meinen Favoriten. Ich werde mir das mal in der Mittagspause anschauen, ob mir das weiterhilft, das ganze mal zu verstehen. Wenn es nach mir selber ginge, wäre ich schon längst auf einen bzw. mehrere Lehrgänge für AutoLisp gegangen, da das die Arbeit ungemein erleichtern kann. Allerdings ist es in Firmen oft so, das dazu einfach keine Zeit ist. Mal sehen, vielleicht bin ich ja doch noch kein hoffnungsloser Fall und werde das ganze mal kapieren ------------------ gruß aus waldbrunn werner Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
marc.scherer Ehrenmitglied V.I.P. h.c. CAD-Administrator
Beiträge: 2494 Registriert: 02.11.2001 Windows 10 64bit AutoCAD Architecture 2018/2019 (deu/eng) AEC-Collection 2019 (Revit und Zeugs) Wenn sich's nicht vermeiden läßt: D-A-CH Erweiterung (mies implementierter Schrott)
|
erstellt am: 15. Feb. 2006 11:05 <-- editieren / zitieren --> Unities abgeben: Nur für CadWerner
@cadmium *Applaus* ;-) @CadWerner Willst Du fertige Lisp-Lösungen? Oder willst Du etwas über Lisp lernen? Wenn Du was über Lisp lernen willst bist Du hier ganz gut aufgehoben. Willst Du fertige Lösungen bist Du besser bei kommerziellen Proggern aufgehoben. z.B. http://www.cad-od.de/ Übrigens ist Dein "einwandfreies Lisp" ECHT KRAUTIG. Wo hast Du das denn her? Echt miese Benutzerführung und überhaupt gar nicht irgendwie sauber strukturiert. Davon kann man nix lernen.
------------------ Ciao, Marc Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
marc.scherer Ehrenmitglied V.I.P. h.c. CAD-Administrator
Beiträge: 2494 Registriert: 02.11.2001 Windows 10 64bit AutoCAD Architecture 2018/2019 (deu/eng) AEC-Collection 2019 (Revit und Zeugs) Wenn sich's nicht vermeiden läßt: D-A-CH Erweiterung (mies implementierter Schrott)
|
erstellt am: 15. Feb. 2006 11:15 <-- editieren / zitieren --> Unities abgeben: Nur für CadWerner
Zitat: Original erstellt von CadWerner: Allerdings ist es in Firmen oft so, das dazu einfach keine Zeit ist.
Stimmt. Meinst Du denn CADmium oder irgendein anderer der hier anwesenden Lisp'ler hätte sich das ganze wissen während der Arbeitszeit angeeignet? Eigeninitiative NACH Feierabend könnte da auch einiges bringen. Und Deinem AG 'ne Schulung aus dem Kreuz leiern ginge mit 'ner einfachen Kostenrechnung: Automatisierung von Aufgabe XY erspart AB Arbeitszeit pro Tag usw. ------------------ Ciao, Marc Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tunnelbauer Ehrenmitglied V.I.P. h.c. Bauingenieur
Beiträge: 7085 Registriert: 13.01.2004 ich hab eh keine Probleme damit...
|
erstellt am: 15. Feb. 2006 11:23 <-- editieren / zitieren --> Unities abgeben: Nur für CadWerner
|
CadWerner Mitglied Technischer Zeichner
Beiträge: 78 Registriert: 21.02.2005 Acad 2002
|
erstellt am: 15. Feb. 2006 11:27 <-- editieren / zitieren --> Unities abgeben:
Diese für mich als Laien "einwandfrei Lisp" habe ich von den sogenannten kommerzielle Proggern auf genau dieser Internetseite, welche Du mir reingeschrieben hast gefunden... Ich habe schon zwei Versuche gestartet, einen Lehrgang mit genau dieser Begründung zu bekommen, bis jetzt ist es schiefgegangen. Werde aber sicher wieder einen neuen Versuch starten. Da es ja scheinbar hier nicht erwünscht ist das man nach Lisp oder ähnlichen Sachen fragt, wenn man sich nicht auskennt, werde ich wohl erst mal sehen müssen, das ich mir ein Basiswissen aneigne um wieder eine Frage stellen zu können. Trotzdem erst mal Danke an Euch beiden...
------------------ gruß aus waldbrunn werner Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tunnelbauer Ehrenmitglied V.I.P. h.c. Bauingenieur
Beiträge: 7085 Registriert: 13.01.2004 ich hab eh keine Probleme damit...
|
erstellt am: 15. Feb. 2006 11:31 <-- editieren / zitieren --> Unities abgeben: Nur für CadWerner
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 15. Feb. 2006 11:47 <-- editieren / zitieren --> Unities abgeben: Nur für CadWerner
Zitat: Original erstellt von CadWerner:
Da es ja scheinbar hier nicht erwünscht ist das man nach Lisp oder ähnlichen Sachen fragt, wenn man sich nicht auskennt..
Wie kommst du denn darauf? Nicht erwünscht ist eine gewisse "MACHMIRMAL"-Mentalität! ------------------ - Thomas - "Du bist einen uns unbekannten Weg in eine andere Form des Seins gegangen. - Wir sehen uns wieder in deinem Paradies! - Tschüß Axel.." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
marc.scherer Ehrenmitglied V.I.P. h.c. CAD-Administrator
Beiträge: 2494 Registriert: 02.11.2001 Windows 10 64bit AutoCAD Architecture 2018/2019 (deu/eng) AEC-Collection 2019 (Revit und Zeugs) Wenn sich's nicht vermeiden läßt: D-A-CH Erweiterung (mies implementierter Schrott)
|
erstellt am: 15. Feb. 2006 12:00 <-- editieren / zitieren --> Unities abgeben: Nur für CadWerner
|
CadWerner Mitglied Technischer Zeichner
Beiträge: 78 Registriert: 21.02.2005 Acad 2002
|
erstellt am: 15. Feb. 2006 12:04 <-- editieren / zitieren --> Unities abgeben:
Ich habe Dich doch nur gebeten, mir zu sagen, wie ich das machen muss. Wie hätte ich denn meine Bitte sonst formulieren sollen... Da ich selber ja keine Ahnung von habe, allerdings schon eine Lisp hatte, war meine Frage ja nur darauf begrenzt, wie ich die ändern muss, damit ich zu meinem gewünschten Ergebnis komme. Und ich bin Dir echt dankbar, das Du mir es trotzdem verraten hast. Ich wollte hier wirklich niemanden auf den Schuh treten. @tunnelbauer: Danke für den Link zum Handbuch. Das wird mir sicher auch weiterhelfen. ------------------ gruß aus waldbrunn werner Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Theodor Schoenwald Ehrenmitglied
Beiträge: 1672 Registriert: 16.04.2002
|
erstellt am: 15. Feb. 2006 18:57 <-- editieren / zitieren --> Unities abgeben: Nur für CadWerner
Hallo Werner, ich habe Deine Fragen, Beiträge und die Antworten gelesen. Zum Satz ...nicht geholfen..., empfehle ich Dir den Beitag "wcmatch Tücke!?! Lösung?" anzuschauen. Das ist ein Musterbeispiel wie einem geholfen wird. Dabei können auch alle etwas lernen. Mir wurde bei Situationen bei denen ich nicht weiter kam, immer geholfen. Übrigens, sehe das Programmieren in Lisp als Herausforderung (sportlich). Gruß Theodor [Diese Nachricht wurde von Theodor Schoenwald am 15. Feb. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
sponk-mg Mitglied
Beiträge: 38 Registriert: 10.10.2011
|
erstellt am: 25. Okt. 2011 16:34 <-- editieren / zitieren --> Unities abgeben: Nur für CadWerner
Moin, nach der Beschäftigung mit Auswahlsätzen möchte ich meine Anfängererkenntnisse um die Ausgabe in Datei erweitern. Die Anzahl von Mtexten und Texte mit der Zeichenfolge VZ* soll in eine Datei angehängt werden. Mein Entwurf sieht momentan so aus. (setq tva (ssget "_X" '((0 . "MTEXT,TEXT")(1 . "VZ*" )))) (setq Atva sslength tva) (setq EAT "Euska-Anzahl.txt") (setq XEAT (open EAT "a")) (write-line atva XEAT) (close XEAT)
Geeignete Beispiele zum Verständnis hab ich leider nicht gefunden. Die Routinen hier im Forum sind für mich noch zu komplex. Was muss ich beachten/ergänzen, damit ich Daten auslesen kann. Danke schön. Martin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
spider_dd Mitglied
Beiträge: 1144 Registriert: 27.11.2003 Win 10Pro Intel(R) Core(TM) i7-7700 NVIDIA Quadro P1000 ACAD, Civil-3D 2018
|
erstellt am: 25. Okt. 2011 17:32 <-- editieren / zitieren --> Unities abgeben: Nur für CadWerner
Hallo Martin, erst mal eine Bitte: Auch wenns so einigermaßen passt, buddel doch nicht immer die Uraltbeiträge raus Bis man gesehen hat, das das so alt ist, hat man schon einiges umsonst gelesen. Nun zu Deiner Frage: Dein Ansatz ist schon nicht schlecht. Zum variablen Gestalten der Ausgabedatei geht u. a. sowas hier (setq outfile (getfiled "Ausgabedatei angeben" "" "txt" 1)) (setq outfilehandle (open outfile "w")) (write_line ...) und (write_char ...) schreiben Zeichenketten raus, hier müsstest Du die Zahl also erst noch umwandeln z. B. mit (rtos ...) Sieh dir mal die Befehle prin1, princ und print an. Interessant wären dann sicher auch noch (write_char 9 filehandle) und (write_char 10 filehandle) zum Schreiben von Tabs und setzen von Zeilenumbrüchen. Sowiet erst mal eine Anregung. Gruß Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Geos Mitglied Vermessungstechniker i.R.
Beiträge: 1017 Registriert: 21.09.2001 ACAD Map 2010, Win 7 Pro eigene Lisp's<P>HW: Core i7 860, 2.8 GHz 3.3 GB, NVIDIA GeForce GTS 250
|
erstellt am: 25. Okt. 2011 20:07 <-- editieren / zitieren --> Unities abgeben: Nur für CadWerner
|