It's OK! for my 2002 English Version
No need to add c:Usage:
(test (car (entsel)) (car (entsel)))
不知道你是啥意思
是说快速执行的算法吗?那用AL\VL都很难搞定,如果不是的,那其实很简单,不就是读取线条的坐标,逐一求交就可以了吗,要用VL干啥呢,图简单?我这样试过了,“参数太多...” 我把完整的放上来,看看我是不是抄错了
本帖最后由 作者 于 2002-12-17 13:02:26 编辑(defun TEST (/ IPTS PTS)
(setq IPTS (vla-intersectwith
(vlax-ename->vla-object (car (entsel)))
(vlax-ename->vla-object (car (entsel)))
acExtendBoth
)
IPTS (vlax-variant-value IPTS)
)
(if (> (vlax-safearray-get-u-bound IPTS 1) 0)
(progn (setq IPTS
(vlax-safearray->list IPTS)
)
(while (> (length IPTS) 0)
(setq PTS (cons (list (car IPTS)
(cadr IPTS)
(caddr IPTS)
)
PTS
)
IPTS (cdddr IPTS)
)
)
)
)
PTS
)
(defun c:j()
(princ (test (car (entsel)) (car (entsel))))
)
==================
错误: 参数太多
===================
fixed it...
(defun TEST (/ IPTS PTS)(setq IPTS (vla-intersectwith
(vlax-ename->vla-object (car (entsel)))
(vlax-ename->vla-object (car (entsel)))
acExtendBoth
)
IPTS (vlax-variant-value IPTS)
)
(if (> (vlax-safearray-get-u-bound IPTS 1) 0)
(progn (setq IPTS
(vlax-safearray->list IPTS)
)
(while (> (length IPTS) 0)
(setq PTS (cons (list (car IPTS)
(cadr IPTS)
(caddr IPTS)
)
PTS
)
IPTS (cdddr IPTS)
)
)
)
)
PTS
)
(defun c:j()
(princ (test))
(princ)
)
你沒發現之前貼子有修改過
THANKS !
页:
1
[2]