|
AutoLisp : Pfad der Lisp zur Laufzeit?
WolfgangE am 01.09.2004 um 09:36 Uhr (0)
Hallo Lisp-Gemeinde, gesucht hab ich, gefunden leider nicht, vielleicht kann mir da jemand weiter helfen. Ich habe ein Lisp-Programm, welches unter anderem eine Textdatei einlesen soll. Diese Textdatei befindet sich im selben Verzeichnis wie die Lisp-Datei selbst. Kann ich nun irgendwie innerhalb der Lisp ermitteln, in welchem Verzeichnis sie sich befindet (und damit auch die Textdatei)? Wie sieht das ganze dann aus, wenn ich die LSP in eine FAS kompiliere? Was ich schlussendlich haben möchte, ist einfach ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Pfad der Lisp zur Laufzeit?
CADwiesel am 01.09.2004 um 10:24 Uhr (0)
Hai so einfach ist das nur per doslib möglich. wenn es allerdings ein Lisp/vlx ist, was in der Startgruppe abgelegt ist, so kann es per vl ausgelesen werden. Als Alternative kannst du aber auch einfach eine Subfunktion deffinierne - in deinem Lisp, die dann gleich einen Reg-key schreibt a la: wo bin ich. ------------------ Gruß CADwiesel Besucht uns im CHAT
|
In das Form AutoLisp wechseln |
|
AutoLisp : Pfad der Lisp zur Laufzeit?
WolfgangE am 01.09.2004 um 11:00 Uhr (0)
Puuuhhhh! So kompliziert ... Na, ich werden mal schauen, ob ich das Ding irgendwie noch als Variable oder Parameter reinbring, den man dann halt 1x angeben muss. Danke für die Info. Ciao, WolfgangE ------------------ An Optimist Is A Person Who Has Not Been Shown All The Facts Yet!!!
|
In das Form AutoLisp wechseln |
|
AutoLisp : Arbeitsweise VBA VLISP
mapcar am 01.09.2004 um 13:53 Uhr (0)
Hi Achim, für mich ist dein Beitrag zwar eine schöne, ausführliche Umschreibung der Frage, aber noch keine Antwort... Warum sollte bei Ausführung einer ActiveX-Methode etwas verpuffen ? Diese Methoden werden doch von AutoCAD ausgeführt, nicht von Lisp! Lisp greift auf die gleichen Mechanismen zu wie VBA oder jeder andere ActiveX-Client. Der ActiveX-Server (AutoCAD) weiss ja nicht mal, welcher Client die Methoden ausführt, oder irre ich da? Wie kann da also ein unterschiedliches Verhalten von AutoCAD (nich ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Pfad der Lisp zur Laufzeit?
CADmium am 01.09.2004 um 14:10 Uhr (0)
Vielleicht noch ne Idee: (setq *ORGLOAD* LOAD) (defun load ( NAME ) (if(=(type NAME) STR) (progn (if (setq NAME(findfile NAME)) (setq *LISPPATHS* (cons (cons(strcat(cadr(fnsplitl NAME))(caddr(fnsplitl NAME))) (car(fnsplitl NAME)) ) *LISPPATHS* ) ) ) (*ORGLOAD* NAME nil) ) ) ) in d ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Pfad der Lisp zur Laufzeit?
WolfgangE am 01.09.2004 um 15:09 Uhr (0)
Hallo Thomas, danke erst mal, werd ich mal versuchen, auch wenn ich den Code nicht so ganz verstehe (mach nicht viel mit Lisp). ------------------ An Optimist Is A Person Who Has Not Been Shown All The Facts Yet!!!
|
In das Form AutoLisp wechseln |
|
AutoLisp : Punkte auf Linie erstellen
3105orcas am 01.09.2004 um 15:25 Uhr (0)
Hallo, brauche dringend Hilfe, aber leider kein Lisp-Experte! Folgendes Problem: Ich muss auf vielen Linien jeweils Punkte in verschiedenen Abständen eintragen. Also z.B. eine gerade Linie und 3 Punkte mit unterschiedlichem Abstand. Hoffe man kann das vielleicht mit Lisp hinkriegen, in der Form das man die Linie vielleicht anklickt, die drei Abstandswerte von den Punten angibt und dann einen Block an diesen Stellen generiert bekommt. Vielleicht kann mir jemand helfen? Danke Danke Danke Anne
|
In das Form AutoLisp wechseln |
|
AutoLisp : Arbeitsweise VBA VLISP
Dabrunz am 01.09.2004 um 16:39 Uhr (0)
Zitat: Warum sollte bei Ausführung einer ActiveX-Methode etwas verpuffen ? Diese Methoden werden doch von AutoCAD ausgeführt, nicht von Lisp! [..] Wie ich bereits sagte, bin ich nicht sicher, wenn alle Aktionen vollständig innerhalb des Application-Servers laufen, dann kann ein Wechsel des Zeichnungs-Kontexts keine Auswirkungen auf die Aktivierung der neuen Zeichnung haben. Nun hat sie aber doch! Sieht für mich so aus, als ob da eine Referenz ins Nirvana zeigt - ist aber spekulativ - zugegeben. ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Arbeitsweise VBA VLISP
mapcar am 02.09.2004 um 01:47 Uhr (0)
Das ist eigendlich eine prima Idee, aber warum funktioniert dann der (command vbastmt -Kram, wo doch Lisp ganz sicher aktiv ist? Na, vielleicht deshalb, weil die einfach vergessen haben, beides abzuprüfen? Gruß, Axel Strube-Zettler ------------------ (defun - Lisp over night - AutoLisp-Programmierung für AutoCad - Da weiß man, wann man s hat Meine AutoLisp-Seiten Mein Angriff auf dein Zwerchfell Mein Lexikon der Fotografie Mein gereimtes Gesülze
|
In das Form AutoLisp wechseln |
|
AutoLisp : Lisp laden
cadffm am 02.09.2004 um 08:38 Uhr (0)
Du meinst sowas !? ^C^C(if(null C:txtcopy)(LOAD txtcopy ));txtcopy; also : (if(null C:txtcopy)(LOAD txtcopy )) !? ------------------ Bitte Systemangaben eintragen, wie & warum siehst du HIER
|
In das Form AutoLisp wechseln |
|
AutoLisp : Lisp laden
CADmium am 02.09.2004 um 08:41 Uhr (0)
Guck dir auch mal die Lispfunktion autoload in der Hilfe an! @cadffm : etwas Mäkelei: wie reagiert dein Aufruf nach einem vorherigen (setq c:txtcopy 1) ? (etwas hergeholt, ich weiß, aber etwas mehr Sicherheit bietet z.B. der Test (if (/=(type c:txtcopy) SUBR)(load....) oder die Verwendung solchen Algorithmus mit Test, ob geladen. Aber am besten ist Ordnung in den Funktionsbibliotheken. ------------------ - Thomas - [Diese Nachricht wurde von CADmium am 02. Sep. 2004 editiert.]
|
In das Form AutoLisp wechseln |
|
AutoLisp : Lisp laden
Brischke am 02.09.2004 um 08:53 Uhr (0)
Hallo Heinz, Wer suchet, der findet. Dieser Beitrag sollte so ziemlich genau deine Frage beantworten. Bei Fragen ... Grüße Holger ------------------ Holger Brischke (defun - Lisp over night! AutoLISP-Programmierung für AutoCAD Da weiß man, wann man s hat!
|
In das Form AutoLisp wechseln |
|
AutoLisp : Lisp laden
tom.berger am 02.09.2004 um 10:29 Uhr (0)
Zitat: Original erstellt von CADmium: @cadffm : etwas Mäkelei: wie reagiert dein Aufruf nach einem vorherigen (setq c:txtcopy 1) ? (etwas hergeholt, ich weiß, aber etwas mehr Sicherheit bietet ... Hallo, sonst mäkele ich ja gerne an was herum, wenn in LISP-Programmen zu wenig auf Sicherheit geachtet wird, aber diesmal ist es eher anders herum: jede LISP Funktion kann jederzeit mit (setq c:funktion 1) deaktiviert werden, so dass auch der obige Menübefehl versagt. Abhilfe könnte da nur schaffen, das ...
|
In das Form AutoLisp wechseln |