明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 872|回复: 7

帮忙看一下这程序有什么漏洞

[复制链接]
发表于 2008-3-1 18:36 | 显示全部楼层 |阅读模式

请帮忙看一下这程序有什么漏洞:我画了二条平行线.用下面的程序去检查是否平行.但有些时候,明明平行的二直线,也会说不是平行呢?我的程序的漏洞到底在哪里呀?

(defun c:ff( / ang1 ang2 obj1 obj2 pt1 pt2 pt3 pt4)
(setq obj1 (car (entsel "请选择一个直线")))
(setq pt1 (trans (cdr(assoc 10 (entget obj1))) 0 1))
(setq pt2 (trans (cdr(assoc 11 (entget obj1))) 0 1 ))
(setq ang1 (angle pt1 pt2))
(setq obj2 (car (entsel "请选择一个直线")))
(setq pt3 (trans (cdr(assoc 10 (entget obj2))) 0 1))
(setq pt4 (trans (cdr(assoc 11 (entget obj2))) 0 1))
(setq ang2 (angle pt3 pt4))
(if (= ang1 ang2)
(alert "二线平行")
(alert "二线不平行")
)
)

发表于 2008-3-1 18:50 | 显示全部楼层

(if (equal ang1 ang2 0.001)
(alert "二线平行")
(alert "二线不平行")
)

发表于 2008-3-1 18:51 | 显示全部楼层

向左走,向右走

 楼主| 发表于 2008-3-1 18:55 | 显示全部楼层
为什么会出现上面那种现象呢?明明是一样的角度,却又有一点小小的差别呢?
发表于 2008-3-1 19:05 | 显示全部楼层

按3楼的。。

你两点之间的角度要取锐角。。。

 楼主| 发表于 2008-3-1 19:32 | 显示全部楼层
谢谢,明白了,我的那二个ang1 和ang2之间,有可能是相等,也有可能相差180度
发表于 2008-3-1 19:59 | 显示全部楼层

我觉得求交点比较实际。两条平行线是没有交点的

 楼主| 发表于 2008-3-2 00:10 | 显示全部楼层

7楼大哥说得有理呀!

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

本版积分规则

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

GMT+8, 2024-5-17 09:42 , Processed in 0.190527 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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