IFC import to / export from SketchUp Pro

Continuing the discussion from IFC import to SketchUp:


I think IFC import and export deserves it’s own Help Center page(s) listing file types, specification versions, limitations, drawbacks, etc.


NOTE:

This category is for SketchUp Help Center issues. THIS topic thread is a discussion and request for a SketchUp Help Center article on SketchUp’s native IFC import and export features / implementation / strengths / limitations / workarounds, etc.

If anyone has direct firsthand knowledge and experience and would like to promote ideas, tips and tricks for a SketchUp Help Center article, please post your suggestions in THIS topic thread.


Otherwise, click here to expand advice on where to post questions, etc., ...
  1. If you wish to discuss or ask questions about using or writing 3rd party import and/or export APIs, please post your question in the Developers > Ruby API category, or the Developers > SketchUp SDK category (whichever applies best.)

  2. If you have questions concerning the end user manual interaction or performance with published 3rd party import or export extensions, please post your question(s) to the Extensions category (with the name of the extension as a prefix to the topic title in brackets.)
    Example: "[Fast OBJ Exporter] Entity id not exported from SU2018"

  3. If you are concerned with the (built-in) native SketchUp Pro IFC importer or exporter …

    a. … and are questions about current general use, features and performance, then please post to the main discussion SketchUp Pro category.

    b. … are about bugs, lack of features, improper files or data after import or export, then please post your questions or reports to the Technical Problems > SketchUp sub-category.


REF:

@jody

You can export the objects into other formats or programs. When you export SketchUp objects, they can contain all kinds of higher-order representations of things. For example, if your project workflows use BIM, you can export objects classified using the IFC 2x3 schema from SketchUp into the open BIM data exchange standard, IFC. (IFC stands for Industry Foundation Classes, an open data model standard for building information.) Rendering applications can use these attributes, such as material type and light sources, to simulate a scene. SketchUp’s APIs expose all the additional data that developers need to make rich importers and exporters from just about any information modeling format.

5 Likes

Yup, in a time where the industry is moving towards BIM integration, much more info on IFC would be useful.

2 Likes

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.

What are the lessons you’ve learned about dealing with IFC in SketchUp that would benefit others in a IFC Help article ?

Pitfalls ? etc. ?

1 Like

@nnijmeijer ?

I haven’t used it extensively, but here are some things I have noticed:

  • materials do not appear to be exported
  • the major thing is about the structure of an IFC model. Certain kinds of classifications can only be nested in their “parent” classifications. That is to say that if you have a group with the classification “ifc_building” that is nested within say a group with “ifc_wall”, the export is broken (I can’t recall how it is broken).

In any case, how differently classified groups and components are nested is a topic that deserves some time.

2 Likes

We must tell people that it is possible to work with SketchUp Pro and the OpenBIM working methodology.
Many people do not yet believe that you can apply SketchUp Pro with BIM.
These people now use other “popular” CAD software for this.

In the 2018 version of SketchUp is the IFC export function “improved”, but it needs more improvement for a better workflow. SketchUp must follow the buildingSMART IFC standard! SketchUp 2018 exports much more data from dynamic components to IFC then the 2017 version. But the data in IFC is not always organized and not all the data is correctly exported.

