尘缘一生 发表于 2019-5-5 08:32:46

如果DWG文件没有任何实体存在?

如果一个DWG文件没有任何实体存在,用LISP 如何判定它?

cairunbin 发表于 2019-5-5 08:44:56

你可以构造一个选择集,选择全部实体。
然后,判断一下实体数量,如果为0,那就是空图形了。

669423907 发表于 2019-5-5 08:45:39

(if (ssget "x")

尘缘一生 发表于 2019-5-5 09:45:29

成功!

(if (/= nil (ssget "_x"))   ;;;;;;如果图纸非空
        (if (/= nil (getcname "tpscale"))   ;;;;;;如果命令 tpscale 存在
                (progn
                        (setvar "dimlfac" 1) ;;;;;线性标注测量值天正均设置比例因子1:1
                        (setvar "dimscale" (/ 100 (getvar "dimlfac")));;;;;整体标注比例
                        (SETVAR "userr5" (/ 100 (getvar "dimlfac"))) ;;;;;;将整体绘图比例存储于:系统提供的userr5变量中
                        (setq slbl (getvar "userr5"));;;;;整体绘图比例,本外挂全局变量为 userr5
                )
                (progn
                        (if (> (getvar "userr5") 0) ;;;;;判断全图绘图比例是否设置,没有则设置,仅设置一次
                                (progn
                                        (setq slbl (getvar "userr5"))
                                        (SETVAR "dimscale" (getvar "userr5"))
                                )
                                (htbl)
                        )
                )
        )
)

edata 发表于 2019-5-5 16:48:35

entlast应该也可以。

Gu_xl 发表于 2019-5-7 16:05:29

(if (> (vla-get-count
       (vlax-get-property
           (vla-get-ActiveDocument (vlax-get-acad-object))
           (if (= 1 (getvar 'CVPORT))
             'PaperSpace
             'ModelSpace
           )
       )
       )
       0
    ) ;_ 非空
(progn
   
)
)
页: [1]
查看完整版本: 如果DWG文件没有任何实体存在?