(defun c:flansch (/ mpt radA radI radL radB anzL wink Dwink layA layI layK layL ) (initget 1) (setq mpt (getpoint "\nFlanschmittelpunkt: ")) (initget 7) (setq radA (getreal "\nFlansch-Außendurchmesser: ")) (initget 7) (setq radI (getreal "\nFlansch-Innendurchmesser: ")) (initget 7) (setq radL (getreal "\nFlansch-Lochkreisdurchmesser: ")) (initget 7) (setq radB (getreal "\nBohrungsdurchmesser: ")) (initget 7) (setq anzL (getint "\nAnzahl Schrauben: ") wink 0.0 Dwink (/ 360.0 anzL) radL (/ radL 2.0) radA (/ radA 2.0) radI (/ radI 2.0) radB (/ radB 2.0) layA "FAUSSEN" layI "FINNEN" layL "FLOCHKREIS" layK "FBOHRUNG" ) (foreach K (list (cons layA radA) (cons layI radI) (cons layL radL) ) (mk:circle mpt (car K)(cdr K)) ) (repeat anzL (mk:circle (polar mpt (wib(setq wink (+ wink Dwink))) radL) layK radB) (mk:line (polar mpt (wib wink) (- radL (* radB 1.5))) (polar mpt (wib wink) (+ radL (* radB 1.5))) layL) ) ) (defun wib (w) (* pi (/ w 180.0)) ) (defun mk:circle (mpt Lay rad /) (entmake(list (cons 0 "CIRCLE") (cons 8 Lay) (cons 10 mpt) (cons 40 rad) ) ) ) (defun mk:line (apt ept Lay /) (entmake(list (cons 0 "LINE") (cons 8 Lay) (cons 10 apt) (cons 11 ept) ) ) )