乐筑天下

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

[编程交流] 如何使用i过滤掉行

[复制链接]

1

主题

11

帖子

10

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 07:46:41 | 显示全部楼层
谢谢李!它几乎可以工作了,我不知道为什么它只选择部分整数值的行,而忽略了一些,即使它们有整数值。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 07:51:20 | 显示全部楼层
 
代码当前使用的容差为1e-8(0.0000000 1),请尝试将其更改为更高的值,例如1e-4(0.0001)。
回复

使用道具 举报

1

主题

11

帖子

10

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 07:53:50 | 显示全部楼层
谢谢你,李,非常感谢!它正在工作,但我的文件可能有点奇怪。我将公差更改为1e-4,它选择了更多的行,但有些行无论代码中的公差是多少,它都不会选择。
 
我会设法弄清楚的。
 
再次感谢你们!
回复

使用道具 举报

1

主题

11

帖子

10

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 07:57:28 | 显示全部楼层
在AutoCAD中,选择整数值的想法似乎是不合理的,因为逗号后可能有非常小的数字长度。。。
四条线似乎有相同的长度。图纸
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 07:58:27 | 显示全部楼层
 
是的,因此公差
 
由于存储双精度的结构(允许存储非常大和非常小的数字),使用双精度总是需要一定的容差,如果您感兴趣,请阅读本文。
 
但是,我没有考虑距离何时低于整数值,因此请尝试以下操作:
 
  1. (defun c:test ( / d e i r s x )
  2.    (if (setq s
  3.            (ssget "_X"
  4.                (list '(0 . "LINE")
  5.                    (if (= 1 (getvar 'cvport)) (cons 410 (getvar 'ctab)) '(410 . "Model"))
  6.                )
  7.            )
  8.        )
  9.        (repeat (setq i (sslength s))
  10.            (setq e (ssname s (setq i (1- i)))
  11.                  x (entget e)
  12.                  d (distance (cdr (assoc 10 x)) (cdr (assoc 11 x)))
  13.                  r (- d (fix d))
  14.            )
  15.            (if (not (or (equal r 0.0 1e-6) (equal r 1.0 1e-6)))
  16.                (ssdel e s)
  17.            )
  18.        )
  19.    )
  20.    (sssetfirst nil s)
  21.    (princ)
  22. )
回复

使用道具 举报

1

主题

11

帖子

10

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 08:01:44 | 显示全部楼层
李-麦克,现在它像魔术一样神奇!非常感谢你!
 
我刚刚将这两个公差都更改为1e-5,它现在选择属性窗口显示整数值的所有行(如果我从代码中删除“not”,则选择非整数)
 
我会阅读链接,谢谢!
回复

使用道具 举报

1

主题

11

帖子

10

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 08:06:33 | 显示全部楼层
... 没有,还有问题,但我会尽量保持宽容
回复

使用道具 举报

1

主题

11

帖子

10

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 08:09:25 | 显示全部楼层
我不得不将这两个公差都更改为1e-4,之后我再也找不到任何错误的选线,所以这似乎是适合我的设置
 
李,谢谢你的工作
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 08:14:44 | 显示全部楼层
很高兴你把它分类了,理查德,不客气
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-10 15:27 , Processed in 0.542844 second(s), 68 queries .

© 2020-2025 乐筑天下

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