jkl111 发表于 2022-4-14 09:43:53

两个多行文本,只能分解一个。

(defun c:tjzf()
        (vl-load-com)
        (setq ss (ssget '((8 . "元件名称标注"))))
        (or ss (setq ss (ssadd)))
        (setq n 0 nn (sslength ss) mpl '())
        (while (< n nn)
               
                (setq en (ssname ss n))
                (setq n (1+ n));;
                                     (vl-cmdf"_.explode" en )
                (setq jdent   (ssget "_P") )
               (vl-cmdf"_.explode" jdent )


    )
)
运行后,多行文本只能分解“DN300”字样的,请帮助。谢谢。图已上传

jkl111 发表于 2022-4-14 12:36:35

QAFLAGS是个未公布的变量,用来控制LISP中使用EXPLODE炸开一个选择集的时候的表现。
如果QAFLAGS=0,那么用LISP执行
(command "explode" ss "")的时候仅仅能炸开选择集的第一个实体,其他实体炸不了.
如果QAFLAGS=1,可以炸开选择集所有实体。
这个变量不影响标准的EXPLODE命令的执行。

jkl111 发表于 2022-4-14 12:20:03

(initcommandversion 2)
(command "explode" (ssget) "")

jkl111 发表于 2022-4-14 12:37:42

(setvar "QAFLAGS" 1) (command "_.explode" (ssget "_X") "") (setvar "QAFLAGS" 0)

zhangcan0515 发表于 2022-11-15 17:12:36

jkl111 发表于 2022-4-14 12:36
QAFLAGS是个未公布的变量,用来控制LISP中使用EXPLODE炸开一个选择集的时候的表现。
如果QAFLAGS=0,那么 ...

谢谢详细的讲解 很有收获

ZYX2129 发表于 2022-12-4 16:18:18

谢谢详细的讲解 很有收获
页: [1]
查看完整版本: 两个多行文本,只能分解一个。