明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2930|回复: 11

[提问] lisp中怎样判断绘制的多段线是顺时针还是逆时针绘制的

[复制链接]
发表于 2015-4-16 20:20:12 | 显示全部楼层 |阅读模式
本帖最后由 南林浣风 于 2015-4-17 20:36 编辑

lisp中怎样判断绘制的闭合多段线是顺时针还是逆时针绘制的


该贴已经同步到 南林浣风的微博
发表于 2018-8-11 09:20:02 | 显示全部楼层
真是好多高手出手呀  此贴么白来学习不少
发表于 2015-4-16 20:57:15 | 显示全部楼层
额  多段线好像没有顺时针和逆时针之分吧
发表于 2015-4-16 21:21:04 | 显示全部楼层
发表于 2015-4-16 21:22:11 | 显示全部楼层
答案在那里
 楼主| 发表于 2015-4-16 21:36:01 | 显示全部楼层
434939575 发表于 2015-4-16 21:22
答案在那里

好的,谢谢哥们了
发表于 2015-4-17 12:07:10 | 显示全部楼层
本帖最后由 llsheng_73 于 2015-4-17 12:09 编辑

  1. (defun Pldir(pts)
  2.   (<(apply'+(mapcar'(lambda(x y)(-(*(car x)(cadr y))(*(car y)(cadr x))))pts(append(cdr pts)(list(car pts)))))0))
  3. (defun plinexy(e / p i)
  4.   (setq i -1)
  5.   (mapcar(function(lambda(x)(list(car x)(cadr x))))(reverse(repeat(fix(1+(vlax-curve-getEndParam e)))
  6.     (setq i(1+ i)p(cons(vlax-curve-getPointAtParam e i)p)))))
  7.   (if(equal(car p)(last p))(reverse(cdr(reverse p)))p)
  8.   )


(setq e(car(entsel"选择闭合多线段")))
(alert(if (Pldir(plinexy e))"逆时针""顺时针")
发表于 2015-4-17 12:42:03 | 显示全部楼层
  1. ;;182 [功能] 曲线方向判断
  2. (defun Curve:Direction (curve / box params)
  3.   (setq        box    (_pnts:box (Entity:Box curve))
  4.         params (mapcar
  5.                  '(lambda (x)
  6.                     (vlax-curve-getParamAtPoint
  7.                       curve
  8.                       (vlax-curve-getClosestPointTo curve x)
  9.                     )
  10.                   )
  11.                  box
  12.                )
  13.   )
  14.   (or
  15.     (apply '<= params)
  16.     (<= (cadr lst) (caddr params) (cadddr params) (car params))
  17.     (<=        (caddr params)
  18.         (cadddr params)
  19.         (car params)
  20.         (cadr params)
  21.     )
  22.     (<=        (cadddr params)
  23.         (car params)
  24.         (cadr params)
  25.         (caddr params)
  26.     )
  27.   )
  28. )
发表于 2015-4-17 13:27:08 | 显示全部楼层
(XLRX-ClockWiseP Curve)
发表于 2015-4-17 13:52:58 | 显示全部楼层
 楼主| 发表于 2015-4-19 21:11:40 | 显示全部楼层
434939575 发表于 2015-4-16 21:21
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=85286&highlight=%C4%E6%CA%B1%D5%EB

哥们,这个程序有问题啊,运行不了,能不能帮我改改
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 16:01 , Processed in 0.195943 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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