找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 3264|回复: 12

[拖动] ( XD::Drag:NEdge)正多边形拖动实现函数(三种方式)

[复制链接]

已领礼包: 51个

财富等级: 招财进宝

发表于 2013-7-20 23:39:51 | 显示全部楼层 |阅读模式
函数发布
函数名称: XD::Drag:NEdge
调用格式: ( XD::Drag:NEdge info pj edgeNums mode KeyWord Cursor)
参数说明: info ---- 提示字符串
pj ---- 中心点
edgeNums--- 边数(大于等于3)
mode ---- 拖动方式(0-2) 0:内切圆 1:外接圆 2:固定边
keyWord --- 关键字字符串
Cursor --- 光标样式

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

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

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

×

外接多边形演示



xd-drag-nedge2.gif


拖动边 正多边形演示

xd-drag-nedge3.gif

游客,本帖隐藏的内容需要积分高于 50 才可浏览,您当前积分为 0


测试代码示例:

  1. (defun c:test-nedge()
  2.    (initget "I O E")
  3.    (if (and (setq mode (getint "\n[内切圆-0/外接圆-1/固定边-2]<0>:"))
  4.             (setq num (getint "\n正多边形边数:"))
  5.             (setq pj (getpoint "\n中心点:"))
  6.        )
  7.      (progn
  8.         (XD::Drag:NEdge "\n拾取点" pj num mode "a" 2)
  9.      )
  10.    )
  11.    (princ)
  12. )


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

已领礼包: 51个

财富等级: 招财进宝

 楼主| 发表于 2013-7-20 23:42:33 | 显示全部楼层
大家可以说说还需要什么样的JIG,只要你能想到,我就能给你JIG出来。

话有些大了,不过也差不多{:soso_e113:}

点评

函数图像能动态显示出来吗?  详情 回复 发表于 2015-1-18 11:09
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2013-7-20 23:47:03 | 显示全部楼层
大致都是修改 Pline 的 Coordinate

点评

是啊,JIG很好写啊,就是两件事,用LISP画多边形,然后用LISP修改多边形顶点。 中间的过程就JIG拖动了。  详情 回复 发表于 2013-7-21 00:45
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-7-20 23:56:02 | 显示全部楼层
Lispboy动上瘾了{:soso_e113:}

点评

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

使用道具 举报

已领礼包: 51个

财富等级: 招财进宝

 楼主| 发表于 2013-7-21 00:45:32 | 显示全部楼层
eachy 发表于 2013-7-20 23:47
大致都是修改 Pline 的 Coordinate

是啊,JIG很好写啊,就是两件事,用LISP画多边形,然后用LISP修改多边形顶点。 中间的过程就JIG拖动了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 51个

财富等级: 招财进宝

 楼主| 发表于 2013-7-21 00:46:15 | 显示全部楼层
snsj 发表于 2013-7-20 23:56
Lispboy动上瘾了

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

使用道具 举报

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

使用道具 举报

已领礼包: 1883个

财富等级: 堆金积玉

发表于 2015-1-18 11:09:20 | 显示全部楼层
Lispboy 发表于 2013-7-20 23:42
大家可以说说还需要什么样的JIG,只要你能想到,我就能给你JIG出来。

话有些大了,不过也差不多{:soso_e ...

函数图像能动态显示出来吗?

点评

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

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2015-1-18 12:15:08 | 显示全部楼层
aimisiyou 发表于 2015-1-18 11:09
函数图像能动态显示出来吗?

只要你能画出来。

点评

如y=sin(x),我做一水平线段,起点为(0,0),当第二个端点还没确定(处于拉伸状态),函数图象(以线段横坐标为X值)也处于拉伸状态(周期次数多或少),当点击第二个端点,函数图像即确定下来。  详情 回复 发表于 2015-1-18 13:32
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1883个

财富等级: 堆金积玉

发表于 2015-1-18 13:32:59 | 显示全部楼层
XDSoft 发表于 2015-1-18 12:15
只要你能画出来。

如y=sin(x),我做一水平线段,起点为(0,0),当第二个端点还没确定(处于拉伸状态),函数图象(以线段横坐标为X值)也处于拉伸状态(周期次数多或少),当点击第二个端点,函数图像即确定下来。

点评

你把上面函数里面绘制部分替换成你的画线函数就行了。  详情 回复 发表于 2015-1-18 16:48
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2015-1-18 16:48:37 | 显示全部楼层
aimisiyou 发表于 2015-1-18 13:32
如y=sin(x),我做一水平线段,起点为(0,0),当第二个端点还没确定(处于拉伸状态),函数图象(以线段 ...

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

使用道具 举报

已领礼包: 223个

财富等级: 日进斗金

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

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-22 17:19 , Processed in 0.495399 second(s), 62 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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