Hallo zusammen,
ich habe mir von Cadwiesel (Danke auf diesem Wege) das ispprogramm Konvlay zum konvertieren von Layern gezogen.
Klappt prima, nur würde ich gerne in der Spalte Layerdaten in der cnv-Datei die Strichsärke angeben. Ich habe schon eintraäge 0.7 und "0.7" versucht, funktioniert nur leider nicht. gibt es da eine lösung ?
(siehe Eintrag in Fett und Kursiv !
-Danke schon im voraus-PS: Sollten bedenken bestehen den Code hier zu veröffentlichen, bitte Info, ich ziehe dann sofort zurück !!!
Lispprogramm:
;*****************************************************************************
;
; K O N V L A Y
;
; Layer nach einer Umsetzungstabelle auf andere Namen, Farben und Linientypen
; umsetzen.
;
;*****************************************************************************
(defun KONVLAY
;*****************************************************************************
;*********************** DEKLARATION DER VARIABLEN ***************************
(/ RS_NAMTAB RS_HOLDAT RS_INDAT RS_CHANGE RS_DATNAM RS_OK RS_NLIST
RS_LAY RS_LNAM RS_ANAM RS_NNAM RS_NCOL RS_NLTP RS_ULIST RS_FILE RS_NLST
RS_BEZ RS_AWS RS_DATUM RS_TXT
)
;*****************************************************************************
;
; UNTERPROGRAMME
;
;*****************************************************************************
;***************************** DATEIAUSWAHL **********************************
(defun RS_HOLDAT ()
(if (/= (setq RS_DATNAM (getfiled "LAYER-KONVERSIONSLISTEN" "" "CNV" 8));(setq RS_DATNAM (findfile "layerkonvertierungsliste.cnv"))
NIL
) ;_ end of =
(Progn
(load RS_DATNAM)
(RS_NAMTAB)
) ;_ end of Progn
(Princ "\nDie Liste konnte nicht gefunden werden! Abbruch!")
) ;if
) ;_ end of defun
; ************************* Ausgabe des Datums *******************************
(defun RS_DATUM (/ RS_DAT)
(setq RS_DAT (rtos (getvar "CDATE") 2 10))
(setq RS_TXT (strcat (substr RS_DAT 7 2) ;Tag
"." (substr RS_DAT 5 2) ;Monat
"." (substr RS_DAT 3 2) ;Jahr
" " (substr RS_DAT 10 2) ;Stunden
":" (substr RS_DAT 12 2) ;Minuten
" UHR"
)
)
)
;*****************************************************************************
;
; H A U P T P R O G R A M M
;
;*****************************************************************************
(setq RS_CHANGE nil)
(RS_HOLDAT)
(if RS_NLIST
(setq RS_OK T)
(setq RS_OK nil)
)
(if RS_OK
(progn ; RS_OK
(setq RS_LAY (tblnext "LAYER" T))
(while (/= RS_LAY nil)
(setq RS_LNAM (cdr (assoc 2 RS_LAY)))
(if (and (not (equal RS_LNAM "0"))
(not (equal RS_LNAM "DEFPOINTS"))
(not (equal RS_LNAM "AME_FRZ"))
)
(if (= (wcmatch RS_LNAM "?*|*") nil)
(progn ; kein XREF
(setq RS_ANAM RS_LNAM)
(setq RS_ULIST (assoc RS_ANAM RS_NLIST))
(setq RS_NNAM (cadr RS_ULIST))
(setq RS_NCOL (caddr RS_ULIST))
(setq RS_NLTP (cadddr RS_ULIST))
;(RS_INDAT)
(if (/= RS_NNAM NIL)
(progn
(if (not (tblsearch "LAYER" RS_NNAM))
(progn
(princ (strcat "\nLayer " RS_ANAM " wird in " RS_NNAM " umbenannt!"))
(command "_RENAME" "_LAYER" RS_ANAM RS_NNAM)
(command "_LAYER" "_COLOR" RS_NCOL RS_NNAM "_LTYPE" RS_NLTP RS_NNAM "")
)
(progn
(princ
(strcat
"\nDie Elemente des Layers "
RS_ANAM
" werden auf den Layer "
RS_NNAM
" verlegt!"
)
)
(setq RS_AWS (ssget "X" (list (cons 8 RS_ANAM))))
(if RS_AWS
(progn
(command "_CHPROP" RS_AWS "")
(if (= (getvar "cmdactive") 1)
(command "_LAYER" RS_NNAM "")
) ;_ end of if
) ;_ end of progn
)
)
)
)
)
(princ ".")
);kein XREF
) ; XREF
) ; Nicht "0"
(setq RS_LAY (tblnext "LAYER"))
) ; WHILE
(if RS_CHANGE (RS_ADDON))
) ; RS_OK
)
(princ)
)
(defun C:KONVLAY () (KONVLAY))
(prompt "\nStarten mit 'Konvlay'")
;****************** E N D E K O N V L A Y **********************************
dazu gehört die cnv-Datei:
(defun RS_NAMTAB() ;Funktionsname darf nicht geändert werden!
(setq
RS_BEZ ;Name darf nicht grändert werden!
; ************************** Hier folgt die Kurzbezeichnung ******************
"Erdgeschoß" ;Text soll angepasst werden!
; ***************************** Ende der Kurzbezeichnung *********************
)
(setq RS_NLIST ;Name darf nicht ge„ndert werden!
'(
; Ab hier dürfen die Einträge geändert werden!
; Die Listenstruktur muá erhalten bleiben!
; Eine Zeile enthält die Bearbeitungsdaten für einen Layer
; Der erste Name (sollte nicht geändert werden!) ist der vorhandene Layername
; Der zweite Name (derjenige der angepasst werden kann) ist der Layername auf
; den der vorhandene Layername gesetzt werden soll
; Das dritte Element (kann verändert werden) ist die Layerfarbe
; Das vierte Element (kann verändert werden) ist der Linientyp des Layers
; Wenn die Datei geändert wurde, muá auch die Kurzbeschreibung
; angepasst werden, damit der Verwendungszweck erkenntlich wird.
;
; *********************** Ab hier beginnen die Layer-Daten *******************
("000_ES" "J293 Erdseil" 38 "CONTINUOUS" "0.7")
; *************************** Ende der Dateneinträge *************************
; Ab hier keine Änderungen mehr zulässig!
)
)
)
[b][/b]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP