本帖最后由 尘缘一生 于 2014-6-18 06:22 编辑

说明:
      设计人员主要是加快设计效率的,对于镜像命令,我们许多时候,是要求镜像过去,最好还沾在鼠标上,移动到合适位置,下面提供4段小代码,由于不会GIF拷屏,有兴趣下载实验下:自己20年前的写的,一直使用。

      
希望得到点明经币。可以不可以?


   第一段:
          水平镜像,原来部分删除,镜像部分跟随鼠标,移动目标位置定位!
   第二段:
          垂直镜像,原来部分删除,镜像部分跟随鼠标,移动目标位置定位!
   第三段:
           水平镜像,原来部分保留,镜像部分跟随鼠标,移动目标位置定位!
   第四段:
            垂直镜像,原来部分保留,镜像部分跟随鼠标,移动目标位置定位!


       记得关闭“捕捉”“正交”,程序内没写!

        我为什么构造了4个命令,因为设计人员,做的目的是唯一的,比如:你作水平镜像的时候,难道你还同时作垂直镜像不成,就追求最少的击键,假如合并一起,当你选择镜像时,还得多一个选择键了。
  1. ;;--------------------------------------------------------------------------

  2. (defun C:H-MR-MV (/ s pt2 pt3)
  3. (command)
  4. (setq s(ssget))
  5. (setq pt2 (nth 1(grread 5)))
  6. (setq pt3 (polar pt2 (* 0.5 pi) 2.5))
  7. (command "MIRROR" s "" PT2 pt3 "Y")
  8. (command "MOVE" s "" PT3)
  9. )

  10. ;;---------------------------------------------------------------------------

  11. (defun C:V-MR-MV (/ s pt2 pt3)
  12. (command)
  13. (setq s(ssget))
  14. (setq pt2 (nth 1(grread 5)))
  15. (setq pt3 (polar pt2 0 2.5))
  16. (command "MIRROR" s "" PT2 pt3 "Y")
  17. (command "MOVE" s "" PT3)
  18. )

  19. ;;------------------------------------------------------------------------------

  20. (defun C:H-MR-MV-N (/ s l n s1 pt2 pt3)
  21. (command)
  22. (setq s(ssget))
  23. (setq pt2 (nth 1(grread 5)))
  24. (setq pt3 (polar pt2 (* 0.5 pi) 2.5))
  25. (setq s1(ssget "X"))
  26. (command "MIRROR" s "" PT2 pt3 "N")
  27. (setq s(ssget "X"))
  28. (setq l(- (sslength s1) 1))
  29. (setq n 0)
  30. (while (<= n l)
  31.     (setq nam (ssname s1 n))
  32.     (if (= (ssmemb nam s) nam)
  33.         (setq s(ssdel nam s))
  34.      )   
  35.      (setq n (+ n 1))
  36. )     
  37. (command "MOVE" s "" PT3)
  38. )

  39. ;;------------------------------------------------------------------------------

  40. (defun C:V-MR-MV-N (/ s l n s1 pt2 pt3)
  41. (command)
  42. (setq s(ssget))
  43. (setq pt2 (nth 1(grread 5)))
  44. (setq pt3 (polar pt2 0 2.5))
  45. (setq s1(ssget "X"))
  46. (command "MIRROR" s "" PT2 pt3 "N")
  47. (setq s(ssget "X"))
  48. (setq l(- (sslength s1) 1))
  49. (setq n 0)
  50. (while (<= n l)
  51.     (setq nam (ssname s1 n))
  52.     (if (= (ssmemb nam s) nam)
  53.         (setq s(ssdel nam s))
  54.      )   
  55.      (setq n (+ n 1))
  56. )     
  57. (command "MOVE" s "" PT3)
  58. )
  59. ;;--------------------------------------------------------------------------------
截图下我CAD的这4个命令按钮图标:



补充录屏:第一次用,不理想:



网友答: 怎么不能捕捉呀  第一次镜像的时候不能选择捕捉点吗  你移动时候的捕捉点

网友答: 谢谢分享,学习了

网友答: 我知道你缺明经币了

网友答: 啥介绍都没啊

网友答: 要B才能看 ???????

网友答: 还是做下GIF,看下优势在哪里

网友答: 能不能加个镜像点?

网友答: 自己20年前的写的

网友答: 你还是发源代码吗   给你明经币就行了  为了好好学习 呵呵

网友答: 本帖最后由 依然低调 于 2014-6-16 17:18 编辑
  1. (defun C:V-MR-MV (/ s pt2 pt3)
  2.   (command)  ;请问这句存在的作用
  3.   (setq s (ssget))
  4.   (setq pt2 (nth 1 (grread 5)))
  5.   (setq pt3 (polar pt2 0 2.5))
  6.   (command "MIRROR" s "" PT2 pt3 "Y")
  7.   (command "MOVE" s "" PT3)
  8. )


网友答:
依然低调 发表于 2014-6-16 17:14

不是必须存在的是吧?谢了!
  • 上一篇:汉化Lee Mac批量编辑属性块BAtteV1-4
  • 下一篇:没有了