dforme 发表于 2012-12-28 10:50:40

复制同名图块

本帖最后由 dforme 于 2012-12-28 10:53 编辑

在下面的文章看到一段代码,是关于删除同名图块的。
http://bbs.mjtd.com/thread-63333-1-1.html
可是我想复制或移动同名图块,于是自己修改了一下,可以运行,但是有提示“错误: 错误的点参数”,麻烦各位帮忙看看,是哪里出错了,本人是新手,对代码不太懂。


;删除同名图块 http://bbs.mjtd.com/thread-63333-1-1.html
;复制指定同名图块
(DEFUN C:TT2 ()
(SETVAR "CMDECHO" 0)
(IF (SETQ S1 (ENTSEL "\nSelect a Block 选择一个图块 :")) (PROGN
(SETQ ENT (ENTGET (CAR S1)))
(IF (= (CDR (ASSOC 0 ENT)) "INSERT") (PROGN
   (SETQ NNM (ASSOC 2 ENT)
         SS (SSGET (LIST '(0 . "INSERT") NNM)))
   (COMMAND "copy" SS "")
   (SETQ I -1)
   (REPEAT (SSLENGTH SS)
    (ssget (SSNAME SS (SETQ I (1+ I))))
   )
))
))
(SETVAR "CMDECHO" 1)
(PRINC)
)

zyhandw 发表于 2012-12-28 11:35:18

没有抄写完整!看看原程序,这样改下
(SETQ NNM (ASSOC 2 ENT)
         SS (SSGET (LIST '(0 . "INSERT") NNM)))
==>
(SETQ NNM (ASSOC 2 ENT)
         SS (SSGET "X" (LIST '(0 . "INSERT") NNM)))

dforme 发表于 2012-12-28 12:08:29

zyhandw 发表于 2012-12-28 11:35 static/image/common/back.gif
没有抄写完整!看看原程序,这样改下
(SETQ NNM (ASSOC 2 ENT)
         SS (SSGET (LIST '(0 . "INSERT" ...

额,我是为了做选区,所以把"X"去掉了,但是加上"X"之后,还是有错误提示

zyhandw 发表于 2012-12-28 13:50:48

dforme 发表于 2012-12-28 12:08 static/image/common/back.gif
额,我是为了做选区,所以把"X"去掉了,但是加上"X"之后,还是有错误提示

好吧,如果为了加个选区可以用给定两个点来搞定。简单写了下,试试这个;删除同名图块 http://bbs.mjtd.com/thread-63333-1-1.html
;复制指定同名图块
(DEFUN C:TT2 ()
(SETVAR "CMDECHO" 0)
(setq pt1 (getpoint "\n指定选区第一点:"))
(setq pt2 (getcorner pt1 "\n指定选区第二点:"))
(IF (SETQ S1 (ENTSEL "\nSelect a Block 选择一个图块 :")) (PROGN
(SETQ ENT (ENTGET (CAR S1)))
(IF (= (CDR (ASSOC 0 ENT)) "INSERT") (PROGN
   (SETQ NNM (ASSOC 2 ENT)
         SS (SSGET "w" pt1 pt2 (LIST '(0 . "INSERT") NNM)))
))
))
(if ss (COMMAND "copy" SS ""))
(SETVAR "CMDECHO" 1)
(PRINC)
)

dforme 发表于 2013-1-6 11:23:38

zyhandw 发表于 2012-12-28 13:50 static/image/common/back.gif
好吧,如果为了加个选区可以用给定两个点来搞定。简单写了下,试试这个

谢谢,完全符合要求

zyhandw 发表于 2013-1-6 11:41:56

dforme 发表于 2013-1-6 11:23 static/image/common/back.gif
谢谢,完全符合要求

you are welcome!

liaoliang317 发表于 2013-5-2 11:46:17

好人真多啊
页: [1]
查看完整版本: 复制同名图块