构建点列表
我已经有一段时间没有尝试过了,但我需要做的是建立一个点列表,可以用来构建多段线。但是我并没有得到我想要的结果,也就是
这就引出了一个问题,是最好组装一个列表列表,还是只组装一个每个点的car/cadr列表,当我想使用entmake来使用点列表构建多段线时。 以下是构建列表的两种常见方法:
(defun test ( / p pL ) ; #1
(while (setq p (getpoint "\nSpecify point: "))
(setq pL (cons p pL)) ; items are collected in reverse order
)
(reverse pL)
)
(defun test ( / p pL ) ; #2
(while (setq p (getpoint "\nSpecify point: "))
(setq pL (append (list p) pL)) ; items are collected in order
)
)
对于多段线加工,请检查此螺纹。 (append list1 list2)正在将list2的每个元素添加到list1的末尾
观察每个样品:
如果想要点列表,必须向append函数提供点列表,每个点都是数字列表(X,Y坐标)。在您的示例中,所有列表都是数字列表。
这两个样品相当:
(setq pt1 '((0.0 0.0))
pt1 (append pt1 (list (list (caar pt1) (+ (cadar pt1) 12))))
pt1 (append pt1 (list (list (+ (caar pt1) 12) (+ (cadar pt1) 12))))
)
(setq pt1 '((0.0 0.0))
pt1 (cons (mapcar '+ (car pt1) '(0.0 12.0)) pt1)
pt1 (cons (mapcar '+ (car pt1) '(12.0 0.0)) pt1)
pt1 (reverse pt1)
) 下一步,如果你没有,一定要这样做
4 我更喜欢这个
5
更易于操作
重复
虽然
地图车
第n个
foreach公司
vl排序
或转置等。。(如果缺失,请命名)
列表进程
简而言之,LeeSP
页:
[1]