 - ;;; ==================================================================
- (defun th-per (pt obj / pt2 dist)
- (if (and
- pt
- obj
- )
- (setq dist
- (distance pt
- (setq pt2 (vlax-curve-getclosestpointto obj pt t))
- )
- )
- )
- pt2
- )
- ;;; ==================================================================
- (defun txt-mkline (p1 p2 / ent)
- (if (setq ent (entmakex (list '(0 . "LINE")
- '(100 . "AcDbEntity")
- '
- (100 . "AcDbLine")
- (cons 10 p1)
- (cons 11 p2)
- '
- (210 0. 0. 1.)
- )
- )
- )
- ent
- )
- )
- ;;; ==================================================================
- (defun th-ptlst-mirror (ptlst pt1 pt2 / e lst lst1 lst2 lst3)
- (setq e (txt-mkline pt1 pt2))
- (setq lst (mapcar
- (function (lambda (P)
- (th-per p e)
- )
- )
- ptlst
- )
- )
- (entdel e)
- (setq lst1 (mapcar
- (function (lambda (x0 x1)
- (- (* 2 x0) x1)
- )
- )
- (mapcar
- (function car)
- lst
- )
- (mapcar
- (function car)
- ptlst
- )
- )
- )
- (setq lst2 (mapcar
- (function (lambda (x0 x1)
- (- (* 2 x0) x1)
- )
- )
- (mapcar
- (function cadr)
- lst
- )
- (mapcar
- (function cadr)
- ptlst
- )
- )
- )
- (setq lst3 (mapcar
- (function (lambda (x y)
- (list x y)
- )
- )
- lst1
- lst2
- )
- )
- )
- ;;; ==================================================================
|