|
Lisp : lisp aus lisp
joern bosse am 03.04.2008 um 08:11 Uhr (0)
Hallo,nur eine Anmerkung, ein INSBASE ungleich (0.0 0.0 0.0) hat schon so manchen Fehler verursacht, wenn ein georeferenzierter Block in eine ebenfalls georeferenziere Zeichnung eingefügt wird. Wenn das Gebäude dann abgesteckt ist, bevor der Fehler auffällt.... ------------------viele GrüßeJörn
|
In das Form Lisp wechseln |
|
Lisp : lisp aus lisp
AutoCADuser am 02.04.2008 um 18:26 Uhr (0)
nee, sorry geht nicht..hat vielleicht einer nen Ausschnitt aus einem Cade...wo man sehen kann wie das aussieht wenns funktioniert...ansonsten DANKE euch für die Hilfe!!------------------
|
In das Form Lisp wechseln |
|
Lisp : lisp aus lisp
CAD-Huebner am 01.04.2008 um 17:58 Uhr (0)
Das ist ja wohl sebstverständlich, dass eine funktion eine andere Funktion wieder aufrufen kann und nach Beendigung er aufgerufenen Funktion die Prrogrammbearbetiung in der aufrufenden Funktion fortgesetzt wird. Das geht eigentlich in jeder Programmiersprache.Code:(defun A () (Print "A läuft") (B) ; hier aufruf von B (print "wieder in A"))(defun B () (Print "B läuft"))------------------Mit freundlichem GrußUdo Hübnerwww.CAD-Huebner.de
|
In das Form Lisp wechseln |
|
Lisp : lisp aus lisp
AutoCADuser am 02.04.2008 um 10:22 Uhr (0)
Ok danke, das hab ich ja hinbekommenB läuft ja auch nach der Unterbrechung durch, aber A ist so aufgebaut, dass ich aufgefordert werde einen Einfügepunkt für einen einzufügenden Block Eintippen mussund diese Aufforderung kommt eben nicht und es wird auch kein Block eingefügt. UND wenn ich nach dem Programmablauf wieder B starten will, sag er nur: "B läuft" WENN ich A Starten will sagt er: "A läuft""B läuft""wieder in A" "wieder in A"??? WAS mach ich falsch------------------
|
In das Form Lisp wechseln |
|
Lisp : lisp aus lisp
CAD-Huebner am 02.04.2008 um 11:42 Uhr (0)
Zitat:Original erstellt von AutoCADuser:... einen Einfügepunkt für einen einzufügenden Block Eintippen mussund diese Aufforderung kommt eben nicht Tja, dann ist wohl ein Fehler beim Code B - Einfügepunkt abfragen.Wird das mit (Command -einfüge ...) gemacht, dann fehlt da vermutlich ein PAUSE Befehl, ansonsten würde ich mit (getpoint ...) arbeiten.Aber ohne den fehlerhaften Code zu sehen, kann man nicht mehr sagen.------------------Mit freundlichem GrußUdo Hübnerwww.CAD-Huebner.de
|
In das Form Lisp wechseln |
|
Lisp : lisp aus lisp
Dorfy am 02.04.2008 um 14:54 Uhr (0)
Hi,....(defun c:AAA ( / OldOsmode)(setq OldOsmode (getvar "OSMODE"))(setvar "OSMODE" 108)(setvar "insbase" (getpoint "
Gib den Basispunkt an:")) (command "_-insert" "ttt" (getvar "insbase") "1" "1" "0")(setvar "OSMODE" OldOsmode) (princ))so? musst den Block von ttt auf ... umbenennen.mfg heiko
|
In das Form Lisp wechseln |
|
Lisp : lisp aus lisp
Dorfy am 02.04.2008 um 16:35 Uhr (0)
Äh...so? siehe wronzkyCode:--------------------------------------------------------------------------------(defun c:A () (Print "A läuft") (c:B) ; hier aufruf von B (print "wieder in A") (c:C) ; hier aufruf von C (print "wieder in A") (c:FD) ; hier aufruf von FD (print "wieder in A"))(defun c:B () (Print "B läuft"))(defun c:C () (Print "C läuft"))(defun c:FD () (Print "FD läuft"))--------------------------------------------------------------------------------mfg heiko [Diese Nachricht wurde von D ...
|
In das Form Lisp wechseln |
|
Lisp : lisp aus lisp
fuchsi am 03.04.2008 um 07:58 Uhr (0)
Zitat:Original erstellt von AutoCADuser:nee, sorry geht nicht..hat vielleicht einer nen Ausschnitt aus einem Cade...wo man sehen kann wie das aussieht wenns funktioniert...ansonsten DANKE euch für die Hilfe!!Code:(defun c:B ( / ) (command "_.zoom" "_extents") (command "_.xref" "_detach" "*") (command "_.layer" "_unlock" "*" "") (command "_audit" "j") ;-----------------Starten von A--------------------- (defun c:A () (Print "A läuft") (c:B) ; hier aufruf von B (print "wieder in A") ) (defun c:B () ...
|
In das Form Lisp wechseln |
|
Lisp : Proxy in Block - Blockdefinition testen
tappenbeck am 03.04.2008 um 10:03 Uhr (0)
Hi !weiß einer von Euch wie man über LISP abprüfen kann, ob in einer Blockdefinition PROXYs enthalten sind ??Gruß Jan :-)------------------jan :-)
|
In das Form Lisp wechseln |
|
Lisp : Proxy in Block - Blockdefinition testen
CADmium am 03.04.2008 um 10:18 Uhr (0)
na du stepst wie gehabt durch die Blockelemente ( Code findet sich im Forum) und checkst jedes auf (wcmatch(strcase(cdr(assoc 0 ENAME))) "*PROXY*") ...vielleicht hilft dir auch das Lisp killproxy , was du auf cadwiesel.de findest weiter...?! ------------------ - Thomas -"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."
|
In das Form Lisp wechseln |
|
Lisp : Reaktor wieder laden
CADmium am 25.03.2008 um 12:33 Uhr (0)
Weil das Lisp "bem_reaktor" vielleicht nil zurückgibt? Was liefert dir denn (vlr-reactors) vor und nach dem Laden?und was macht(if (=(load "splinecurve.LSP" "FEHLER")"FEHLER") (prompt "Fehler beim Laden von bem_reaktor") (prompt "bem_reaktor erfolgreich geladen"))------------------ - Thomas -"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."
|
In das Form Lisp wechseln |
|
Lisp : Reaktor wieder laden
joern bosse am 25.03.2008 um 09:17 Uhr (0)
Hallo Heinz,einfach mit LOAD die LISP-Datei laden, in der der Reactor definiert ist.------------------viele GrüßeJörn
|
In das Form Lisp wechseln |
|
Lisp : Reaktor wieder laden
Dober Heinz am 25.03.2008 um 13:08 Uhr (0)
Hallo ThomasSo sieht das mit deinem Lisp aus(if (=(load "Bem_Reaktor.LSP" "FEHLER")"FEHLER") (prompt "Fehler beim Laden von Bem_Reaktor") (prompt "Bem_Reaktor erfolgreich geladen"))und das bekomme ich zurückCommand: VLIDE Bem_Reaktor erfolgreich geladenCommand:Command: VLIDECommand:Command: (vlr-reactors)nil------------------ Heinz
|
In das Form Lisp wechseln |