(defun Init () (setq Err *error* *error* Fehler Osx (getvar "OSMODE") ) ) (defun ReInit () (setvar "OSMODE" Osx) (setq *error* Err) (redraw t_2 4) (princ) ) (defun Fehler (s) (print (strcat "Fehler: "s)) (ReInit) ) (defun c:LINE_BRUCH (/ t_0 t_1 t_2 Err Osx) (Init) (vl-load-com) (setq t_0 T) (While (/= t_0 nil) (setq t_0 nil) (While (or (= t_0 nil) ) (setq t_0 (entsel "\n Bruchlinie wählen: ")) ) ;end while 2 (IF (/= t_0 nil) (Progn (setq t_1 (entget (car t_0))) (setq t_2 (car t_0)) (redraw t_2 3) ;Linie ausleuchten! (setvar "OSMODE" 32) (if (setq schn (getpoint "\n Schnittpunkt wählen: ")) (progn (if (or (= (cdr (assoc 0 t_1)) "LINE")(= (cdr (assoc 0 t_1)) "LWPOLYLINE")) (progn ; dann ... (setvar "OSMODE" 0) (command "_break" t_2 (vlax-curve-getPointAtDist (vlax-ename->vla-object t_2) (- (vlax-curve-getDistAtPoint (vlax-ename->vla-object t_2) schn ) ;vlax-curve-getDistAtPoint 1.25 ; Bruchbreite - ) ) ;vlax-curve-getPointAtDist (vlax-curve-getPointAtDist (vlax-ename->vla-object t_2) (+ 1.25 ; Bruchbreite + (vlax-curve-getDistAtPoint (vlax-ename->vla-object t_2) schn ) ) ) ;vlax-curve-getPointAtDist ) ;end command ) ;end progn ) ; end if ) ;end progn ) ; end if ) ;end progn ) ; end if ) ;end while 1 ) ;end defun