Lisp帮助-循环浏览
大家好作为谷歌和论坛搜索的第一篇帖子通常会搜索到我想要搜索的内容,但这是我无法理解的。
我有一些代码(之前由ASMI在这里发布)返回多段线中每个顶点的坐标。
现在,我想循环浏览这个列表,并检查多段线的每一段与其他两个点之间的交点
到目前为止,我得到了两个端点,但从这里我没有任何线索
(defun c:asdf (/ whoa pts ep1 ep2)
(setq whoa (mapcar 'cdr(vl-remove-if '(lambda(x)(/= 10(car x)))(entget(car(entsel))))))
(setq pts (cdr whoa))
(setq ep1 (car pts))
(setq ep2 (cadr pts))
(princ)
)
我建议您使用“nth”函数从列表中检索所需的点。使用“length”函数获取列表的长度。设置计数器;首次通过使用pt1和pt2;然后是pt2和pt3;直到最后一点。 谢谢CarlB
你给了我一个主意,在那里用“while”和长度检查
(defun c:asdf (/ whoa pts ep1 ep2)
(setq pts (mapcar 'cdr(vl-remove-if '(lambda(x)(/= 10(car x)))(entget(car(entsel))))))
(while (>= (length pts) 2)
(setq ep1 (car pts))
(setq ep2 (cadr pts))
(setq pts (cdr pts))
(princ)
)
)
这看起来可以吗?我以前从未打过环
我还意识到我的第一批代码去掉了第一个顶点。。。哎呀
页:
[1]