## Kommentar Spider_dd ## ## Formatierung geändert, nicht in gleicher Zeile schließende Klammer immer unter öffnende Klammer gesetzt## (defun c:VT () (ImportPcode) (setvar "ATTREQ" 1) (if (ImportPliste) (while (/= PLIST nil) (setq STR (cadr (assoc "CODE" (car PLIST)))) ; var entpricht der "CODE"silbe ## Wo ist hier ein var?? wohl eher STR ## (setq PKT (list (atof (cadr (assoc "X" (car PLIST)))) (atof (cadr (assoc "Y" (car PLIST)))) (atof (cadr (assoc "Z" (car PLIST)))) ) PNR (cadr (assoc "PNR" (car PLIST))) PH (cadr (assoc "Z" (car PLIST))) ;;; CODE (cadr (assoc "CODE" (car PLIST))) ## 8 Zeilen weiter oben schon als STR ermittelt ## ) ;;; kontrolliert ob der "CODE" aus PLIST in "CODE" aus CLIST vorhanden ist ;;; ## hier setzen wir PLAY und COL erstmal (wieder) auf NIL, wird spätestens beim zweiten Durchlauf interessant ## (setq PLAY nil COL nil) ; ## ergänzt ## (foreach M CLIST (cond ; kann man auch über ein IF klären, weil die zweite cond Möglichkeit brauchen wir nicht## ((= (cadr (assoc "CODE" M)) STR ## ergänzt ## ;;; (cadr (assoc "CODE" (car PLIST))) ; ## das hast du doch schon in STR abgespeichert, deshalb auskommentiert und obere Zeile ergänzt ## ) (setq PLAY (cadr (assoc "LAYER" M))) (setq COL (cadr (assoc "COLOR" M))) (command "color" COL) (command "_layer" "_s" PLAY "") ; ## setzt voraus, dass der Layer schon existiert, hier wäre _make besser, weil immer erfolgreich ## ) ;;; ((/= (or (cadr (assoc "CODE" M)) ## den Block kannst Du Dir sparen, weil wenn keine Übereinstimmung wird PLAY und CODE nicht belegt ## ;;; (cadr (assoc "CODE" (car PLIST))) ;;; ) ;;; ) ;;; (princ "\nkeine übereinstimmung") ;;; ) ) ) ;;; ## hier erfolgt nun Erfolgskontrolle und Blocksetzung wenn Erfolg ## ( if PLAY ; ## nur wenn CODE gefunden ist PLAY auch belegt ## (command "_.INSERT" "meas" PKT (getvar "dimscale") (getvar "dimscale") 0 PNR PH STR) ;; ## CODE durch STR ersetzt, prüfen ob OK ## ;; (setq PLIST (cdr PLIST)) ## kommt später, weil muss immer gemacht werden ( princ (strcat "\nCODE " STR " nicht in CLIST gefunden") ; ## Zeile nicht getestet, sollte aber so klappen ## ) (setq PLIST (cdr PLIST)) ;; ## hier wieder rein ## ) ) (command "_zoom" "_e") (princ) )