| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| Digitale Engineering-Prozesse bei Pergande mit BIM-, CAD- und PDM-Lösungen von Autodesk, ein Anwenderbericht
|
Autor
|
Thema: Koordinaten und Texte in Datei (5385 mal gelesen)
|
daiz Mitglied
Beiträge: 224 Registriert: 06.09.2003 SYSTEMINFO: WinXP, Map 3d 2006
|
erstellt am: 01. Okt. 2003 14:05 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich hab da mal wieder ein Problem, und zwar: Eine Zeichnung mit vielen Punkten. An jedem Punkt stehen drei Texte (Einfüge- bzw. Basispunkt der Texte ist der Punkt) Ist es möglich (und wenn ja, wie?), die Koordinaten (x,y) der Punkte und die Texte in eine Liste/Datei zu schreiben? Alle gewählten Punkte sollten in einer Datei stehen. Das Ergebnins könnte dann so aussehen: Punktnummer;x-Koord.;y-Koord;Höhe 24321R;x1-Koord.;y1-Koord.;1,67 24377R;x2-Koord.;y2-Koord.;1,43 usw... Als Anhang eine dwg-Datei und ein screenshot als pdf. Freue mich über jede Hilfe, liebe Grüße, daiz [Diese Nachricht wurde von daiz am 01. Oktober 2003 editiert.] [Diese Nachricht wurde von daiz am 01. Oktober 2003 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
AsSchu Ehrenmitglied Konstrukteur
Beiträge: 1632 Registriert: 27.06.2003 ACAD 2012
|
erstellt am: 01. Okt. 2003 14:17 <-- editieren / zitieren --> Unities abgeben: Nur für daiz
|
Bernd P Ehrenmitglied V.I.P. h.c. cook-general
Beiträge: 3424 Registriert: 07.06.2001 W10-64bit, AMD Ryzen 7 3700X,32GB RAM, Sapphire Pulse Radeon RX 570 8G G5, Canon TX-3000 MFP, Maus Cherry MW4500, Sub:Infrastructure Design Suite, Office 365
|
erstellt am: 01. Okt. 2003 14:52 <-- editieren / zitieren --> Unities abgeben: Nur für daiz
Servus Würde mich wunder. Die Punktekoordinaten sind mit punktliste.lsp wahrscheinlich kein Problem. Aber die Texte dazu fast unmöglich. Die Punkt und Texte waren wahrscheinlich vorher Blöcke mit Attribute. Wenn du die Ursprüngliche Zeichnung bekommst dann würde sowas gehen. ------------------
Wer Rechtschreibfehler findet, darf sie der Analphabetenvereinigung schenken. mfG Bernd P. 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: 01. Okt. 2003 15:17 <-- editieren / zitieren --> Unities abgeben: Nur für daiz
|
daiz Mitglied
Beiträge: 224 Registriert: 06.09.2003 SYSTEMINFO: WinXP, Map 3d 2006
|
erstellt am: 01. Okt. 2003 21:36 <-- editieren / zitieren --> Unities abgeben:
Hallo, danke für die schnellen Antworten. Punktliste.lsp funktioniert nur mit den Punkten. Das Problem ist, die Punkte mit den Texten zu verknüpfen. Die Punktkoordinaten und die Texte sollen ja dann in eine Datei geschrieben werden. (@BenrdP: es gibt nur solche Dateien mit Punkten und Texten, leider nix mit Blöcken) Vielleicht sind ja die Punkte auch gar nicht so wichtig, da die Einfügepunkte der Texte mit den Punktkoordinaten identisch sind ?! Dann könnten alle Texte mit den gleichen Einfügepunkten an eine Datei übergeben werden (und natürlich die Koordinaten der Einfügepunkte): xa-Wert;ya-Wert;Texta1;Texta2 xb-Wert;yb-Wert;Textb1;Textb2 xc-Wert;yc-Wert;Textc1;Textc2 Die genaue Formatierung so einer Liste ist nicht so wichtig. Die kann ich dann später noch weiterverarbeiten. Wichtig ist, daß die Texte mit gleichen Basispunkten in einer Zeile stehen. (In den einzelnen Spalten sollte natürlich immer die gleiche Information sein.) Bin weiterhin sehr dankbar für Ideen und Anregungen. Liebe Grüße, Daiz
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: 01. Okt. 2003 21:51 <-- editieren / zitieren --> Unities abgeben: Nur für daiz
Hallo zusammen, punkte werden ja gefunden, mit einem auswahlsatz nehme ich mal an, wenn der Text immer im gleichen Abstand vom Punkt entfernt ist, dh. immer gleiches delta X und Delta Y, so könnte man ja ein Objekt vom Typ Text mit den Dela Werten vom Punkt suchen, und dann auslesen. Also Texteinfügepunkt liegt angenommen immer X +5 und Y +4 vom Punkt entfernt. 1. Koordinaten vom Punkt ermitteln 2. Koordinaten vom angenommenen Texteinfügepunkt berechnen x-Text = x-Punkt + 5 ; y-Text = y-Punkt + 4 3. Auswahlsats bilden vom "Text" mit Einfügepunkt x-Text, y-Text und fertig ist der Laden hab leider keine Zeit um das zu lispeln Servus Mario www.the-skier.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
daiz Mitglied
Beiträge: 224 Registriert: 06.09.2003 SYSTEMINFO: WinXP, Map 3d 2006
|
erstellt am: 01. Okt. 2003 22:27 <-- editieren / zitieren --> Unities abgeben:
Hallo, die Punkte könnten schon mittels des progs punktliste.lsp ausgewählt werden. Die Koordinaten der Punkte werden dann in eine Datei geschrieben. Nachteil ist, daß jeder Punkt einzeln ausgewählt werden muß (kein Auswahlfenster). Der Einfüge- bzw. Basispunkt der Texte ist identisch mit dem Punkt selbst (theoretisch zumindest). Problem: Es sind pro Punkt mehrere Texte, mit verschiedenen Informationen. Z.B. Punktnummer, Höhe, ... (jeweils auf eigenen Layern) Es müssen alle Texte dem richtigen Punkt zugeordnet werden und immer in der gleichen Reihenfolge an eine Liste/Datei übergeben werden. Also immer: Text_Punktnummer;x-Koord;y-Koord;Text_Höhe oder immer: x-Koord;y-Koord;Text_Höhe;Text_Punktnummer oder.... Liebe Grüße, Daiz 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: 02. Okt. 2003 19:11 <-- editieren / zitieren --> Unities abgeben: Nur für daiz
|
daiz Mitglied
Beiträge: 224 Registriert: 06.09.2003 SYSTEMINFO: WinXP, Map 3d 2006
|
erstellt am: 04. Okt. 2003 11:16 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich habe im Forum - http://ww3.cad.de/foren/ubb/Forum54/HTML/004861.shtml - das Lisp kpitd.lsp von Holger gefunden und es etwas ergänzt, so daß ich nun zwei Texte und anschließend einen Punkt wählen kann. Es ist also eine Art Kombination von kpitd.lsp und dem oben schon erwähnten punklist.lsp von www.cadwiesel.de . Wäre es nicht möglich, daß wenn ich den ersten Text wähle, nicht nur der Text an die Liste übergeben wird, sondern auch dessen Einfügepunkt? Dann könnte ich mir ein Drittel Arbeit sparen, da kein Punkt mehr gewählt werden müßte. Am elegantesten wäre es wohl, es müßte nur der Punkt gewählt werden. Und alle Texte mit dem gleichen Einfügepunkt wie der gewählte Punkt würden automatisch erkannt und zusammen mit den Punktkoordinaten an eine Liste übergeben. Aber das ist vermutlich sehr aufwendig zu programmieren, naja für mich wohl eher unmöglich. Vielen Dank für eure Hilfe und liebe Grüße, Daiz Das geänderte Lisp:
;Text(Punktnummer) wählen -> Text(Höhe) wählen -> Punkt wählen ;erzeugt eine Liste - Punkt_Nr;x-Koord;y-Koord;Höhe; ;Genauigkeit 3 Dezimalstellen (setvar "DIMZIN" 0) (defun c:kpitd ( / f txt1 txt2 antw txt1e txt2e pkt pktlst txt2s txt2r) (setq f (open (strcat (getvar "DWGPREFIX")"punktliste.txt") "w")) (while (or (not antw)(= antw "J")) (princ "\nPunktnummer wählen:") (setq txt1 (entsel) txt1 (if txt1 (cdr(assoc 1(entget(setq txt1e(car txt1))))))) (if txt1 (progn (princ "\nzugehörigen Höhen-Text wählen:") (setq txt2 (entsel) txt2 (if txt2 (cdr(assoc 1(entget(setq txt2e(car txt2))))))) ) (princ "\n!!!Keinen Text gewählt!!!") ) (setq pkt (getpoint "\nPunkt wählen: ")) (setq pktlst (strcat (rtos (car pkt)2 3) ";" (rtos (cadr pkt)2 3) ) ) (if (and txt1 txt2) (progn (setq txt2s (atof txt2)) (setq txt2r (rtos txt2s 2 3)) (write-line (strcat txt1 ";" pktlst ";" txt2r ";") 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) )
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
daiz Mitglied
Beiträge: 224 Registriert: 06.09.2003 SYSTEMINFO: WinXP, Map 3d 2006
|
erstellt am: 05. Okt. 2003 21:52 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, hallo Mario: Deine Erweiterung des Lisps funktioniert leider nur, wenn der Punkt identisch ist mit dem unteren linken Punkt (also Startpunkt) der Texte. Bei mir ist es jedoch leider so, daß der erste Text (Punkt-Nummer) unten rechts mit dem Punkt identisch ist und der zweite Text (Höhe) oben rechts. (-> s. Datei-Anhänge meines ersten Postings) Ich habe bisher immer von identischen Einfügepunkten gesprochen. Das war ein Fehler von mir. Es tut mir sehr leid, wenn Ihr Euch deswegen vergeblich bemüht habt. Vielen Dank für Eure Hilfe. Liebe Grüße, Daiz [Diese Nachricht wurde von daiz am 05. Oktober 2003 editiert.] 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: 06. Okt. 2003 20:18 <-- editieren / zitieren --> Unities abgeben: Nur für daiz
|
daiz Mitglied
Beiträge: 224 Registriert: 06.09.2003 SYSTEMINFO: WinXP, Map 3d 2006
|
erstellt am: 06. Okt. 2003 22:29 <-- editieren / zitieren --> Unities abgeben:
|
AsSchu Ehrenmitglied Konstrukteur
Beiträge: 1632 Registriert: 27.06.2003 ACAD 2012
|
erstellt am: 07. Okt. 2003 09:37 <-- editieren / zitieren --> Unities abgeben: Nur für daiz
|
daiz Mitglied
Beiträge: 224 Registriert: 06.09.2003 SYSTEMINFO: WinXP, Map 3d 2006
|
erstellt am: 07. Okt. 2003 11:34 <-- editieren / zitieren --> Unities abgeben:
|
daiz Mitglied
Beiträge: 224 Registriert: 06.09.2003 SYSTEMINFO: WinXP, Map 3d 2006
|
erstellt am: 07. Okt. 2003 18:07 <-- editieren / zitieren --> Unities abgeben:
Hallo, Lisp ist fertig. Dank eurer Hilfe, ist es so geworden, daß ich super damit arbeiten kann. Anbei das Prog und eine kleine Programmerklärung. Das Programm kann dreierlei: 1) Die x-,y-Koordinaten ausgewählter Punkte in die Datei liste.txt schreiben 2) Die x-,y-Koordinaten und einen Text (dessen Anfangs- oder Endpunkt gleich dem Punkt ist) in die Datei schreiben 3) wie 2) nur mit zwei Texten Es gibt die Möglichkeit, die Datei liste.txt zu überschreiben oder die neuen Daten anzuhängen. Besteht noch keine Datei liste.txt, so wird sie erstellt. Liebe Grüße, Daiz [Diese Nachricht wurde von daiz am 07. Oktober 2003 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
AsSchu Ehrenmitglied Konstrukteur
Beiträge: 1632 Registriert: 27.06.2003 ACAD 2012
|
erstellt am: 08. Okt. 2003 12:59 <-- editieren / zitieren --> Unities abgeben: Nur für daiz
Hallo, Auf diesem Wege Zeichnung angehängt. ------------------
[Diese Nachricht wurde von AsSchu am 08. Oktober 2003 editiert.] [Diese Nachricht wurde von AsSchu am 08. Oktober 2003 editiert.] [Diese Nachricht wurde von AsSchu am 08. Oktober 2003 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
daiz Mitglied
Beiträge: 224 Registriert: 06.09.2003 SYSTEMINFO: WinXP, Map 3d 2006
|
erstellt am: 08. Okt. 2003 14:09 <-- editieren / zitieren --> Unities abgeben:
|
AsSchu Ehrenmitglied Konstrukteur
Beiträge: 1632 Registriert: 27.06.2003 ACAD 2012
|
erstellt am: 08. Okt. 2003 15:24 <-- editieren / zitieren --> Unities abgeben: Nur für daiz
Zitat: Original erstellt von daiz: Hallo,Sorry, das kann ich so nicht öffnen. Hab ja nur r14. Das müßte mal runtergespeichert werden. Daiz
Hallo, hier eine Acad 14 Kann auch sein, dass die acad 14.lsp bei mir unter 2002 nicht mehr läuft; hatte da schon mal Probleme mit. ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
daiz Mitglied
Beiträge: 224 Registriert: 06.09.2003 SYSTEMINFO: WinXP, Map 3d 2006
|
erstellt am: 08. Okt. 2003 16:48 <-- editieren / zitieren --> Unities abgeben:
|
AsSchu Ehrenmitglied Konstrukteur
Beiträge: 1632 Registriert: 27.06.2003 ACAD 2012
|
erstellt am: 08. Okt. 2003 16:52 <-- editieren / zitieren --> Unities abgeben: Nur für daiz
|
daiz Mitglied
Beiträge: 224 Registriert: 06.09.2003 SYSTEMINFO: WinXP, Map 3d 2006
|
erstellt am: 08. Okt. 2003 16:59 <-- editieren / zitieren --> Unities abgeben:
|
AsSchu Ehrenmitglied Konstrukteur
Beiträge: 1632 Registriert: 27.06.2003 ACAD 2012
|
erstellt am: 08. Okt. 2003 17:05 <-- editieren / zitieren --> Unities abgeben: Nur für daiz
|
daiz Mitglied
Beiträge: 224 Registriert: 06.09.2003 SYSTEMINFO: WinXP, Map 3d 2006
|
erstellt am: 08. Okt. 2003 17:09 <-- editieren / zitieren --> Unities abgeben:
|
sunbeam Mitglied TZ, Programmierer
Beiträge: 36 Registriert: 21.02.2003
|
erstellt am: 09. Okt. 2003 10:20 <-- editieren / zitieren --> Unities abgeben: Nur für daiz
|
AsSchu Ehrenmitglied Konstrukteur
Beiträge: 1632 Registriert: 27.06.2003 ACAD 2012
|
erstellt am: 09. Okt. 2003 10:29 <-- editieren / zitieren --> Unities abgeben: Nur für daiz
Zitat: Original erstellt von daiz: Textdatei? Welche Textdatei meinst Du?Das zip was ich gepostet habe ist jedenfalls nicht leer. Muß nur noch entpackt werden. hmmm... Daiz
Die Datei ptliste.txt, die gebildet wird ist leer ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
daiz Mitglied
Beiträge: 224 Registriert: 06.09.2003 SYSTEMINFO: WinXP, Map 3d 2006
|
erstellt am: 09. Okt. 2003 15:43 <-- editieren / zitieren --> Unities abgeben:
Hallo, @ sunbeam: Vielen Dank! Ich werde das mal testen und bescheid geben. @ AsSchu: Sorry, ich hab es gerade nochmal probiert und es hat funktioniert. Mit der Beispielzeichung: -------------------- Befehl: pktl Erstellt eine Liste in Datei liste.txt - x-Koord;y-Koord oder x-Koord;y-Koord;Text oder Text1;x-Koord;y-Koord;Text2 Bei Auswahl <1> darf der Text nur aus Zahlen bestehen, bei <2> darf Text2 nur aus Zahlen bestehen Nur Punkt <0> und ein Text <1> und zwei Texte <2> ?1 Erster oder zweiter Punkt des Textes identisch mit Punkt <1> <2> ?1 Name des Layers von Text:Text_höhe Evtl. exist. Datei überschreiben <0> oder Daten anhängen <1> ?0 Evtl. vorhandene Daten werden überschrieben. Es werden Punktkoordinaten und ein Text in Datei <liste.txt> geschrieben. Punkt wählen: Punkt wählen: Punkt wählen: Ende! 0 -------------------- Ergebnis in der Datei "liste.txt": 196.312;138.531;1.400; 197.831;139.992;1.601; -------------------- Ich weiß leider nicht, warum es bei Dir nicht geht. Daiz Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
daiz Mitglied
Beiträge: 224 Registriert: 06.09.2003 SYSTEMINFO: WinXP, Map 3d 2006
|
erstellt am: 10. Okt. 2003 00:04 <-- editieren / zitieren --> Unities abgeben:
Hallo sunbeam, ich habe die arx mal versucht zu laden. Leider klappt das nicht: -------------------- Befehl: _appload Lädt C:\Unzipped_Temp\pnt_export\pnt_export.arx ... Datei C:\Unzipped_Temp\pnt_export\pnt_export.arx ist ungültig. -------------------- Ist bestimmt wegen r14, schade Daiz Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
sunbeam Mitglied TZ, Programmierer
Beiträge: 36 Registriert: 21.02.2003
|
erstellt am: 10. Okt. 2003 09:24 <-- editieren / zitieren --> Unities abgeben: Nur für daiz
Also das Ganze noch mal. Die Trennzeichen lassen sich jetzt frei wählen. Getestet hab ich Gaudi mit der ersten Zeichnung in diesem Thread. Die Punkte noch mal kopiert, weil zwei ein bißchen wenig waren. Grad mit 14er ACAD probiert... Geht nicht. Aber vielleicht kann es sonst jemand gebrauchen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
AsSchu Ehrenmitglied Konstrukteur
Beiträge: 1632 Registriert: 27.06.2003 ACAD 2012
|
erstellt am: 10. Okt. 2003 09:48 <-- editieren / zitieren --> Unities abgeben: Nur für daiz
Hallo, das ist ein geniales Tool unter 2002 läuft es prima. selbst wenn ich im Benutzer BKS bin schreibt es die Weltkoordinaten aus------------------ [Diese Nachricht wurde von AsSchu am 10. Oktober 2003 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
sunbeam Mitglied TZ, Programmierer
Beiträge: 36 Registriert: 21.02.2003
|
erstellt am: 14. Okt. 2003 13:50 <-- editieren / zitieren --> Unities abgeben: Nur für daiz
Nochmal Text Export. Auf besonderen Wunsch sollten die Layer frei konfigurierbar sein, also nicht an 'TEXT', 'PUNKT', 'HÖHE' usw. gebunden. In der Konfiguration können Trennzeichen und Layernamen frei gewählt werden. Ausgabepfad und Dateiname sind frei wählbar. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
AsSchu Ehrenmitglied Konstrukteur
Beiträge: 1632 Registriert: 27.06.2003 ACAD 2012
|
erstellt am: 14. Okt. 2003 17:34 <-- editieren / zitieren --> Unities abgeben: Nur für daiz
|
maximo Mitglied
Beiträge: 4 Registriert: 16.03.2004
|
erstellt am: 01. Apr. 2004 11:00 <-- editieren / zitieren --> Unities abgeben: Nur für daiz
|
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 01. Apr. 2004 11:14 <-- editieren / zitieren --> Unities abgeben: Nur für daiz
Könnte es sein das die im ZIP-Archiv enthaltene "readme.txt" Datei helfen würde ? TIP: Auch in der ACADhilfe ist beschrieben wie man *.arx Dateien Lädt. Das Forum hat zudem eine ausgezeichnete Suchfunktion.Readme Zitat: Datei irgendwohin extrahieren. In Acad entweder mit dem Befehl "appload" oder über Menü "Extras->Anwendung" die Arx-Datei laden. Im Contextmenü ist ein neuer Eintrag "Punkte exportieren". Wähle die Punkte, die Du exportieren willst entweder mit Fenster oder schreib "alle" in die Eingabezeile. Objekte, die keine Texte oder Punkte sind, werden ausgefiltert.
------------------ - Sebastian Mattis - Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD_N Mitglied Bautechniker
Beiträge: 140 Registriert: 18.09.2003 Win XP Pentium 2,4 1 GByte AutoCAD Map 2008 GIS Magellan Vermessungssoftware VESTRA
|
erstellt am: 06. Jun. 2006 13:13 <-- editieren / zitieren --> Unities abgeben: Nur für daiz
|