iCAx开思工具箱

标题: 关于拓展类型:相切连续 [打印本页]

作者: xml35hyf    时间: 2013-10-28 15:15
标题: 关于拓展类型:相切连续
想请教各位大大,在CAITA的一些操作中,我们可以通过选择一条线,然后在拓展类型中选择相切连续。这样就可以选中与该线相切的所有线。我想自己写代码实现这个功能,但是目前在判断两条线是否相切卡壳了。
我目前想通过测量两条曲线的Angle。但是好像我对这个函数使用有问题,得到的角度很奇怪。下面贴出一段代码请大家指导下:       
        CATIMeasurable_var spotherObject = spspOtherEdge;
        CATIMeasurable_var spiObject = spspiEdge;
        if (spotherObject->Angle(spiObject,dAngle))
        {
                cout<<"角度"<<dAngle<<endl;
        }
得到的角度cout出来为2.32432e-308。与我用测量间距测出来的角度不相干。
后来我用CATIMeasurableInContext接口的Angle(),代码如下:        CATIMeasurableInContext_var spiMeasureEdge = spspiEdge;
CATIMeasurableInContext_var spotherMeasureEdge = spspOtherEdge;
CATMathAxis ioAxis;
spotherMeasureEdge->GetAxisSystem(ioAxis);
CATIMeasurable_var spotherObject = spspOtherEdge;
CATMeasModeOfCalc mesMode = CATMeasExactThenApproxMode;
spiMeasureEdge->SetComputationMode(mesMode);
if (spotherObject->Angle(spiObject,ioAxis,dAngle))
{
        cout<<"角度"<<dAngle<<endl;
}
得到的结果也和上面提到的差不多,不知道问题出在哪里,请大神们知道下,用别的方式能实现相切连续拓展功能的也麻烦告知下,不胜感激!
作者: xml35hyf    时间: 2013-10-31 15:53
首先声明下我用的是CATIA V5R18
interface CATIMeasurable接口有以下两个关于函数的介绍
(, 下载次数: 0)
LZ做了个简便的测试
CATIMeasurableInContext_var spmeasureAngle= spendWire;
        CATIMeasurable_var spmeasureAxis = spstartWire;
        CATMathAxis mathAxis = NULL;
        if(SUCCEEDED(spmeasureAxis->GetAxisSystem(mathAxis)))
        {
                CATMathPoint point4 = mathAxis.GetOrigin();
                cout<<"mathAxis="<<point4.GetX()<<point4.GetY()<<point4.GetZ()<<endl;
        }
        double ddeg;
        if (spmeasureAngle != NULL_var)
        {
                cout<<"spmeasureAngle != NULL_var"<<endl;
                if(SUCCEEDED(spmeasureAngle->Angle(spmeasureAxis,mathAxis,ddeg)))
                {
                        cout<<ddeg<<endl;
                }
        }
发现当spendWire和spstartWire是两个已经存在的特征,可以测出角度。所谓已经存在主要是与曲面上的拓扑线经过特征化得来的特征相区别。但是如果spendWire和spstartWire是拓扑线通过CATBRepDecode函数特征化得来的话,无法进行测量。不知道这是什么原因?如果我通过提取操作提出这两条线,也是可以测量角度,但这样就多出两个提取操作,虽然没添加到操作树上,但是增加了特征。





欢迎光临 iCAx开思工具箱 (https://t.icax.org/) Powered by Discuz! X3.3