mmh1 发表于 2011-5-13 09:11:06

如何得到上次插入的块?

(DEFUN C:wx(/ aa)
(COMMAND "INSERT" "D:/backup/wx2.dwg" "x" "1" "y" "1" "r" "0")
(setq aa (ssget "l"));得不到块
(command "explode" aa "")
)
entlast也得不到块?
那怎么得到上次输入的块?

mmh1 发表于 2011-5-13 09:11:08

如何得到上次插入的块?

(DEFUN C:wx(/ aa)
(COMMAND "INSERT" "D:/backup/wx2.dwg" "x" "1" "y" "1" "r" "0")
(setq aa (ssget "l"));得不到块
(command "explode" aa "")
)
entlast也得不到块?
那怎么得到上次输入的块?

hawnn 发表于 2011-5-13 09:29:58

null

你的程序不完整
还有一个插入点你没给到,所以后面的不会运行了,直接跳过

要想炸开块就要在*error*函数里动点文章

不然你就在插入块之前指定一个点,再来(COMMAND……)

我知道你想玩动态
但,还是先把程序能用再说。
能用先用,再慢慢优化

还有,我想你还是检测乘虚是不是完整运行完了吧
知道"print"或者"princ"的用法吧

mmh1 发表于 2011-5-13 09:55:35

我只是想让插入的块是炸开的!

mmh1 发表于 2011-5-13 10:00:01

分开运行没问题啊,合起来aa为nil

ZZXXQQ 发表于 2011-5-13 11:22:06

(DEFUN C:wx(/ aa)
(COMMAND "-INSERT" "D:/backup/wx2.dwg" "x" "1" "y" "1" pause "0")
(setq aa (entlast))
(command "explode" aa "")
)
这样更好:
(DEFUN C:wx (/ aa)
(COMMAND "-INSERT" "*D:/backup/wx2.dwg" pause 1 0)
)

hawnn 发表于 2011-5-13 12:12:37

null

分开当然没问题
因为分开你的(command……)之后没有东西
放在一起…,
command后面的就有问题了
既然要炸开
名字前加“*”
版主已经帮你解决了
页: [1]
查看完整版本: 如何得到上次插入的块?