找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 611|回复: 7

[日积月累]:实时跟踪光标小结!

[复制链接]
发表于 2003-3-31 12:19:17 | 显示全部楼层 |阅读模式

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

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

×
在论坛上看了部分关于实时跟踪光标的帖子,很受启发
现归结为以下程序,希望对大家有用!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2003-4-2 09:09:45 | 显示全部楼层

Re: [日积月累]:实时跟踪光标小结!

最初由 panzhongw 发布
[B]在论坛上看了部分关于实时跟踪光标的帖子,很受启发
现归结为以下程序,希望对大家有用! [/B]

你的代码不应叫“实时跟踪光标”,应叫“拖动”,代码中有多处错误,我已经修改好了。

  1.   [FONT=courier new]
  2. ;;;0.01 (2003.3.31) for r2002
  3. ;;;测试GRREAD
  4. (defun c:t1 (/ pt1 pt2 ls line1 ts1 ds ts2 tx1 tx2 pick p ip pt p1)
  5.   (setvar "CMDECHO" 0)
  6.   (setq pt1 (getpoint "\please input pt1"))
  7.   (while (= 0 (distance (setq pt2 (cadr (grread t 4 0))) pt1))
  8.   )
  9.   (command "line" pt1 pt2 "")
  10.   (setq ls (entlast))
  11.   (setq line1 (entget ls))
  12.   (setq ts1 "  long=")
  13.   (setq ds (rtos (distance pt1 pt2) 2 2))
  14.   (setq ts2 (strcat ts1 ds))
  15.   (command "text" pt2 (/ (getvar "viewsize") 40.0) "" ts2)
  16.   (setq tx1 (entlast))
  17.   (vla-put-color (vlax-ename->vla-object tx1) 1)
  18.   (setq tx2 (entget tx1))
  19.   (setq pick nil)
  20.   (while (not pick)
  21.     (setq p (grread t 4 0))
  22.     (princ)
  23.     (setq ip (car p))
  24.     (setq pt (cadr p))
  25.     (if        (= ip 5)
  26. ;;;;;;;;;;;;;;确定为坐标移动
  27.       (progn
  28.         (setq p1 (trans pt 1 0))
  29.         ;;坐标系转换(以防止更新数据表时出错)
  30.         (setq line1 (subst (cons 11 p1) (assoc 11 line1) line1))
  31.         (entmod line1)
  32.         (setq ds (rtos (distance pt1 p1) 2 2))
  33.         (setq ts2 (strcat ts1 ds))
  34.         (setq tx2 (subst (cons 10 p1) (assoc 10 tx2) tx2))
  35.         (setq tx2 (subst (cons 1 ts2) (assoc 1 tx2) tx2))
  36.         (setq tx2 (subst (cons 40 (/ (getvar "viewsize") 40.0)) (assoc 40 tx2) tx2))
  37.         (entmod tx2)
  38.       )
  39.       ;;progn
  40.     )
  41.     ;;if
  42.     (setq pick (= 3 ip))
  43. ;;;;;确定为点取坐标
  44.   )
  45.   ;;while
  46.   (entdel tx1)
  47.   (setvar "CMDECHO" 1)
  48.   (princ)
  49. )
  50.   [/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-4-2 09:21:52 | 显示全部楼层
深谢!
原本只是想测试一下,不想真达到了抛砖引玉的功果!
lijiao兄还望今后不吝赐教!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2007-1-9 00:11:48 | 显示全部楼层
1楼的程序执行起来没有错误,到是2楼你的程序执行起来错误多处.请你更正.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2007-3-2 08:24:12 | 显示全部楼层
cad2006已经有该功能了,似乎不太需要在加该lisp,只有在低版本的cad中才有用。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-17 17:55 , Processed in 0.210425 second(s), 45 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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