jackynine 发表于 2011-1-30 19:10:26

【求助】如何判断一个闭合图形是顺时针还是逆时针

例: 假设图上有个任意的闭合图形,在用entsel 选取图元时 如何让其自动判断这个图元是顺时针还是逆时针??
还请不吝赐教!先行谢过~~

clm840917 发表于 2025-3-3 10:04:05

ztj988 发表于 2021-11-9 18:00
看不出这个顺时针和逆时针的结果有什么规律,也就是说,是以什么方法来定规则的

逆时针图形偏置规律

ztj988 发表于 2021-11-9 18:00:26

看不出这个顺时针和逆时针的结果有什么规律,也就是说,是以什么方法来定规则的

magicheno 发表于 2022-9-14 23:18:54

很好用,感谢G版大佬分享

Gu_xl 发表于 2011-1-30 19:31:09

本帖最后由 Gu_xl 于 2011-6-10 14:24 编辑

回复 jackynine 的帖子


(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)
)

jackynine 发表于 2011-1-30 19:33:17

版主很热心,刚发的贴子就回过来了。

jackynine 发表于 2011-1-30 19:47:54

回复 Gu_xl 的帖子

你很热心,祝贺你成为版主,刚来社区 看到自己的帖子有回复感到很高兴。谢谢了

zhb236623 发表于 2011-6-10 00:58:25

本帖最后由 zhb236623 于 2011-6-10 01:13 编辑

回复 Gu_xl 的帖子

当闭合线中有直角时提示错误要怎么解决呢。。; 错误: 除数为零,要怎么解决呢。这个直角是通过正交模式下画的,(按F8开正交下画的),如果不按正交画的直角则没有问题。

jackynine 发表于 2011-6-10 08:19:56

忘记回复了,我的问题已解决。谢谢

Gu_xl 发表于 2011-6-10 14:29:52

回复 zhb236623 的帖子

第5、第6行代码忘了注释掉了!

zhb236623 发表于 2011-6-10 16:04:14

回复 Gu_xl 的帖子

多谢Gu_xl ,程序可用。

kob5891 发表于 2011-6-10 17:02:51

好贴子 正在找这方面的谢谢

satan421 发表于 2019-4-16 15:21:50

感谢分享 学习一下
页: [1] 2
查看完整版本: 【求助】如何判断一个闭合图形是顺时针还是逆时针