找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 656|回复: 6

[原创]:一个与MYIE鼠标操作方式类似的程序框架

[复制链接]
发表于 2004-9-10 15:07:02 | 显示全部楼层 |阅读模式

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

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

×

  1.   [FONT=courier new]
  2. (defun luopan
  3.        (aa bb / ANGL ANGL0 BIAOJI BLK DIS DIS0 PT PT0 QUYU XYZ)
  4.   (if (= (getvar "cmdnames") "")
  5.     (progn
  6.       (while (not (= 5 (car (setq pt0 (grread t 4 0))))))
  7.       (setq pt0 (cadr pt0))
  8.       (setq xyz         (/ (getvar "viewsize") 100.0) ;;;可以修改比例因子100
  9.             dis0 (* 11.38 xyz) ;;;以修改比例因子11.38
  10.             quyu 4.0);;;以修改区域份数4
  11. ;;;      以上三个修改项与罗盘的大小有关
  12.       (setq angl0 (/ 360.0 quyu))
  13.       (if (setq blk (caditem nil "blk" "luopan"))
  14.         (setq blk (vla-InsertBlock
  15.                     (cadkj nil 0)
  16.                     (vlax-3d-point pt0)
  17.                     "luopan"
  18.                     xyz
  19.                     xyz
  20.                     xyz
  21.                     0.0
  22.                     ""))
  23.         (setq blk (vla-InsertBlock
  24.                     (cadkj nil 0)
  25.                     (vlax-3d-point pt0)
  26.                     (findfile ("luopan.dwg");;;文件luopan.dwg要放在搜索路径中,最好用绝对路径
  27.                     xyz
  28.                     xyz
  29.                     xyz
  30.                     0.0
  31.                     ""))
  32.         )
  33.       (setq biaoji t)
  34.       (while biaoji
  35.         (setq pt (grread t 4 0))
  36.         (cond
  37.           ((= 3 (car pt))
  38.            (setq biaoji nil)
  39.            );;;左键点击为退出
  40.           ((= 5 (car pt))
  41.            (setq pt (cadr pt))
  42.            (setq dis  (distance pt0 pt)
  43.                  angl (+ 45 (rtod (angle pt0 pt))))
  44.            (if (> dis dis0)
  45.              (progn
  46.                (setq angl (fix (/ angl angl0)))
  47.                (setq biaoji nil)
  48.                (cond
  49.                  ((= angl 0)
  50.                   (princ angl);;;在第1区域的处理代码
  51.                   )
  52.                  ((= angl 1)
  53.                   (princ angl);;;在第2区域的处理代码
  54.                   )
  55.                  ((= angl 2)
  56.                   (princ angl);;;在第3区域的处理代码
  57.                   )
  58.                  ((= angl 3)
  59.                   (princ angl);;;在第4区域的处理代码
  60.                   )
  61.                  ((= angl t)
  62.                   (princ angl);;;在第1区域的处理代码
  63.                   )
  64.                  )
  65.                )
  66.              )
  67.            )
  68.           )
  69.         )
  70.       (vla-delete blk)
  71.       )
  72.     )
  73.   (princ)
  74.   )
  75. (if (not cs_mouse)
  76.   (setq cs_mouse (vlr-mouse-reactor nil '((:vlr-beginRightClick  . luopan))))
  77.   )
  78. ;;;其他说明:
  79. ;;;  1、(caditem nil "blk" "luopan")  返回当前文档中名为LUOPAN的图块,失败为NIL
  80. ;;;  2、(cadkj nil 0)  返回当前文档的当前操作空间
  81. ;;;  3、(rtod (angle pt0 pt)) 将弧度转换为角度
  82. ;;;  以上函数需要自己编写
  83.   [/FONT]

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

Re: [原创]:一个与MYIE鼠标操作方式类似的程序框架

使用方法:
加载后,不用发命令,在没有活动命令时右击鼠标,出现方向罗盘,然后移动鼠标到相应的区域,就自动执行相应的功能。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2004-9-10 16:05:06 | 显示全部楼层
最初由 wkai 发布
[B]呵呵 和我的编辑易很象呀 [/B]

但我用反应器实现,不用发命令
*********************
下面是一个实际应用的例子,用来切换菜单。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-12-10 09:57:07 | 显示全部楼层
与大家原来点右键时重复上一命令的习惯不符,应该加一个重复命令的功能。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2004-12-10 22:47:00 | 显示全部楼层
既然把右键都定义掉了,和右键菜单又有什么区别,就少点一下而已.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-27 17:42 , Processed in 0.175716 second(s), 43 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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