LuaCAD Help

IFC import and IFC export

IFC is the open exchange format for building models. LuaCAD uses it in both directions:

Both work for all plug-ins – there is one import and one export, not one per plug-in.

Where to find IFC

WhereWhat
Ribbon › LuaCAD tab › Exchange ribbon panelIFC import and IFC export
LuaCAD menu in the menu barIFC import … and IFC export … (GstarCAD shows the menu bar only when it is turned on)
Right-click in the drawing › LuaCADIFC export … (with selected objects: only these), IFC import …, IFC properties (architecture) …
Project wizard, IFC stepCreate a new project with an IFC right away – see Project wizard: IFC
Project palette › right-click an entryUpdate IFC … – read in a new version (only in a project created from an IFC)
Project palette › IFC classes areaHide and show element types of the IFC xrefs

Importing an IFC

Goal: create a project from the architect's IFC file – with levels, elevations, spaces and one architectural drawing per level.

  1. Open a drawing that belongs to no project (for example the empty start drawing) and choose IFC import. The command line says that a project is created from the IFC file with the project wizard.
  2. The project wizard opens at the IFC step and shows the file dialog box right away. Choose the IFC file (.ifc or .ifczip). LuaCAD reads it at once, still without geometry – usually in less than a second.
  3. In the IFC step check: the discipline of the IFC, the building (only if there are several), the location, whether the elevation of an IFC level is finished floor or top of slab, which IFC levels become project levels and which element types are imported. Field by field: Project wizard: IFC.
  4. The other steps as for any new project: project name and folder, structure, levels (prefilled from the IFC), disciplines, drawings.
  5. Create project. Now LuaCAD creates the geometry; a progress window shows each level, Esc cancels without creating anything.
  6. At the end a report in the command line lists the levels, elements, spaces and what was not imported.

If the drawing already belongs to a project, IFC import reads a new IFC version for this project instead.

Video coming soon: Creating a project from an IFC

What is in the drawing afterwards

The architecture of the sample project after the import, 3D shaded: walls (1), slab (2), windows and doors (3), stair (4)
The architecture of the sample project after the import, 3D shaded: walls (1), slab (2), windows and doors (3), stair (4)
WhatHow it looks
Architecture per levelA separate drawing per level, in the discipline of the IFC. If that discipline also has 2D plans, it gets its own IFC discipline next to it – two separate xrefs.
Building elementsOne 3D solid per element; if an element is not closed, a mesh. Color from the IFC.
LayersOne layer per IFC class, for example LuaCAD_IFC_IfcWall, LuaCAD_IFC_IfcDoor, LuaCAD_IFC_IfcSlab – this is how you hide element types (IFC classes).
SpacesOne mesh per space on LuaCAD_IFC_Space (off by default, 80 % transparent) and the space number on LuaCAD_IFC_Space annotation. Your pipes and fixtures get their space from it – for schedules, annotation and the export.
TerrainThe representation of the site in a terrain drawing of its own, attached as an xref in every level on LuaCAD_IFC_Terrain.
Elements without a levelIn a drawing of their own, attached as an xref in every level on LuaCAD_IFC_Not assigned – can be turned off.
Substitute bodiesIf the geometry tool delivers nothing for an element, a bounding box stands there on LuaCAD_IFC_Substitute bodies; the report names the elements.
Discipline drawingsEvery discipline drawing has the architecture of the same level loaded, the other levels unloaded. No alignment is needed – the IFC brings origin and units.
Data on the elementClass, name, type, level, space, material and GUID are stored on the element; all other properties LuaCAD reads from the project's IFC when needed (Showing properties).

Location: offset and rotation

Many models lie far from the origin (state plane or national grid coordinates) or at an angle. LuaCAD draws in small, straight coordinates: first the model is moved by the offset, then rotated by the rotation angle. The wizard prefills the offset from the IFC; a detected rotation only appears as a suggestion with Apply – nothing is ever rotated automatically. The IFC export calculates both back, so your model and the architect's lie exactly on top of each other.

Large files

The import never rejects a file. For a large model or little free memory it creates the geometry in batches one after the other, fetches elements without geometry in further runs and writes a very large level into partial drawings that are attached as xrefs. This takes longer but needs little memory. In the IFC step of the wizard you see beforehand how much geometry to expect; with Load off you leave out whole levels, with the coarser mesh for curves the geometry gets smaller.

Reading in a new IFC version

Goal: bring the architect's revised IFC into the project – the architecture is replaced completely level by level, your discipline drawings stay untouched.

  1. Close all architectural drawings of the project (otherwise LuaCAD stops and asks you to close the open drawing).
  2. In a drawing of the project choose IFC import – or on the project palette right-click an entry and choose Update IFC ….
  3. Choose the new IFC file; the file dialog box starts at the previous one.
  4. The new IFC version dialog box asks for confirmation and shows the location. The values of the project apply; if the new version lies differently, it says so in orange. OK.
  5. If the levels have changed (new level, different elevation, different name), assign them in the Match levels dialog box.
  6. LuaCAD replaces the architecture level by level (the previous one goes to the archive folder), creates one drawing per discipline for new levels and reloads the xrefs in open drawings. The command line says how many drawings were replaced and how many xrefs were reloaded.

