乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 113|回复: 19

[编程交流] 从中检索顶点列表

[复制链接]

218

主题

699

帖子

483

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1090
发表于 2022-7-5 15:34:18 | 显示全部楼层 |阅读模式
你好
 
如何从多段线中检索顶点列表
使用任何vl load com函数?
 
我们非常欢迎您想到的所有方法!
 
谢谢
谢伊
回复

使用道具 举报

2

主题

14

帖子

12

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 15:40:30 | 显示全部楼层

 
  1. (defun VC:GetVertexList(edfx / vertex vertexList)
  2. (foreach vertex edfx
  3.         (if (or (= (car vertex) 10) (= (car vertex) 11))
  4.                 (setq vertexList (cons (cdr vertex) vertexList))
  5.         )
  6. )
  7. (reverse vertexList)
  8. )

 
这样使用:
 
  1. (setq vertexList (VC:GetVertexList (entget (car (entsel)))))
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 15:41:51 | 显示全部楼层
另一个,对于LWDOLYLINE和POLYLINE:
  1. ;; Retrieve Polyline Vertices  -  Lee Mac
  2. ;; ent - [ent] Entity name of LWPolyline or Polyline
  3. (defun polyverts ( ent / _lwpolyverts _polyverts )
  4.    
  5.    (defun _lwpolyverts ( enx / itm )
  6.        (if (setq itm (assoc 10 enx))
  7.            (cons (cdr itm) (_lwpolyverts (cdr (member itm enx))))
  8.        )
  9.    )
  10.    (defun _polyverts ( ent / enx )
  11.        (if (= "VERTEX" (cdr (assoc 0 (setq enx (entget ent)))))
  12.            (cons (cdr (assoc 10 enx)) (_polyverts (entnext ent)))
  13.        )
  14.    )
  15.    (if (= "LWPOLYLINE" (cdr (assoc 0 (entget ent))))
  16.        (_lwpolyverts (entget ent))
  17.        (_polyverts  (entnext ent))
  18.    )
  19. )

使用多段线名称调用,例如:
  1. (if (setq s (ssget "_+.:E:S" '((0 . "*POLYLINE"))))
  2.    (polyverts (ssname s 0))
  3. )
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 15:45:46 | 显示全部楼层
为什么不使用vlisp方法,或者将其用于Mac?可以区分二维和三维pline。
回复

使用道具 举报

218

主题

699

帖子

483

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1090
发表于 2022-7-5 15:49:11 | 显示全部楼层
 
我认为,如果不使用vlisp,我会强迫自己更好地学习autolisp,一旦我对autolisp感到满意,我就会用vlisp奖励自己:)
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-5 15:53:19 | 显示全部楼层
你在正确的轨道上。
回复

使用道具 举报

218

主题

699

帖子

483

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1090
发表于 2022-7-5 15:53:50 | 显示全部楼层
谢谢Tharwat
回复

使用道具 举报

218

主题

699

帖子

483

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1090
发表于 2022-7-5 15:59:09 | 显示全部楼层
 
为什么测试dxf 10或dxf 11?
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-5 16:01:56 | 显示全部楼层
他可能认为您也可以选择直线或LW多段线
回复

使用道具 举报

218

主题

699

帖子

483

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1090
发表于 2022-7-5 16:04:44 | 显示全部楼层
谢谢tharwat
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-7-7 09:10 , Processed in 0.340713 second(s), 73 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表