Dadgad 发表于 2022-7-5 20:36:54

不客气,塔瓦特现在离线了,但我相信他会回来的,或者是一个
其他lisperati将收集您的帖子并帮助您解决问题。

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

谢谢你堆

Tharwat 发表于 2022-7-5 20:42:17

您在第一篇文章中提到,对象是线,这就是为什么我只包括线和实体。
 
无论如何,试试这个更新版本,也包括多段线。
 

(defun c:Test (/ ss i sn l) (vl-load-com)
(if (setq ss (ssget "_:L" '((0 . "LINE,*POLYLINE"))))
   (repeat (setq i (sslength ss))
   (setq sn (ssname ss (setq i (1- i))))
   (if (eq (cdr (assoc 0 (entget sn))) "LINE")
       (setq l (distance (cdr (assoc 10 (entget sn)))
                         (cdr (assoc 11 (entget sn)))
               )
       )
       (setq
         l (vlax-curve-getdistatparam
             sn
             (fix (vlax-curve-getendparam sn))
         )
       )
   )
   (if (or (eq l 1.25) (eq l 3.0) (and (> l 1.25) (< l 3.0)))
       (entdel sn)
   )
   )
)
(princ)
)

Lee Mac 发表于 2022-7-5 20:45:43

另一个变体:
 
(defun c:eraselines ( / s )
   (if (ssget "_:L" '((0 . "LINE,*POLYLINE")))
       (progn
         (vlax-for o
               (setq s
                   (vla-get-activeselectionset
                     (vla-get-activedocument (vlax-get-acad-object))
                   )
               )
               (if (<= 1.25 (vla-get-length o) 3.0) (vla-delete o))
         )
         (vla-delete s)
       )
   )
   (princ)
)
(vl-load-com) (princ)

Emily_83 发表于 2022-7-5 20:48:39


(defun c:Test (/ ss i sn l)
(vl-load-com)
(if (setq ss (ssget "_:L" '((0 . "LINE,*POLYLINE"))))
   (repeat (setq i (sslength ss))
   (setq sn (ssname ss (setq i (1- i))))
   (if (eq (cdr (assoc 0 (entget sn))) "LINE")
       (setq l (distance (cdr (assoc 10 (entget sn))) (cdr (assoc 11 (entget sn)))))
       (setq l (vlax-curve-getdistatparam sn (fix (vlax-curve-getendparam sn))))
       )
   (if (or (eq l 0.5) (eq l 1.25) (eq l 1.5) (eq l 3.0))
       (entdel sn)
       )
   )
   )
(princ)
)

Tharwat 发表于 2022-7-5 20:52:02

Tharwat、Lee Mac、,
 
你们俩都很聪明,非常感谢你们,两个动作都很完美。。。。。。。。然而我知道我很抱歉我还有一个问题,
在所附的图像中,LISP不会删除这些行。。。。。它们的长度为3.0,但似乎是椭圆外观的非闭合/连接多段线类型,有一个区域,无论我是否闭合它们并禁用线型,lisp仍然不会删除这些多段线(当我选择对象时,它会在“属性”框中告诉我它们是多段线)。
 
你知道为什么吗?
如果没有,不用担心,你们俩和达加德都帮了大忙。
 
干杯
艾米丽
37068

Lee Mac 发表于 2022-7-5 20:55:50

由于某种原因,我无法查看图像Emily,当单击您的附件时,我收到以下消息:
 

 
你能附上一张样图吗?

Emily_83 发表于 2022-7-5 20:58:16

 
这里也是一样。

Lee Mac 发表于 2022-7-5 21:01:40

Tharwat 发表于 2022-7-5 21:06:11

 
Same thing here .
页: 1 [2]
查看完整版本: 删除指定长度的行