明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 493|回复: 6

[提问] 怎么将多段线顶点DXF10组成表

[复制链接]
发表于 2025-1-4 18:49:26 | 显示全部楼层 |阅读模式
怎么将多段线顶点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))

回复

使用道具 举报

发表于 2025-1-4 18:52:18 | 显示全部楼层
(setq ptlst (mapcar 'cdr (vl-remove-if (function (lambda (e) (/= 10 (car e)))) (entget ename))))
回复 支持 反对

使用道具 举报

发表于 2025-1-4 18:53:01 | 显示全部楼层
要的是?
(10 299.934 -1500.9)
-->
(299.934 -1500.9)
回复 支持 反对

使用道具 举报

发表于 2025-1-4 20:00:54 | 显示全部楼层
本帖最后由 llsheng_73 于 2025-1-4 20:07 编辑

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

评分

参与人数 1明经币 +1 收起 理由
USER2128 + 1 很给力!

查看全部评分

回复 支持 反对

使用道具 举报

发表于 2025-1-4 23:15:43 | 显示全部楼层
(mapcar 'cdr lst)
回复 支持 反对

使用道具 举报

发表于 2025-1-6 08:08:38 | 显示全部楼层
(cons(list         (assoc 10 (member (assoc 10 e) e))))
回复 支持 反对

使用道具 举报

发表于 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)))
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-1-22 18:07 , Processed in 0.185219 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表