有这样一个列表,
网友答: 没有看懂
网友答:
提问题也是门技术活,没看懂你想表达的意思。网友答:
谢谢前辈的指点,学习了!

网友答:
这种直接给AI,很快出答案网友答:
(mapcar 'cdr (vl-remove-if-not (function(lambda(x)(equal (car x) 10))) (car bbb)))
取第一组,其它的自己完善
网友答:
谢谢前辈的指点,学习了!

网友答:
ai吗,暂时沒学习会!网友答: Maybe:
acet-geom-pline-point-list
acet-geom-rect-points
acet-geom-vertex-list网友答:
- (setq bbb'(
- ((0 . "LWPOLYLINE") (100 . "AcDbEntity") (100 . "AcDbPolyline") (90 . 4) (70 . 1) (62 . 256)
- (10 30623.9 50960.7)
- (10 30623.9 53400.7)
- (10 34223.9 53400.7)
- (10 34223.9 50960.7)
- )
- ((0 . "LWPOLYLINE") (100 . "AcDbEntity") (100 . "AcDbPolyline") (90 . 4) (70 . 1) (62 . 256)
- (10 35942.8 50960.7)
- (10 35942.8 53400.7)
- (10 39542.8 53400.7)
- (10 39542.8 50960.7)
- )
- ((0 . "LWPOLYLINE") (100 . "AcDbEntity") (100 . "AcDbPolyline") (90 . 4) (70 . 1) (62 . 256)
- (10 41444.6 54912.2)
- (10 41444.6 57352.2)
- (10 45044.6 57352.2)
- (10 45044.6 54912.2)
- )
- ((0 . "LWPOLYLINE") (100 . "AcDbEntity") (100 . "AcDbPolyline") (90 . 4) (70 . 1) (62 . 256)
- (10 46763.4 54912.2)
- (10 46763.4 57352.2)
- (10 50363.4 57352.2)
- (10 50363.4 54912.2)
- )
- )
- )
- 如果单纯取出四个坐点,是怎样写的?
- 请各前辈,


出手指一二。
网友答: 没有看懂

- (setq points-list '()) ; 用于存储所有点
- (foreach poly bbb
- (foreach item poly
- (if (and (eq (car item) 10) (listp (cdr item)))
- (setq points-list (cons (cdr item) points-list))
- )
- )
- )
- ; 反转列表以保持原始顺序(因为 cons 是倒序添加)
- (setq points-list (reverse points-list))
- ; 此时 points-list 就是所有 (x y) 坐标的列表
- points-list
qifeifei 发表于 2025-8-26 15:38
没有看懂
谢谢前辈的指点,学习了!


网友答:
这种直接给AI,很快出答案网友答:
(mapcar 'cdr (vl-remove-if-not (function(lambda(x)(equal (car x) 10))) (car bbb)))取第一组,其它的自己完善
网友答:
Dea25 发表于 2025-8-26 16:57
(mapcar 'cdr (vl-remove-if-not (function(lambda(x)(equal (car x) 10))) (car bbb)))
取第一组,其它的 ...
谢谢前辈的指点,学习了!


网友答:
lxw320 发表于 2025-8-26 16:44
这种直接给AI,很快出答案
ai吗,暂时沒学习会!网友答: Maybe:
acet-geom-pline-point-list
acet-geom-rect-points
acet-geom-vertex-list网友答:

- (mapcar'(lambda(x)(mapcar'cdr(vl-remove-if'(lambda(y)(/=(car y)10))x)))bbb)