乐筑天下

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

[编程交流] 调试帮助-多段线顶点

[复制链接]

28

主题

76

帖子

48

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
140
发表于 2022-7-6 08:29:00 | 显示全部楼层 |阅读模式
大家好,
我需要一些帮助来调试这个:
 
  1. (setq        ent     (car (entsel "\nselect poly:"))
  2. vla-ent (vlax-ename->vla-object ent)
  3. vertexs (vlax-get vla-ent 'coordinates)
  4. n (/ (length vertexs) 2)
  5. )
  6. (repeat        n
  7.        (setq pn (list (car vertexs) (cadr vertexs)))
  8.       vertexs (cdr (cdr vertexs))
  9.       n (- n 1)
  10.       lpoldata(cons pn lpoldata)
  11. )
  12.              

 
我想用多段线顶点制作一个列表。
 
谢谢
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 08:38:29 | 显示全部楼层
单向。。。。
 
 
  1. (setq i 0)
  2. (repeat n
  3. (setq pt (cons (list (nth i vertexs) (nth (setq i (1+ i)) vertexs)) pt))
  4. (setq i (1+ i))
  5. )
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 08:48:32 | 显示全部楼层
我想这应该好多了
 
还有一个选项
 
  1. (setq ent (car (entsel "\nselect poly:")))
  2. (foreach point (entget ent)
  3. (if (eq (car point) 10)
  4.    (setq lst (cons (list (cadr point) (caddr point)) lst))
  5. )
  6. )
回复

使用道具 举报

GP_

8

主题

248

帖子

245

银币

初来乍到

Rank: 1

铜币
42
发表于 2022-7-6 08:55:24 | 显示全部楼层
  1. (setq    ent     (car (entsel "\nselect poly:"))
  2.            vla-ent (vlax-ename->vla-object ent)
  3.            vertexs (vlax-get vla-ent 'coordinates)
  4.            n (/ (length vertexs) 2)
  5. )
  6. (repeat    n
  7.        (setq pn (list (car vertexs) (cadr vertexs))[b][color=red];  delete ->   [/color][/b])
  8.                     vertexs (cdr (cdr vertexs))
  9.                 n (- n 1)
  10.                     lpoldata(cons pn lpoldata)
  11.        [b][color=red])[/color][/b]
  12. )

 
 
 
注:
n(/(长度顶点)2)->仅使用PLINETYPE=1创建多段线2D
回复

使用道具 举报

28

主题

76

帖子

48

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
140
发表于 2022-7-6 09:01:07 | 显示全部楼层
谢谢GP!
谢谢大家!
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 09:08:37 | 显示全部楼层
另一个:
 
  1. (   (lambda ( f / e )
  2.        (if (setq e (car (entsel)))
  3.            (f (vlax-get (vlax-ename->vla-object e) 'coordinates))
  4.        )
  5.    )
  6.    (lambda ( l )
  7.        (if l (cons (list (car l) (cadr l)) (f (cddr l))))
  8.    )
  9. )
回复

使用道具 举报

GP_

8

主题

248

帖子

245

银币

初来乍到

Rank: 1

铜币
42
发表于 2022-7-6 09:10:01 | 显示全部楼层
另外,更新LM代码(适用于所有多段线)。
 
 
  1. 6
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 09:17:19 | 显示全部楼层
 
干得好。
回复

使用道具 举报

GP_

8

主题

248

帖子

245

银币

初来乍到

Rank: 1

铜币
42
发表于 2022-7-6 09:22:48 | 显示全部楼层
 
我无法复制错误。。。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 09:32:46 | 显示全部楼层
在提示下单击鼠标右键/输入。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-7 09:10 , Processed in 0.623868 second(s), 72 queries .

© 2020-2025 乐筑天下

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