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

BIM.works Documentation

Documentation

All sdks have extensive documentation, click below to go to the documentation for the Java SDK