谢谢你,亚历山大
是的,我按照您的建议做了,但仍然不走运,返回了这个错误=eGeneralModelingFailure:
这是代码的一部分,我在其中进行了修改。为了运行测试,我的代码中有一个switch语句。
- if (pPoly->isKindOf(AcDb2dPolyline::desc()))
- {
- AcDb2dPolyline *tmp2dPoly = AcDb2dPolyline::cast((AcRxObject*)pPoly.object());
- switch (tmp2dPoly->polyType()) {
- case AcDb::k2dCubicSplinePoly:
- acutPrintf(_T("\nPolylineType = k2dCubicSplinePoly"));
- AcDbSpline* spline;
- pPoly->getSpline(spline);
- es = spline->getSplitCurves(pts,curveSegments);
- if (es == Acad::eOk)
- {
- AcDbObjectId curSpaceId = acdbCurDwg()->currentSpaceId();
- for (int i=0; i (curveSegments[i]);
- if (tmpCurve) {
- AcDbBlockTableRecord *pBlkRec = NULL;
- if (acdbOpenObject(pBlkRec,curSpaceId,AcDb::kForWrite) == Acad::eOk)
- {
- pBlkRec->appendAcDbEntity(tmpCurve);
- pBlkRec->close();
- tmpCurve->close();
- }
- }
- }
- curveSegments.setLogicalLength(0);
- } else {
- acutPrintf("\nERROR=%s", acadErrorStatusText(es));
- for (int i = 0; i (curveSegments[i]);
- delete tmpCurve;
- }
- curveSegments.setLogicalLength(0);
- }
- break;
|