最简单的方法是使用vlax曲线函数,下面是一个详细的示例:
- (defun c:test ( / select entity point param )
- (if
- (and
- (setq select (entsel))
- (eq "LWPOLYLINE" (cdr (assoc 0 (entget (setq entity (car select))))))
- )
- (progn
- (setq point (vlax-curve-getclosestpointto entity (cadr select))
- param (vlax-curve-getparamatpoint entity point)
- param (fix param)
- )
- (list
- (vlax-curve-getpointatparam entity param)
- (vlax-curve-getpointatparam entity (1+ param))
- )
- )
- )
- )
|