Giter Site home page Giter Site logo

ifc2b3dm's Introduction

IFC2B3DM

The converter is designed to ultimately convert an IFC file to B3DM to enable object selection and BIM (Building Information Management) in Cesium.

The converter uses the following architecture as can be seen from the diagram:

BimServer API is used to download an IFC file for each constituent component of the model by recursively sending queries based on oids and ifc types obtained from the json file of the ifc model. Each ifc file is then converted to OBJ using IfcConvert and then to GLTF using obj2gltf. Finally, 3d-tiles-tools sample generator has been modified to generate the b3dm file with a batch table hierarchy from the gltfs and json (straming) files, compatible to Cesium. The links to each of these tools can be found below.

Credits

This repository has been created at CSDILA (Centre for Spatial Data Infrastructres and Land Administration) at the University of Melbourne.

The following open-source tools have been used in the scripts:

--BimServer API:

https://github.com/opensourceBIM/BIMserver

--IfcOpenShell IFC2X3 IfcConvert 0.5.0-dev:

http://ifcopenshell.org/ifcconvert.html

https://github.com/IfcOpenShell/IfcOpenShell

--obj2gltf:

https://github.com/AnalyticalGraphicsInc/obj2gltf

--3d-tiles-tools sample generator:

https://github.com/AnalyticalGraphicsInc/3d-tiles-tools

ifc2b3dm's People

Contributors

erfan-shooraj avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

ifc2b3dm's Issues

How can i solve this problem?

Hello,
I tried to use your code 'GLTFs2B3DM'.But, the following errors are occurred.
Unhandled rejection TypeError: Cannot read property 'KHR_materials_common' of undefined
at Function.Material.fromGltf (C:\Users\wendy\Desktop\ifc2b3dm-master\ifc2b3dm-master\GLTFs2B3DM\lib\Material.js:40:37)
at Function.Mesh.fromGltf (C:\Users\wendy\Desktop\ifc2b3dm-master\ifc2b3dm-master\GLTFs2B3DM\lib\Mesh.js:295:29)
at C:\Users\wendy\Desktop\ifc2b3dm-master\ifc2b3dm-master\GLTFs2B3DM\lib\createBatchTableHierarchy.js:126:42
at
So, how can i solve this problem?

Thanks.

Converter path?

C:\bin\ifc2b3dm\IFC2GLTFs\src\main\java\ifcconverter\Main.java:43: error: illegal escape character
public static String CONVERTER_PATH = "C:\bin\ifc2b3dm\IFC2GLTFs\src\main\java\ifcconverter"; //Enter your converter path

Which one is it?

关于程序的一些bug

使用的过程中发现以下两个问题:
1)包围盒与局部矩阵错误
2)材质部分转换错误(接收到的是material是2.0版本,但是程序需要的是1.0)
为什么要使用gltf1.0呢?

Bim.server.client and Bim.server.shared problem

Hey,

Looks like converter cannot either find Bim.server or Im doing something not right.

Please can someone give me guidance here?

C:\bin\ifc2b3dm\IFC2GLTFs\src\main\java\ifcconverter\Main.java:16: error: package org.bimserver.client does not exist
import org.bimserver.client.BimServerClient;
^
C:\bin\ifc2b3dm\IFC2GLTFs\src\main\java\ifcconverter\Main.java:17: error: package org.bimserver.client.json does not exist
import org.bimserver.client.json.JsonBimServerClientFactory;
^
C:\bin\ifc2b3dm\IFC2GLTFs\src\main\java\ifcconverter\Main.java:18: error: package org.bimserver.shared does not exist
import org.bimserver.shared.ChannelConnectionException;
^
C:\bin\ifc2b3dm\IFC2GLTFs\src\main\java\ifcconverter\Main.java:19: error: package org.bimserver.shared does not exist
import org.bimserver.shared.UsernamePasswordAuthenticationInfo;
^
C:\bin\ifc2b3dm\IFC2GLTFs\src\main\java\ifcconverter\Main.java:20: error: package org.bimserver.shared.exceptions does not exist
import org.bimserver.shared.exceptions.BimServerClientException;

some components failed during splitting ifc

hello,
In my model,there are some slabs like this,Intersects the column, and has a cut surface

QQ图片20200427224913
QQ图片20200427224913

The slabs can't generate normally after splitting.
I hope you can give me some guide.
Thank you very much.

IFC splitter reads but not counts, splitts nor downloads.

paveikslas

hey,

And ended up with a problem that main.java doesn't counts other added types to the code thats need to be splitted and extracted.

Looks like I've set everything up correctly both in main.java and ifcsplitter.java and there is no lines missing. Eclipse aren't pin pointing anything but it looks like there is something else.

Thank you in advance.

adding files inside zip.

main_ifcsplitter_files.zip

some error happen about localhost,please give some advice

I have modified the localhost address as my address(8082),but the program reported an error ,saying the address is still 2020.The following is part of error:
Exception in thread "main" org.bimserver.shared.reflector.ReflectorException: org.apache.http.conn.HttpHostConnectException: Connect to localhost:2020 [localhost/127.0.0.1, localhost/0:0:0:0:0:0:0:1] failed: Connection refused: connect
at org.bimserver.shared.json.JsonSocketReflector.call(JsonSocketReflector.java:95)
at org.bimserver.shared.json.JsonReflector.callMethod(JsonReflector.java:58)
at org.bimserver.generated.AuthInterfaceImpl1.login(AuthInterfaceImpl1.java)
at org.bimserver.client.BimServerClient.authenticate(BimServerClient.java:130)
at org.bimserver.client.BimServerClient.connect(BimServerClient.java:122)
at org.bimserver.client.BimServerClient.setAuthentication(BimServerClient.java:115)
at org.bimserver.client.json.JsonBimServerClientFactory.create(JsonBimServerClientFactory.java:68)
at ifcconverter.Main.main(Main.java:50)

material of gltf disappear after converting to b3dm

The material in gltf file is described like this:
"materials": [
{
"name": "surface_style_43_默�_楼板",
"pbrMetallicRoughness": {
"baseColorFactor": [
0.588,
0.588,
0.588,
1
],
"metallicFactor": 0,
"roughnessFactor": 0.99
},
"emissiveFactor": [
0,
0,
0
],
"alphaMode": "OPAQUE",
"doubleSided": false
}
],
In the gltf view-tool,it appears "red"color ,but after converting it to b3dm,the color disappear.
I hope you can give me some guides.Thank you very much.

Question regarding downloading the 'project json'

What do you mean when you say 'download directly from bimserver' ?

// Get the Project Json
			Long roid = client.getServiceInterface().getTopLevelProjectByName(PROJECT).getLastRevisionId();
			DownloadProjectJSON(client, roid); //Downloads malformed json on large models sometimes
												 //Better to download directly from bimserver and put in the model folder

Dependency test runs great but not Ifcconverter.

Dependency test runs great but not Ifcconverter. Maven script creates project in Bimserver.

Ifc converter Main.java still cannot reach Bimclient:
Error: Unable to initialize main class ifcconverter.Main
Caused by: java.lang.NoClassDefFoundError: BimServerClient

Maven dependencys pom files on both accurately the same.

Bimserver 1.5.147

JDK12

Eclipse Modeling Tools

Version: 2019-03 (4.11.0)
Build id: 20190314-1200

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.