swamii 发表于 2022-5-23 13:48:55

下面这段代码是什么意思?能帮忙解答下吗?

(vl-sort r1 (function(lambda (e1 e2)(> (cadr(cdr(assoc 10 (entget e1))))(cadr(cdr(assoc 10 (entget e2))))))))

swamii 发表于 2022-5-24 16:17:19

start4444 发表于 2022-5-23 14:07
应该是点的 y 坐标值,比如块就是基点的y值比较

我怎么翻译出来是求的Z值比较;
这是我的思路:(assoc 10 (entget e2)返回(x y z)
                     (cdr(assoc 10 (entget e2)))   返回(y z)
                     (cadr(cdr(assoc 10 (entget e2))))   返回(z)
请指教一下 ,我哪里出了问题,这个cdr去除第一个元素,car保留第一个元素;

xyp1964 发表于 2022-5-23 14:10:49

;; 从上到下排序
(vl-sort r1 '(lambda (x y)
             (setq p1        (cdr (assoc 10 (entget x)))
                     p2        (cdr (assoc 10 (entget y)))
             )
             (> (cadr p1) (cadr p2))
             )
)

start4444 发表于 2022-5-24 16:50:09

                     (assoc 10 (entget e2)返回(10 . (x y z))
                     (cdr(assoc 10 (entget e2)))   返回(x y z)
                     (cadr(cdr(assoc 10 (entget e2))))   返回(y)

swamii 发表于 2022-5-23 13:50:57

不太明白“10”在这段代码中的含义

start4444 发表于 2022-5-23 14:07:53

应该是点的 y 坐标值,比如块就是基点的y值比较

masterlong 发表于 2022-5-23 14:10:31

首先问你
你有没有一个一个查过
出现在这段代码里的每一个函数

如果你查过
至少10这样的问题就不该问

advksf 发表于 2022-5-23 17:23:28

xyp1964 发表于 2022-5-23 14:10
;; 从上到下排序
(vl-sort r1 '(lambda (x y)
             (setq p1        (cdr (assoc 10 (entget x)))


院长 e派工具箱 浩辰CAD能用不?我试了不行,还是说版本问题

swamii 发表于 2022-5-24 12:48:24

masterlong 发表于 2022-5-23 14:10
首先问你
你有没有一个一个查过
出现在这段代码里的每一个函数


挨个挨个查过,但是对于凭空出来了一个“10”我有点懵

swamii 发表于 2022-5-24 12:51:41

xyp1964 发表于 2022-5-23 14:10
;; 从上到下排序
(vl-sort r1 '(lambda (x y)
             (setq p1        (cdr (assoc 10 (entget x)))


我有点纠结这份“10”存在的意义是什么?还是说这“10”可以用任何一个数字替代

swamii 发表于 2022-5-24 12:54:53

start4444 发表于 2022-5-23 14:07
应该是点的 y 坐标值,比如块就是基点的y值比较

请问这个“10”从哪儿得到的,还是随便给定一个数

swamii 发表于 2022-5-24 13:49:16

swamii 发表于 2022-5-24 12:54
请问这个“10”从哪儿得到的,还是随便给定一个数

请问 这个文件组码是要到哪里查询呢?
页: [1] 2
查看完整版本: 下面这段代码是什么意思?能帮忙解答下吗?