明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: 半听可乐

记忆移动程序,谁能帮我调一下?

  [复制链接]
发表于 2012-8-31 16:32 | 显示全部楼层
半听可乐 发表于 2012-8-31 16:22
你这个也有同样的bug:前后两次移动有错位,而且比我发的错位严重哦

我用没有发现楼主所说的bug,不知楼主是何操作的!
回复

使用道具 举报

 楼主| 发表于 2012-8-31 16:36 | 显示全部楼层
本帖最后由 半听可乐 于 2012-8-31 16:42 编辑
yetianyun 发表于 2012-8-31 16:32
我用没有发现楼主所说的bug,不知楼主是何操作的!


就这样错位了……

本帖子中包含更多资源

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

x
回复

使用道具 举报

发表于 2012-8-31 16:57 | 显示全部楼层
本帖最后由 yetianyun 于 2012-8-31 17:03 编辑

会不会是捕捉的时候不准确所造成的呢,我按楼主的方法,捕小圆的圆心,分批移到框外,在框外依然是连在一起的,
如方便交流,QQ :103550749









本帖子中包含更多资源

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

x
回复

使用道具 举报

发表于 2012-8-31 17:15 | 显示全部楼层

本帖子中包含更多资源

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

x
回复

使用道具 举报

发表于 2012-9-1 08:47 | 显示全部楼层
yetianyun 发表于 2012-8-31 17:15

兄弟,能否把移动值显示出来
回复

使用道具 举报

发表于 2012-9-1 12:17 | 显示全部楼层
longer1000 发表于 2012-9-1 08:47
兄弟,能否把移动值显示出来


命令行显示了移动的距离和角度,
=========================================================================




;;;-------------------------------------------------------------------------------------------------------------------
(defun c:DB_REMMOVE (/ ss p1 p2 mbd gr temp ent pt ppt)
;;;  (setvar "orthomode" 1)
  (if (not movedist)
    (setq movedist 3)
  )
  (if (not moveang0)
    (setq moveang0 pi)
  )


  (if (setq ss (ssget)
     p1 (getpoint "\n指定基点:")
      )
    (progn
      (command "point" p1)
      (setq ss (ssadd (setq ent (entlast)) ss))
      (setq p2 (polar p1 moveang0 movedist))
      (command "move" ss "" p1 pause)

      (setq pt (trans(cdr (assoc 10 (entget ent))) 0 1))
      (setq ppt (list (- (car pt) (car p1)) (- (cadr pt) (cadr p1)) 0))
      (if (equal p1 ppt)(command "move" ss "" pt p2))
      (setq pt (trans(cdr (assoc 10 (entget ent))) 0 1))
      (setq movedist (distance p1 pt) moveang0 (angle p1 pt))
      (PROMPT (strcat "\n本次移动的距离:" (rtos movedist 2 3) ",移动相对角度:" (rtos (/ (* moveang0 180) pi) 2 9)))
      (entdel ent)
      )
    )
  (princ)
)

本帖子中包含更多资源

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

x
回复

使用道具 举报

发表于 2012-9-1 21:27 | 显示全部楼层
本帖最后由 luyu9635 于 2012-9-1 21:54 编辑

如果说有错位,可能是rtos的精度引起的,按ANDY兄说的改下,应该不会有问题了
回复

使用道具 举报

发表于 2012-9-2 17:55 | 显示全部楼层
今天偶然用程序移动,果有楼主所说的错位,后细检观察,觉是第二次移动惹的祸,所以修改如下,楼主可一试……



(defun c:DB_REMMOVE(/ ss p1 p2 mbd gr temp ent pt ppt os)
;;;  (setvar "orthomode" 1)
  (if (not movedist)
    (setq movedist 3)
  )
  (if (not moveang0)
    (setq moveang0 pi)
  )


  (if (setq ss (ssget)
     p1 (getpoint "\n指定基点:")
      )
    (progn
      (command "point" p1)
      (setq ss (ssadd (setq ent (entlast)) ss))
      (setq p2 (polar p1 moveang0 movedist))
      (command "move" ss "" p1 pause)
      (setq os (getvar "osmode"))
      (setvar "osmode" 0)
      (setq pt (trans(cdr (assoc 10 (entget ent))) 0 1))
      (setq ppt (list (- (car pt) (car p1)) (- (cadr pt) (cadr p1)) 0))
      (if (equal p1 ppt)(command "move" ss "" pt p2))
      (setq pt (trans(cdr (assoc 10 (entget ent))) 0 1))
      (setq movedist (distance p1 pt) moveang0 (angle p1 pt))
      (PROMPT (strcat "\n本次移动的距离:" (rtos movedist 2 3) ",移动相对角度:" (rtos (/ (* moveang0 180) pi) 2 9)))
      (entdel ent)
      (setvar "osmode" os)
      )
    )
  (princ)
)

本帖子中包含更多资源

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

x
回复

使用道具 举报

发表于 2012-9-2 19:57 | 显示全部楼层
yetianyun 发表于 2012-9-2 17:55
今天偶然用程序移动,果有楼主所说的错位,后细检观察,觉是第二次移动惹的祸,所以修改如下,楼主可一试… ...

这个程序非常不错,希望再加个记忆复制的功能!
回复

使用道具 举报

发表于 2013-1-25 20:19 | 显示全部楼层
yetianyun 发表于 2012-9-2 17:55
今天偶然用程序移动,果有楼主所说的错位,后细检观察,觉是第二次移动惹的祸,所以修改如下,楼主可一试… ...

很不错,就是有一点可以改进“如果使用记忆的距离和角度,是不是就可以不需要在指定基点?”
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-29 08:57 , Processed in 0.142312 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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