Emily_83 发表于 2022-7-5 20:04:00

删除指定长度的行

大家下午好,
 
我想知道这里是否有人可以帮助我,我在网上做了一个搜索,在这里试图找到我想要什么,但没有运气。
 
我需要擦除一整堆长度从1.25到3的行,我需要在多个外部参照中执行此操作,刚刚意识到不能在脚本中使用QSELECT,而SSX命令也不能完成此操作,
 
有没有人有脚本/lisp例程来删除多个图形中指定长度的线条?
 
我希望这足够的信息。
 
干杯
 
艾米丽

Dadgad 发表于 2022-7-5 20:09:50

您可以改用FILTER命令吗?
充分描述后,请确保将过滤器保存为
后续使用。

Emily_83 发表于 2022-7-5 20:12:20

 
嗨,Dadgad,
 
我以前没有真正使用过Filter命令,我之前尝试过使用它,但当我选择一行添加到过滤器中时,它没有列出它的长度,尽管我不熟悉Filter命令,但我不确定它是否会起作用。

Tharwat 发表于 2022-7-5 20:16:29

试试这个。。。
 

(defun c:Test (/ ss i sn l)
(if (setq ss (ssget "_:L" '((0 . "LINE"))))
   (repeat (setq i (sslength ss))
   (setq sn (ssname ss (setq i (1- i))))
   (setq l (distance (cdr (assoc 10 (entget sn))) (cdr (assoc 11 (entget sn)))))
   (if (or (eq l 1.25) (eq l 3.0) (and (> l 1.25) (< l 3.0)))
       (entdel sn)
       )
   )
   )
(princ)
)

Emily_83 发表于 2022-7-5 20:19:02

嗨,塔瓦,
 
当我运行lisp时,提示我选择对象,当我单击该行时,它没有找到它,我甚至打开了图形中的所有内容,但它仍然没有选择任何内容,
 
这可能与直线是多段线有关吗?

Dadgad 发表于 2022-7-5 20:20:34

这是一个很棒的工具,非常有用,不幸的是,我也一直在尝试为您设置它,但失败了。
这听起来像是一个非常简单的Lisp程序的问题,毫无疑问很快就会有人帮你解决。

Emily_83 发表于 2022-7-5 20:24:45

 
谢谢爸爸,
 
lisp可以工作,但是现在我必须分解柱脚线,它们分解成细线,并且例程会删除其他自分解以来长度相同的线,我不希望删除这些线,如果有帮助的话,我真的只需要删除指定长度的所有垂直线。

Dadgad 发表于 2022-7-5 20:27:41

艾米丽,我犯了一个很大的错误,在我的早期后多段线确实有长度。
我猜(我不写lisp),你需要改变Tharwat的“行”
代码为“PLINE”。

Emily_83 发表于 2022-7-5 20:29:50

呵呵,谢谢Dadgad,在使用QSELECT之前,我看了一下,然后选择了折线,看到它确实有长度,我想它是像我通常这样使用QSELECT的
 
我还将lisp的“LINE”部分改为“PLINE”,但它不起作用,可以尝试使用“PL”
 
谢谢你的帮助,我非常感激。

Emily_83 发表于 2022-7-5 20:35:25

只是将其更改为“PL”,这也不起作用:不确定:
页: [1] 2
查看完整版本: 删除指定长度的行