I have created a SketchUp Pro BIM workflow that improves continuously, and I noticed amongst others that:

  • Every object in the SketchUp model must be a component that is classified with the BIM classifier function.

  • The outliner structure is the structure of your BIM model and will be exported to IFC if the structure is
    correctly classified and if the IFC parameters are filled with information.

  • Fill the IFC parameters in the Component Options.
    But not all the IFC parameters will be correctly exported according to the buildingSMART standard.

  • You must model inside out to create a BIM model efficiently.
    Each “chapter” of the model tree is a Dynamic Component.
    Model all the objects (classify them all!) --> create IfcBuildingStorey --> create IfcBuilding --> create IfcSite --> create IfcProject.

  • Allocate BIM objects with a material description.
    But the material of a object doesn’t export to IfcMaterial.

  • In the Netherlands we use a four-digit NL-SfB element code. If I add this classification system to a BIM object, it will not correctly export to IFC. It is in the 2018 version a custom property set.

  • The data from the dynamic components will be exported as a property set called “dynamic_attributes”. This is way to much unnecessary information in this export. Only the user generated data must be exported in this property set. It will be more efficient to export data to the original IFC parameters (buildingSMART) if they exist. The “custom” parameters can be exported as a custom” property set

  • The Layers in SketchUp Pro will not export to IfcPresentationLayerAssignment.

  • Application name must be SketchUp Pro 2018. It is still say’s SketchUp Pro 2015.

  • The point of orgin of the BIM model from SketchUp is located at 0, 0, 0, where the X, Y, Z axis crosses.
    Make arangements about the point of orgin with the involved partys before you start modelling.

  • Be careful with large IFC file sizes as underlay. Larger file size results in slower speed and performance.

12 Likes

Alright thank you.

1 Like

Hello
I have loaded the last IFC classes (IFC4_ADD2.xsd) from the building smart web site.
http://www.buildingsmart-tech.org/
I used it only to send a IFC file to a thermal engineer I am working with.

IfcBuildingStorey/ IfcBuilding / IfcSite / IfcProject are generated automatically by Sketchup Export.

I only used components
At first I used only plane surfaces (walls and windows)
each walls of each room has a IFCWall tag
each windows has a IFCWindow tag
The component grouping walls AND windows has a IFC WallStandardCase tag
I created a volume with IFCspace tag for each room
Converted to IFC
Only one of the rooms was correctly opened by the thermal engineer !

I made an other try with 3d walls and windows
All was tagged with the IFCBuildingElementProxy !!!
NOT WORKING !

Cant find any manual or video tutorial not using a plug in but native sketchup IFC Classifier
Would really appreciate some help from the support but got none…
Any one can help ?
Regards

As said in this thread, the native export is just plain broken…

1 Like

I’ve been using SketchUp Pro 2018 with large IFC model exports from Revit, circa 600Mb. Files take about 30 mins to import, compared with 2 mins using Tekla BIMsight. That’s a limitation, though I’m uncertain whether the file needs to be this bloated – perhaps a limitation in Revit? Comparing IFC import from archiCAD into SketchUp and Revit, SketchUp imports most items correctly, whereas in Revit items are missing during import making it impossible to use Revit and Archicad together using IFC. On a broad brush I would say that SketchUp is the more useful “partner” for use with IFC.

2 Likes

The import of an IFC-file can bloat the Component-collection in SketchUp hugely.
All identical ‘parts’ are identified as ‘Unique’ components (Definitions), whereas the SketchUp-way is more efficiënt:
(multiple instances of one definition)

The components library in the project is indeed enormously large when an IFC model is loaded. This is because SketchUp converts the IFC model into a SketchUp model.

It might be a good addition to SketchUp by not importing and converting IFC models but by linking them. The user can view the imported IFC models but they do not become components that can be edited directly. This allows the user to model and export their own “part” efficiently in the BIM model. In addition, this will offer benefits for speed and workability in SketchUp.

5 Likes

@nnijmeijer

Thanks for all the info on your posts. IFC export is a matter that interests us very much right now and it seems everything is new and not working straightforwardly as we were expecting.

I hope I can ask some questions following your posts.

I’ve tried exporting a model to IFC and can’t understand the logic I have to have in outliner to make my project organization compatible to IFC. Geometry gets exported, but textures do not and the structure of the model gets really strange with auto added project, site, building and storey, but the classified geometry is not correctly allocated to any of this.

Can you share deeper knowledge on the process?

So we cannot work with groups at all? Or will groups simply be ignored?

Can you point us to any kind of resource that has the main classifications used in Architecture for IFC? I get lost everytime I open the classifier list…

Is this something Trimble could/should fix?

Can you clarify what does inside out mean exactly?

