曲面拉伸一个厚度不成功

代码如下:

//弧线拉伸成面
DVec3d dVecNormal;

DPoint3d origin, defaultNormal = DPoint3d::From(0, 0, 1);
dVecNormal = DVec3d::From(defaultNormal.x, defaultNormal.y, defaultNormal.z);
dVecNormal.ScaleToLength(4000);

EditElementHandle eeh1;
if (SUCCESS != SolidHandler::CreateProjectionElement(eeh1, NULL, eeh, origin, dVecNormal, NULL, true, *ACTIVEMODEL))
{
return;
}

//添加厚度
MSElementDescrP elp1 = eeh1.GetElementDescrP();
BODY_TAG target;

Transform bodyTransform;
mdlSolid_beginCurrTrans(ACTIVEMODEL);
mdlSolid_elementToBody(&target, &bodyTransform, elp1, ACTIVEMODEL);
mdlSolid_endCurrTrans();

double forwardDis = 0;
double backwardDis = 1000;
MSElementDescrP newElement = NULL;

if (SUCCESS != mdlSolid_thickenSheetBody(target, NULL, NULL, forwardDis, backwardDis))
{
return; //设置厚度失败,为什么设置不成功,总是走这个分支
}

mdlSolid_bodyToElement(&newElement, target, true, -1, -1, -1, NULL, ACTIVEMODEL);

EditElementHandle neweeh(newElement, true, true);
neweeh.AddToModel();

问题:

mdlSolid_thickenSheetBody执行失败,不清楚什么原因,我需要将弧面拉伸厚度为1000.

Parents Reply Children