乐筑天下

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

[编程交流] 3dpolyline方向

[复制链接]

3

主题

15

帖子

12

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-6 06:19:06 | 显示全部楼层 |阅读模式
大家好,
 
我试图找到一些可以检查大量三维多段线的东西,并确保它们都是从z高程的最高点到最低点绘制的。
 
我的测绘项目要求在下游方向绘制所有小溪,但其中一些小溪收集不正确。
 
我可以对它们运行反向命令,但需要先找出哪些错误。
 
我希望有一个LSP可以做到这一点,但如果任何人有任何其他想法,请随意扔给我!
 
干杯!
回复

使用道具 举报

1

主题

475

帖子

481

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 06:39:02 | 显示全部楼层
 
也许是这样的
 
  1. (defun c:test (/ E I O SS)
  2. (vl-load-com)
  3. (if (setq ss (ssget "_:L" '((0 . "POLYLINE"))))
  4.    (progn
  5.      (repeat (setq i (sslength ss))
  6. (setq e (ssname ss (setq i (1- i)))
  7.       o (vlax-ename->vla-object e)
  8. );; setq
  9. (if (and (eq (vla-get-ObjectName o) "AcDb3dPolyline")
  10.   (< (caddr (vlax-curve-getStartPoint o)) (caddr (vlax-curve-getEndPoint o)))
  11.   );; and
  12.       (command "._pedit" e "_reverse" "")
  13. );; if
  14.      );; repeat
  15.    );; progn
  16. );; if
  17. (princ)
  18. );; test

 
亨里克
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 06:39:53 | 显示全部楼层
Henrique代码的一些小改进:
  1. (defun c:chkpoly ( / c e i s )
  2.    (setq c (getvar 'cmdecho))
  3.    (setvar 'cmdecho 0)
  4.    (if (setq s (ssget "_:L" '((0 . "POLYLINE") (-4 . "&=") (70 . )))
  5.        (repeat (setq i (sslength s))
  6.            (setq e (ssname s (setq i (1- i))))
  7.            (if (< (caddr (vlax-curve-getstartpoint e))
  8.                   (caddr (vlax-curve-getendpoint   e))
  9.                )
  10.                (vl-cmdf "_.pedit" e "_r" "")
  11.            )
  12.        )
  13.    )
  14.    (setvar 'cmdecho c)
  15.    (princ)
  16. )
  17. (vl-load-com) (princ)
回复

使用道具 举报

1

主题

475

帖子

481

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 06:56:24 | 显示全部楼层
 
少数的
使用vlax curv xxx,无需将实体转换为VLA对象,并且ssget过滤器。。。我太老了
一如既往,成为了更好的代码!
干杯
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 06:59:35 | 显示全部楼层
别担心!
回复

使用道具 举报

3

主题

15

帖子

12

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-6 07:09:20 | 显示全部楼层
非常感谢各位!
正是我需要的
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2022-7-6 07:20:39 | 显示全部楼层
pedit上的“反转”选项并非总是在每个autocad版本中都可用。也许你们可以添加更多功能,使其向下兼容。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-10 18:52 , Processed in 0.493565 second(s), 66 queries .

© 2020-2025 乐筑天下

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