明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 21743|回复: 200

[源码] 判断点是否在曲线内------完美版

    [复制链接]
发表于 2014-11-22 08:51:19 | 显示全部楼层 |阅读模式
本帖最后由 自贡黄明儒 于 2022-9-7 13:03 编辑

这么完美的一个版本,在晓东上顶的高手居然不多

;;判断点是否在曲线内
;;(HH:PtInCurve (getpoint) (car (entsel)))
;;判断点在封闭图形内 自贡黄明儒 2014.11.22
;;(HH_PtInCurve (getpoint) (ssget))
;;(HH_PtInCurve (getpoint) (car(entsel)))
(defun HH_PtInCurve (p ss / E E0)
  (cond ((equal (type ss) 'ENAME) (setq ss (ssadd ss (ssadd)))))
  (setvar "nomutt" 1)
  (setq e0 (entlast))
  (APPLY 'bpoly (list p ss '(1 0)))
  (while (not (equal (getvar "cmdnames") "")) (apply 'command (list "")))  
  (setvar "nomutt" 0)
  (cond ((entnext e0) (while (setq e (entnext e0)) (entdel e)) T))
)

本程序很短,虽然大家都喜欢长的

点和对象可以不在屏幕上,照样有效。

本帖子中包含更多资源

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

x

点评

这种方法虽然多数时候是没问题的,但是受限于实体相对屏幕大小的限制,会出现点在对象上的提示,得不到正确结果!不是严格的方法!  发表于 2014-11-27 19:04

评分

参与人数 1明经币 +1 收起 理由
tigcat + 1 很给力!

查看全部评分

"觉得好,就打赏"
还没有人打赏,支持一下

本帖被以下淘专辑推荐:

  • · 学习|主题: 95, 订阅: 8
发表于 2023-2-13 13:53:16 | 显示全部楼层
带command。。。还好意思说是完美版
应该用纯数学的方法进行判断

发表于 2022-9-7 14:32:14 | 显示全部楼层
收藏了,虽然暂时还用不上,感觉很厉害的样子
发表于 2023-2-11 22:13:57 | 显示全部楼层
谢谢黄前辈,,正好学习下
发表于 2014-11-22 09:15:32 | 显示全部楼层
高手都有这个函数了,所以顶得少

点评

说得很有道理!  发表于 2014-11-22 09:27
发表于 2014-11-22 09:21:45 | 显示全部楼层
终于出来了,不错
发表于 2014-11-22 09:29:23 | 显示全部楼层
支持下
发表于 2014-11-22 09:40:55 | 显示全部楼层
黄大侠又出精品了,瞧瞧
发表于 2014-11-22 09:49:36 | 显示全部楼层
大师的吗东西
发表于 2014-11-22 10:20:09 | 显示全部楼层
没有最好,只有更适合自己的,谢谢分享!
发表于 2014-11-22 10:27:00 | 显示全部楼层
顶贴支持~~~~~~~~~~~~~~~~~~~~~
发表于 2014-11-22 10:30:50 | 显示全部楼层
没有最好,只有更适合自己的,谢谢分享!
发表于 2014-11-22 11:41:26 | 显示全部楼层
支持下长老
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-16 08:44 , Processed in 0.206289 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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