(defun c:3dge () ; Geländer zeichnen mit Handlauf DN50, Knielauf DN32 und Fußleiste 120x10 ; mindestlänge 1101mmm ; mit Anleihen aus 3D Behälter von Hans Jürgen Scheeren ; und Tubex von Larry Criswell ; und nun auch mit Anmerkungen/Korrekturen von Tunnelbauer und Runkelrübe ; Danke! (setvar "cmdecho" 0) (setq osmode_old (getvar "osmode")) (command "osmode" "1" ) (command "ortho" "_off" ) (setq pickmode (getvar "pickstyle")) (setvar "pickstyle" 0) (command "_ucs" "_w") (setq startpunkt_1 (getpoint "\nStartpunkt wählen: ")) (setq endpunkt_1 (getpoint "\nEndpunkt wählen: " )) ; Hilfslinien zeichnen (command "_line" startpunkt_1 endpunkt_1 "") (setq Achse_Handlauf (entlast)) (command "_line" startpunkt_1 ".xy" startpunkt_1 "@0,0,1100" "") (setq Achse_Saeule1 (entlast)) ; Nebenrechnungen (setq alldata (entget Achse_Handlauf)) (setq startpunkt_1 (cdr (assoc 10 alldata))) (setq endpunkt_1 (cdr (assoc 11 alldata))) (setq Abstand (distance startpunkt_1 endpunkt_1)) (setq Anzahl_Saeulen (+ 1 (fix(/ Abstand 1100)))) (setq Startabstand (abs (/ (- Abstand (* (fix(/ Abstand 1100)) 1100)) 2))) ; um die Säulen mittig anzuordnen (command "_ucs" "_ob" Achse_Handlauf) ; Ausrichtung BKS auf Hilfsline (command "_ucs" "_na" "_s" "bks_Handlauf") ; Sicherung vom BKS Handlauf ; Zeichne Handlauf (command "_ucs" "_w") (command "_ucs" "3p" startpunkt_1 endpunkt_1 "124342,13265,9887") (command "_ucs" "y" "90") (command "_circle" "0,0" 30.15) (setq circlast (entlast)) (setq circlist (list circlast)) (setq circlist2 (append circlist circlist2)) (command "_extrude" circlast "" "p" Achse_Handlauf) (setq Handlauf (entlast)) ; Zeichne Knielauf (command "_circle" "0,0" 21.2) (setq circlast (entlast)) (setq circlist (list circlast)) (setq circlist2 (append circlist circlist2)) (command "_extrude" circlast "" "p" Achse_Handlauf) (setq Knielauf (entlast)) (command "_ucs" "_na" "_r" "bks_Handlauf") ; Rücksicherung vom BKS Handlauf ; Zeichne Fußleiste (command "_box" (trans startpunkt_1 0 1) "l" Abstand "10" "120") (setq Fussleiste (entlast)) ; den ganzen Krempel gerade rücken (command "_move" Handlauf "" (trans startpunkt_1 0 1) ".xy" (trans startpunkt_1 0 1) "1100") ; Handlauf hochschieben (command "_move" Knielauf "" (trans startpunkt_1 0 1) ".xy" (trans startpunkt_1 0 1) "650") ; Knielauf hochschieben (command "_move" Fussleiste "" (trans startpunkt_1 0 1) ".xy" (trans startpunkt_1 0 1) "30") ; Fußleiste hochschieben (command "_move" Fussleiste "" (trans startpunkt_1 0 1) ".zx" (trans startpunkt_1 0 1) "30") ; Fußleiste nach außen schieben ; Geländersäulen zeichnen (command "_box" "_c" (trans startpunkt_1 0 1) "l" "200" "80" "10") (setq Fussplatte (entlast)) (command "_move" "l" "" (trans startpunkt_1 0 1) ".xy" (trans startpunkt_1 0 1) "5") (command "_cylinder" (trans startpunkt_1 0 1) "30.15" "1100") (setq Saeule (entlast)) (command "_union" Fussplatte Saeule "") (setq Staender (entlast)) (command "_move" Staender "" (trans startpunkt_1 0 1) ".yz" (trans startpunkt_1 0 1) Startabstand) (command "_array" Staender "" "_r" "1" Anzahl_Saeulen "1100") (command "_erase" Achse_Handlauf "") ; Löschen der Hilfslinien (command "_erase" Achse_Saeule1 "") ; Löschen der Hilfslinien (command "_ucs" "_na" "_d" "bks_Handlauf") ; Löschen BKS Handlauf (setvar "pickstyle" pickmode) (setvar "osmode" osmode_old) (command "_ucs" "_w" ) (setvar "cmdecho" 1) (command "_ucs" "_w") )