caoyongjun 发表于 2025-1-4 18:49:26

怎么将多段线顶点DXF10组成表

怎么将多段线顶点DXF10组成表, ((10 299.934 -1500.9) (10 303.077 -1500)(10 303.077 -1502.3)(10 305.177 -1502.3) (10 305.177 -1500.4) (10 308.25 -1500.4))

uualice2020 发表于 2025-1-4 18:52:18

(setq ptlst (mapcar 'cdr (vl-remove-if (function (lambda (e) (/= 10 (car e)))) (entget ename))))

Andyhon 发表于 2025-1-4 18:53:01

要的是?
(10 299.934 -1500.9)
-->
(299.934 -1500.9)

llsheng_73 发表于 2025-1-4 20:00:54

本帖最后由 llsheng_73 于 2025-1-4 20:07 编辑

(defun plxyz(e fuz / pt p n);多段线节点三维坐标,连续重合点只取一个,根据fuz阀值过滤接近点
      (or(=(type e)'vla-object)(setq e(vlax-ename->vla-object e)))
      (cond((=(setq n(vlax-get-property e'objectname))"AcDbLine")
            (list(vlax-curve-getstartpoint e)(vlax-curve-getendpoint e)))
             ((WCMATCH n"*Polyline")
            (repeat(setq n(fix(+(vlax-curve-getendparam e)(if(=(vlax-get-property e'Closed):vlax-true)0 1))))
                (or(equal(setq n(1- n)p(vlax-curve-getpointatparam e n))(car pt)fun)
                   (setq pt(cons p pt))))
            pt)))

xyp1964 发表于 2025-1-4 23:15:43

(mapcar 'cdr lst)

clm840917 发表于 2025-1-6 08:08:38

(cons(list       (assoc 10 (member (assoc 10 e) e))))

clm840917 发表于 2025-1-6 08:12:23

(((10 -852.253 187.664) (42 . 0.0)) ((10 -544.534 187.664) (42 . -0.414214)) ((10 -524.534 167.664) (42 . 0.0)) ((10 -524.534 35.0234) (42 . -0.414214)) ((10 -544.534 15.0234) (42 . 0.0)) ((10 -852.253 15.0234) (42 . 0.0)))
页: [1]
查看完整版本: 怎么将多段线顶点DXF10组成表