What does this mean then? We should paint the component, even if it doesn’t export textures to IFC? Sketchup should export the textures or is it IFC that doesn’t support them? And if we paint a component instead the faces, UV mapping will get funky. Isn’t that relevant to IFC?

This happens only with DCs? What if we use regular components only?

I suppose you’re stating this as a call to action for Trimble, right?

Thanks for the heads up!

What if the user wants to edit the BIM model in Sketchup. That should be possible. Would it be a viable for trimble to develop the IFC importer that seamless converts IFC geometry to SKP, or is SKP file structure impossible to make compatible/translatable with/to IFC. If that would be possible would it also be possible for Trimble to create an exporter that does the opposite?

Not having a seamless bridge between IFC and Sketchup would be a real shame, even if we don’t have proper IFC authoring tools in Sketchup, maybe the community could build those if the IFC import/export wouldn’t be broken.

Thanks for all the info and sorry for my point to point questions, but this really interests us at the moment.

Thanks @JQL for your interest! You can always ask some questions.
Here are the answers to your questions

SketchUp BIM Workflow

It is surprising how complex companies control their processes. The importance of a 3D (BIM-) model in the process is very underestimated. And unfortunately most companies still get far too little out of it or even do nothing with it at all.

I fully focus on how you can get more out of the 3D (BIM-) model with SketchUp. This prevents waste and allows you to use information from a 3D model in the process in a smarter way.

I see SketchUp as a central platform with which we generate and visualize information. The 3D (BIM-) model in SketchUp is always dynamic. This contains important information and offers you much more insight. What you see is what you get. The “art” is to put the 3D (BIM-) model at the center of the process. You then use the information from this 3D model to control the process.

Not all information will be available in a 3D model. Certain information is consciously generated and stored in another system. This doesn’t have to be a problem at all. SketchUp can be connected to other systems. This is possible thanks to the extensive application programming interface (API) available to developers.

IFC Import (2x3)

The native IFC import function converts the IFC model to unique SketchUp components. The SketchUp model quickly becomes very heavy because everything is unique. It is possible to edit the imported components. But triangulation occurs during import. You need a script or extension to quickly undo the triangulation. The object information can be read in the component options.

During the native IFC import, SketchUp reads the material properties, but at a classified object level. Unfortunately, the material names are replaced by SketchUp in the form of < auto1 >, < auto2 > etc. Basically, sub / child objects that are not classified inherit a color from their parent object.

Tip: Be careful with IFC models with a large file size.

IFC Export (2x3)

At the moment the native IFC export function does not comply with the BuildingSMART IFC guideline. It is chaos in the IFC model to find the correct data. Use the IFC Manager extension for the IFC export. This extension can be downloaded from Github.

https://github.com/BIM-Tools/SketchUp-IFC-Manager/releases

Personally, I hope that Trimble SketchUp will really improve IFC import and export soon. In addition, the support of IFC 4. IFC is an extremely important file format if you want to work uniformly and transparently with others.

IFC Structure

If you use the correct outliner structure and classify all components correctly, no “default” information would be added during the IFC export. It’s important to use de following structure:

Textures / Materials in IFC

IFC supports the use of textures according to its documentation. However, most software programs that generate an IFC file do not use this option. IFC is mainly used for design coordination without the requirements for “realistic” visualization. At the moment, only the generic material color (RGB) is exported if the SketchUp component contains a material.

The material name of the component will be assigned to the IfcMaterial parameter (with the IFC Manager extension). In this way you know what material the object is made of.

You can always adjust the UV Mapping of the materials on the faces. Only then you have to set this separately per face, so that your render looks realistic.

Preference for components

In SketchUp you can assign a classification to both groups and components. So you can use both groups and components in your (BIM) model.

