Version 2.18
Contributors: Jyrki Oraskari, Mathias Bonduel, Kris McGlinn, Anna Wagner, Pieter Pauwels, Ville Kukkonen, Simon Steyskaland, and Joel Lehtonen.
This repository presents the results of our ongoing work to create a usable converter to convert Industry Foundation Classes (IFC) STEP formatted files into Resource Description Framework (RDF) triples that follow the small ontologies devised in the World Wide Web Consortium (W3C) Linked Building Data Community Group (W3C LBD-CG) (https://github.com/w3c-lbd-cg/).
Proceedings of the 6th Linked Data in Architecture and Construction Workshop: The IFC to Linked Building Data Converter - Current Status.
It is recommended to use OpenJava 15. OpenJava can be downloaded from [https://jdk.java.net/15/] (https://jdk.java.net/15/)
Precompiled applications are available in the published release. https://github.com/jyrkioraskari/IFCtoLBD/releases
- Desktop application: IFCtoLBD-Desktop Java 8
- The special version for Java versions above 9: IFCtoLBD-Desktop Java 12
These are runnable JAR files. If the Java installation is fine, the file can be run by clicking it.
When converting large files, run.bat
can be used. It is also faster since it allows the program to use more memory for the calculation.
Also Windows 10 installations are availabe. The zip files contain script files to run the program neatly in the windows operating system.
If the program does not start, try the following command at the command line: java -jar IFCtoLBD-Desktop_Java_8.jar
.
The converter can be compiled using maven and Java JDK (the above link). Maven can be downloaded from https://maven.apache.org/download.cgi.
First, make sure that the JAVA_HOME
environment variable point to the JAVA JDK directory. JRE is not enough. Then run the following commands:
cd IFCtoRDF
call mvn clean install
cd ..
cd IFCtoLBDGeometry
call mvn clean install
cd ..
cd converter
call mvn clean install
cd ..
cd desktop_java8
call mvn clean install
cd ..
cd IFCtoLBD_OpenAPI
call mvn clean install
call mvn enunciate:docs install
cd ..
The best way to create a runnable [Java 15] (https://jdk.java.net/15/) program is to
- Use an Eclipse (https://www.eclipse.org/) installation,
- Import the runtime definition: Eclipse:/Project Explorer/IFCtoLBD_Desktop_Java15/others/Main 15.launch
- Run as "Main Java 15"
- Export:Java/Runnabe Jar file/Next
- Launch configuration:"Main 15 - IFCtoLBD Desktop Java15", Package resource libraries into generated JAR
- Select destination file and Finish.
An example command line usage of the program is:
java -jar IFCtoLBD.jar Duplex_A_20110505.ifc http://uribase out.ttl
The Maven library was published on 29th of May, 2020.
<dependency>
<groupId>io.github.jyrkioraskari</groupId>
<artifactId>IFCtoLBD</artifactId>
<version>1.88</version>
<classifier>jar-with-dependencies</classifier>
</dependency>
https://mvnrepository.com/artifact/io.github.jyrkioraskari/IFCtoLBD/1.88
How to use the code:
new IFCtoLBDConverter("c:\\in\model.ifc", "http://example.uri/", "c:\\out\\file.ttl",2, true, false, true, false, false, true);
The example implementation can be found in the IFCtoLBD_Python subfolder
Installation:
pip install JPype1
# !/usr/bin/env python3
import jpype
# Enable Java imports
import jpype.imports
# Pull in types
from jpype.types import *
jpype.startJVM(classpath = ['jars/*'])
from org.linkedbuildingdata.ifc2lbd import IFCtoLBDConverter
lbdconverter = IFCtoLBDConverter("https://dot.dc.rwth-aachen.de/IFCtoLBDset", 3)
model=lbdconverter.convert("Duplex_A_20110505.ifc");
model.write(jpype.java.lang.System.out)
jpype.shutdownJVM()
An Restful OpenAPI implementation for IFCtoLBD converter.
A test installation: http://lbd.arch.rwth-aachen.de/IFCtoLBD_OpenAPI/apidocs/
http://lbd.arch.rwth-aachen.de/IFCtoLBD_OpenAPI/apidocs/ui/swagger.json
Install Docker Desktop: https://www.docker.com/get-started
Command-line commands needed to start the server at your computer;
docker pull jyrkioraskari/ifc2lbdopenapi:latest
docker container run -it --publish 8081:8080 jyrkioraskari/ifc2lbdopenapi
Then the software can be accessed from the local web address: http://localhost:8081/IFCtoLBD_OpenAPI
jyrkioraskari/IFCtoLBD_BIMBot-Plugin
This project is released under the open source Apache License, Version 2.0
@software{jyrki_oraskari_2020_4056940,
author = {Jyrki Oraskari and
Mathias Bonduel and
Kris McGlinn and
Pieter Pauwels and
Freddy Priyatna and
Anna Wagner and
Ville Kukkonen and
Simon Steyskaland and
Joel Lehtonen},
title = {jyrkioraskari/IFCtoLBD: IFCtoLBD 2.5},
month = sep,
year = 2020,
publisher = {Zenodo},
version = {2.5},
doi = {10.5281/zenodo.4056940},
url = {https://doi.org/10.5281/zenodo.4056940}
}
The sofware was tested to function with https://jdk.java.net/15/
Testing the correctness of the created bounding boxes.
-
What does it mean when IFCtoLBD says Java heap space?
- The most probable situation for this is when a large file is converted. Try to start the program using
run.bat
.
- The most probable situation for this is when a large file is converted. Try to start the program using
-
Why does the program say: "Error: Cannot determine which IFC version the model it is: [IFC2X2_FINAL]"
- IFC 2x2 Final was published as early as 2003, 14 years ago. There are still some test files that are generated using this version. Support for this may be added. Currently the supported IFC versions are: IFC2x3TC1, FC2x3FINAL, IFC4, IFC4 ADD1 and IFC4 ADD2.
-
Nothing happens when I start the program.
- Check that Java 8 is installed, open a command prompt
at the directory where IFCtoLBD-Desktop_Java_8.jar is located. Run the following command:
java -jar IFCtoLBD-Desktop_Java_8.jar
- Check that Java 8 is installed, open a command prompt
at the directory where IFCtoLBD-Desktop_Java_8.jar is located. Run the following command:
-
In Windows, I cannot open the program by double clicking the file
- Open a command prompt as admin
- Run the following commands:
assoc .jar=jarfile type jarfile="your java installation directory\bin\javaw.exe" -jar "%1" %*
where your java installation directory is the base directory where your Java runtime is installed.