| | |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| | |
 | Von Digital Twins bis Hochleistungs-Computing: PNY präsentiert seine Zukunftstechnologien für die Industrie von morgen, eine Pressemitteilung
|
|
Autor
|
Thema: LISP (ACAD2008) in ACAD2010 und höher (1373 mal gelesen)
|
rswit Mitglied
 Beiträge: 3 Registriert: 23.04.2014
|
erstellt am: 23. Apr. 2014 17:28 <-- editieren / zitieren --> Unities abgeben:         
Hallo Ich verwende einige LISP Files in ACAD2008. Leider funktioniern diese nicht mehr im ACAD2010 und höher. Wie kann ich die Files umschreiben, damit diese wieder benutz werden können. Vielen Dank für eure Hilfe. Anwendung: Punktliste erstellen LSP: Punktliste.lsp DCL: Punktliste.dcl (weiter unten) *****LSP**** (prompt "PKT zum Starten") (defun C:pkt (/) (setq MD_ERR *ERROR* *ERROR* M:FEHLER ) ;_ end of setq ;;Marke für Zurück nach Abbruch setzen (command "_UNDO" "_MARK") ;Fangfunktion (setq OLDOSM (getvar "osmode")) (if (< (setq DCL_ID (load_dialog "Punkteliste.dcl")) 0) (progn (alert "\nPunktliste.dcl nicht gefunden. Abbruch!") (exit) ) (progn (setq WHAT_NEXT 7) (OFANG-DIALOG DCL_ID) (unload_dialog DCL_ID) ) ;_ end of progn ) ;_ end of if (if (not (setq listnam (findfile "punkteliste.txt"))) (setq listnam (getfiled "Punktliste anlegen" "punktliste" "asc" 1)) ) ;_ end of if (if listnam (progn (setvar "osmode" zahl) (setq nr 1000) (While (setq pkt (getpoint "Punkt zeigen: ")) /= NULL (setq pktlst (strcat " K ! ! " (itoa (setq nr (1+ nr))) "! 61!2! " (rtos (car pkt)) "! " (rtos (cadr pkt)) "! ! " (rtos (caddr pkt))"!" ) ;_ end of strcat ) ;_ end of setq (setq DAT_ID (open listnam "a")) (write-line pktlst DAT_ID) (close DAT_ID) ) ;_ end of While ) ;_ end of progn ) ;_ end of if (setvar "osmode" oldosm) ) ;_ end of defun (defun OFANG-DIALOG (DCL_ID /) (setq bed1 0 bed2 0 bed3 0 bed4 0 bed5 0 bed6 0 bed7 0 bed8 0 bed9 0 bed10 0 zahl 0 ) ;_ end of setq (while (< 1 WHAT_NEXT) (new_dialog "Objektfang" DCL_ID) (action_tile "bed1" "(setq bed1 (atoi $value))") (action_tile "bed2" "(setq bed2 (atoi $value))") (action_tile "bed3" "(setq bed3 (atoi $value))") (action_tile "bed4" "(setq bed4 (atoi $value))") (action_tile "bed5" "(setq bed5 (atoi $value))") (action_tile "bed6" "(setq bed6 (atoi $value))") (action_tile "bed7" "(setq bed7 (atoi $value))") (action_tile "bed8" "(setq bed8 (atoi $value))") (action_tile "bed9" "(setq bed9 (atoi $value))") (action_tile "bed10" "(setq bed10 (atoi $value))") (action_tile "accept" "(done_dialog 1)") (action_tile "cancel" "(done_dialog 0)") (setq WHAT_NEXT (start_dialog)) (cond ((= WHAT_NEXT 1) (if (= bed1 1) (setq zahl (+ zahl 1)) ) (if (= bed2 1) (setq zahl (+ zahl 64)) ) (if (= bed3 1) (setq zahl (+ zahl 2)) ) (if (= bed4 1) (setq zahl (+ zahl 128)) ) (if (= bed5 1) (setq zahl (+ zahl 4)) ) (if (= bed6 1) (setq zahl (+ zahl 256)) ) (if (= bed7 1) (setq zahl (+ zahl 8)) ) (if (= bed8 1) (setq zahl (+ zahl 512)) ) (if (= bed9 1) (setq zahl (+ zahl 16)) ) (if (= bed10 1) (setq zahl (+ zahl 32)) ) ) ) ;_ end of cond ) ;_ end of while ) ;_ end of defun
(defun M:FEHLER (S) (print (strcat "M:fehler " S)) (close DAT_ID) (command) (command "_UNDO" "_BACK") (setq *ERROR* MD_ERR) (princ) ) ;_ end of defun ;|«Visual LISP© Format Options» (72 2 40 1 T "end of " 60 9 0 0 0 nil T nil T) ;*** KEINEN Text unterhalb des Kommentars hinzufügen! ***|;
****DCL*** Objektfang : dialog { label = "Objektfang festlegen"; :boxed_radio_column { label = "Objektfang "; :row { : toggle { alignment = left; width = 23; fixed_width = true; label = "Endpunkt"; key = "bed1"; } : toggle { alignment = left; label = "Basispunkt"; key = "bed2"; } } :row { : toggle { alignment = left; width = 10; fixed_width = true; label = "Mittelpunkt"; key = "bed3"; } : toggle { alignment = left; label = "Lot"; key = "bed4"; } } :row { : toggle { alignment = left; width = 21; fixed_width = true; label = "Zentrum"; key = "bed5"; } : toggle { alignment = left; label = "Tangente"; key = "bed6"; } } :row { : toggle { alignment = left; width = 27; fixed_width = true; label = "Punkt"; key = "bed7"; } : toggle { alignment = left; label = "Nächster Punkt"; key = "bed8"; } } :row { : toggle { alignment = left; width = 24; fixed_width = true; label = "Quadrant"; key = "bed9"; } : toggle { alignment = left; label = "Schnittpunkt"; key = "bed10"; } } } ok_cancel; }
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
jupa Ehrenmitglied V.I.P. h.c. Ruheständler
     
 Beiträge: 6052 Registriert: 16.09.2004 WINDOWS Vista Ultimate SP2 (64bit), NVIDIA Geforce 9600M GT, AutoCAD 2013.