But my personal preference is for the use of components (#TEAMCOMPONENTS :smile:). Because here we can easily assign more information to it, reuse it and automate it more easily. In addition, it benefits the speed of SketchUp.

Zero point of the BIM model

It is important to know where the zero point of the IFC model is. Each party involved uses the same agreements, also with regard to the zero point. The point of orgin of the BIM model from SketchUp is located at 0, 0, 0, where the X, Y, Z axis crosses.

Tip: use a physical object as point of origin, positioned at 0, 0, 0, , and also export this to IFC as a IfcBuildingElementProxy.

Model inside out

In SketchUp I use my BIM template. Basically it already contains the correct IFC structure. Then I model inside out. What I mean by this is:

I first model various parts of a structure with components that are classified. For example, if I have a part ready, I then assign it to the correct buildingstorey, etc… This way you can first focus on the design and you do not have to worry about the structure immediately.

Main classifications for Architecture

On this BuildingSMART website you can find more substantive information about the IFC 2x3 version. Note: It is very technical!

https://standards.buildingsmart.org/IFC/RELEASE/IFC2x3/TC1/HTML/

Therefore, here is a shorter summary of the most commonly used classifications for architecture.

  • IfcProject | Contains the project information to be exchanged or shared.
  • IfcSite | The area on which the project construction is to be completed.
  • IfcBuilding | Contains the building name and is associated to a site.
  • IfcBuildingStorey | Defines a buildingstorey and is associated to a building.
    • IfcBeam | Defines a beam.
    • IfcBuildingElementProxy | Defines the occurrence of any building element.
      Use this if there is no better definition that describes the type of object.
    • IfcColumn | Defines a column.
    • IfcCovering | Defines a covering such as wall claddings, finish trim, ceiling…
    • IfcCurtainWall | Defines a wall of a building which is an assembly of components.
    • IfcDoor | Defines a door.
    • IfcFooting | Defines a foundation of a structure that spreads and transmits the load directly to the soil.
    • IfcFurnishingElement | Defines all furniture related objects.
    • IfcMember | Defines a structural member designed to carry loads but it is not required to be load bearing.
    • IfcPile | Defines a slender timber, concrete, or steel structural element, embedded on end in the ground for the purpose of supporting a load.
    • IfcPlate | Defines a planar structural part designed to carry loads but it is not required to be load bearing.
    • IfcRailing | Defines a railing / frame assembly that is designed for physical support, or to prevent injury by falling.
    • IfcRamp | Defines a inclined way / floor joining to link at different elevations.
    • IfcRampFlight | Defines a inclined slab segment, to link between two landings, floors or slabs at different elevations.
    • IfcRoof | Defines a total roof and is a container entity that aggregates all components of the roof.
    • IfcSlab | Defines a component (floor or roof slab) of the construction that encloses a space vertically. Only the core or constructional part of this construction is considered to be a slab.
    • IfcSpace | Defines a space, area or volume that provide for certain functions within a building.
    • IfcStair | Defines a stair and is a container entity that aggregates all components of the stair.
    • IfcStairFlight | Defines a assembly of building components in a single “run” of stair steps that are not interrupted by a landing.
    • IfcWall | Defines a wall.
    • IfcWindow | Defines a window.
8 Likes

This is a brilliant reply! Beutifully organized and very clear. I’ve bookmarked it for future reference and I think Trimble should pick up on your knowledge to move on with IFC.

I would urge @sketchup team to look into this list by @nnijmeijer and help us deal with IFC seamlessly.

Thanks for all this info.

João

3 Likes

This is a great help. My first attempts to learn anything about IFC found definitions so broad and generalized that I learned nothing.

One thing that has bothered me forever about most BIM and other dedicated architectural software is the common approach of conceptually reducing all of architecture to a stack of pancakes. Suddenly, the 3D world is simple because it’s just a stack of 2D plans. Forcing building elements into this conceptual structure, what do you do with exterior cladding and elevator assemblies that span multiple stories? Chop them into story sized bits? What about the edges of the arbitrary break points? Just hide them graphically? How does UV mapping carry from one slice to another of what in the real world is simply one object? What happens when you need to edit a multi storey object? All these problems can be addressed, but they are created by forcing the logical organization of a building into “storeys” in the first place. I was hoping to find in IFC some better logical “tree” organization of all the parts of a building that would work naturally with SketchUp’s outliner.