I have a question:
1.- I define a model which has some elements with texture, and later I export the IFC file.
2.- And now I go to a software in order to read this IFC file, I can not see the texture.
**I don´t know if the problem is from the syntax (IFC file) or from the sofware which read the IFC file. ** Do you know any software which are able to read IFC file with texture? Do you know any idea? Thanks
Your IFC authoring program is actually able to export the texture in valid IFC format
Your IFC viewing program is actually able to import the texture in valid IFC format
Can you please provide details of which programs these are, as well as if you have actually checked inside the .ifc file itself for the necessary keywords related to texture and material / surface definitions?
IFC is not yet mature in terms of implementations and so I would not be surprised if you are using an implementation that doesn’t fully support IFC.
I should clarify here what you are looking for if you do intend to open up the .ifc file.
Assuming you mean an image texture, you are looking for is IfcSurfaceStyleWithTextures, which would then assign an IfcImageTexture with a URI to your image file. Assuming those are there, then it is a relatively safe assumption that somewhere in the IFC file, your texture is captured. You then need to verify that the texture is assigned as a style representation for your IfcMaterial which is associated with your BIM element / shape. This differs between IFC2X3 and IFC4, and so you will need to check the specification to know exactly what the process is. For instance, I am aware that in Revit exporting an IFC4, it incorrectly assigns presentation styles using deprecated methods, which may explain why things don’t work (specifically, Revit incorrectly uses IfcPresentationStyleAssignment on export).
If you share your file here (by exporting a portion of your model, if you are concerned about intellectual property), we can help more.
IFC-with-texture.ifc (3.5 MB)
Thank you very much for the quick response. Here you have an example of the format with which we have the problem of textures. I hope you can help us.
Thank you
P.D: The software we work with is called Istram BIM and it is a software of Linear Work for the development of projects of roads, railways and pipelines fundamentally.
Unfortunately, your authoring program is not saving the texture in the IFC file to begin with - this is why you don’t see the texture.
I also noticed that everything in your IFC file is an IfcBuildingElementProxy and it doesn’t contain data such as psets, or qto. Has the file been stripped down? Maybe the texture data was stripped with it.
To date, There has not been an emphasis on implementing the texture features of IFC. Most effort has gone into coordination support (including quantity takeoff and spatial validation workflows) with less complex color support.
If this is a high-priority need, then the end user community should develop some consensus around the workflows and exchange needs so the technical community can help the implementer with support. My understanding is that further schema enhancements may be necessary to support textures robustly. Thus, this may be suited for the next major version of IFC and not IFC4.x
Isn’t it also true that setting texture coordinates (UV-coords) is only supported for a few geometry classes, mostly tessellated BREP geometry? All other geometry types have no explicit texture mapping and thus require an interpretation based on the geometric operation which they imply.
I have tried to get at least something usable by using box-projection (after importing geometry from IFC) so materials with textures show a mapped texture. The texture map itself and the box-mapping is done afterwards and thus not translated via IFC.
Problem is that even the Buildingsmart IFC examples are not even valid:
IFCBLOBTEXTURE blob is unreadable in tessellation-with-blob-texture.ifc as it doesn’t contain valid PNG texture
The RasterCode element in XML example(ifcblobtexture.htm) has correct value for texture.
Also tessellation-with-image-texture.ifc is missing companion file “texture.png”
The only viewer I know which supports IFC with textures is Gygax viewer but was not able to find compiled version which would run on Windows 7/10
The missing texture file and the error in the blob texture is already noted and should be updated with the next technical corrigendum of the IFC specification.
@andreas.geiger - you also had some findings here, could you please share?
Hi Thomas,
No. I have no more issues to the blob texture. It is working in FZKViewer. My problem was a that I had mixed up the definitions between Part 21 and Part 11.
As a related issue to texture support, BlenderBIM has now implemented improved support for externally defined materials. You can link in a “material passport”, which defines shaders for multiple rendering engines. This allows you to link in not just textures, but highly complex material shaders for multiple uses, such as traditional visualisation, real time game engine views, and light simulation. Please note that this is purely a link to external shader standards, not the built-in IFC texture support, but it is highly useful nonetheless and therefore may be relevant to this discussion.
Hello,
this is a slightly modified example working with the latest version of the FZKViewer.
Regards Andreas tessellation-with-blob-texture_ag.ifc (23.0 KB)
I have checked with version 5.3 (Build 1004) and in general it is working.
What exactly is not working (image texture, blob texture)? Is texture mode activated?
In the folder you have mentioned “0_IFCSPF” the texture file is missing.
Ok, seems it is issues with graphics on the computer as the same build 1004 works correctly on other machine. Texture file is missing but it can be extracted from blob texture example only need to drop the leading zero in blob data not sure the purpose of that.
BlobTexture seems to be more flexible as no need to keep textures as file and package together so easier to use in common data environment. But ifczip could be also used instead.