The choices of the first import still apply: short names of the levels, helper levels, levels not loaded, element types turned off, building, location.

Video coming soon: Reading in a new IFC version

Hiding IFC classes

Goal: hide one element type of the architecture in all IFC xrefs at once – for example railings or coverings that block the view of your pipes.

  1. On the project palette expand the IFC classes area. The list shows the classes of all loaded IFC xrefs of the active drawing.
  2. Clear the check box in front of a class: its layers are frozen in all IFC xrefs of this drawing.
  3. Select the check box again or click Show all to bring them back.

The choice applies per drawing and is kept when you save, reload and open. It is not a step in the undo history – you go back with the check box.

Video coming soon: Hiding IFC classes

Showing the properties of a building element

Goal: look up everything the architect has given an element or space – for example the fire rating of a wall before an opening.

  1. Right-click in the drawing › LuaCAD › IFC properties (architecture) ….
  2. Click an element – also inside an xref. Enter without a click ends.
  3. The IFC properties window first shows the basic data (class, name, type, level, space, material, GUID …), below it every property set of the IFC, expanded; data of the type are marked "(Type)".

Shorter in the Properties palette: select an element in the architectural drawing itself, and class, name, type, level, space, material and GUID are in the LuaCAD category. In schedules and annotation you take any IFC value with a placeholder like {IFC.Pset_WallCommon.FireRating}.

Video coming soon: Showing the properties of a building element

Exporting an IFC

Goal: export the parts of all plug-ins as an IFC file – for coordination with architecture and structure, for clash detection and viewers.

  1. If you only want to export part of the drawing, select the objects first.
  2. Ribbon › LuaCAD › Exchange › IFC export.
  3. In the IFC export dialog box check file, schema and scope; LuaCAD remembers the other settings from last time.
  4. OK. If a required field is empty on a part, LuaCAD asks first: export anyway, or show the parts (then nothing is written).
  5. A progress window shows reading and writing; Esc cancels, an existing file then stays unchanged.
  6. The command line reports the result, for example "IFC export (IFC4): 37 elements, 3 levels, 8 systems, 24 of 30 connectors connected - 1.2 s" and the path. With Show file afterwards the file opens in the program Windows knows for .ifc.
Video coming soon: Exporting the parts of all plug-ins as IFC

What is exported

The export takes the same parts as the schedules. The architecture of the xrefs is not exported; only the spaces your parts are in are written as a reference.

Plug-inIn the IFC
Piping 3DPipes (as exact cylinders), fittings, valves, products, custom parts, insulation – with connectors, connected to their neighbors
Drainage 3DPipes, fittings, drains, chambers, interceptors – with connectors and flow direction
Ventilation 3DDucts and round ducts (as exact boxes or cylinders), fittings, units, grilles and diffusers, insulation
Block LibraryFixtures with the class given by their abbreviation (a toilet as a sanitary terminal) and their connectors; every block once as a type with geometry
OpeningsThe 3D openings as a provision for void, with the sizes including clearance – see Openings › IFC
Piping 2D, floor heatingnothing – 2D pipes only after converting them to Piping 3D

Systems are created per system (for example domestic cold water, domestic hot water), below them per riser or network. Every part belongs to the level in whose elevation range its lowest point lies.

Properties in the IFC

Property setContent
LuaCAD_TeilWhat all plug-ins know: part type, item number, description, catalog, DN, length, system, network, level, space, insulation, elevations, plug-in …
LuaCAD_Piping, LuaCAD_Abwasser, LuaCAD_Lueftung …What only the plug-in knows (pipe spec, slope, profile …)
LuaCAD_EigenschaftsfelderYour property fields and the attributes of other blocks
LuaCADAll values of the LuaCAD_ sets once more in one set – convenient in viewers
Pset_ManufacturerTypeInformationManufacturer, article number, description, type – which field goes where you set per field in the property fields (IFC column)
Pset_ManufacturerOccurrenceSerial number, bar code, batch – only if a field points there
Pset_…TypeCommonIFC4 only: reference (article number), for pipes nominal diameter and outside diameter, for ducts width and height
LuaCAD_Daemmung, LuaCAD_Geschoss, LuaCAD_RaumOn the insulation, on the level, on the space

The tag of a valve or the number of an opening is written as the tag of the element, otherwise the item number. The chosen cost classification is added as a classification, the Author as the author.

Several project drawings in one file

If the drawing belongs to a project, the dialog box offers several drawings of the project in one file.

  1. Click this option – the list of the project drawings (discipline and level) becomes available, the suggested file name becomes the project name in the project folder.
  2. Check the drawings (All, None); the open one is preselected.
  3. OK. The other drawings are only read, not opened. Every part belongs to the level of its drawing and has the same GUID as in the export of the single drawing.

Coordinates and GUIDs