Java SDK

  • Typed API
  • Multi user, multi threaded
  • Dogfooded by BIM Base
  • Documentation in IDE
String address = "";
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)
    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


Available as a set of Maven packages.



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