lisp 如何排序输出?

(write-lines1out)(setqnu110)(whilee(setqed(entgete))(setqnu1(+nu2))(setqnu2(+nu12))(s... (write-line s1 out)
(setq nu 110)
(while e
(setq ed (entget e))
(setq nu1 (+ nu 2))
(setq nu2 (+ nu1 2))
(setq nu3 (+ nu2 2))
(setq nu4 (+ nu3 2))
(setq name (cdr (assoc 0 ed) ) )
(if (= name "LINE")
(progn
(setq xy1 (assoc 10 ed))
(setq x1 (nth 1 xy1))
(setq y1 (nth 2 xy1))
(setq xy2 (assoc 11 ed))
(setq x2 (nth 1 xy2))
(setq y2 (nth 2 xy2))
(setq s (strcat "G00" " X"(rtos x2 2 3) " Y" (rtos y2 2 3) " Z-14.0\n"
"G01" " X"(rtos x1 2 3)" Y" (rtos y1 2 3) " Z-2.00\n" "G01 Z0.00"))
(write-line s out)
)
)
(setq e (entnext e))
(setq nu (+ nu4 2 ))
)
展开
 我来答
朱06CAD
2015-01-06 · 知道合伙人软件行家
朱06CAD
知道合伙人软件行家
采纳数:4172 获赞数:18068
高中,熟悉AutoCAD。会autolisp及VBA程序。

向TA提问 私信TA
展开全部
(setq ss '());建立一个表
(setq ss (cons (list JL p1) ss));把(距离及交点组成表)加入表
(setq ss (vl-sort ss (function (lambda (x y)(< (car x) (car y))))));;排序距离从小到大排序。体会排序方法,距离最短的会在前面。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式