明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: 669423907

[提问] 如何自动选中并亮显包围光标点的矩形?

[复制链接]
 楼主| 发表于 2019-9-20 13:49 | 显示全部楼层
哪位大师帮弄一个咯
回复

使用道具 举报

发表于 2019-9-25 18:27 | 显示全部楼层
1.grread获取当前光标位置pt1
2.用polar向右延伸合适的长度获取第二个点pt2
3.根据pt1和pt2栏选找到所有多段线,排除pt1在外面或者不是矩形的对象.
4.根据pt1和矩形的中点排序,找到离的最近的矩形.
5.用redraw亮显对象.
我的思路是这样,不知道第二步有没有更好的解决方案
回复

使用道具 举报

发表于 2019-9-26 09:10 | 显示全部楼层
根据光标位置O计算上下左右四个无限远点p1,p2,p3,p4,   用这四个方向进行对0层4个点的多段线进行“F”选择,判断选中的多段线中矩形,排除O点在外的矩形,比较O离哪个矩形最近就亮显哪个矩形
不知道说清楚没有
回复

使用道具 举报

发表于 2019-9-26 11:42 | 显示全部楼层
4.根据pt1和矩形的中点排序,找到离的最近的矩形.
用矩形的中点(质点)判断不太合适,应该用pt1到矩形四个顶点的和排序比较合适.
回复

使用道具 举报

 楼主| 发表于 2019-9-27 18:38 | 显示全部楼层
llsheng_73 发表于 2019-9-26 09:10
根据光标位置O计算上下左右四个无限远点p1,p2,p3,p4,   用这四个方向进行对0层4个点的多段线进行“F”选择 ...

大师说的没错
回复

使用道具 举报

 楼主| 发表于 2019-9-27 18:39 | 显示全部楼层
wyl219 发表于 2019-9-26 11:42
4.根据pt1和矩形的中点排序,找到离的最近的矩形.
用矩形的中点(质点)判断不太合适,应该用pt1到矩形四个顶 ...

矩形中点不行,应该是点到矩形的边
回复

使用道具 举报

发表于 2019-9-29 08:02 | 显示全部楼层
669423907 发表于 2019-9-27 18:39
矩形中点不行,应该是点到矩形的边

到顶点不比到边容易点
回复

使用道具 举报

发表于 2019-9-29 08:05 | 显示全部楼层
llsheng_73 发表于 2019-9-26 09:10
根据光标位置O计算上下左右四个无限远点p1,p2,p3,p4,   用这四个方向进行对0层4个点的多段线进行“F”选择 ...

没必要上下左右,朝任一方向就可以了,因为点在矩形内,那么四个方向任一方向都能找到这个矩形.
不过可以向四个方向获取四个集合,然后取交集,其他的就是点不在矩形内的矩形

点评

有道理哦  发表于 2019-9-29 08:37
回复

使用道具 举报

 楼主| 发表于 2019-9-29 08:36 | 显示全部楼层
wyl219 发表于 2019-9-29 08:02
到顶点不比到边容易点

图中例子,光标点到小矩形的中点与4个顶点都比大矩形的近,但是到边,则大矩形的近

本帖子中包含更多资源

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

x
回复

使用道具 举报

发表于 2019-9-29 19:54 | 显示全部楼层
669423907 发表于 2019-9-29 08:36
图中例子,光标点到小矩形的中点与4个顶点都比大矩形的近,但是到边,则大矩形的近

那是我理解错了,我以为这种情况下应该选中小的那个方块.
如果是这样,直接用vlax-curve-getClosestPointTo函数就可以了.
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-3 02:47 , Processed in 0.293327 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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