找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1053|回复: 5

[分享]:动态旋转复制程序

[复制链接]
发表于 2004-3-3 10:41:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
模仿sketchup的动态旋转复制程序,放在这里保存一份.
[PHP]
(defun zf_dynamic_rotate(/ p1 p2 p3 a1 cn cnn tmp e s)
  ;_____________________________
  (defun rc (os / ns ne)
    (setq ne (entlast)
          ns (ssadd)
    )
    (command "copy" os ""  "0,0"   "0,0")
    (while (setq ne (entnext ne))
      (setq ns (ssadd ne ns))
    )
    ns
  )
  (defun ttt (ss n / m ee ns sn )
    (setq ee e
      ns (ssadd)
    )
    (while (setq ee (entnext ee))
      (setq ns (ssadd ee ns))
    )
    (command "erase" ns "")   
    (if (member (substr n (strlen n)) '("/" "*"))      
      (progn
        (setq m 0)
        (repeat        (atoi n)
          (setq m (1+ m))
          (setq sn(rc ss))
          (cond
            ((= "/" (substr n (strlen n)))
             (command  "rotate" sn "" p1 (* m (/ a1 (atof n))))
            )
            ((= "*" (substr n (strlen n)))
             (command  "rotate" sn "" p1 (* m a1))
            )
          )
        )
      )
      (progn
        (setq sn(rc ss))
      (command  "rotate" sn "" p1 (setq a1 (atof n)))
      )
    )
  )
  ;_____________________________
  (princ "\n动态旋转程序__BY__WKAI__晓东CAD空间论坛")
  (princ "\n选择要旋转的物体:")
  (setq s (ssget))
  (setq p1 (getpoint "\n旋转基点"))
  (setq p2 (getpoint p1 "\n旋转起点"))
  (command "undo" "be" "line"  p1  p2 "")
  (setq e (entlast))
  (setq p3 (getpoint p1 "\n旋转终点"))
  (setq tmp (rc s) )
  (command  "rotate" tmp ""  p1 "r"  p1  p2  p3)
  (setq cn "1*" a1 (* 180 (/ (-(angle p1 p3)(angle p1 p2))pi)))  
  (while cn   
    (ttt s cn)
    (initget 128)
    (princ "\n输入坐标=旋转终点                         输入数值=旋转角度 ")
    (princ "\n输入数值n并以 / 结束=角度内等分n次复制    输入数值n并以 * 结束=按角度复制n次 ")
    (setq cnn (getpoint "\n请按提示输入<退出>:"))
    (if        (= 'LIST (type cnn))
      (setq p3 cnn
            a1 (* 180 (/ (-(angle p1 p3)(angle p1 p2))pi))
      )
      (setq cn cnn)
    )
  )
  (entdel e)
  (command "undo" "e")
  (princ)
)
[/PHP]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-3-21 15:59:00 | 显示全部楼层
好程序.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-7-20 18:56:53 | 显示全部楼层
不错,启动命令是什么啊?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-10-24 10:13:56 | 显示全部楼层
为什么不用CAD的扣子(夹点)命令呢,不是很好用吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-10-28 21:54:13 | 显示全部楼层
OK!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 137个

财富等级: 日进斗金

发表于 2020-1-17 18:38:33 | 显示全部楼层
命令: _appload 已成功加载 动态旋转复制zf_dynamic_rotate.lsp。 命令: 命令: 命令: zf_dynamic_rotate 未知命令“ZF_DYNAMIC_ROTATE”。按 F1 查看帮助
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-4-19 16:50 , Processed in 0.381585 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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