小完善一下!
(defun c:loc()
(setq os (getvar "osmode"))
(setvar "osmode" os)
(command "layer" "m" "中心线" "c" "red" "" "l" "center" "" "")
(command "layer" "m" "粗实线" "c" "t" "0,255,255" "" "lw" "0.35" "" "")
(setq pot (getpoint "\n请输入插入点<退出>:"))
(setq pot1 (getpoint pot "\n请输入插入点<退出>:"))
(setq md1 (getreal "\n请输入直径:"))
(setvar "osmode" 0)
(setq md (/ md1 2))
(setq ang (/ pi 2))
(setq ang1 (angle pot pot1))
(setq pot2 (polar pot (+ ang1 ang) md))
(setq pot3 (polar pot (- ang1 ang) md))
(setq pot4 (polar pot1 (+ ang1 ang) md))
(setq pot5 (polar pot1 (- ang1 ang) md))
(setq pot6 (polar pot (+ ang1 ang) (* md 1.2)))
(setq pot7 (polar pot (- ang1 ang) (* md 1.2)))
(setq pot8 (polar pot1 (+ ang1 ang) (* md 1.2)))
(setq pot9 (polar pot1 (- ang1 ang) (* md 1.2)))
(setq pot10 (polar pot (+ ang1 pi) (* md 1.2)))
(setq pot11 (polar pot1 ang1 (* md 1.2)))
(setvar "clayer" "粗实线")
(command "arc" "c" pot pot2 pot3)
(command "arc" "c" pot1 pot5 pot4)
(command "line" pot2 pot4 "")
(command "line" pot3 pot5 "")
(setvar "clayer" "中心线")
(command "line" pot6 pot7 "")
(command "line" pot8 pot9 "")
(command "line" pot10 pot11 "")
(setvar "osmode" os)
(princ)
)