Java SDK
- Typed API
- Multi user, multi threaded
- Dogfooded by BIM Base
- Documentation in IDE
String address = "https://bim.works";
try (BimWorksClientFactory factory = new BimWorksClientFactory(address) {
try (BimWorksClient client = factory.createClientWithApiToken("fckR7c1xn")) {
UUID rootNodeUuid = client.fs.getRootNodeUuid();
UploadModelResponse response = client.upload.uploadModel(
new UploadBuilder(rootNodeUuid)
.fromPath(Paths.get("/models/Schependomlaan.ifc")));
BimQuery query = new BimQuery()
.addType("IFCWINDOW", "IFCDOOR")
.addProperty("*", "IsExternal", Operator.EQUALS, true);
UUID versionUuid = response.getTreeNode().getLastVersionUuid();
ArrayNode res = client.bim.query(query, versionUuid);
System.out.println("Amount of external doors and windows: " + res.size());
}
};
Java SDK Features
Maven
Available as a set of Maven packages.
<dependencies>
<dependency>
<groupId>nl.bimbase.bimworks</groupId>
<artifactId>client</artifactId>
<version>1.3.0</version>
</dependency>
</dependencies>
Java
Works on Java 11 up to Java 21
Documentation
All sdks have extensive documentation, click below to go to the documentation for the Java SDK