乐筑天下

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

[编程交流] 如果出现以下情况,请选择直线和多段线。

[复制链接]

9

主题

22

帖子

6

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
54
发表于 2022-9-1 04:19:48 | 显示全部楼层 |阅读模式
大家好,我清理一个地形图文件,其中包含1000条随机线和多段线形式的数字碎片,每个对象都有两个顶点(客户按原样交付)。
如果我只按长度选择,快速选择将捕获我想要保留的大量轮廓信息。
我在另一篇文章中找到了这段代码,并想寻求一些指导。
我一直在考虑,在哪里包括计算顶点的部分,如何将其合并到代码中,以及使用vlax curve getendparam的方法是否适用于直线和多段线。
希望大家能给一点建议,谢谢。

若长度小于x且对象有两个顶点,则选择直线和多段线。

另一种方法是从原始集合中删除不需要的对象;但是,请注意,这仅适用于使用递减索引迭代选择集时:

  1. (defun c:mysel ( / e i s )
  2.    (if (setq s (ssget '((-4 . "<OR") (0 . "LINE") (-4 . "<AND") (0 . "LWPOLYLINE") (-4 . "<NOT") (-4 . "&=") (70 . 1) (-4 . "NOT>") (-4 . "AND>") (-4 . "OR>"))))
  3.        (repeat (setq i (sslength s))
  4.            (setq e (ssname s (setq i (1- i))))
  5.            (if (<= 1500 (vlax-curve-getdistatparam e (vlax-curve-getendparam e))) (ssdel e s))
  6.        )
  7.    )
  8.    (sssetfirst nil s)
  9.    (princ)
  10. )
  11. (vl-load-com) (princ)


回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-3 18:33 , Processed in 0.652272 second(s), 54 queries .

© 2020-2025 乐筑天下

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