找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2524|回复: 6

[求助] 在论坛上看到一段判断多线段顺时针还是逆时针的的LISP代码,可是没学lisp

[复制链接]
发表于 2013-11-3 10:43:59 | 显示全部楼层 |阅读模式

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

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

×
在论坛上看到一段判断多线段顺时针还是逆时针的的LISP代码,可是没学lisp看不懂,哪位高手能解释一下原理啊
  1. (defun C:tt (/ ss fd ang offsetObj plineObj)  (if (setq ss (ssget ":s" '((0 . "*POLYLINE"))))    (progn      (setq plineObj (vlax-ename->vla-object (ssname ss 0)))          ;(setq fd (vlax-curve-getFirstDeriv plineObj 0.5))          ;(setq ang (atan (/ (cadr fd) (car fd))))      (setq offsetplineObj       (car (vlax-safearray->list        (vlax-variant-value          (vla-OFFSET plineObj 0.0001)        )      )       )      )      (if (> (vlax-curve-getdistatparam         plineobj         (vlax-curve-getEndParam plineobj)       ) ;_ 结束vlax-curve-getdistatparam       (vlax-curve-getdistatparam         offsetplineObj         (vlax-curve-getEndParam offsetplineObj)       ) ;_ 结束vlax-curve-getdistatparam    )  (princ "\n顺时针.")  (princ "\n逆时针.")      )      (vla-delete offsetplineObj)    )          ;progn    (princ "\n没有选择多段线.")  )          ;end_if  (princ))

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

点评

没测试过,看代码,是偏移曲线,然后判断起始参数、终止参数的关系。  详情 回复 发表于 2013-11-3 12:13
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2013-11-3 12:13:03 | 显示全部楼层
yzf_fs 发表于 2013-11-3 10:44
原帖在这里http://bbs.xdcad.net/forum.php?mod=viewthread&tid=670718&page=1#pid3487336

没测试过,看代码,是偏移曲线,然后判断起始参数、终止参数的关系。

点评

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

使用道具 举报

 楼主| 发表于 2013-11-3 14:44:59 | 显示全部楼层
newer 发表于 2013-11-3 12:13
没测试过,看代码,是偏移曲线,然后判断起始参数、终止参数的关系。

具体怎么判断

点评

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

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-11-3 16:14:41 来自手机 | 显示全部楼层
用原pline总长度与offset后一个正值0.5后的pline总长度比较,原来的长就是顺时针,新的长就是逆时针
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2013-11-4 08:29:43 | 显示全部楼层

你用ARX,就没必要用上面的LISP的算法了,ARX有现成的。

点评

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

使用道具 举报

发表于 2015-3-25 10:04:04 | 显示全部楼层
XDSoft 发表于 2013-11-4 08:29
你用ARX,就没必要用上面的LISP的算法了,ARX有现成的。

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 05:48 , Processed in 0.182581 second(s), 44 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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