| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY bietet das umfangreichste Ökosystem von B2B als auch B2C-Lösungen für IT-Akteure auf dem Markt, eine Pressemitteilung
|
Autor
|
Thema: Auslesen von Koordinaten in die Zwischenablage (3761 mal gelesen)
|
Meriadoc Mitglied Student
Beiträge: 88 Registriert: 14.09.2005 Vista ACA 2008 SP1
|
erstellt am: 23. Jul. 2008 08:40 <-- editieren / zitieren --> Unities abgeben:
He ho! Hab mal 'ne Frage: Der Befehl ID_Punkt zeigt mir in der Befehlszeile die XYZ Koordinaten an einer gewählten Stelle an. Diese muss ich dann mühevoll in Excel eintippen. Kann ich diese Werte nicht auch autom. in die Zwischenabage übernehmen lassen und dann in Excel einfügen? Beispiel: Punkt ausgewählt und anzeige in der Befehlszeile wie folgt: X = 7574.24634515 Y = 98800.00000000 Z = 5177.41112387 Jetzt möchte ich in Excel eine Zelle anklicken und mit Einfügen nur die Zahlenwerte auf zwei Nachkommastellen in drei nebeneinanderstehende Zellen einfügen. Nett wäre einfach mal ne Info, ob das mit Lisp überhaupt geht und ob es villeicht schon ein Tool dazu gibt. Braucht Euch nicht die Mühe machen hier ne Komplettlösung reinzuschreiben, falls es nicht schon was fertiges gibt. Das bastel ich mir dann schon irgendwie hin. Viele Grüße, Sebastian
------------------ Warum seid Ihr alle schlauer als ich??? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gmk Mitglied Dipl.-Ing.(FH) Vermessung
Beiträge: 669 Registriert: 23.10.2002 Autocad 2004, WS CadCompass, Normica V2000, WinXP Prof., AMD Athlon 64 X2, 2GB, NVIDIA GeForce 7600GS, HP1055CM
|
erstellt am: 23. Jul. 2008 08:55 <-- editieren / zitieren --> Unities abgeben: Nur für Meriadoc
Servus! Such mal im IN nach doslib16.arx. Die kannst Du in AutoCAD laden, dann stehen Dir viele zusätzliche Befehle z.V. (ist auch eine Hilfe dabei). U.a. gibt es dort den Befehl dos_clipboard mit dem Du Werte in der Zwischenablage speichern kannst. Andere Möglichkeit wäre die Koordinaten der Punkte in eine ASCII-Datei zu schreiben um sie dann in Excel einlesen zu können. Ciao Georg ------------------ http://www.xx-tausend.info Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Meriadoc Mitglied Student
Beiträge: 88 Registriert: 14.09.2005 Vista ACA 2008 SP1
|
erstellt am: 23. Jul. 2008 09:03 <-- editieren / zitieren --> Unities abgeben:
Danke, werde ich mal probieren. In eine Ascii Datei kann ich die Punkte auslesen, aber ich will sie unbedingt in die Zwischenablage :-) ------------------ Warum seid Ihr alle schlauer als ich??? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Meriadoc Mitglied Student
Beiträge: 88 Registriert: 14.09.2005 Vista ACA 2008 SP1
|
erstellt am: 23. Jul. 2008 09:22 <-- editieren / zitieren --> Unities abgeben:
Da bin ich wieder :-) Habe das Tool installiert. Das ist wohl von Gott gemacht. Absoluter Hammer. Ca. 60 % davon habe ich mir schon immer gewünscht (Adminstatus anzeigen, Verzeichniswechsel automatisieren etc.). Echt geil!!! Habe jetzt mal ein wenig getestet: (dos_clipboard "blablabla") legt mir eine Zeichenfolge in die Zwischen ablage, aber wie kann ich variablen auslese? Finde in der Hilfe nichts darüber. Kann mir da nochmal jemand nen kleinen Stubser in die richtige Richtung geben? ------------------ Warum seid Ihr alle schlauer als ich??? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 23. Jul. 2008 09:27 <-- editieren / zitieren --> Unities abgeben: Nur für Meriadoc
geht auch mit Lisp pur(und ActiveX) hab mal was als Machbarkeitsstudie zum Testen zusammengebastelt.Anhang als vlx speichern und mit _appload (oder Drag&Drop in die aktuelle Zeichnung) laden.. ------------------ - Thomas - "Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joern bosse Ehrenmitglied Dipl.-Ing. Vermessung
Beiträge: 1763 Registriert: 11.10.2004 Window 11 ACAD 2021 CIVIL 2021 BricsCAD ab V14 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz 2.80 GHz 32.0GB RAM NVIDIA GeForce MX450<P>
|
erstellt am: 23. Jul. 2008 09:31 <-- editieren / zitieren --> Unities abgeben: Nur für Meriadoc
|
Meriadoc Mitglied Student
Beiträge: 88 Registriert: 14.09.2005 Vista ACA 2008 SP1
|
erstellt am: 23. Jul. 2008 09:38 <-- editieren / zitieren --> Unities abgeben:
@CADmium: Von wegen Machbarkeitsstudie. Das ist genau das, was ich wollte!!! Wie kann ich die Datei öffnen und nachsehen, wie genau Du das gemacht hast? Danke auch für Deinen Tip Joern. Lese mir das grade durch. ------------------ Warum seid Ihr alle schlauer als ich??? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gmk Mitglied Dipl.-Ing.(FH) Vermessung
Beiträge: 669 Registriert: 23.10.2002 Autocad 2004, WS CadCompass, Normica V2000, WinXP Prof., AMD Athlon 64 X2, 2GB, NVIDIA GeForce 7600GS, HP1055CM
|
erstellt am: 23. Jul. 2008 09:41 <-- editieren / zitieren --> Unities abgeben: Nur für Meriadoc
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 23. Jul. 2008 09:45 <-- editieren / zitieren --> Unities abgeben: Nur für Meriadoc
Zitat: Original erstellt von Meriadoc: @CADmium: Wie kann ich die Datei öffnen und nachsehen, wie genau Du das gemacht hast?
Sorry, gar nicht! .. für deine Fälle reicht sicher der Umgang mit der DOSLIB aus .. in die arx kannst du aber auch nicht reingucken, hast du auch keinen Quelltext von, und die mußt du für jede ACADversion auf der dein Lsp laufen soll haben.. ------------------ - Thomas - "Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Meriadoc Mitglied Student
Beiträge: 88 Registriert: 14.09.2005 Vista ACA 2008 SP1
|
erstellt am: 23. Jul. 2008 09:51 <-- editieren / zitieren --> Unities abgeben:
Zitat: -------------------------------------------------------------------------------- Original erstellt von Meriadoc: @CADmium: Wie kann ich die Datei öffnen und nachsehen, wie genau Du das gemacht hast? -------------------------------------------------------------------------------- Sorry, gar nicht! -------------------------------------------------------------------------------- Könntst Du dann eventuell noch eine kleine Änderung vornehmen und die Datei nochmal hochladen? *ganzliebguck* Wenn ein Wert eingefügt wird, bei dem die beiden Nachkommastellen 0 sind, werden diese leider in Excel unterdrückt. Müssten dort aber stehen. z.B.: 98000.00 und nicht 98000 Vielen Dank an alle! Viele Grüße, Sebastian ------------------ Warum seid Ihr alle schlauer als ich??? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Meriadoc Mitglied Student
Beiträge: 88 Registriert: 14.09.2005 Vista ACA 2008 SP1
|
erstellt am: 23. Jul. 2008 10:05 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von gmk: Befehl: (SETQ a 5.0) 5.0 Befehl: (DOS_CLIPBOARD (RTOS a 2 2)) "5.00"Ciao Georg
Das gibt bei mir leider eine Fehlermeldung, wenn ich folgendes mache: (setq p1 (getpoint)) (dos_clipboard (rtos p1 2 2)) wahrscheinlich, weil das mehrere Werte hintereinander sind... ------------------ Warum seid Ihr alle schlauer als ich??? [Diese Nachricht wurde von Meriadoc am 23. Jul. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 23. Jul. 2008 10:09 <-- editieren / zitieren --> Unities abgeben: Nur für Meriadoc
Zitat: Original erstellt von Meriadoc: Das gibt bei mir leider eine Fehlermeldung, wenn ich folgendes mache:(setq p1 (getpoint)) (dos_clipboard (rtos a 2 2)) wahrscheinlich, weil das mehrere Werte hintereinander sind...
Befass dich mal ein wenig mit Lisp und probier nicht nur zusammenkopierten Code irgendwie zum Laufen zu bekommen: Du verwendest in zwei Zeilen unterschiedliche Variablen .. .. probier mal (setq PKT(getpoint)) (dos_clipboard (strcat (rtos (car PKT) 2 2) "\t" (rtos (cadr PKT) 2 2) "\t" (rtos (caddr PKT) 2 2) ) ) .. das mit den Nachkomma-Nullen bei Gelegenheit ..
------------------ - Thomas - "Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joern bosse Ehrenmitglied Dipl.-Ing. Vermessung
Beiträge: 1763 Registriert: 11.10.2004 Window 11 ACAD 2021 CIVIL 2021 BricsCAD ab V14 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz 2.80 GHz 32.0GB RAM NVIDIA GeForce MX450<P>
|
erstellt am: 23. Jul. 2008 10:10 <-- editieren / zitieren --> Unities abgeben: Nur für Meriadoc
|
Meriadoc Mitglied Student
Beiträge: 88 Registriert: 14.09.2005 Vista ACA 2008 SP1
|
erstellt am: 23. Jul. 2008 10:14 <-- editieren / zitieren --> Unities abgeben:
|
Meriadoc Mitglied Student
Beiträge: 88 Registriert: 14.09.2005 Vista ACA 2008 SP1
|
erstellt am: 23. Jul. 2008 10:27 <-- editieren / zitieren --> Unities abgeben:
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 23. Jul. 2008 10:29 <-- editieren / zitieren --> Unities abgeben: Nur für Meriadoc
|
Meriadoc Mitglied Student
Beiträge: 88 Registriert: 14.09.2005 Vista ACA 2008 SP1
|
erstellt am: 29. Jul. 2008 09:04 <-- editieren / zitieren --> Unities abgeben:
Hallo Ihr! Also, danke nochmal für das Programm (inklusive anzeige der zwei Nullstellen nach dem Komma). Der Vollständigkeit halber und damit der Beitrag auch für andere noch einen gewissen Hilfswert besitzt nochmal der (von Euch erstellte) vollständige, funktionierende Text für die lsp-Datei mit Erklärung: (defun c 2c (/ pkt) ;definiert den Namen der Funktion und die Variable pkt (nachher eine Liste mit den Koordinaten) (setq PKT(getpoint)) ;Koordinaten aus der Funktion getpoint werden in die Liste PKT geschrieben (setvar "DIMZIN" 0) ;setzt die AutoCAD-Variable DIMZIN (im Normalfall 8) auf Null (wegen der Nachkommastellen) (dos_clipboard ;kopiert eine Zeichenkette in die Zwischenablage (Funktion aus DosLib (strcat ;strcat verbindet zwei oder mehr Zeichenketten zu einer einzigen (rtos (car PKT) 2 2) "\t" ;liest den ersten Listenwert aus und setzt einen Tabulator (rtos (cadr PKT) 2 2) "\t" ;liest den ersten Listenwert aus und setzt einen Tabulator (rtos (caddr PKT) 2 2) ;liest den ersten Listenwert aus )) (setvar "DIMZIN" 8) ;setzt die AutoCAD-Variable auf den anfänglichen Wert von acht zurück ) Einfach eine *.txt Datei erstellen, den Text einfügen und die Endung in .lsp ändern.
Viele Grüße und nochmal Danke für die Hilfe, Sebastian PS: Das lachende Gesicht oben sind natürlich : und p, weiss nicht, wie ich das ändere. ------------------ Warum seid Ihr alle schlauer als ich??? [Diese Nachricht wurde von Meriadoc am 29. Jul. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |