Hallo,
in Autocad 2004 habe ich ein Tool von Herrn Grünwald benutzt, mit dem bequem abgerundet werden konnte. In Autocad 2009 erkennt es die Objektwahl scheinbar nicht mehr. Leider sind meine Lispkenntnisse nicht besonders groß. Weiß jemand Rat.
;;; Abrunden, Mehrfachabrunden
;;; Auch für Poly- und LWPolylinien.
;;; 31.1.05, (d) Schoenwald
;;
(defun C:RADI (/ ELE_1 ELE_2 C D E F G J K L O P SS2)
(setq C_E (getvar "CMDECHO")
G_M (getvar "GRIDMODE")
E NIL
)
(setvar "CMDECHO" 0)
(defun R_VAR ()
(setq R_D NIL
E NIL
)
(setvar "GRIDMODE" G_M)
(setvar "CMDECHO" C_E)
)
;; ----------------------
(defun RADI_DIALOG (/ I1)
(setq I1 (load_dialog "RADI.DCL"))
(if (null (new_dialog "RADI" I1))
(alert "\n \nLaden der Dialogbox nicht moeglich!")
)
(set_tile "R_D" (rtos (getvar "FILLETRAD") 2 3))
(setq R_D (atof (get_tile "R_D")))
(action_tile "R_D" "(SETQ R_D (ATOF $VALUE))")
(action_tile "ACCEPT" "(done_dialog 1)")
(start_dialog)
(unload_dialog I1)
)
;;-------------------------------------------------------
(RADI_DIALOG)
(if R_D
(setvar "FILLETRAD" R_D)
)
(setvar "GRIDMODE" 0)
(setq ELE_1 t
ELE_2 t
)
(while (and ELE_1 ELE_2)
(setq ELE_1 (entsel "\n \n \nErstes Objekt wählen: "))
(if ELE_1
(progn
(redraw (car ELE_1) 3)
(princ)
(setq ELE_2 (entsel "\nZweites Objekt wählen: "))
(if ELE_2
(progn
(redraw (car ELE_2) 3)
(setq O (car ELE_1)
P (car ELE_2)
C (entget O)
D (entget P)
IT (entlast)
E NIL
)
(if (or (= (cdr (assoc 0 C)) "POLYLINE") (= (cdr (assoc 0 C)) "LWPOLYLINE"))
(progn
(setq E "1"
F (cdr (assoc 40 C))
)
(if (> F 0)
(setq G (osnap (cadr ELE_1) "NEA"))
(setq G (cadr ELE_1))
)
(command "_EXPLODE" O)
) ;_ end progn
(setq G (cadr ELE_1))
) ;_ end if
(if (or (= (cdr (assoc 0 D)) "POLYLINE") (= (cdr (assoc 0 D)) "LWPOLYLINE"))
(progn
(setq E "1"
J (cdr (assoc 40 D))
)
(if (null F)
(setq F J)
)
(if (> J 0)
(setq H (osnap (cadr ELE_2) "NEA"))
(setq H (cadr ELE_2))
)
(if (not (equal C D))
(command "_EXPLODE" P)
)
) ;_ end progn
(setq H (cadr ELE_2))
) ;_ end if
(command "_.FILLET" G H)
(if (= E "1")
(progn
(command)
(command "_PEDIT" (entlast) "_Y" "_J" "_all" "" "" "REGEN")
)
)
)
(prompt "\nEs wurde kein zweites Objekt gewählt")
) ;_end if ELE_2
)
(prompt "\nEs wurde kein erstes Objekt gewählt")
) ;_end if ELE_1
)
(princ)
(R_VAR)
(princ)
)
(princ)
Mit freundlichen Grüßen
Paul
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP