明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2014|回复: 11

请meflying答复(ssget "_p")问题

  [复制链接]
发表于 2004-6-16 10:12 | 显示全部楼层 |阅读模式
飞哥好: 如附图所示,选中所有图元,explode三次,图元个数分别为15,292,496 而我用lisp代码如下:请指正 (command "undo" "be")
(setq ss1 (ssget))
(SETQ N1 (SSLENGTH SS1))
(command "explode" ss1 "")
(setq ss1 (ssget "_p"))
(SETQ N1 (SSLENGTH SS1))
(command "explode" ss1 "")
(setq ss1 (ssget "_p"))
(SETQ N1 (SSLENGTH SS1))
(command "explode" ss1 "")
(setq ss1 (ssget "_p"))
(SETQ N1 (SSLENGTH SS1))
(command "undo" "e")

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2004-6-16 10:14 | 显示全部楼层
执行后显示错误,而且explode后图元个数也不对,请高手指点,谢谢!
 楼主| 发表于 2004-6-16 13:57 | 显示全部楼层
问题解决了,但循环次数太多,有没有更高效的办法?在图形界面explode 3次就能解决问题,走程序要300次,问题到底处在哪? 请指教!谢谢! (command "undo" "be")
(setq ss1 (ssget))
(setq ptl(ssnamex ss1 0))
(setq pt1 (cadr(car(cdr(assoc -1 ptl )))))
(setq pt2 (cadr(caddr(cdr(assoc -1 ptl )))))
(SETQ N1 (SSLENGTH SS1))
(repeat 300
(command "_explode" ss1 "")
(setq ss1 (ssget "_c" pt1 pt2))
(SETQ N1 (SSLENGTH SS1))
)
(command "undo" "e")
发表于 2004-6-16 22:43 | 显示全部楼层
用程序炸开多个不是已经解决了么?


怎么久不久又来搞一个?
发表于 2004-6-17 08:38 | 显示全部楼层
 楼主| 发表于 2004-6-17 11:55 | 显示全部楼层
请飞哥试一下我上传的dwg图,用您的程序执行一次后图元个数为77个,在图形界面explode一次后图元个数为77个,问题还是没解决,是否存在他问题,请指教!
发表于 2004-6-17 13:59 | 显示全部楼层
你的要求并不是炸开所有的块。。。而是能炸的东西都炸开(如:MTEXT可以炸为TEXT,PLINE可以炸为LINE)。。。


(setvar "qaflags" 1)


(repeat 3 (command "_.explode" "all" ""))


即可
 楼主| 发表于 2004-6-17 15:55 | 显示全部楼层
谢谢您!问题解决了。 这次学到了不少东西,感谢您的无私帮助! (setvar "qaflags" 1)
(setq ss1 (ssget))
(setq ptl (ssnamex ss1 0))
(setq pt1 (cadr (car (cdr (assoc -1 ptl)))))
(setq pt2 (cadr (caddr (cdr (assoc -1 ptl)))))
(setq n1 (sslength ss1))
(repeat 3
(command "_.explode" ss1 "")
(setq ss1 (ssget "_c" pt1 pt2))
(setq n1 (sslength ss1))
) 您帮看一下有没有更简洁的办法?
 楼主| 发表于 2004-6-17 16:02 | 显示全部楼层
(setvar "qaflags" 1)
(setq ss(ssget))
(repeat 3
(command "_.explode" ss "")
(setq ss (ssget "p"))
) 更简单,谢谢!
发表于 2004-6-17 20:08 | 显示全部楼层
  1. (defun c:test (/ ss)
  2.    (while (setq ss (ssget "x" '((0 . "Mtext,Dimension,insert,*polyline,3d*,region"))))
  3.        (command ".explode" ss "")
  4.    )
  5. )
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-19 18:40 , Processed in 0.314875 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表