查看单个帖子
旧 2007-06-06, 10:39 AM   #1
yogy
高级会员
 
注册日期: 06-11
帖子: 1527
精华: 15
现金: 6353 标准币
资产: 6353 标准币
yogy 向着好的方向发展
默认 【转帖】问一个关于occ中添加过滤器的问题

问一个关于OCC中添加过滤器的问题

在OCC中导入CAD模型之后,我用的是iges格式的文件,在进行测量时,就是要选择测量要素时,如测圆,我可以先加入元素过滤器,在动态选择时只进行圆或圆弧的选择,下面是我的代码:
myAISContext->CloseAllContexts();
myAISContext->OpenLocalContext();
myAISContext->ActivateStandardMode(TopAbs_EDGE);
Handle(StdSelect_EdgeFilter) EdgeFilter = new StdSelect_EdgeFilter(StdSelect_Circle);
myAISContext->AddFilter(EdgeFilter);

但是对导入的CAD模型不起作用,但在下面选择曲线的代码中,因为我将其设置成任意曲线,所以任意曲线都有反映了:
myAISContext->CloseAllContexts();
myAISContext->OpenLocalContext();
myAISContext->ActivateStandardMode(TopAbs_EDGE);
Handle(StdSelect_EdgeFilter) EdgeFilter = new StdSelect_EdgeFilter(StdSelect_AnyEdge);
myAISContext->AddFilter(EdgeFilter);

这个是为什么呢?有什么法子可以解决?
另外,在选择圆时,总是半圆半圆的选择,我知道这个在iges格式中就是这么定义的,如果我想在一个选择时就选择一个整圆,有什么好的方法可以提供?

期待牛人的解答!!
yogy离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)