本帖最后由 作者 于 2004-4-15 13:10:41 编辑
 - ;声明:(原创)调用或修改请保留信息行
- ;求两个曲线的交点表. ----无痕.2004.2
- ;调用方法:(x@_int (car (entsel)) (car(entsel)))
- (defun x@_int (e1 e2 / ptlst ptints)
- (setq obj1 (vlax-ename->vla-object e1)
- obj2 (vlax-ename->vla-object e2)
- ptlst (xl-div (vlax-invoke obj1 'IntersectWith obj2 0) 3))
- ;;此版本未提供2dpolyline正确的自身交点过滤方法,请自行加入.
- )
- ;按项数分割列表.
- (defun xl-div (lst x / lst2)
- (foreach n lst
- (if (and lst2 (/= x (length (car lst2))))
- (setq lst2 (cons (append (car lst2) (list n)) (cdr lst2)))
- (setq lst2 (cons (list n) lst2))
- )
- )(reverse lst2)
- )
|