Small correction in STEPControl_ActorWrite::TransferCompound - take into account the case when a subshape has type TopAbs_FACE.
NonManifoldGroup->Append(aSubShell);
}
}
- else if (!isManifold && (aSubShape.ShapeType() == TopAbs_SHELL) ) {
+ else if (!isManifold &&
+ (aSubShape.ShapeType() == TopAbs_SHELL || aSubShape.ShapeType() == TopAbs_FACE))
+ {
RepItemSeq->Append(aSubShape);
NonManifoldGroup->Append(aSubShape);
}
--- /dev/null
+puts "====================================================================="
+puts "OCC31485: Export STEP in nonmanifold mode looses all faces except one"
+puts "====================================================================="
+puts ""
+
+brestore [locate_data_file bug31485.brep] a
+
+param write.step.nonmanifold 1
+
+testwritestep comp_nonmanifold.step a
+testreadstep comp_nonmanifold.step result
+
+checkshape result
+
+checknbshapes result -face 3