;;;***************************************************************************** ;;; ;;; K O N V L A Y ;;; ;;; Layer nach einer Umsetzungstabelle auf andere Namen, Farben und Linientypen ;;; umsetzen. ;;; ;;;***************************************************************************** (defun KONVLAY ;;;***************************************************************************** ;;;*********************** DEKLARATION DER VARIABLEN *************************** (/ CW_NAMTAB CW_HOLDAT CW_INDAT CW_CHANGE CW_DATNAM CW_OK CW_NLIST CW_LAY CW_LNAM CW_ANAM CW_NNAM CW_NCOL CW_NLTP CW_ULIST CW_FILE CW_NLST CW_BEZ CW_AWS CW_DATUM CW_TXT ) ;;;***************************************************************************** ;;; ;;; UNTERPROGRAMME ;;; ;;;***************************************************************************** ;;;***************************** DATEIAUSWAHL ********************************** (defun CW_HOLDAT () (if (/= (setq CW_DATNAM (getfiled "LAYER-KONVERSIONSLISTEN" "" "CNV" 8));(setq CW_DATNAM (findfile "layerkonvertierungsliste.cnv")) NIL ) ;_ end of = (Progn (load CW_DATNAM) (CW_NAMTAB) ) ;_ end of Progn (Princ "\nDie Liste konnte nicht gefunden werden! Abbruch!") ) ;if ) ;_ end of defun ;;; ************************* Ausgabe des Datums ******************************* (defun CW_DATUM (/ CW_DAT) (setq CW_DAT (rtos (getvar "CDATE") 2 10)) (setq CW_TXT (strcat (substr CW_DAT 7 2) ;Tag "." (substr CW_DAT 5 2) ;Monat "." (substr CW_DAT 3 2) ;Jahr " " (substr CW_DAT 10 2) ;Stunden ":" (substr CW_DAT 12 2) ;Minuten " UHR" ) ) ) ;;;********************* KONVERSIONSLISTEN ERSTELLEN *************************** (defun CW_ADDON () (CW_DATUM) (setq CW_FILE (open CW_DATNAM "w")) (princ (strcat (chr 59) "Layernamen-Konversionsliste erstellt mit dem Programm KONVLAY.LSP\n" (chr 59) "\n" (chr 59) "(C) 2000 CADwiesel\n" (chr 59) "\n" (chr 59) "Zeit: " CW_TXT " Zeichnung: " (getvar "DWGNAME") "\n" (chr 59) "\n" (chr 59) "\n\n(defun CW_NAMTAB() " (chr 59) "Funktionsname darf nicht geändert werden!" "\n (setq" "\n CW_BEZ " (chr 59) "Name darf nicht grändert werden!\n " (chr 34) CW_BEZ (chr 34) " " (chr 59) "Text soll angepasst werden!\n )\n" " (setq CW_NLIST " (chr 59) "Name darf nicht geändert werden!\n" " '(\n\n" (chr 59) " Ab hier dürfen die Einträge geändert werden!\n" (chr 59) " Die Listenstruktur muß erhalten bleiben!\n" (chr 59) " Eine Zeile enthält die Bearbeitungsdaten für einen Layer\n" (chr 59) " Der erste Name (sollte nicht geändert werden!) ist der vorhandene Layername\n" (chr 59) " Der zweite Name (derjenige der angepasst werden kann) ist der Layername auf\n" (chr 59) " den der vorhandene Layername gesetzt werden soll\n" (chr 59) " Das dritte Element (kann verändert werden) ist die Layerfarbe\n" (chr 59) " Das vierte Element (kann verändert werden) ist der Linientyp des Layers\n" (chr 59) " Wenn die Datei geändert wurde, muß auch die Kurzbeschreibung\n" (chr 59) " angepasst werden, damit der Verwendungszweck erkenntlich wird.\n" (chr 59) "\n" (chr 59) " *********************** Ab hier beginnen die Layer-Daten *******************\n\n" ) ;_ end of strcat CW_FILE ) ;princ (close CW_FILE) (setq CW_FILE (open CW_DATNAM "a")) (mapcar '(lambda (ELEM) (prin1 ELEM CW_FILE) (princ "\n" CW_FILE)) CW_NLIST ) ;_ end of mapcar (setq CW_FILE (close CW_FILE)) (setq CW_FILE (open CW_DATNAM "a")) (princ (strcat "\n" (chr 59) " *************************** Ende der Dateneinträge *************************\n\n" (chr 59) " Ab hier keine Änderungen mehr zulässig!\n" " )\n )\n)" ) ;_ end of strcat CW_FILE ) ;princ (close CW_FILE) (princ (strcat "\nDie Konversionsliste wurde in > " CW_DATNAM " < ergänzt !\n" ) ;_ end of strcat ) ;_ end of princ ) ;_ end of defun ;;;;***************************************************************************** ;;;; ;;;; H A U P T P R O G R A M M ;;;; ;;;;***************************************************************************** (setq CW_CHANGE nil) (setq CW_NLIST(CW_HOLDAT)) (if CW_NLIST (setq CW_OK T) (setq CW_OK nil) ) (if CW_OK (progn ; CW_OK (setq CW_NLIST (mapcar '(lambda (E) (mapcar '(lambda (UE) (if (= 'STR (type UE)) (strcase UE) UE) ) E) ) CW_NLIST ) ) (setq CW_LAY (tblnext "LAYER" T)) (while (/= CW_LAY nil) (setq CW_LNAM (cdr (assoc 2 CW_LAY))) (if (and (not (equal CW_LNAM "0")) (not (equal CW_LNAM "DEFPOINTS")) (not (equal CW_LNAM "AME_FRZ")) ) (if (= (wcmatch CW_LNAM "?*|*") nil) (progn ; kein XREF (setq CW_ANAM CW_LNAM) ;;; (setq CW_ULIST (assoc CW_ANAM CW_NLIST)) (setq CW_ULIST (assoc (strcase CW_ANAM) CW_NLIST)) (setq CW_NNAM (cadr CW_ULIST)) (setq CW_NCOL (caddr CW_ULIST)) (setq CW_NLTP (cadddr CW_ULIST)) ;(CW_INDAT) (if (/= CW_NNAM NIL) (progn (if (not (tblsearch "LAYER" CW_NNAM)) (progn (princ (strcat "\nLayer " CW_ANAM " wird in " CW_NNAM " umbenannt!")) (command "_RENAME" "_LAYER" CW_ANAM CW_NNAM) (cond ((and CW_NCOL CW_NLTP (=(type CW_NCOL)'INT) (=(type CW_NLTP)'STR) ) (command "_LAYER" "_COLOR" CW_NCOL CW_NNAM "_LTYPE" CW_NLTP CW_NNAM "") ) ((and CW_NCOL (=(type CW_NCOL)'INT)) (command "_LAYER" "_COLOR" CW_NCOL CW_NNAM "") ) ((and CW_NCOL (=(type CW_NCOL)'STR)) (command "_LAYER" "_LTYPE" CW_NLTP CW_NNAM "") ) ) ) (progn (princ (strcat "\nDie Elemente des Layers " CW_ANAM " werden auf den Layer " CW_NNAM " verlegt!" ) ) (setq CW_AWS (ssget "X" (list (cons 8 CW_ANAM)))) (if CW_AWS (progn (command "_CHPROP" CW_AWS "") (if (= (getvar "cmdactive") 1) (command "_LAYER" CW_NNAM "") ) ;_ end of if ) ;_ end of progn ) ) ) ) ) (princ ".") );kein XREF ) ; XREF ) ; Nicht "0" (setq CW_LAY (tblnext "LAYER")) ) ; WHILE (if CW_CHANGE (CW_ADDON)) ) ; CW_OK ) (princ) ) (defun C:KONVLAY () (KONVLAY)) (prompt "\nStarten mit 'Konvlay'") ;;;(setq LAYER (tblobjname "LAYER" "ARC-1-BEM--")) ;;;(setq PROPS (vlax-ename->vla-object LAYER)) ;;;(vla-get-lineweight PROPS) ;;;(vla-put-lineweight PROPS -3)