找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1021|回复: 13

[求助] 顺时针与逆时针判断方法

[复制链接]

已领礼包: 15个

财富等级: 恭喜发财

发表于 2016-10-24 08:32:18 | 显示全部楼层 |阅读模式

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

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

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

已领礼包: 40个

财富等级: 招财进宝

发表于 2016-10-24 08:34:41 | 显示全部楼层
直线有时针方向的说法吗?

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

使用道具 举报

已领礼包: 15个

财富等级: 恭喜发财

 楼主| 发表于 2016-10-24 08:53:38 | 显示全部楼层

(defun AMW-LW-p        (e)
  (if (= (type e) 'ENAME)
    (mapcar
      'cdr
      (vl-remove-if
        '(lambda (x) (/= (car x) 10))
        (entget e)
      )
    )
  )
)
(defun AMW-text        (x10 x40 x1 x50)
  (entmake (list '(0 . "TEXT")
                  (cons 10 x10);位置
                  (cons 40 x40);高度
                  (cons 1 x1);内容
                  (cons 50 x50);角度
                  (cons 72 1);水平对齐方式
                  (cons 11 x10);配合齐方式用
           )
  )
)
(defun c:tt (/ D0 D1 D2 DD LEN MD NG NN IS P0 PP SP SS TR X Y)
  (princ "\n功能 [多线段长度标注]")  
  (setq is (getdist "\n输入字高:"))
  (princ "\n选择要标注长度文字的多线段:")
  (while (setq ss (ssget ":s" '((0 . "LWPOLYLINE"))))
    (setq len (sslength ss))
    (repeat len
      (setq nn (ssname ss (setq len (1- len)))
            sp (cdr (assoc 70 (entget nn)))
            pp (AMW-LW-p nn)
            )
      (setq dd (length pp))      
      (setq d0 0)
      (repeat (1- dd)
        (setq d1 (nth d0 pp);第1个坐标
              d2 (nth (1+ (vl-position d1 pp)) pp);第1个前面一个坐标
              tr (rtos (distance d1 d2) 2 2);2点的标主距离值
              md (mapcar '(lambda (x y) (* (+ x y) 0.5)) d1 d2);文字放置点
              ng (angle d1 d2));角度
        (if (equal ng 3.14159 0.001);判断文字180度的时候
          (setq ng (angle d2 d1)
                p0 (polar md (+ ng (+ pi (* pi 0.5))) (* is 2)));是180度,角度反过来,与90度水平一样放置 朝下270度
          (setq p0 (polar md (+ ng (* pi 0.5)) is));朝上90度
          )       
        (setq d0 (1+ d0))
        (AMW-text p0 is tr ng)
        );点表遍历
      (and (= sp 1)
           (progn
             (setq d1 (nth 0 pp)
                   d2 (nth (1- dd) pp)
             )                                ;起始座标
             (setq tr (rtos (distance d1 d2) 2 2) ;2点的标主距离值
                   md (mapcar '(lambda (x y) (* (+ x y) 0.5)) d1 d2);文字放置点
                                       
                   ng (angle d2 d1)        ;角度
                   p0 (polar md (+ ng (* pi 0.5)) is) ;往直线上方一点
             )
             (AMW-text p0 is tr ng)        ;写文字
           )
      )
      );rep  
    );while
  (princ)
)

;;;版主我是想写个多段线长度用文字标出来,文字全在多线段外,现在有的文字在内,有的在外。
;;;时针方法不能判断,那要用什么方法判断?指点下?








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

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2016-10-24 08:58:32 | 显示全部楼层
你取 3个点 以上 就能判断了,前提是封闭的。然后用 计算几何的求多边形面积或者三角形面积,根据面积的正负求得时针方向,具体,你用  多边形面积 搜索下论坛
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 15个

财富等级: 恭喜发财

 楼主| 发表于 2016-10-24 09:18:37 | 显示全部楼层

有的多线段不是封闭的,,我只取2点得到长度,,用不到3点啊
换别的方法吧,不用时针判断,主要是把写出来的文字要放在外面。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2016-10-24 09:29:04 | 显示全部楼层

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

使用道具 举报

已领礼包: 15个

财富等级: 恭喜发财

 楼主| 发表于 2016-10-24 09:38:18 | 显示全部楼层

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

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2016-10-24 09:40:58 | 显示全部楼层

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

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2016-10-24 09:42:19 | 显示全部楼层
点到直线的距离也有正负,也可以通过判断距离的正负,判断点在直线的左上还是右下方。你如果能根据这个做你的工作,你就搜索 点到直线的距离
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1304个

财富等级: 财源广进

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

使用道具 举报

已领礼包: 15个

财富等级: 恭喜发财

 楼主| 发表于 2016-10-24 09:58:03 | 显示全部楼层

版主,你在我的代码上改下看,让所有文字都在多线段外,这样说,越说越搞清了。。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2016-10-24 10:19:19 | 显示全部楼层

你想做什么,描述清楚,告诉你的方法,自己去尝试下,这样才能提高。

我不改别人的代码,看别人的代码很累,别人的逻辑很难看懂,还不如自己重新写了。

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

使用道具 举报

已领礼包: 15个

财富等级: 恭喜发财

 楼主| 发表于 2016-10-24 10:35:58 | 显示全部楼层

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

使用道具 举报

已领礼包: 6468个

财富等级: 富甲天下

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-24 21:13 , Processed in 0.354663 second(s), 59 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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