明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2480|回复: 10

[已解答] 请求帮忙修改Z版主的一个程序

[复制链接]
发表于 2014-1-23 13:38:51 | 显示全部楼层 |阅读模式
源码如下:
  1. ;参照旋转 明经 ZZXXQQ 2013.5.10 2013.5.11改
  2. (defun c:rr ()
  3. (setvar "CMDECHO" 0)
  4. (if (and (princ "\n选择要旋转的物体: ")
  5.           (setq ss (ssget))
  6.           (setq pc (getpoint "\n旋转中心点: "))
  7.           (setq pt (getpoint pc "\n参照角度: "))
  8.      ) (progn
  9.   (command "_.CIRCLE" pc "non" pt)
  10.   (setq s2 (entlast))
  11.   (setq s1 (entlast) sa (ssadd))
  12.   (command "_.COPY" ss "" "0,0" "0,0")
  13.   (while (setq s1 (entnext s1)) (ssadd s1 sa))
  14.   (command "_.ROTATE" ss "" pc "R" pc pt PAUSE)
  15.   (setq yn (strcase (getstring "\n是否复制(R/<N>): ")))
  16.   (if (= yn "") (command "_.ERASE" sa ""))
  17.   (command "_.ERASE" s2 "")
  18. ))
  19. (setvar "CMDECHO" 1)
  20. (princ)
  21. )


试过,当出现“否复制(R/<N>”时,无论是输入R还是N,结果好像都一样
请求修改代码,加入一个选择“是否删除源对象” 意思是旋转后是否删除源对象!
谢谢各位大哥哥的帮助!





该贴已经同步到 liuhaixin88的微博
 楼主| 发表于 2014-1-23 15:46:57 | 显示全部楼层
高手们都放假了吗?
发表于 2014-1-23 16:24:04 | 显示全部楼层
本帖最后由 springwillow 于 2014-1-23 16:51 编辑

这个代码也不复杂,你啥都不输直接回车就是删除原对象,你输入任何都西都是复制。他那个表示是可以输入R来复制,回车默认是N,所以你想删除原对象直接回加就好!也可以把(if (= yn "") (command "_.ERASE" sa ""))这个改为(if (or(= yn "N")(= yn "n")) (command "_.ERASE" sa ""))
 楼主| 发表于 2014-1-23 16:37:46 | 显示全部楼层
springwillow 发表于 2014-1-23 16:24
这个代码也不复杂,你啥都不输直接回车就是删除原对象,你输入任何都西都是复制。他那个表示是可以输入R来复 ...

这样改了,无论输入什么都是删除源对象了,我想要一个字母删除,一个字母保留源对象
发表于 2014-1-23 16:40:14 | 显示全部楼层
liuhaixin88 发表于 2014-1-23 16:37
这样改了,无论输入什么都是删除源对象了,我想要一个字母删除,一个字母保留源对象

改完了R是不删除
 楼主| 发表于 2014-1-23 16:44:40 | 显示全部楼层
springwillow 发表于 2014-1-23 16:40
改完了R是不删除

我试过了,R 也是删除
发表于 2014-1-23 16:52:47 | 显示全部楼层
liuhaixin88 发表于 2014-1-23 16:44
我试过了,R 也是删除

改为(if (or(= yn "N")(= yn "n")) (command "_.ERASE" sa ""))。这样只有输N是删除,输入其它都不是删除了
 楼主| 发表于 2014-1-23 16:59:56 | 显示全部楼层
springwillow 发表于 2014-1-23 16:52
改为(if (or(= yn "N")(= yn "n")) (command "_.ERASE" sa ""))。这样只有输N是删除,输入其它都不是删除 ...

谢谢你了
发表于 2014-1-24 08:22:29 | 显示全部楼层
  1. ;参照旋转 明经 ZZXXQQ 2013.5.10 2013.5.11 2014.1.24改
  2. (defun c:rr ()
  3. (setvar "CMDECHO" 0)
  4. (if (and (princ "\n选择要旋转的物体: ")
  5.           (setq ss (ssget))
  6.           (setq pc (getpoint "\n旋转中心点: "))
  7.           (setq pt (getpoint pc "\n参照角度: "))
  8.      ) (progn
  9.   (command "_.CIRCLE" pc "non" pt)
  10.   (setq s2 (entlast))
  11.   (setq s1 (entlast) sa (ssadd))
  12.   (command "_.COPY" ss "" "0,0" "0,0")
  13.   (while (setq s1 (entnext s1)) (ssadd s1 sa))
  14.   (command "_.ROTATE" ss "" pc "R" pc pt PAUSE)
  15.   (setq yn (strcase (getstring "\n是否复制(R/<N>): ")))
  16.   (if (/= yn "R") (command "_.ERASE" sa ""))
  17.   (command "_.ERASE" s2 "")
  18. ))
  19. (setvar "CMDECHO" 1)
  20. (princ)
  21. )

点评

谢谢Z版主的再次修改  发表于 2014-1-25 19:46
发表于 2014-1-25 11:53:54 | 显示全部楼层
为什么不用getkword
  1. ;参照旋转 明经 ZZXXQQ 2013.5.10 2013.5.11 2014.1.24改
  2. (defun c:rr (/ ss pc pt s2 s1 sa yn)
  3. (setvar "CMDECHO" 0)
  4. (if (and (princ "\n选择要旋转的物体: ")
  5.           (setq ss (ssget))
  6.           (setq pc (getpoint "\n旋转中心点: "))
  7.           (setq pt (getpoint pc "\n参照角度: "))
  8.      )
  9.   (progn
  10.     (command "_.CIRCLE" pc "non" pt)
  11.     (setq s2 (entlast))
  12.     (setq s1 (entlast) sa (ssadd))
  13.     (command "_.COPY" ss "" "0,0" "0,0")
  14.     (while (setq s1 (entnext s1)) (ssadd s1 sa))
  15.     (command "_.ROTATE" ss "" pc "R" pc pt PAUSE)
  16.     (initget "Rotate No _R N")
  17.     (setq yn (getkword "\n是否复制(R/<N>): "))
  18.     ;(setq yn (strcase (getstring "\n是否复制(R/<N>): ")))
  19.     (if (/= yn "R") (command "_.ERASE" sa ""))
  20.     (command "_.ERASE" s2 "")
  21.     )
  22.   )
  23.   (setvar "CMDECHO" 1)
  24.   (princ)
  25.   )

点评

edata 哥哥,帮我看看这里http://bbs.mjtd.com/thread-109094-1-1.html ,给我一点意见,谢谢  发表于 2014-1-25 19:50
谢谢edata大哥的修改  发表于 2014-1-25 19:47
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-21 09:49 , Processed in 0.233598 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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