diff --git a/src/STEPControl/STEPControl_ActorWrite.cxx b/src/STEPControl/STEPControl_ActorWrite.cxx index e67efaf4d8..8ee57c7efb 100644 --- a/src/STEPControl/STEPControl_ActorWrite.cxx +++ b/src/STEPControl/STEPControl_ActorWrite.cxx @@ -831,6 +831,10 @@ Handle(Transfer_Binder) STEPControl_ActorWrite::TransferShape (const Handle(Tran FP->AddFail(start,"The Shape is not a SOLID, nor a SHELL, nor a FACE"); return binder; } + else if (theShape.ShapeType() == TopAbs_COMPSOLID) { + FP->AddWarning(start, "COMPSOLID is not exported yet"); + return binder; + } else RepItemSeq->Append (theShape); // COMPUTING 3D TOLERANCE @@ -1424,6 +1428,8 @@ Handle(Transfer_Binder) STEPControl_ActorWrite::TransferSubShape (const Handle( FP->Bind (mapper,resbind); resprod=resbind; //KA - OCC7141(skl 10.11.2004) } + if (resprod.IsNull()) + return resprod; // A new resbind may have been produced // DeclareAndCast(Transfer_SimpleBinderOfTransient,restrans,resbind); diff --git a/tests/bugs/step/bug24990 b/tests/bugs/step/bug24990 new file mode 100755 index 0000000000..449c5837f9 --- /dev/null +++ b/tests/bugs/step/bug24990 @@ -0,0 +1,11 @@ +puts "============" +puts "OCC24990" +puts "============" +puts "" +####################################################################### +# StepWrite fails on the attached shape +####################################################################### + +restore [locate_data_file bug24990_StepWrite_Exception.brep] a + +stepwrite m a