[CRITICAL REQUEST] STEP export closed surfaces/polysurfaces

We have a situation where a closed object is imported in CATIA from Rhino through step.

The issue is that all currently available APs export closed polysurfaces as MANIFOLD_SOLID_BREP.

This is the answer from DS Support.

It is critical that we get an option to export closed solid polysurfaces as CLOSED_SHELL.


I am currently testing if it is possible to just replace the string with text editor as a workaround, but I think makes sense to have at least one option there in the exporter.

Nope, string replacement is not working.

I don’t understand what distinguishes a “closed_shell” from a “manifold_solid_brep”. In Rhino you have closed single surfaces (like a sphere) and closed polysurfaces (like a box). Both are considered closed breps (a single surface is also a brep). From the message from DS support above, it sounds more like what is needed is that single closed surfaces like spheres need to be exported as closed_shell and not manifold_solid_brep…

Rhino is not a solid modeller. It does not destinguish one from the other, but other software do. There has to be more options in the step exporter just like when you export to dxf you have options what objects in Rhino should be treated like what objects in the DXF.

Same should happen with STEP exporter. Currently the only option is to choose between the three APs. But you cannot configure the exporter to treat the closed polysurface as a CLOSED_SHELL instead of a solid.

Yes, but that doesn’t answer my question - what is the actual difference between a “closed_shell” and a “manifold_solid_brep”? How does it import differently into other programs?

Rhino does export as CLOSED_SHELL entities. A MANIFOLD_SOLID_BREP is an entity that contains a list of shells. If your 3dm data conains any solids, each should show up as a CLOSED_SHELL entities in a MANIFOLD_DOLID_BREP’s shell list.

Open this file, written by saving a box from Rhino, in a text editor. Entity #14 is a MANIFOLD_SOLID_BREP. Its list of shells just has #14, which is a CLOSED_SHELL.box.stp (9.5 KB)

Solid, when intersected by a plane in solid modeller software, the result is a surface.

Closed_Shell, when intersected by a plane in surface modeler software, the result is the closed curve (as you see it in Rhino).

Solids, when exploded - > nothing happens
Closed_Shell, when exploded → they are broken down to surfaces.

This is a SOLID in CATIA

It should not be Manifold_solid_brep, just closed shell

I don’t see this as a Rhino issue. It is standard practice to represent a solid as a closed_shell which is referenced by a manifold_solid_brep. If you have a STEP file containing a solid, and it reads into Catia the way you want, please send it to me. Maybe I can figure out the difference and give an option to do it that way.

1 Like

:stuck_out_tongue_winking_eye: I’ll request that from Dassault Systemes, even though I think such inter-software-company communication regarding supporting different standards should happen without the customer taking part.

I’m sorry. I assumed you have seen the behavior that you are asking for and would have a file that exhibits it. The response you posted from Catia does not indicate to me that there is a problem with the Rhino STEP file.

Well my files I import in catia come from Rhino. DS support / R&D say they represent CLOSED_SHELL as closed volume surface in catia and Manifold_solid as SOLID in catia.

Who do I believe? I have opened requests both here and on DS side.

The truth will come out eventually.


These are the preferences regarding STEP import/export in CATIAv6

supported APs

A CLOSED_SHELL doesn’t exist on its own. It is usually referred to by a MANIFOLD_SOLID_BREP. It seems to me that the issue is that you don’t like the level from which Catia displays the entity type.

1 Like

Not me, and it is not about liking it. Volumes (closed surfaces) are used in Catia as filters, whilst solids cannot be used. Catia is bad at boolean unions so they are done in Rhino. And the import results in solids.

I have to use weird hacks to make them Volumes again, which could not even be necessary if it resulted in Volumes in a first place.

Hi @chuck,

I caught DS R&D in bullshittery.
First they stated they can import closed polysurface objects as closed volume objects in CATIA. Then when I asked for a exmple file, they stated “STEP does not differentiate between closed volume and solid”.

Please accept my appology, although I was deceived by DS crap of an R&D team.

Best Regards,


No problem. The STEP format can be pretty complicated and confusing for everyone involved. Thanks for the update.

1 Like

According to STEP diagram, here is the relationship of closed_shell and manifold_solid_brep



I know I’m late to the party here. But manifold solid breps are not the only objects which can reference a closed shell, and if they are really trying to export a polysurface – ie a closed shell made of up planar polygons – then “faceted brep” is probably the containing type they actually should be using.