Closed JanoSlivka closed 3 years ago
24 hours is probably a set cutoff time, is the CPU actually busy all the time? You can send the file to ruben@logic-labs.nl if you like.
4 processes of IfcOpenShell were running minimal after 12 hours. And I send ifc file.
Just did an initial test with this file. I can reproduce this on Windows with BIMserver Master Head.
I changed a setting so that each object is send through IfcOpenShell on it's own. This resulted in 6 IfcOpenShell processes that seemed to be stuck in an endless loop [1]. When I kill those processes, BIMserver continues and I am able to visualize the rest of the model in BIMvie.ws/BIMsurfer[2].
Attached is one of those subfiles [3].
So I am pretty sure this is a problem in IfcOpenShell (@aothms) or maybe the way BIMserver generates these subfiles.
[1]
[2] Screenshot omitted, not sure if it can be shared
Thanks for more information.
I don't know if it's related, but I turned off Apply Layer Sets setting for IfcOpenShell then the rendering time is one minute.
This failing sample contains actually 3 walls which are connected by 2 IfcRelConnectsPathElements
entities. When trying to check this in and after killing 2 stuck IfcOpenShell processes, there is 1 wall with generated geometry and 2 without. The debug files of those 2 walls, where IfcOpenShell got stuck and geometry generation failed, contain 3 and 2 connected walls respectively. I assume that the successful geometry generation process contained only 1 single wall without connection to other walls and conclude there might indeed be something wrong with how the input is generated in BIMserver. I don't know if there is a reason why geometry generation is triggered in this way instead of once for all transitively connected walls or separately for every single wall despite the connection.
After deletion of the IfcRelConnectsPathElement
entities, geometry generation (and checkin) works just fine. It may also be the case that the particular geometrical configuration of layers and connections poses a problem to IfcOpenShell, at least in the version currently used with BIMserver.
There are also some zero-width layers in the sample, which doesn't conform to the standard, but this does not seem to be a problem for IfcOpenShell.
@aothms, does IfcOpenShell process the path connections with respect to the material layers? Is there a contract between BIMserver and IfcOpenShell for the way in which such entities should be handed over? Can you try how IfcOpenShell digests this particular sample?
It seems at least the IfcOpenShell issue is solved in later builds. I will replace the version used in IfcOpenShellEnginePlugin with the latest build (7ae685d from 30/12/2020) if there are no known issues with this version.
This issue will be resolved with the next plugin version for IfcOpenShell: https://github.com/opensourceBIM/IfcOpenShell-BIMserver-plugin/commit/732da2348c6eaeda446f4d058ad5c94d4a2ce0e5. As an immediate workaround, the engine version can be changed in a running BIMserver instance through the IfcOpenShell plugin's settings. The setting Commit Sha would have to be changed to "3bbdc3f".
Hello,
render time of specific ifc is 24 hours.
Generation report: generationreport.zip
Debug files from bim server: IfcWall-206.zip IfcWallStandardCase-252.zip
I can send the ifc by email.
Thanks for help