;先简单写一个。 - ;已知弧画线
- (defun c:tt ()
- (setvar "CMDECHO" 0)
- (setq oldos (getvar "OSMODE"))
- (setvar "OSMODE" 1)
- (if (and (setq p1 (getpoint "\n选择圆弧一个端点: "))
- (setq p2 (getpoint p1 "\n选择圆弧另一个端点: "))
- (setq ss (ssget "C" p1 p1 '((0 . "ARC"))))) (progn
- (setq ent (entget(ssname ss 0))
- pc (cdr(assoc 10 ent))
- r (cdr(assoc 40 ent))
- pm (mapcar '(lambda (a b) (/ (+ a b) 2)) p1 p2)
- p3 (polar p1 (angle p1 p2) 200)
- p4 (polar p1 (angle pc pm) 200)
- p5 (polar pc (angle pc pm) r))
- (command "_.LINE" p1 p2 "")
- (command "_.RAY" pm p5 "")
- (command "_.RAY" p3 p4 "")
- ))
- (setvar "OSMODE" oldos)
- (princ)
- )
|