Tharwat 发表于 2022-7-6 00:09:15

我不是在问你们一个解决方案,而是要告诉你们,迭代数据库比单独迭代每个空间更直接。

irneb 发表于 2022-7-6 00:14:36

当然,如果您也想单步遍历块,那么就更容易了——您可以简单地遍历文档的块集合。然后(除了用户创建的块之外)在模型空间以及所有图纸空间选项卡上迭代。
 
为了补充塔尔瓦特提到的内容:使用vla get paperspace只做一个选项卡。如果DWG有两个或多个图纸空间选项卡,该怎么办?

Tharwat 发表于 2022-7-6 00:17:11

 
没错,谢谢你的介入

liuhaixin88 发表于 2022-7-6 00:23:25

 
你能写一个样本吗?看到你的代码,我感到惊喜。
 
(defun c:tt ()
(setvar "CMDECHO" 0)
(vl-load-com)
(setq ss (ssget "X" '((0 . "LINE,LWPOLYLINE,*TEXT"))))
(setq i -1)
(repeat (sslength ss)
(setq e (ssname ss (setq i (1+ i))))
(if (or (and (vlax-property-available-p (setq v (vlax-ename->vla-object e)) 'LENGTH)
          (zerop (vla-get-length v))
   )
         (and
          (vlax-property-available-p v 'TEXTSTRING)
          (eq (vl-string-left-trim " " (vla-get-textstring v)) ""))
       )
(entdel e)
)
)
(setvar "CMDECHO" 1)
(princ)
)

Tharwat 发表于 2022-7-6 00:27:01

 
我已经试过了,你没试过吗?
页: 1 [2]
查看完整版本: 如果使用lisp,怎么做