明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3784|回复: 17

多义线如果方向是顺时针的,其各点坐标的关系是怎样的

  [复制链接]
发表于 2004-5-8 13:53:00 | 显示全部楼层 |阅读模式
多义线如果方向是顺时针的,其各点坐标的关系是怎样的,既如何判断一条多义线是顺时针的或逆时针的?请帮忙,谢谢
发表于 2004-5-8 16:04:00 | 显示全部楼层
如果是S形的话,是顺时针还是逆时针?
发表于 2004-5-8 16:18:00 | 显示全部楼层
多一线如果是封闭的,那么提取顶点是按逆时钟排列的
 楼主| 发表于 2004-5-8 16:54:00 | 显示全部楼层
不考虑S这么特殊的,只是单线或闭合线。


楼上说的多一线封闭的,提取的顶点按逆时钟排列,是说提取出来的点表中的点排列是逆时针的吗?没太明白您的意思
发表于 2004-5-8 17:07:00 | 显示全部楼层
要是这样的话只需要判断PLINE的第二个点的坐标是否比第一个点的X轴的坐标大或者小就行了
 楼主| 发表于 2004-5-9 09:48:00 | 显示全部楼层
这样判断不行,比如闭和区域第二点的坐标不论怎样,都可能是逆或着是顺时针。
发表于 2004-5-9 14:28:00 | 显示全部楼层
从中间找一个点,向各顶点做直线,求角度
发表于 2004-5-9 14:29:00 | 显示全部楼层
如果是简单的平面封闭多义线,应该有办法。
发表于 2004-5-9 18:16:00 | 显示全部楼层

不一定哦

redearth发表于2004-5-8 16:18:00多一线如果是封闭的,那么提取顶点是按逆时钟排列的

不一定哦
发表于 2004-5-9 23:01:00 | 显示全部楼层
(defun C:test(/ doc utility mspace ss fd ang offsetObj plineObj pt0 pt1 intpoints)
(setq doc (vla-get-activeDocument (vlax-get-acad-object)))
(setq utility (vla-get-utility doc))
(setq mspace (vla-get-modelspace doc))
(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)))))
(setq pt0 (vlax-3d-point (vlax-curve-getPointAtParam plineObj 0.5)))
(setq pt1 (vla-PolarPoint utility pt0 (- ang (/ pi 2)) 0.00011))
(setq lineObj (vla-addLine mspace pt0 pt1))
(setq intpoints (vla-intersectwith offsetplineObj lineObj acExtendNone))
(if (> (vlax-safearray-get-u-bound (vlax-variant-value intpoints) 1) 0)
(princ "\n该多义线为顺时针。")
(princ "\n该多义线为逆时针。")
)
(vla-delete offsetplineObj)
(vla-delete lineObj)
);progn
(princ "\n没有选择图元或非多义线。")
);end_if
(princ)
)

评分

参与人数 1明经币 +1 收起 理由
payforfree + 1

查看全部评分

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

本版积分规则

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

GMT+8, 2024-9-30 14:26 , Processed in 0.167296 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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