iCAx开思网
标题:
在CAA中如何将获得的直线的长度进行精度保留操作?
[打印本页]
作者:
歆韵
时间:
2009-11-20 09:58
标题:
在CAA中如何将获得的直线的长度进行精度保留操作?
问题描述:
我创建一条直线,在程序中通过得到该直线的长度,并对其数值进行精度保留操作,在CATIA中是使用round。
我可以实现得到直线长度,但round进行操作,编译通过,运行时出现错误,提示指针为空。
程序代码如下:直线类型为CATISpecObject_var Line
CATICkeParm_var spLength=spCkeParmFactory->CreareObjectReference(Line);
CATICkeFunctionFactory_var spFunctionFactory=CATCkeGlobalFunctions::GetFunctionFactory();
CATCkeListOf(Parm) ParmList;
spFunctionFactory->AddToParmeterSet(spLength);
ParmList->Append(spLength);
CATICkeParm_var Length_Line=spCkeParmFactory->CreateLength("Length",0.0);
CATUnicodeString iBody("length(a1)");
CATICkeRelation_var CkeLength_Line=
spCkeParmFactory->CreateFotmular("Length of Line",
" ",
" ",
Length_Line,
&ParmList,
iBody,
NULL_var,
CATCke::False);
spFunctionFactory->AddToCurrentRelation(CkeLength_Line);
CATISpecObject_var RelationLength_Line = CkeLength_Line;
RelationLength_Line->Update();
到这求出直线的长度,现在我需要对直线长度进行精度设置,只有整数部分,小数点后四舍五入
我对上面CATUnicodeString iBody("length(a1)")进行修改,改为
CATUnicodeString iBody("round(length(a1),mm,0)"),程序运行时提示指针为空。
请问要如何修改才能得到需要的数值?
请求高手帮忙!
作者:
歆韵
时间:
2009-12-3 19:15
自己编写了一个四舍五入的代码,把这问题解决了
欢迎光临 iCAx开思网 (https://www.icax.org/)
Powered by Discuz! X3.3