News Products IFC_Utility


Using the IFC Interface for AutoCAD Architectural Desktop 3.0 / 3.3 (ADT)


 General
 Wall Connections
 Structural Objects
 Massing Elements
 Conversion Utility


General

The IFC Interface for IFC 1.5.1 for ADT was originally developed for ADT 2.0. At that time, there were a number of objects missing in ADT 2.0, in particular structural elements like beams, columns, and slabs. These objects had to be created as “massing elements” and through an assignments, these elements were then written to an IFC file as the appropriate objects.

As Autodesk is currently developing the IFC interface for IFC 2.x, no effort has been taken to provide support for the additional objects in ADT 3. Basically, the code for ADT 2 was only recompiled and linked so that it runs on ADT 3. Therefore, the same limitations regarding the support of structural objects found in ADT 2 are still found in ADT 3. The interface for IFC 2.x will, of course, eliminate these limitations.

In the following, there are a number of useful hints when using the IFC import / export functionality for ADT 3.0

Wall Connections

ADT automatically computes and displays wall intersections when walls meet. This behaviour is controlled by the so called “cleanup radius”. This value can either be set globally or it can be overridden for a particular wall entity.

The thing that has to be observed is that the cleanup radius will not be written to the IFC file. Therefore, the following situation may occur: When an IFC export from a drawing with a setting of, for example, 100 mm is done and then the same file is imported to another drawing with another setting of the cleanup radius, the result may be that some wall intersections will be drawn incorrectly. Either walls that originally had been intersecting will no longer intersect, or walls will be drawn with an error symbol (a red circle with crosses) because the intersection cannot be calculated correctly.

This problem can be avoided by defining a special template drawing for IFC exchange, or making sure that the same template drawing is used for both IFC export and import.

Setting the values for the cleanup radius or turning automatic wall intersections off for one particular wall should be avoided, because this will not be written to the IFC file, the information will get lost and a subsequent import might display the wall intersection differently as it was in the original drawing.

I assume that this problem will be fixed for IFC 2.x by writing both the global setting for the cleanup radius as well as individual overrides to the IFC file using property sets. For the time being, the recommendations given above should be observed to avoid problems.

[ back to top! ]

ADT 3.3 Structural Objects / Curtain Walls and Roof Slabs

As mentioned above, the new structural objects as well as the new curtain wall and roof slab object of ADT 3 are not supported by the IFC export function.

The only solution to that is, to use massing elements instead of these objects and assign the appropriate type (with the “classification” function) before running the IFC export function.

Unfortunately, there is no easy way to convert any of these objects to massing elements. If the objects are exploded, they will become a collection of simple 3D objects (lines and faces).

We have developed a utility to convert the new objects into massing elements so that they can be used to create an IFC file. With this utility, it is possible to create an IFC file with ADT 3 using all the new object types mentioned above. However, this will only work one way, i.e. when an IFC file is imported containing a beam, for example, it will still create a massing element instead of a structural member of type beam, but the geometry of the imported beam will be correct.


[ back to top! ]

Use of Massing Elements

Every massing element in a drawing will be written out during IFC Export. If no assignment is made, it will by default be written out as IFCPROXY object using Brep geometry. As massing elements can be used for any other object type (and in fact had to be used for structural elements), by use of the “Classification” function, they can be assigned to be any other object type.

When massing elements are used instead of the built in structural objects, a few rules should be observed:

Elements with Cutouts

The IFC utility only allows to use massing elements, not mass groups. Therefore, it is not possible to use boolean operations to create, for example, a cutout in a floor. In order to create a floor with cutouts, it is necessary to create the floor as an extrusion from a profile. Profiles may have cutouts (in ADT terms: “subtraction rings”). So, in order to create a floor with cutouts, you need to create a profile that contains all the holes first, then create a massing element as an extrusion using the profile created. After you have created the slab as massing element, you SHOULD NOT assign the type “floor” to it, because floors with cutouts are currently not supported. Only if you do not assign a type (which is the same as when you assign the type “Proxy”), the correct geometry will be written to the IFC file, otherwise, you will get an error message.

The same will occur if you have a column or a beam with cutouts. The geometry will only be exported correctly if you do not assign it to be column or a beam. The problem with this approach is, that the receiving application will not be able to tell if the object received is a floor or a column, because it will be in the IFC file as IFCPROXY object.

The conversion routine mentioned above will be able to correct this problem as well, because it will not create the geometry of the massing elements as extrusion, but as Brep and if the geometry of a slab, for example, is defined as Brep, it will be written to the IFC file correctly (without explicitly specifying the hole as “opening”, however).


[ back to top! ]

IFC Conversion Utility for ADT

This conversion utility allows to convert any ADT object into a massing element. For certain types, e.g. the new structural elements of ADT and the new roofslab entity, these massing elements can automatically be “classified” with the appropriate IFC type (IFCBEAM, IFCCOLUMN, IFCFLOOR and IFCROOFSLAB).

The routine can also be used to convert mass groups into Brep massing elements, this way it is possibly to create any geometry using boolean operations and create a “simple” massing element out of the mass group.

The utility can either be used to manually convert a group of entities into massing elements, or be used in an automatic mode.

Manual Conversion of entities

The command is:

ConvObjects:

It will issue an object selection prompt for the entities to be converted. The new massing elements will have the same layer as the original object and no type assignment will be made, therefore all the massing elements created would be exported as “IFCPROXY” if an IFC Export command is invoked after conversion.

Converting all Entities

This procedure is called automatically before the IFC Export actually takes place, but it can also be invoked manually (without doing an IFC Export). It works in a way that it creates copies of the original objects on a special layer called “IfcMassingElements”. It is advisable to turn this layer off to avoid confusion because of duplicate objects. The command for the automatic conversion of all entities is:

ConvAll

No further input is required. First, all the entities on the layer “IfcMassingElements”will be erased to avoid duplicate objects, then all the entities of type “Slab”, “Structural Member”, “Roof Slab” and “Curtain Wall” will be processed. The application will create copies of the original massing elements and put them on the layer “IfcMassingElements”. It is assumed, that this layer is only used for this purpose.  Entities of type “Slab”, “Roof Slab” and “Structural Member” will be assigned to be the appropriate type, Curtain Walls will become “Proxy”, as there is no such object in IF

Automatic Conversion for IFC Export

[ back to top! ]

In order to make things simple, a reactor is invoked when the application is loaded that will make sure that the conversion will take place any time you start an IFC Export. So, you do not even have to think about the conversion or be careful that you do not forget to do it, it will automatically be invoked any time you use the command for IFC Export built into ADT 3. The only thing you will see is a message displayed on the command line that the conversion is started before the file dialog for the IFC Export is opened.

It is important to note that the original content of your drawing will not be modified in any way, the routine will only make copies on a special layer so that those objects that would otherwise be ignored during IFC Export will be written to the IFC file.

9. August 2001

Computer Anwendungen Muigg

P. Muigg