Revit API Forum
Welcome to Autodesk’s Revit API Forums. Share your knowledge, ask questions, and explore popular Revit API topics.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

[OFF TOPIC?} IFC Format & How Revit Uses It - Usage Guidelines?

4 REPLIES 4
SOLVED
Reply
Message 1 of 5
jason.teagle
820 Views, 4 Replies

[OFF TOPIC?} IFC Format & How Revit Uses It - Usage Guidelines?

I've been trying to understand enough of the IFC file format to be able to export the objects from our own software (AutoCAD custom solid objects) into a format that Revit and other IFC-aware apps can import. 

 

I'm having a problem with the exact positioning of the solids when using any axes for placement other than the normal Z axis. If I use the normal Z axis and a specific point in world space for the axis placement (thus, local placement), the solid comes out exactly as expected - starting at the specified point. If I change the angle of the axis to be 1, 0, 0 (the X axis, i.e., now horizontal) instead, although it comes out in the correct direction, it is offset from the specified point along the X axis. It is as if it took the specified point, reduced Z to 0, and applied a transform around *that* point to rotate the axes to that which I asked for. My understanding of the axis placement and local placement, however, is that it should start exactly where I specifiy in all cases (otherwise, why bother including a reference point in the local placement?). 

 

When I take the resulting solid and move it to where I want it in Revit, then export it to IFC again, I see that it has deliberately altered the specified point to achive that. So again, it seems to defy the definition of a local / axis placement. 

 

I'm not expecting anyone to solve this problem, but what I was hoping was that someone might know of somewhere I can view / download documentation on *how*to*use* the various IFCxxx items (i.e., what they are used for in plain English and examples of how to use them and the results expected). I can find plenty at buildingSMART and STEP-TOOLS that tells you what the *structure* of those IFCxxx entries represent, but nothing that explains how to use them, when to use them, or samples of any kind. 

 

For example - IFCCARTESIANTRANSFORMATIONOPERATOR3D - this can be used for shape mappings, but can it be used to transform an axis placement or local placement to the correct positon? I cannot find anything on whether it's possible or if so, how to build the parameters for it. 

 

Does anyone know of any tutorials, samples or explanations in plain English for the IFCxxx entities? 

 

Tags (1)
4 REPLIES 4
Message 2 of 5
GeomGym
in reply to: jason.teagle

Hi,

 

IFC is a pretty comprehensive and powerful open BIM database format.  It does take some effort to learn how to utilize it.  I'd recommend building equivalent models in Revit (or other IFC capable software) and inspecting the IFC generated in software such as IFCQuickBrowser.

 

Even if you're not using IFC4, I'd also advise using the support documentation that has been improved for it.  There are significant improvements but the basis of the classes remain unchanged so it can be very helpful.  It also has more sample models.

 

For example, extruded area solids.

http://www.buildingsmart-tech.org/ifc/IFC4/final/html/link/ifcextrudedareasolid.htm

The profile curve should be in the xy plane  and typically a z extrusion vector used.  The transformation for longitudinal orientation can then be applied, you shouldn't get any inconsistent behaviour.

 

For entities, again descriptions are improved.  Here's a wall:

http://www.buildingsmart-tech.org/ifc/IFC4/final/html/link/ifcwall.htm  

Also looking at the revit export options for typical mapping from category type to ifc type will help.

 

IfcCartesianTransformationOperator3d isn't so commonly used except for the IFC equivalent to an Autocad block or revit family instance, IfcMappedItem

http://www.buildingsmart-tech.org/ifc/IFC4/final/html/link/ifccartesiantransformationoperator3d.htm

 


If you are using extrusions, the ifc object (ie beam) has a local placement nomination inherited from IfcProduct.  Then the extrusion has a position.  These more typically use axis transformations that are a little easier to define.

 

If you want to post some sample models and questions, I can try to assist.  Hope the above helps a little.

 

 Cheers,

 

Jon

 

Message 3 of 5
jason.teagle
in reply to: GeomGym

Thank you for this. It is strange, even when Googling the various IFC entities and following links to places such as BuildingSmart's site, it never revealed quite the amount of documentation there is in the link you provided; in fact even substituting 2.3 for 4 in your link yielded an equal amount of info that we had previously not found! 

 

I certainly did begin by creating a single item in Revit and exporting, and picking apart the result. I learned a great deal from that, even if my understanding was a touch hazy. In the end, I discovered that my particular problem of unexplained offsets that triggered my post turned out to be some special feature of IFCCOLUMN; when I tried switching to IFCBEAM (which can still cope with being positioned dead upright), the problem went away. 

 

I was unaware of IFCQuickBrowser - I only found a dead link to what used to be something similar, but I have now found and downloaded that tool, so thank you. 

 

Now that I am not having problems with positioning my perceived need for the transformation entity has gone away. 

 

I do, however, have a question you may be able to answer more easily than I can find (so far) - I have worked out how to get a custom profile for the extrusion, but one problem we are still going to have is that our extruded solids need arbitrary cut angles on their end faces. I see mention of BREP within IFC and wonder - is there a way of specifying arbitrary cut faces or otherwise 'modelling' the end of the extrusion? For example, specifying points that do not all lie on the XY plane normally used for extrusion?

 

Consider a length of timber. If it had normal, rectangular cuts at the end it can simply be extruded as-is. But what if the end has been cut at a 45° angle? At the moment I appear to only be able to achieve this in Revit directly by adding an invisible component to 'cut' it. Does IFC provide a way to achieve similar but more easily, without having to add an extra component (in a way that Revit would be able to reproduce)? The final entity does not need to be possible to manipulated by the user; it only needs to be possible to model and schedule it. 

 

 

Message 4 of 5
GeomGym
in reply to: jason.teagle

Strange, if you google the ifc keywords it should present these webpages (sometimes older versions).  It does for me.

 

You can use breps if you're happy to strip the intelligence out of the item (ie changing the profile or cut plane down stream is near impossible). 

If I recall, coordination view (extent of IFC implementation of most BIM software) does include clipping shape representations using an IfcHalfSpacedSolid.

 

http://www.buildingsmart-tech.org/ifc/IFC4/final/html/link/ifcbooleanclippingresult.htm

This is what I use.  Search for body clipping geometry on this page

http://www.buildingsmart-tech.org/ifc/IFC4/final/html/link/ifcbeam.htm

 

If the images aren't loading (they don't appear from the website for me), download the entire html from building smart and open the local homepage.

 

Glad it helped,

 

Jon

 

 

Message 5 of 5
jason.teagle
in reply to: GeomGym

>Strange, if you google the ifc keywords it should present these webpages (sometimes older versions).  It does for me.

 

We just got the older versions with little more than the structure details. I searched for a fair few entities in this manner, so the laws of coincidence suggest I should have clicked the more detailed version at least once! Oh well, I have your link now so problem solved. 

 

 

>coordination view (extent of IFC implementation of most BIM software) does

>include clipping shape representations using an IfcHalfSpacedSolid.

 

Brilliant, I will study these and see what I can manage.

 

Thank you for all your help. 

 

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk DevCon in Munich May 28-29th


Rail Community