AutoLisp 源代码 实用程序11_rev3

  • 格式:doc
  • 大小:1.55 KB
  • 文档页数:2

(defun c:ee (/ unit os cl st ld ld_os ld_oe lsx lsy lex ley ld_ns ld_ne p0 p01 p1

p2 ra)

(setq unit (getvar "lunits"))

(setq os (getvar "osmode"))

(if (= unit 2) (setq ra 3) (setq ra 0.118))

;(SETQ cl (getvar "CLAYER"))

(princ "\nSelect the circle")

(setq cir (entget (car (entsel))))

(princ "\nSelect the line")

(setq lin (entget (car (entsel))))

(if (= (cdr (assoc 0 cir)) "CIRCLE") (setq p0 (cdr (assoc 10 cir))))

(if (= (cdr (assoc 0 cir)) "TEXT") (setq p0 (cdr (assoc 11 cir))))

(if (= (cdr (assoc 0 lin)) "LINE")

(progn

(setq p1 (cdr (assoc 10 lin)))

(setq leo (assoc 11 lin))

)

)

(setq ang (angle p0 p1))

(setq len (cons 11 (polar p0 ang ra)))

(entmod (subst len leo lin))

(princ)

);end defun

(defun c:ee (/ unit os cl st ld ld_os ld_oe lsx lsy lex ley ld_ns ld_ne p0 p01 p1

p2 ra)

(setq unit (getvar "lunits"))

(setq os (getvar "osmode"))

(if (= unit 2) (setq ra 3) (setq ra 0.118))

;(SETQ cl (getvar "CLAYER"))

(princ "\nSelect the circle")

(setq cir (entget (car (entsel))))

(princ "\nSelect the line")

(setq lin (entget (car (entsel))))

(if (= (cdr (assoc 0 cir)) "CIRCLE") (setq p0 (cdr (assoc 10 cir))))

(if (= (cdr (assoc 0 cir)) "TEXT") (setq p0 (cdr (assoc 11 cir))))

(if (= (cdr (assoc 0 lin)) "LINE")

(progn

(setq p1 (cdr (assoc 10 lin)))

(setq leo (assoc 11 lin)) )

)

(setq ang (angle p0 p1))

(setq len (cons 11 (polar p0 ang ra)))

(entmod (subst len leo lin))

(princ)

);end defun