尘缘一生 发表于 2018-12-30 17:55:40

偏移距离连续复制-【V1.0】

本帖最后由 尘缘一生 于 2019-1-4 09:08 编辑

http://bbs.mjtd.com/forum.php?mod=viewthread&tid=171879&highlight=%B8%B4%D6%C6

   以上链接帖子连续复制,只能ESC退出,很不习惯,另辟蹊径,写了一段代码,实现相同功能,能右键退出。。。。。
;;-------偏移距离多重复制-----------------------------------
(defun C:pyfz(/ s z pt1 pt2 pt3 ang dis grr gr oldorh)
(setq s(ssget))
(setq pt1 (nth 1 (grread 5)))
(setq oldorh (getvar "ORTHOMODE"))
(setvar "ORTHOMODE" 1);;;现实正交复制最多
(setq pt2 (getpoint pt1 "\n请给出复制的方向:"))
(setq ang (angle pt1 pt2))
(setq dis (getdist "\n请给出复制的【距离】:"))
(setq pt3 (polar pt1 ang dis))
(command "COPY" s "" pt1 pt3)
(princ "\左键输入【距离】;空格、回车同方向继续复制;右键退出")
(setq z t)
(while z
(setq grr (grread t ));请求输入
(setq gr(car grr))
(cond
   ((equal grr'(11 0));右键退出
    (setq z nil)
   )
   ((or(equal grr '(2 32));空格,复制加一次
   (equal grr '(2 13));回车,复制加一次
    )
    (progn
   (setq pt3 (polar pt3 ang dis))
   (command "COPY" s "" pt1 pt3)
    )
   )
   ((= gr 3);左击 ,重新输入复制距离
    (progn
   (setq dis (getdist "\n请给出复制的【距离】:"))
   (setq pt2 (getpoint pt3 "\n请给出复制的方向:"))
   (setq ang (angle pt3 pt2))
   (setq pt3 (polar pt3 ang dis))
   (command "COPY" s "" pt1 pt3)
    )
   )
)
)
(setvar "ORTHOMODE" oldorh)
)
;;------------------------------------------------------------



evayleung 发表于 2018-12-31 00:24:37

来个动态图看下吧,一句话都没有就收一个币了。

taoyi0727 发表于 2018-12-31 08:34:42

是个啥至少来个图噻 就看到几个字就1个币

烟盒迷唇 发表于 2018-12-31 10:40:27

没有看到就手臂了啊

bai2000 发表于 2018-12-31 13:53:57

建议:左键继续复制,右键结束,其实程序中的左键是多余的
页: [1]
查看完整版本: 偏移距离连续复制-【V1.0】