(defun c:RHschraff0 (/) (RHschraff 135) ) (defun c:RHschraff45 (/) (RHschraff 0) ) (defun c:RHschraff90 (/) (RHschraff 45) ) (defun c:RHschraff (winkel / lyakt ly-ziel idx ss sc clayer PKT PKTLIST) (setq lyakt (getvar "clayer")); Ermittelt den aktuellen Layer (setq ly-ziel "_schraff") ;_ Layername in Variable speichern (setvar "clayer" ly-ziel) ; aktuell setzen (command "_UNDO" "_BEGIN") (command "_ucs" "w") (setq PKTLIST '()) (while (setq PKT (getpoint "\rInternen Punkt wählen : ")) (setq PKTLIST (cons PKT PKTLIST)) (Princ PKT) ) ;;(setq ss (ssget)) ;;(setq idx 0) ;;(repeat (sslength ss) (while PKTLIST (command "_-bhatch" "_A" ; assosiativ "_A" "_Y" "" "_A" "_I" ; Inselerkennung "_Y" "" "_P" "ANSI31" ; Schraffurtyp 10 ; Maßstab winkel ; Winkel (car PKTLIST) ;"_S" ;(ssadd(ssname ss idx)) "" "" ) (setq PKTLIST (cdr PKTLIST)) ;(setq idx (1+ idx)) ) (command "_ucs" "VO") (command "_UNDO" "_END")(princ) (setvar "clayer" lyakt) ;vorherugen layer aktuell setzen ) ************************************************************************************************************************************** (defun pre_lay_10 ();Wenn Bem gestartet wird (command "-bemstil" "h" "konform1_10") ) *********************************************************************************************************************************************** (defun pre_lay (reatyp befname / );Wenn Bem gestartet wird (cond ((wcmatch (car befname) "DIM*,BEM*") (setq *oldlay* (getvar "CLAYER")) (setvar "CLAYER" "_Bemassung") ) ) ) (defun after_lay (reatyp befname / );Wenn Bem beendet wird (cond ((and (wcmatch (car befname) "DIM*") *oldlay* ) (setvar "CLAYER" *oldlay*) (setq *oldlay* nil) ) ) ) (defun reaload ();Initialisierung des Reactors (if (not *DEFUN_DIMLAYER*) (progn (setq *DEFUN_DIMLAYER* (VLR-Command-Reactor "*DEFUN_DIMLAYER*" '((:vlr-commandEnded . after_lay) (:vlr-commandwillstart . pre_lay) ) ) ) (princ "\nLayerschalter Bemassung aktiviert") ) ) ) (reaload)