找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2157|回复: 3

[拖动] (XD::Drag:Circle)圆拖动实现函数

[复制链接]

已领礼包: 51个

财富等级: 招财进宝

发表于 2013-7-20 20:56:46 | 显示全部楼层 |阅读模式
函数发布
函数名称: XD::Drag:Circle
调用格式: (XD::Drag:Circle info cen keyWord Cursor)
参数说明: info ---- 提示字符串
pj ---- 圆心
keyWord --- 关键字字符串
Cursor --- 光标样式

0 - kCrosshair
1 - kCrosshair
2 - kRubberBand
3 - kNoSpecialCursor
4 - kEntitySelect
5 - kParallelogram
6 - kInvisible
其他值- kPkfirstOrGrips
返回值: 点或者关键字字符
函数简介: 圆拖动实现函数
函数来源: 原创
函数作者: Lispboy
适用版本: XDRX API 
最后更新时间: 2013-07-20
备注: -
演示图片:

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

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

×
本帖最后由 Lispboy 于 2013-7-20 21:00 编辑

  1. ;|
  2. 圆拖动实现函数
  3. 参数:
  4.    info ---- 提示字符串
  5.   pj  ---- 圆心
  6.   keyWord ---  关键字字符串
  7.   Cursor     --- 光标样式

  8.             0 - kCrosshair
  9.             1 - kCrosshair
  10.             2 - kRubberBand
  11.             3 - kNoSpecialCursor
  12.             4 - kEntitySelect
  13.             5 - kParallelogram
  14.             6 - kInvisible
  15.             其他值- kPkfirstOrGrips


  16. |;
  17. (defun XD::Drag:Circle (info pj keyWord cursor / dynpt e  mat0 pts ret)
  18.   (defun EdgeCallBack (dynPt / pts)
  19.     (if (not e)
  20.       (setq e (xdrx_circle_make pj (distance pj dynPt)))
  21.       (xdrx_circle_setRadius e (distance pj dynPt))
  22.     )
  23.     e
  24.   )

  25.   (setq pj (trans pj 1 0)
  26.         mat0 (xdrx_matrix_identity 3)
  27.   )
  28.   (setvar "lastPoint" pj)
  29.   (initget 1)
  30.   (setq ret (xdrx_drag_jig "EdgeCallBack" info keyWord (+ 1 2 4 8 16 128 512 65536) Cursor pj))
  31.   (cond
  32.     ((= ret -4)
  33.       (entdel e)
  34.     )
  35.     (t
  36.       (if (= (type ret) 'STR)
  37.         (progn
  38.           (setq ret (cdr ret))
  39.           (entdel e)
  40.         )
  41.       )
  42.     )
  43.   )
  44.   (gc)
  45.   ret
  46. )



应用示例代码:

  1. (defun c:test-drag-circle()
  2.     (if (setq pj (getpoint "\n圆心:"))
  3.      (progn
  4.         (XD::Drag:Circle "\n拾取点[退出-Q】" pj  "Q" 2)
  5.      )
  6.    )
  7.    (princ)
  8. )


论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2013-7-20 22:47:09 | 显示全部楼层
entityjig也出来了,这段时间辛苦了{:soso_e160:}

点评

使用XDRX API, 凡是你用LISP能做到的,就能给JIG出来。  详情 回复 发表于 2013-7-20 23:10
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2013-7-20 23:10:42 | 显示全部楼层
snsj 发表于 2013-7-20 22:47
entityjig也出来了,这段时间辛苦了

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

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 05:36 , Processed in 0.423970 second(s), 46 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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