找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1766|回复: 22

[讨论]:能否实现实时显示+捕捉功能

[复制链接]
发表于 2004-12-29 11:56:18 | 显示全部楼层 |阅读模式

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

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

×
作了一个程序,能实时显示生成的文字。有网友问:能否在显示期间利用捕捉功能,这一下把我问住了,真不知道如何做到。

看看cad里面,人家居然就是能做到,难道程序不是lsp的?lsp就有这个限制?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-12-29 13:14:43 | 显示全部楼层
怎么个实时?生成文字后跟着鼠标走还是像编辑属性一样,对话框敲入字就变?
第一个效果吗用 grread 是不能捕捉的,用 move 还可以。
第二的效果用 lisp 写的话就甭想了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2005-1-3 16:19:55 | 显示全部楼层
最初由 hi71400 发布
[B]没看明白,一楼的讲清楚点! [/B]

就是用程序生成的东东用鼠标带着,到处能跑,重要的是“能捕捉到点”
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2005-1-4 00:20:51 | 显示全部楼层
最初由 梦断江南 发布
[B]copy,and move can get the osnap [/B]


对! 是个好办法。
在别的文字程序里面也可以这样啊!
谢了!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-1-4 08:58:55 | 显示全部楼层
  我是用INSERT的方式实现的。将要拖着跑的东东做成块,在插入时得到插入点前用PAUSE。设定好需要的捕捉方式就可以了。
        用MOVE或COPY会有一根小尾巴。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

已领礼包: 3719个

财富等级: 富可敌国

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

使用道具 举报

已领礼包: 24个

财富等级: 恭喜发财

发表于 2005-1-5 00:26:42 | 显示全部楼层
最初由 Free-Lancer 发布
[B]怎么个实时?生成文字后跟着鼠标走还是像编辑属性一样,对话框敲入字就变?
第一个效果吗用 grread 是不能捕捉的,用 move 还可以。
第二的效果用 lisp 写的话就甭想了。 [/B]


探讨一下:
Free-Lancer 说grread 是不能捕捉的,我觉得可以通过osnap函数实现,不过要实现捕捉确实很麻烦,但grread可是实现拖动时实时更新,所以只要grread能满足要求的话,我还是坚决不用move

(setq pt1 (grread T 15 2))
(setq pt2 (osnap (cdr pt1) "cen"))

上面的"cen"可以使用字符串变量代替,通过读取osmode的值生成各种捕捉组合相对应的字符串
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

已领礼包: 24个

财富等级: 恭喜发财

发表于 2005-1-5 12:00:06 | 显示全部楼层
[PHP](defun c:tt (/ more gd)
  (setq more T)
  (while more
    (setq gd (grread T 15 2))
    (cond
      ((= (car gd) 3) (do))                ;鼠标左键点击
      ((= (car gd) 5) (drag))                ;鼠标拖动
      ((equal gd (list 11 0)) (setq more nil) (entdel (entlast)))
                                        ;鼠标右键点击退出
      ((equal gd (list 2 32)) (setq more nil) (entdel (entlast)))
    )                                        ;空格键退出
  )
)

(defun do ()
  (entupd (entlast))
  (command "_.COPY" (entlast) "" '(0 0) "@")
)

(defun drag (/ elist gd1)
  (setq elist (entget (entlast)))
  (if (setq gd1 (osnap (cadr gd) "end"))
    (setq gd (list (car gd) gd1))
  )
  (setq        elist (subst (cons 10 (trans (cadr gd) 1 0))
                     (assoc 10 elist)
                     elist
              )
  )
  (entmod elist)
)[/PHP]

一个end捕捉的简单例子,希望对大家有帮助
运行程序前先画一些线,然后随便生成一个物体,试试看你就知道这个程序的作用了
此外正交模式以及栅格模式也可以用相似的原理实现
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-1-5 12:27:32 | 显示全部楼层
可以捕捉到END点,只是没有标记,当捕捉设置较多时无法确定是捕捉到哪个点。不太直观。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 24个

财富等级: 恭喜发财

发表于 2005-1-5 14:12:26 | 显示全部楼层
可以生成捕捉标记的,12楼的贴只是简单说明在grread函数执行期间如何捕捉,并没有反映出其他相关功能
应该说move,insert等命令能实现的功能grread一样可以做到,具体如何做到,那可是长篇大论了,如果有兴趣建议找有关的书籍学习一下。反过来说grread可以实现的功能move等命令就不行了,比如命令执行期间调用对话框,设置undo操作等等。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-1-5 19:16:31 | 显示全部楼层
最初由 fools 发布
[B]可以生成捕捉标记的,12楼的贴只是简单说明在grread函数执行期间如何捕捉,并没有反映出其他相关功能
应该说move,insert等命令能实现的功能grread一样可以做到,具体如何做到,那可是长篇大论了,如果有兴趣建议找... [/B]

长篇大论就不必了,楼主何必不写一下基本思想呢?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-28 14:32 , Processed in 0.339107 second(s), 60 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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