| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| Request a special discount on NVIDIA RTX 5000 Ada Generation GPU !, eine Pressemitteilung
|
Autor
|
Thema: befehlszeile in zwischenspeicher kopieren (2653 mal gelesen)
|
chris888 Mitglied Technischer Zeichner
Beiträge: 141 Registriert: 11.11.2010 AutoCAD 2002, 2005, 2008, 09, 10, 11
|
erstellt am: 12. Apr. 2011 15:48 <-- editieren / zitieren --> Unities abgeben:
Hi lispler^^ Könnte mir bitte jemand verraten wie ich die Befehlszeile in meine Zwischenablage kopieren kann?? Hintergrund ist der ich will mir die Variable "area" auslesen und diese dann gleich im "Speicher" haben das ich sie wo anders einfügen kann... Bitte um Hilfe!! mfg chris Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 12. Apr. 2011 16:52 <-- editieren / zitieren --> Unities abgeben: Nur für chris888
Die meisten modernen Programmiersprachen stellen meist einfache Zugriffsmöglichkeiten auf die Zwischenablage bereit, AutoLisp leider nicht. Aber über ActiveX und einem Windowsobjekt, welches die Zugriffsmethoden auf das Clipboard für sich gekapselt hat, gelingt die Nutzbarmachung für Lisp ebenfalls. Im Programm muß dafür zuerst die ActiveX-Schnittstelle mit (vl-load-com) aktiviert werden. Dann kann mit (vlax-create-object "htmlfile") eine Instanz des Objektes, über welches auf die Zwischenablage zugegriffen werden soll erzeugt werden. Über die Unterobjekte „ParentWindow“ und „ClipBoardData“ hat man dann Zugriff auf die Methoden „Cleardata“ zum Zwischenablage leeren,“ Getdata“ zum Zwischenablage auslesen und „Setdata“ zum Daten in die Zwischenablage schreiben. und an AREA kannst du direkt vom Objekt auslesen. Hier war schon mal ne Dikussion zum Thema ... mit dem Verweis zur DOSLIB .. ------------------ - 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 |
chris888 Mitglied Technischer Zeichner
Beiträge: 141 Registriert: 11.11.2010 AutoCAD 2002, 2005, 2008, 09, 10, 11
|
erstellt am: 15. Apr. 2011 18:55 <-- editieren / zitieren --> Unities abgeben:
so... hab mir den doslib jetzt rübergeladen. Hab aber noch ein kleines Ordnungsproblem. Viell. ist es grundsätzlich gut zu wissen wie die Abfragefolge bei Lisps ist. Also mein Code sieht so aus: (defun c:flo()(command "_area" "o")(setq a (getvar "area"))(dos_clipboard a)) Problem is nur er nimmt immer die "area" vom vorherigen und nicht die vom aktuellen Befehl. Liegt entweder daran das der Befehl noch nicht beendet ist --> neuer area wert ist noch nicht bekann. Frage nun wie kann ich das umgehen...? 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. Apr. 2011 18:58 <-- editieren / zitieren --> Unities abgeben: Nur für chris888
|
chris888 Mitglied Technischer Zeichner
Beiträge: 141 Registriert: 11.11.2010 AutoCAD 2002, 2005, 2008, 09, 10, 11
|
erstellt am: 15. Apr. 2011 19:14 <-- editieren / zitieren --> Unities abgeben:
|