这
- (defun c:Test (/ l s e 1p 2p 3p ang c g)
- ;; Tharwat 23.Dec.2015 ;;
- (if (and (setq l (getdist "\nSpecify length of line :"))
- (setq s (car (entsel "\nSelect Line :")))
- (eq (cdr (assoc 0 (setq e (entget s)))) "LINE")
- (setq 1p (cdr (assoc 10 e))
- 2p (cdr (assoc 11 e))
- ang (angle 1p 2p)
- c (mapcar '(lambda (q p) (/ (+ q p) 2.)) 1p 2p)
- )
- (princ "\nSpecify distination :")
- )
- (progn
- (while (eq 5 (car (setq g (grread t 13 0))))
- (redraw)
- (grdraw c
- (setq 3p
- (polar c
- (apply (if (> 0 (sin (- ang (angle 1p (cadr g)))))
- '+
- '-
- )
- (list ang (* pi 0.5))
- )
- l
- )
- )
- -1
- 0
- )
- )
- (if (member (car g) '(2 3 25))
- (entmake
- (list '(0 . "LINE") (cons 10 c) (cons 11 3p))
- )
- )
- )
- )
- (redraw)
- (princ)
- )
|