找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 4783|回复: 6

[拖动] (XD::Drag:DLine)双线拖动实现函数

[复制链接]

已领礼包: 51个

财富等级: 招财进宝

发表于 2013-7-23 00:45:25 | 显示全部楼层 |阅读模式
函数发布
函数名称: XD::Drag:DLine
调用格式: (XD::Drag:DLine info pj w1 w2 offset-dist keyword)
参数说明: info --- 提示字符串
pj ---- 基点
w1 --- 左墙厚
w2 ---- 右墙厚
offset-dist --- 基点偏移距离(相对基点)
keyword ---- 关键字
返回值: -1 -- 回车
-4 -- ESC
(左线实体 右线实体) -- 双线实体名
函数简介: 双线拖动实现函数
函数来源: 原创
函数作者: Lispboy
适用版本: XDRX API 
最后更新时间: 2013-07-23
备注: -
演示图片:

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

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

×
  1. ;|
  2. 双线拖动实现函数

  3. 参数:
  4.    info --- 提示字符串
  5.    pj ----  基点
  6.    w1 ---   左墙厚
  7.    w2 ----  右墙厚
  8.    offset-dist --- 基点偏移距离(相对基点)
  9.    keyword ---- 关键字

  10. 返回:
  11.    -1 -- 回车
  12.    -4 -- ESC
  13.    (左线实体 右线实体) -- 双线实体名
  14. |;
  15. (defun XD::Drag:DLine (info pj w1 w2 offset-dist keyword / dynpt e1 e2 ll p1 p2 pd-1 pd-2 pts pu-1 pu-2 ret v vd vo vp vu x)
  16.   (defun DLineCallBack (dynPt / pts entl)
  17.     (setq p1 pj
  18.           p2 dynPt
  19.           v (mapcar '-  p2 pj)
  20.           vp (xdrx_vector_normalize (xdrx_vector_perpVector v))
  21.           vo (xdrx_vector_product vp (- offset-dist))
  22.           vu (xdrx_vector_product vp w1)
  23.           pu-1 (mapcar '+ p1 vu)
  24.           pu-2 (mapcar '+ p2 vu)
  25.           vd (xdrx_vector_product vp (- w2))
  26.           pd-1 (mapcar '+ p1 vd)
  27.           pd-2 (mapcar '+ p2 vd)         
  28.     )
  29.     (setq ll (mapcar '(lambda(x)(mapcar '+ x vo))(list pu-1 pu-2 pd-1 pd-2)))
  30.     (XD::Obj:EntMod e1 (list 10 (car ll) 11 (cadr ll)))
  31.     (XD::Obj:EntMod e2 (list 10 (nth 2 ll) 11 (nth 3 ll)))
  32.   )

  33.   (setq pj (trans pj 1 0))
  34.   (setvar "lastPoint" pj)
  35.   (initget 1)
  36.   (xdrx_line_make pj pj)
  37.   (setq e1 (entlast))
  38.   (xdrx_line_make pj pj)
  39.   (setq e2 (entlast))
  40.   (setq ret (xdrx_drag_jig "DLineCallBack" info keyWord (+ 1 2 4 8 16 128 512 65536) 2 pj))

  41.   (if (/= (type ret) 'LIST)
  42.         (progn
  43.           (entdel e1)
  44.           (entdel e2)
  45.         )
  46.         (setq ret (list e1 e2))
  47.   )
  48.   (gc)
  49.   ret
  50. )


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

已领礼包: 8612个

财富等级: 富甲天下

发表于 2013-8-11 10:34:18 | 显示全部楼层
加载了最新的API后,程序运行时出现错误。命令行显示:
(XD::drag:dLine "\nstart" (getpoint) 400 400 0 "")
start; 错误: *error* 函数中出错ADS 请求被拒绝
; 错误: 参数类型错误: listp <图元名: 7eb0cac0>

点评

谢谢!等下版API解决。  详情 回复 发表于 2013-8-11 13:20

评分

参与人数 1D豆 +6 收起 理由
XDSoft + 6 热心帮忙奖!

查看全部评分

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

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2013-8-11 13:20:09 | 显示全部楼层
liuyj 发表于 2013-8-11 10:34
加载了最新的API后,程序运行时出现错误。命令行显示:
(XD::drag:dLine "\nstart" (getpoint) 400 400 0  ...

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

使用道具 举报

已领礼包: 8612个

财富等级: 富甲天下

发表于 2013-8-26 12:58:15 | 显示全部楼层
加载最新的API和函数库,没有问题了。但是加载上面的源码,问题还是存在,是不是源码已有更新?能不能重新贴一下?

点评

以后遇到啥问题,把提示给贴出来,方便查找原因。 2008下,测试了代码,正常,可以拖动双线,没有问题。 论坛所有代码,请一定加载XDRX API和晓东通用LISP函数库最新版本。  详情 回复 发表于 2013-8-27 03:12
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2013-8-27 03:12:40 | 显示全部楼层
liuyj 发表于 2013-8-26 12:58
加载最新的API和函数库,没有问题了。但是加载上面的源码,问题还是存在,是不是源码已有更新?能不能重新 ...

以后遇到啥问题,把提示给贴出来,方便查找原因。

2008下,测试了代码,正常,可以拖动双线,没有问题。

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

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-8-27 05:55:07 来自手机 | 显示全部楼层
这些回调用entmod方法还能实现同步,如果是transform有不同步现象,不得其解,或许数据库更新异步来自: Android客户端
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-15 00:33 , Processed in 0.823568 second(s), 53 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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