Non-standard STEP behaviors?

Hi, all!
During my work with OCCT I meet time-to-time STEP files with non-standard entries. So, basically the STEP creating software disregards all known STEP standards (AP203, AP209, AP214) and writes the entries with improper parameters/children.
Normally in such cases this behavior should be registered by the corresponding software support, since it's clear, that such behavior is a bug.
But in my case in order to provide our customers full support I'm made to fix this behavior at the import stage, rather than asking customers to register a bug in the original CAD software.
And so, I have already several OCCT patches for STEP module in order to provide these non-standard behaviors. For example:
1. Allow ManifoldSolidBrep command to accept open shell as a child.
2. Patch for STEP interpreter to accept the geometric sets with non-geometric objects
3. Allow NextAssemblyUsageOccurance to accept ProductDefinitionShape instead of ProductDefinition
And some other...
My question: is OCCT team interested in these patches? And should I create the appropriate tickets and commit the patches to git?
Thanks in advance!
Regards,
Dima

Andrey BETENEV's picture

Hello Dima,

Yes, we are very interested in your patches.

We recognize that the files written by CAD systems are not always completely compliant to standards, and try to make OCCT tolerant to deviations.
Naturally, this works only if it does not break interpretation of valid data (which is not the case I suppose).

Thus I encourage you to push your patches to Git (with corresponding Mantis issues).
And as usual I ask you to provide detailed information on what cases are handled, and samples for tests if possible.
Thank you in advance!

Andrey

Dzmitry Razmyslovich's picture

Hello, Andrey,

I found out, that one of the issues is already a part of current master, but not completely. Unfortunately I have no access to ticket 24135 in order to write the information directly there.

Shortly: The fix is correctly applied for functions ReadStep and Share of RWStepAP214_RWAppliedGroupAssignment class, but the function WriteStep is forgotten...

Can anybody fix the issue in the context of 24135 ticket?

Thanks!

Dima

Andrey BETENEV's picture

Hello Dima,

The issue #24135 (sorry it contains customer data hence not publicly visible) was actually related to different problem: failure to read bspline with degree 3 because of multiplicity set in file was 7 (while maximum 4 may be used). The fix in RWStepAP214_RWAppliedGroupAssignment was complimentary to the main fix, and you are perfectly right it was incomplete. Nevertheless I suggest you to register a separate issue for that, with description of your actions and sample data. This would facilitate further treatment of an issue. Alternatively, we can register an issue and make a fix on our side (basing on the sample data from #24135), but this will likely take longer.

Andrey