明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1922|回复: 3

图形选择的问题,请高手指点!

[复制链接]
发表于 2006-5-31 20:16:00 | 显示全部楼层 |阅读模式

我需要这样的一个函数:

输入变量是一个点,输出是一个选择集。

实际图形中有两个图层:0和1,0代表一个封闭图形的外轮廓,1代表一个图形的内轮廓。

如果给定的点位于一个封闭图形的内部,则在选择集中返回这个封闭图形,如果有内轮廓连内轮廓一起返回;否则返回一个空的选择集。

目前我做到了,但是效率太低,尤其是图形比较复杂的时候。

我的思路是这样的:

首先获取整个图形的限制框,过给定点向屏幕的至左边做一条直线:获取直线与图形的所有交点;

从最近的一个交点开始,根据交点使用SelectAtPoint选择一个图元,在遍历图形获取首尾相连的图元,得到的封闭图形加入一个临时选择集;过给定点分别向至右上下作直线,如果给定点在封闭图形内,则每一次至少有一个交点,由此判断出给定点是否在封闭图形内的。

我相信这个不是太难,但是我就是编不出高效的代码来!请高手指点!

谢谢!

发表于 2006-6-1 11:42:00 | 显示全部楼层
发送boundary命令到命令行不知道行不行,楼主你试试。。。。。。
 楼主| 发表于 2006-6-9 23:24:00 | 显示全部楼层

发送boundary命令到命令行只能得到一个新的面域,我想得到的只是原来那些孤立的圆、圆弧和直线等,似乎不行啊!

麻烦高手在给出出主意吧!

 楼主| 发表于 2006-6-11 09:06:00 | 显示全部楼层
麻烦各位,我再顶一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-27 02:38 , Processed in 0.172023 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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