| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Funktion zum Öffnen einer Lisp-Datei (4110 mal gelesen)
|
Barbara33 Mitglied
Beiträge: 91 Registriert: 18.04.2007 Windows 7, AutoCAD 2000 (englisch)
|
erstellt am: 22. Nov. 2011 14:36 <-- editieren / zitieren --> Unities abgeben:
Hallo eine Frage zum Öffnen von lsp-Dateien: AutoCAD eines Anwenders ist so eingestellt, dass "MeinStart.lsp" bereits beim Öffnen einer Zeichnung geladen wird. Das ist die Ausgangslage. Nun wird eine Funktion gesucht, die in dieser Datei stehen soll, die diese so öffnet (vielleicht mit Wordpad?), um darin händisch Änderungen oder Ergänzungen vornehmen zu können. Sie sollte natürlich den jeweils aktuellen Standort (Pfad) dieser Datei berücksichtigen, denn der kann ja bei jedem Nutzer anders sein. LG, Barbara Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 Alles
|
erstellt am: 22. Nov. 2011 14:46 <-- editieren / zitieren --> Unities abgeben: Nur für Barbara33
Zitat: Original erstellt von Barbara33: Sie sollte natürlich den jeweils aktuellen Standort (Pfad) dieser Datei berücksichtigen, denn der kann ja bei jedem Nutzer anders sein.
Sollte es aber nicht ! Die Logik des Speicherortes sollte überall gleich sein und somit programmtechnisch ermittelbar sein. 1. Eine per Lisp definierte Funktion in Acad hat keine Ahnung woher sie kommt. 2. Liegt die Datei in einem Supportpfad so findest du die Datei mit FINDFILE falls der Dateiname bekannt ist und eine einfache Funktion zum öffnen der Datei findest du in STARTAPP. Zwei Suchbegriffe, viel Spaß beim stöbern und testen ------------------ CAD.de System-Angaben - CAD on demand - User:FAQ(Acad) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 .
|
erstellt am: 22. Nov. 2011 14:47 <-- editieren / zitieren --> Unities abgeben: Nur für Barbara33
|
Barbara33 Mitglied
Beiträge: 91 Registriert: 18.04.2007 Windows 7, AutoCAD 2000 (englisch)
|
erstellt am: 22. Nov. 2011 15:20 <-- editieren / zitieren --> Unities abgeben:
Die Datei liegt vielleicht auf D:\\, vielleicht auch nicht. Vielleicht liegt sie in einem Supportpfad, vielleicht auch nicht. Einen konkreten Pfad anzugeben wäre zwecklos. Kann man das nicht dem AutoCAD entlocken, wo diese Datei liegt? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADchup Ehrenmitglied V.I.P. h.c.
Beiträge: 3329 Registriert: 14.03.2001 Sicher ist, dass nichts sicher ist. Selbst das nicht. Joachim Ringelnatz
|
erstellt am: 22. Nov. 2011 15:28 <-- editieren / zitieren --> Unities abgeben: Nur für Barbara33
Hi, mal ganz ketzerisch gefragt: Wozu solche Klimmzüge mit zusätzlichen Dateien, wenn das Feature schon längst und besser im Paket enthalten ist? Beispielsweise ist die Startgruppe im APPLOAD-Befehl eine wunderbare Klick 'n Run-Geschichte. Jeder kann damit seine zu ladenden Tools einsammeln. Die müssen nicht mal im Supportpfad stehen! Die Startgruppe steht außerdem im Profil, lässt sich so also auch verteilen. Gruß CADchup ------------------ CADmaro.de [Diese Nachricht wurde von CADchup am 22. Nov. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Huebner Ehrenmitglied V.I.P. h.c. Verm.- Ing., ATC-Trainer
Beiträge: 9732 Registriert: 01.12.2003 One AutoCAD 2.5 - 2023, Civil 3D, Win10/win11
|
erstellt am: 22. Nov. 2011 15:32 <-- editieren / zitieren --> Unities abgeben: Nur für Barbara33
Zitat: Original erstellt von Barbara33: .... Kann man das nicht dem AutoCAD entlocken, wo diese Datei liegt?
Bitte lese die Beiträge aufmerksamer (findfile "MEINE.LSP") wie von Cadmium angegeben sucht doch nach deiner Datei und gibt den kompletten PFad zurück, sofern die Datei in einem Supportsuchpfad gefunden gefunden wird. Wenn du systemweit aus Lisp suchen möchtest, könntest du eine OS Funktion bemühen (command "Shell" "DIR K:\\MeineLispDatei.lsp /s > C:\\temp\\allegefundenenLispDateien2.txt") Welche Datei aber nun wirklich geladen wurde, kannst du auch so nicht herausfinden. ------------------ Mit freundlichem Gruß Udo Hübner www.CAD-Huebner.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4171 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 22. Nov. 2011 16:31 <-- editieren / zitieren --> Unities abgeben: Nur für Barbara33
Zitat: Original erstellt von Barbara33: ... Nun wird eine Funktion gesucht, die in dieser Datei stehen soll, die diese so öffnet (vielleicht mit Wordpad?), um darin händisch Änderungen oder Ergänzungen vornehmen zu können. ...
Hallo Barbara, darf ich mal ganz blöd, nach dem Sinn dessen fragen? In meiner Zeit als CAD-Admin habe ich strengstens verboten, dass irgendjemand Änderungen in den Lisp's vornimmt. Oder bist du in einem Büro beschäftigt, dass sich ausschließlich mit der Programmierung beschäftigt (wo das dann natürlich Sinn machen könnte). Aber egal wie, eine vernünftig strukturierte Dateiablage, die Dateien eindeutig (außer den Sicherungskopien) nicht mehrfach abgelegt, sollte der Schlüssel zum Glück sein, ohne solche Klimmzüge, wie du die vorhast. Grüße Holger ------------------ Holger Brischke CAD on demand GmbH Individuelle Lösungen von Heute auf Morgen. defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
spider_dd Mitglied
Beiträge: 1111 Registriert: 27.11.2003 Win 10Pro Intel(R) Core(TM) i7-7700 NVIDIA Quadro P1000 ACAD, Civil-3D 2018
|
erstellt am: 22. Nov. 2011 16:49 <-- editieren / zitieren --> Unities abgeben: Nur für Barbara33
Hallo Barbara, hier kann ich mich Holger nur anschließen. Wenn jeder Nutzer so einfach in dem lsp-Dateien "herumfuscheln" darf, gehst Du davon aus, dass auch jeder genau weiß, was er tut (was aber bei vielen, denke ich, nicht gegeben ist). Schon eine Klammer aus Versehen gelöscht oder zuviel gesetzt und das Ganze läuft nicht mehr. Da kommst Du dann vor Fehlersuche gar nicht mehr hinterher. Was soll den der Nutzer ändern (wollen)? Wenn Du das weist, dann kannst Du das Prog auch gleich so bauen, dass diese variablen Möglichkeiten vorgesehen, abgefragt und entsprechend "Wunsch" des Nutzers abgearbeitet werden. Dein Prog ist dann entsprechend flexibel aber nicht ständig anders. Gruß Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Barbara33 Mitglied
Beiträge: 91 Registriert: 18.04.2007 Windows 7, AutoCAD 2000 (englisch)
|
erstellt am: 22. Nov. 2011 17:57 <-- editieren / zitieren --> Unities abgeben:
OK, habe jetzt eine Lösung gefunden. Mit startapp "notepad" kann man eine Datei mit Pfadangabe öffnen. Vielleicht ist es nicht der optimale Weg, aber ich mache es so: Wenn ich ein Lisp-Programm testen will, dann schreibe ich es in meine Spielwiese namens "mein.lsp", und das liegt in einem eigens angelegten Ordner in meinen documents-Ordner. Dieses Programm wird bei jedem AutoCAD-Start automatisch geladen, weil ich es so in _APPLOAD angegeben habe, in der Startup Suite. In diesem "mein.lsp" sind erst einmal zwei Funktionen (die zweite soeben dankenswerterweise durch Eure Hilfe in diesem Thema kreiert):
Code: (defun c:mm () (load "C:\\Users\\anwender 1\\Documents\\Autocad\\mein.LSP")(princ "> Mein.lsp geladen! ")(princ)) (defun c:nn () (startapp "notepad" "C:\\Users\\anwender 1\\Documents\\Autocad\\mein.LSP"))
Und dann folgen weitere Programme, mit denen ich herum teste und AutoLISP kennen lerne. Da schreibe ich einen Code rein, den ich testen will, dann speichere ich ihn mit STRG+S, lasse das Fenster aber offen, um später weiter testen zu können, dann gehe ich ins AutoCAD-Fenster, rufe diese Datei mit "mm" auf und habe alle darin gemachten Änderungen zur Verfügung. Ist doch recht einfach, oder? Nur das erstmalige Öffnen dieser Datei im Texteditor konnte ich bisher nur mit dem Windows Explorer, und das sind ein paar mühsame Mausklicks. Jetzt sollte aber auch dies mit "nn" schneller gehen. Danke. Meine weitere Idee war, den Pfad nicht explizit anzugeben, sondern dem AutoCAD zu entlocken. Immerhin weiß es ja aus der Startup Suite von _APPLOAD, wo "mein.lsp" zu finden ist. Aber es geht auch so. Vielen Dank. LG, Barbara Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 .
|
erstellt am: 22. Nov. 2011 18:13 <-- editieren / zitieren --> Unities abgeben: Nur für Barbara33
|
Brischke Moderator CAD on demand GmbH
Beiträge: 4171 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 22. Nov. 2011 18:20 <-- editieren / zitieren --> Unities abgeben: Nur für Barbara33
warum nimmst du nicht den VisualLisp-Editor. Seit was weiß ich wievielen Versionen ist der im AutoCAD integriert. Tipp mal VLIDE in der Befehslzeile ein. Da kannste öffnen/laden/debuggen/... mit staunenden Grüßen! Holger ------------------ Holger Brischke CAD on demand GmbH Individuelle Lösungen von Heute auf Morgen. defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Barbara33 Mitglied
Beiträge: 91 Registriert: 18.04.2007 Windows 7, AutoCAD 2000 (englisch)
|
erstellt am: 22. Nov. 2011 18:42 <-- editieren / zitieren --> Unities abgeben:
Danke, davon habe ich schon gehört, konnte es aber aus Zeitgründen noch nicht ausprobieren. Ihr werdet lachen, aber für mich ist mal vorrangig, was Nützliches zu produzieren. Und VLIDE ist das Nächste auf meiner Liste. LG, Barbara Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 .
|
erstellt am: 22. Nov. 2011 18:50 <-- editieren / zitieren --> Unities abgeben: Nur für Barbara33
|