图形选择的问题,请高手指点!
我需要这样的一个函数:输入变量是一个点,输出是一个选择集。
实际图形中有两个图层:0和1,0代表一个封闭图形的外轮廓,1代表一个图形的内轮廓。
如果给定的点位于一个封闭图形的内部,则在选择集中返回这个封闭图形,如果有内轮廓连内轮廓一起返回;否则返回一个空的选择集。
目前我做到了,但是效率太低,尤其是图形比较复杂的时候。
我的思路是这样的:
首先获取整个图形的限制框,过给定点向屏幕的至左边做一条直线:获取直线与图形的所有交点;
从最近的一个交点开始,根据交点使用SelectAtPoint选择一个图元,在遍历图形获取首尾相连的图元,得到的封闭图形加入一个临时选择集;过给定点分别向至右上下作直线,如果给定点在封闭图形内,则每一次至少有一个交点,由此判断出给定点是否在封闭图形内的。
我相信这个不是太难,但是我就是编不出高效的代码来!请高手指点!
谢谢!
发送boundary命令到命令行不知道行不行,楼主你试试。。。。。。 发送boundary命令到命令行只能得到一个新的面域,我想得到的只是原来那些孤立的圆、圆弧和直线等,似乎不行啊!
麻烦高手在给出出主意吧!
麻烦各位,我再顶一下
页:
[1]