; Unterprogramm zum Sichern Systemvariablen (defun Sich-Sysvar () (Setq Blx (getvar "BLIPMODE") ; Konstruktionspunkte Cmx (getvar "CMDECHO") ; Befehlsdialog Grx (getvar "GRIDMODE") ; Raster Osx (getvar "OSMODE") ; Objektfang Snx (getvar "SNAPMODE") ; Famgmodus Ucx (getvar "UCSFOLLOW"); Einfluss eines BKS-Wechsels Layer_alt (getvar "clayer");Layer eingestellt ) ) ;----------------------------------------------------------------------- ; Unterprogramm zum Umstellen der Systemvariablen (defun Umst-Sysvar() (setvar "BLIPMODE" 0) ; Konstruktionspunkte (setvar "CMDECHO" 0) ; Befehlsdialog (setvar "GRIDMODE" 0) ; Raster (setvar "OSMODE" 0) ; Objektfang (setvar "SNAPMODE" 0) ; Famgmodus (setvar "UCSFOLLOW" 0); Einfluss eines BKS-Wechsels ) ;------------------------------------------------------------------------ ;Unterprogramm zur Abfrage Variablen (defun Eingabe () (setq Staerke( getreal "Bitte Stärke angeben: ")) (prin1) (setq Rad (getreal "Bitte Radius angeben: ")) (prin1) (setq ent(entsel "\nZeige zu versetzendes Objekt: ")) (prin1) ) ;------------------------------------------------------------------------ ; Unterprogramm zur Prüfung (defun Pruef() (setq ent1 (entget ent)) (setq ent2 (cdr(assoc 0 ent1))) ;(setq data(entget(car(ent)))) (if (/= "LWPOLYLINE" (cdr(assoc 0 ent1)) eingabe ) princ "Funktion abgebrochen" ) ) ;); Einfluss eines BKS-Wechsels ;(clerr) ; ) ; (entmod ; (assoc 0 data) ; (cons 40(* 1.1(cdr(assoc 40 data)))) ;) ;) ;) ;) ;------------------------------------------------------------------------ ; Unterprogramm "Layer "-Verdeckt" prüfen und ggf. anlegen" (defun layer_verd () (setq lname "-Verdeckt") (if (not (tblsearch "LAYER" lname)) ; Durchsuchen der Layertabelle (progn ; wenn nicht gefunden dann (prompt (strcat "\nEin Augenblick, Layer " ; wird der Layer angelegt lname " wird angelegt ... " ) ) (setq oldreg (getvar "REGENMODE")) (setvar "REGENMODE" 0) (command "_.LAYER" "_m" lname "_L" "Verdeckt" lname "Farbe" 1 lname "" ) (setvar "REGENMODE" oldreg) ) ) ) ;------------------------------------------------------------------------ ; Unterprogramm zum Zeichnen (defun zeich () (setq 05Staerke (/ Staerke 2)) (setq Radmitte (+ Rad 05staerke)) (setq Radrand (+ Rad Staerke)) (setq stp (getpoint "Auf welche Seite versetzen ? ")) (command "_.fillet" "r" Rad) (command "_.fillet" "p" ent) (command "versetz" Staerke ent stp "") (setq Randlinie (entlast)) (prin1) (command "versetz" 05Staerke ent stp "") (setq Mittellinie (entlast)) (prin1) (command "_.pedit" mittellinie "br" staerke "") Command: (setq ed (entget mittellinie)) Command: (setq ed (subst (cons 8 "-Verdeckt") (assoc 8 ed) ed )) Command: (entmod ed) ) ;------------------------------------------------------------------------------ ; Unterprogramm zum wiederherstellen Systemvaraibalen (defun restore () (command "_.layer" "se" layer_alt "") (setvar "BLIPMODE" Blx) ; Konstruktionspunkte (setvar "CMDECHO" Cmx) ; Befehlsdialog (setvar "GRIDMODE" Grx) ; Raster (setvar "OSMODE" Osx) ; Objektfang (setvar "SNAPMODE" Snx) ; Famgmodus (setvar "UCSFOLLOW" Ucx); Einfluss eines BKS-Wechsels ) ;-------------------------------------------------------------------------------- ; Unterprogramm Fehler (defun *error* (m) (restore) (Princ "\nMein Fehler.....") (Princ m) (Princ) ) ;-------------------------------------------------------------------------------- ; Hauptprogramm (defun c:Folie (/ Blx Cmx Grx Osx Snx Ucx Layer_alt Staerke Rad ent lname oldreg 05Staerke Radmitte Radrand stp Randlinie Mittellinie ed ent1 ent2) (Sich-sysvar) (Umst-Sysvar) (Eingabe) ;(pruef) (layer_verd) (Zeich) (restore) (princ) )