往上偏移一半
 - (defun c:tt (/ e n v ptl v v+ v- nsp nep i dis )
- (if (and (setq e (car (xdrx_entsel "\nPick line: " '((0 . "line")))))
- (not
- (zerop (rem (xdrx_getpropertyvalue e "Angle") (* pi 2)))
- )
- (setq n (getint "\nDivid Num: "))
- )
- (progn
- (mapcar 'set '(sp ep) (xdrx_entity_getstretchpoint e))
- (setq v (mapcar '(lambda (x) (/ x n)) (mapcar '- ep sp))
- v+ (list 0. (* (cadr v) 0.5) 0.)
- v- (list 0. (- (* (cadr v) 0.5)) 0.)
- nsp (mapcar '+ sp v+)
- nep (mapcar '+ ep v-)
- i 1
- dis (/ (distance sp ep) n)
- an (angle sp ep)
- )
- (repeat (1- n)
- (setq ptl (cons (polar sp an (* i dis)) ptl)
- i (1+ i)
- )
- )
- (setq ptl (mapcar '(lambda (x)
- (list (mapcar '+ x v+)
- (mapcar '+ x v-)
- )
- )
- ptl
- )
- ptl (apply 'append ptl)
- )
- (apply 'xdrx_polyline_make
- (cons sp (cons nsp (reverse (cons ep (cons nep ptl)))))
- )
- )
- (princ "\nNot need Simulation or Not Slash!")
- )
- (princ)
- )
|