明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2839|回复: 8

请各位代验证在MDT6.0(autocad 2002)下EXPLODE命令之LISP写法

[复制链接]
发表于 2002-6-17 12:44:00 | 显示全部楼层 |阅读模式
最近发现在MDT6.0下EXPLODE命令之写法为
(COMMAND "_.EXPLODE" SS "")
以前所有版本都是下列的写法!!
(COMMAND "_.EXPLODE" SS)
到底是我系统有问题或写法如上所述!!!!!!!
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2002-6-17 20:21:00 | 显示全部楼层

我这里还是以前的“无回车”(AIS中的AutoCAD2002)

 楼主| 发表于 2002-6-18 08:55:00 | 显示全部楼层

我就知道我的MDT6.0有问题,只好重灌看看了

 楼主| 发表于 2002-8-1 10:42:00 | 显示全部楼层

已找出“_.explode” 需要多加””的原因了

秘密系统变量 qaflags 在R14时改成1可爆开所有图块。
但在autocad 2000(含)以上,已不能设为1,可有新的资料吗?
我最近发现系统变量 qaflags设为32767,
则在lisp中使用explode如下:
(command “_.explode”  图块 “”)
需要多加””,有一次因乱试系统变量 qaflags的值,害自已要重灌autocad
发表于 2002-8-1 12:03:00 | 显示全部楼层

这里有关于秘密的系统变量的说明。。。

http://www.manusoft.com/Resources/AcadExposed/index.stm
发表于 2002-8-1 19:06:00 | 显示全部楼层

在lisp中如何写程序将图档中的所有图块炸开?(COMMAND “EXPLODE” “ALL”)怎么

在lisp中如何写程序将图档中的所有图块炸开?(COMMAND “EXPLODE” “ALL”)怎么就是不管用呢?[br](COMMAND “EXPLODE” “ALL”)怎么就是不管用呢?但是在命令拦中按这个格式输入却可以执行,不知为何?请帮忙解围!
 楼主| 发表于 2002-8-2 08:31:00 | 显示全部楼层

Expblk2 炸开所有图块

;;;炸开所有图块 by 秋枫
;;;Expblk2 炸开所有图块
(defun C:EXPBLK2 (/ BLOCKLIST SS BLOCKNAME I BLOCKOBJ LASTENTITY
                  BLOCKOBJ2 COUNT
                 )
  (vl-load-com)
  (setq SS (ssget '((0 . "INSERT"))))
  (if (null SS)
    (exit)
  )
  (setq        I 0
        BLOCKLIST NIL
  )
  (while (< I (sslength SS))
    (setq BLOCKNAME (ssname SS I))
    (setq BLOCKOBJ (vlax-ename->vla-object BLOCKNAME))
                                        ; (if (= (abs (vla-get-XscaleFactor blockobj))
                                        ; (abs (vla-get-YScaleFactor blockobj))
                                        ; (abs (vla-get-ZscaleFactor Blockobj))
                                        ; )
                                        ; (progn
    (setq BLOCKLIST (append BLOCKLIST (list BLOCKOBJ)))
                                        ; )
                                        ; )
    (setq I (1+ I))
  )
  (setvar "cmdecho" 0)
  (command "_.UNDO" "Auto" "off")
  (command "_.UNDO" "_GROUP")
  (setvar "cmdecho" 1)
  (setq COUNT 0)
  (while BLOCKLIST
    (setq LASTENTITY (entlast))
    (foreach BLOCKOBJ BLOCKLIST
                                        ; (setvar "cmdecho" 0)
                                        ; (command "_.EXPLODE" (vlax-vla-object->ename blockobj))
                                        ; (setvar "cmdecho" 1)
      (vla-explode BLOCKOBJ)
      (vla-delete BLOCKOBJ)
      (princ "\r")
      (princ COUNT)
      (princ " block(s) exploded.")

      (setq COUNT (1+ COUNT))
      (setq BLOCKLIST (cdr BLOCKLIST))
      (while (not (eq LASTENTITY (entlast)))
        (setq LASTENTITY (entnext LASTENTITY))
        (if (= "INSERT" (cdr (assoc 0 (entget LASTENTITY))))
          (progn
            (setq BLOCKOBJ2 (vlax-ename->vla-object LASTENTITY))
                                        ; (if (= (abs (vla-get-XscaleFactor blockobj2))
                                        ; (abs (vla-get-YScaleFactor blockobj2))
                                        ; (abs (vla-get-ZscaleFactor Blockobj2))
                                        ; )
                                        ; (progn
            (setq BLOCKLIST (append BLOCKLIST (list BLOCKOBJ2)))
                                        ; )
                                        ; )
          )
        )
      )
    )
  )
  (setvar "cmdecho" 0)
  (command "_.UNDO" "END")
  (setvar "cmdecho" 1)
  (princ)
)
发表于 2002-8-2 12:23:00 | 显示全部楼层

thank you!

发表于 2002-8-2 20:47:00 | 显示全部楼层

这样

本帖最后由 作者 于 2002-8-2 20:47:20 编辑

(setq a (ssget "x" (list (cons 0 "INSERT")) ))
(COMMAND “EXPLODE” A "")
就这么简单。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 17:31 , Processed in 0.296986 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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