(setq pt3 (osnap pt2 "midp"))这个是得出中点
如何得出多义线直线两端点? - (DEFUN C:tt()
- (setq nm 0)
- (while (setq test t)
- (while test
- (setq ss (entsel "\n请点选矩形:"))
- (setq test (not ss))
- )
- (setvar "cmdecho" 0)
- (command "LAYER" "S" (cdr (assoc 8 (entget (car ss)))) "" )
- (setq obj (vlax-ename->vla-object (car ss)))
- (setq PT2 (vlax-curve-getclosestpointto obj (cadr ss)))
- (setq pt3 (osnap pt2 "midp"))
- (vla-getboundingbox obj 'minpoint 'maxpoint )
- (setq maxpoint (vlax-safearray->list maxpoint)
- minpoint (vlax-safearray->list minpoint)
- maxpoint (trans maxpoint 0 1)
- minpoint (trans minpoint 0 1)
- dx (/ (- (car maxpoint) (car minpoint)) 2.0)
- dy (/ (- (cadr maxpoint) (cadr minpoint)) 2.0)
- mpt1 (list (+ (car minpoint) dx) (+ (cadr minpoint) dy)))
|