易云网络 发表于 2014-11-16 16:24:31

多段线,炸开后图元名问题

(defun C:css()
       (setvar "cmdecho" 0)
(setvar "QAFLAGS" 1)
(setq ss1 (ssget "x" '((-4 . "<OR")
          (0 . "POLYLINE")
          (0 . "LWPOLYLINE")
          (-4 . "OR>")))
)

(command "_.undo" "be");;
(COMMAND ".EXPLODE" ss1 "")
(setvar "QAFLAGS" 0)

    (setq ss (ssget"x"'( (-4 . "<and")            
                         (0 . "ARC")                           
                         (-4 . ">")(40 . 1.)   
                         (-4 . "and>")))   
                     n (sslength ss)
                      )
                     
(command "_.undo" "e");;
(command ".undo" 1)
   (setq cx (entget(ssname ss 0)))   ;当撤销多段线分解后,之前的SS变量为 nil 应该是图元名重新定义了
(setq kk n)   ;数量但还记得

(princ cx)
(princ)
)

请教该问题怎么解


ZZXXQQ 发表于 2014-11-16 18:56:08

不知道要怎么解?目的是什么?

ivde 发表于 2014-11-16 19:07:13

(ssget "P")   

易云网络 发表于 2014-11-16 19:22:54

本帖最后由 易云网络 于 2014-11-16 19:24 编辑

ZZXXQQ 发表于 2014-11-16 18:56 static/image/common/back.gif
不知道要怎么解?目的是什么?

第一个选择集 ss1
分解所有多段线,(COMMAND ".EXPLODE" ss1 "")

第二个选择集 ss所有大于1.圆弧

用(command ".undo" 1) 返回的时候,第二个选择集里面图元名就用不了了,SS变量为 nil
返回多段线后,应该是图元名重新定义了

怎样才能,还原多段线后,SS还可以用,比如标注所有圆弧

ZZXXQQ 发表于 2014-11-16 20:06:06

易云网络 发表于 2014-11-16 19:22 static/image/common/back.gif
第一个选择集 ss1
分解所有多段线,(COMMAND ".EXPLODE" ss1 "")



先将SS选择集的数据表读出再UNDO

易云网络 发表于 2014-11-16 20:31:52

ZZXXQQ 发表于 2014-11-16 20:06 static/image/common/back.gif
先将SS选择集的数据表读出再UNDO

搞不定啊,搞了一天了

happyboy75 发表于 2014-11-16 20:32:11

选择多段线 每个炸开 判断炸开后要不要还原,如果要就undo 不要炸下一个

易云网络 发表于 2014-11-16 20:32:23

ivde 发表于 2014-11-16 19:07 static/image/common/back.gif
(ssget "P")

这个可以吗?

易云网络 发表于 2014-11-16 20:36:10

易云网络 发表于 2014-11-16 20:31 static/image/common/back.gif
搞不定啊,搞了一天了

炸开后选择圆弧,选择后还原,还原是一定的不需要判断

易云网络 发表于 2014-11-16 20:39:30

happyboy75 发表于 2014-11-16 20:32 static/image/common/back.gif
选择多段线 每个炸开 判断炸开后要不要还原,如果要就undo 不要炸下一个

炸开后选择圆弧,选择后还原,还原是一定的不需要判断
页: [1] 2
查看完整版本: 多段线,炸开后图元名问题