|
erstellt am: 23. Apr. 2014 19:30 <-- editieren / zitieren --> Unities abgeben:          Nur für rswit
Zitat: Original erstellt von rswit:
Ich verwende einige LISP Files in ACAD2008. Leider funktioniern diese nicht mehr im ACAD2010 und höher.
Was konkret funktioniert bei Dir denn nicht. Ich hab's hier mal mit ACAD 2014 laufen lassen: werde zur Eingabe von Punkten aufgefordert, anschließend existiert eine (nach einem mir unbekannten Schema formatierte) Punktedatei (Punktliste.asc). Da ich nicht genau weiß, was passieren soll kann ich keinen Defekt erkennen. Was ist denn das angestrebte Ergebnis? Jürgen
------------------ Bildung kommt nicht vom Lesen, sondern vom Nachdenken über das Gelesene. (Carl Hilty) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Geos Mitglied Vermessungstechniker i.R.
   
 Beiträge: 1017 Registriert: 21.09.2001 ACAD Map 2010, Win 7 Pro eigene Lisp's<P>HW: Core i7 860, 2.8 GHz 3.3 GB, NVIDIA GeForce GTS 250
|
erstellt am: 23. Apr. 2014 20:00 <-- editieren / zitieren --> Unities abgeben:          Nur für rswit
|
rswit Mitglied
 Beiträge: 3 Registriert: 23.04.2014
|
erstellt am: 24. Apr. 2014 07:49 <-- editieren / zitieren --> Unities abgeben:         
Danke für die Antwort. Wenn der Objekfangdialog aufstartet, kann ich weder eine Auswahl treffen noch Abbrechen oder OK drücken. ACAD reagiert nicht mehr( ausser das ich den Dialog verschieben kann). Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
jupa Ehrenmitglied V.I.P. h.c. Ruheständler
     
 Beiträge: 6052 Registriert: 16.09.2004 WINDOWS Vista Ultimate SP2 (64bit), NVIDIA Geforce 9600M GT, AutoCAD 2013.
|
erstellt am: 24. Apr. 2014 09:09 <-- editieren / zitieren --> Unities abgeben:          Nur für rswit
Hmm, bei mir klappt das bestens (auch mit ACAD 2015 nochmal getestet). OFangoptionen lassen sich anhaken und wieder deaktivieren und sind je nach gewählter Einstellung auch anschließend wirksam. Da bin ich jetzt leider raus, da ich momentan an keine ältere Version als 2014 rankomme. (falls es wirklich an der ACAD-Version liegen sollte). Jürgen ------------------ Bildung kommt nicht vom Lesen, sondern vom Nachdenken über das Gelesene. (Carl Hilty) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| |
rswit Mitglied
 Beiträge: 3 Registriert: 23.04.2014
|
erstellt am: 24. Apr. 2014 10:29 <-- editieren / zitieren --> Unities abgeben:         
|