Open picaosgeo opened 1 month ago
Hello, @picaosgeo
I have checked the file you provided and the data is confirmed to be IFC4. Unfortunately, mago 3DTiler does not yet support the IFC4 format.
We are converting the IFC data using the assimp porting library, but the assimp library only supports IFC2x3 yet. So if you need to convert IFC data, you will have to convert it to IFC2x3 first.
Additionally, we are trying to find a way to support IFC4 conversion. If you have any open-source library recommendations or thoughts on this, please comment.
Thank you.
Hello, @znkim znkim
Thank you for your quick response.
I understood that the IFC4 format is not yet supported. Until a supported version of IFC4 is available, for IFC I will use the IFC4->IFCConverter->glb->mago3d Tiler->3DTiles conversion. And I will try to find a library for IFC4.
By the way, the zip file in the attached URL also contains FBX files. For the FBX as well, I get the same error and cannot convert to 3dtiles.
The command parameters were as follows.
PS C:\work\3ddb\mago3dtiler> docker run --rm -v "${PWD}/workspace:/workspace" gaia3d/mago-3d-tiler --debug -it fbx -i /workspace/fbx -o /workspace/output -crs 6674 -l /workspace/fbx.log
Do you have any insight into the FBX conversion?
Hello @picaosgeo,
We recently managed to open the FBX file you provided. We have seen that it is a huge building with detailed terrain around it. Now we have started debugging to optimize the resources in order to convert this large FBX file. We believe that we will have results soon.
Thank you for testing the 'Mago3D Tiler'.
Hello @picaosgeo,
Finally, we have managed to convert the FBX file to 3dTiles. However, there are several issues. The most notable one is that the vertices have global positions instead of local positions. Having global positions implies a loss of precision.
Example of a vertex position from the FBX file:
x = -45616.9765625
y = -143439.984375
z = 37.82545471191406
Here, x, y, z directly contain the CRS 6674 coordinates.
It can be seen in the captured images that small objects such as chairs, hangers, or the wheels of the chairs do not maintain their geometry intact and are deformed. We recommend modeling in local coordinates and then adding a KML file to place it on the globe. Alternatively, you can model in local coordinates and place the model through the transformation matrix of the RootNode of the scene in GLTF files, for example.
On the other hand, the file you provided is very large and generates a GLB file of about 500MB, which is too much for data traffic from a server. We recommend splitting the 3D model into several smaller models. Additionally, most of the objects are merged into one large mesh, making it impossible to select the objects individually. In total, there are 37 meshes in the entire building. It has been observed that all objects using the same material are merged into one mesh, which is a good practice for rendering, but it prevents the 3DTile from containing information about individual objects. The Mago3DTiler merges all objects using the same material into one mesh without losing the identity of the objects by using a "BATCH_ID" identifier for each vertex.
Even so, the FBX file you provided can be converted on computers with a lot of memory. We are currently trying to get Mago3DTiler to split large files.
Thank you for all and see you soon.
Additionally, note that the same thing happens when opening the file with Blender.
Hello,
I tried to convert an ifc file using mago-3d-tiler, but the tiles were not outputting, so I used the debug option. However, when I run the program, I get the following exception error.
The error seems to be about aiScene, but the error did not occur in the glb file conversion. Ifc,fbx,shp will result in an exception error.
Test data can be downloaded from the following URL: https://drive.google.com/file/d/1IzBTdZlaJs7V3U8JVXjBpEBOdklOKgVy/view?usp=sharing