From 421904f9ae6fe7f59d4f4d16208e7a64a8f33814 Mon Sep 17 00:00:00 2001 From: Fuhrimann Lukas Date: Tue, 3 Feb 2026 13:43:29 +0100 Subject: [PATCH 1/6] added ifcCompatibleElements to CategorySchema --- src/types/common/enums.ts | 3 ++ src/types/common/productCategorySchema.ts | 51 +++++++++++++---------- 2 files changed, 31 insertions(+), 23 deletions(-) diff --git a/src/types/common/enums.ts b/src/types/common/enums.ts index 6f2792e..eb8dd62 100644 --- a/src/types/common/enums.ts +++ b/src/types/common/enums.ts @@ -60,6 +60,7 @@ const BuildingSystemEnum = z "Plants", "Roofs", "Stairs", + "Structure", ]) .openapi({ description: @@ -77,6 +78,8 @@ const ProductCategoryEnum = z "Insulated Concrete Panels", "Prefabricated Balcony", "Pod", + "Beam", + "Column", "Whole Building System", "Structural Frame", "Facade System", diff --git a/src/types/common/productCategorySchema.ts b/src/types/common/productCategorySchema.ts index af04a8e..9c7fcc4 100644 --- a/src/types/common/productCategorySchema.ts +++ b/src/types/common/productCategorySchema.ts @@ -1,34 +1,39 @@ import { z } from "zod"; -import { BuildingSystemEnum, ProductCategoryEnum } from "./enums"; +import { BuildingSystemEnum, ProductCategoryEnum,IfcBuildingElementEnum } from "./enums"; // Temporary schema for values const RawProductCategorySchema = z.object({ category: ProductCategoryEnum, - buildingSystem: BuildingSystemEnum + buildingSystem: BuildingSystemEnum, + ifcCompatibleElements: z + .array(IfcBuildingElementEnum) + .optional(), }); const productCategoryValues: z.infer[] = [ - { category: "Boarding", buildingSystem: "Wall" }, - { category: "Solid Wall Panels", buildingSystem: "Wall" }, - { category: "Closed Wall Panels", buildingSystem: "Wall" }, - { category: "Twinwall", buildingSystem: "Wall" }, - { category: "Open Wall Panels", buildingSystem: "Wall" }, - { category: "Structural Insulated Panels (SIPs)", buildingSystem: "Wall" }, - { category: "Insulated Concrete Panels", buildingSystem: "Wall" }, - { category: "Whole Building System", buildingSystem: "Frame" }, - { category: "Structural Frame", buildingSystem: "Frame" }, - { category: "Hollowcore Floor", buildingSystem: "Floors" }, - { category: "Concrete Lattice Floor", buildingSystem: "Floors" }, - { category: "Floor Cassettes", buildingSystem: "Floors" }, - { category: "Solid Floor Panels", buildingSystem: "Floors" }, - { category: "Roof Panel", buildingSystem: "Roofs" }, - { category: "Roof Truss", buildingSystem: "Roofs" }, - { category: "Prefabricated Balcony", buildingSystem: "Balcony" }, - { category: "Pod", buildingSystem: "Pod" }, - { category: "Facade System", buildingSystem: "Facade" }, - { category: "Volumetric module", buildingSystem: "Modules" }, - { category: "Prefabricated Plant", buildingSystem: "Plants" }, - { category: "Prefabricated Stairs", buildingSystem: "Stairs" }, + { category: "Boarding", buildingSystem: "Wall", ifcCompatibleElements: ["IfcWall","IfcBuildingElementProxy"] }, + { category: "Solid Wall Panels", buildingSystem: "Wall", ifcCompatibleElements: ["IfcWall","IfcBuildingElementProxy"] }, + { category: "Closed Wall Panels", buildingSystem: "Wall", ifcCompatibleElements: ["IfcWall","IfcBuildingElementProxy"] }, + { category: "Twinwall", buildingSystem: "Wall", ifcCompatibleElements: ["IfcWall","IfcBuildingElementProxy"] }, + { category: "Open Wall Panels", buildingSystem: "Wall", ifcCompatibleElements: ["IfcWall","IfcBuildingElementProxy"] }, + { category: "Structural Insulated Panels (SIPs)", buildingSystem: "Wall", ifcCompatibleElements: ["IfcWall","IfcBuildingElementProxy"] }, + { category: "Insulated Concrete Panels", buildingSystem: "Wall", ifcCompatibleElements: ["IfcWall","IfcBuildingElementProxy"] }, + { category: "Whole Building System", buildingSystem: "Frame", ifcCompatibleElements: ["IfcBuildingElementProxy"] }, + { category: "Structural Frame", buildingSystem: "Frame", ifcCompatibleElements: ["IfcFrame","IfcBuildingElementProxy"] }, + { category: "Hollowcore Floor", buildingSystem: "Floors", ifcCompatibleElements: ["IfcSlab","IfcBuildingElementProxy"] }, + { category: "Concrete Lattice Floor", buildingSystem: "Floors", ifcCompatibleElements: ["IfcSlab","IfcBuildingElementProxy"] }, + { category: "Floor Cassettes", buildingSystem: "Floors", ifcCompatibleElements: ["IfcSlab","IfcBuildingElementProxy"] }, + { category: "Solid Floor Panels", buildingSystem: "Floors", ifcCompatibleElements: ["IfcSlab","IfcBuildingElementProxy"] }, + { category: "Roof Panel", buildingSystem: "Roofs", ifcCompatibleElements: ["IfcRoof","IfcBuildingElementProxy"] }, + { category: "Roof Truss", buildingSystem: "Roofs", ifcCompatibleElements: ["IfcRoof","IfcBuildingElementProxy"] }, + { category: "Prefabricated Balcony", buildingSystem: "Balcony", ifcCompatibleElements: ["IfcBuildingElementProxy"] }, + { category: "Pod", buildingSystem: "Pod", ifcCompatibleElements: ["IfcBuildingElementProxy"] }, + { category: "Facade System", buildingSystem: "Facade", ifcCompatibleElements: ["IfcCurtainWall","IfcBuildingElementProxy"] }, + { category: "Volumetric module", buildingSystem: "Modules", ifcCompatibleElements: ["IfcBuildingElementProxy"] }, + { category: "Prefabricated Plant", buildingSystem: "Plants", ifcCompatibleElements: ["IfcBuildingElementProxy"] }, + { category: "Prefabricated Stairs", buildingSystem: "Stairs", ifcCompatibleElements: ["IfcStair","IfcBuildingElementProxy"] }, + { category: "Beam", buildingSystem: "Structure", ifcCompatibleElements: ["IfcBeam", "IfcMember","IfcBuildingElementProxy"] }, + { category: "Column", buildingSystem: "Structure", ifcCompatibleElements: ["IfcColumn", "IfcMember","IfcBuildingElementProxy"] }, ]; const ProductCategorySchema = RawProductCategorySchema.refine( From 5e9295b1852a9e5fcf8b86fac2dae7ee8336ab31 Mon Sep 17 00:00:00 2001 From: Fuhrimann Lukas Date: Tue, 3 Feb 2026 13:54:33 +0100 Subject: [PATCH 2/6] added comaptible ifc elements --- src/types/common/productCategorySchema.ts | 28 +++++++++++------------ 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/types/common/productCategorySchema.ts b/src/types/common/productCategorySchema.ts index 9c7fcc4..7e79fbc 100644 --- a/src/types/common/productCategorySchema.ts +++ b/src/types/common/productCategorySchema.ts @@ -11,27 +11,27 @@ const RawProductCategorySchema = z.object({ }); const productCategoryValues: z.infer[] = [ - { category: "Boarding", buildingSystem: "Wall", ifcCompatibleElements: ["IfcWall","IfcBuildingElementProxy"] }, - { category: "Solid Wall Panels", buildingSystem: "Wall", ifcCompatibleElements: ["IfcWall","IfcBuildingElementProxy"] }, - { category: "Closed Wall Panels", buildingSystem: "Wall", ifcCompatibleElements: ["IfcWall","IfcBuildingElementProxy"] }, - { category: "Twinwall", buildingSystem: "Wall", ifcCompatibleElements: ["IfcWall","IfcBuildingElementProxy"] }, - { category: "Open Wall Panels", buildingSystem: "Wall", ifcCompatibleElements: ["IfcWall","IfcBuildingElementProxy"] }, - { category: "Structural Insulated Panels (SIPs)", buildingSystem: "Wall", ifcCompatibleElements: ["IfcWall","IfcBuildingElementProxy"] }, - { category: "Insulated Concrete Panels", buildingSystem: "Wall", ifcCompatibleElements: ["IfcWall","IfcBuildingElementProxy"] }, - { category: "Whole Building System", buildingSystem: "Frame", ifcCompatibleElements: ["IfcBuildingElementProxy"] }, - { category: "Structural Frame", buildingSystem: "Frame", ifcCompatibleElements: ["IfcFrame","IfcBuildingElementProxy"] }, + { category: "Boarding", buildingSystem: "Wall", ifcCompatibleElements: ["IfcWall","IfcBuildingElementProxy","IfcCurtainWall","IfcPartition"] }, + { category: "Solid Wall Panels", buildingSystem: "Wall", ifcCompatibleElements: ["IfcWall","IfcBuildingElementProxy","IfcCurtainWall","IfcPartition"] }, + { category: "Closed Wall Panels", buildingSystem: "Wall", ifcCompatibleElements: ["IfcWall","IfcBuildingElementProxy","IfcCurtainWall","IfcPartition"] }, + { category: "Twinwall", buildingSystem: "Wall", ifcCompatibleElements: ["IfcWall","IfcBuildingElementProxy","IfcCurtainWall","IfcPartition"] }, + { category: "Open Wall Panels", buildingSystem: "Wall", ifcCompatibleElements: ["IfcWall","IfcBuildingElementProxy","IfcCurtainWall","IfcPartition"] }, + { category: "Structural Insulated Panels (SIPs)", buildingSystem: "Wall", ifcCompatibleElements: ["IfcWall","IfcBuildingElementProxy","IfcCurtainWall","IfcPartition"] }, + { category: "Insulated Concrete Panels", buildingSystem: "Wall", ifcCompatibleElements: ["IfcWall","IfcBuildingElementProxy","IfcCurtainWall","IfcPartition"] }, + { category: "Whole Building System", buildingSystem: "Frame", ifcCompatibleElements: ["IfcBuildingElementProxy","IfcWall","IfcSlab","IfcRoof","IfcColumn","IfcBeam"] }, + { category: "Structural Frame", buildingSystem: "Frame", ifcCompatibleElements: ["IfcFrame","IfcBuildingElementProxy","IfcColumn","IfcBeam","IfcMember"] }, { category: "Hollowcore Floor", buildingSystem: "Floors", ifcCompatibleElements: ["IfcSlab","IfcBuildingElementProxy"] }, { category: "Concrete Lattice Floor", buildingSystem: "Floors", ifcCompatibleElements: ["IfcSlab","IfcBuildingElementProxy"] }, { category: "Floor Cassettes", buildingSystem: "Floors", ifcCompatibleElements: ["IfcSlab","IfcBuildingElementProxy"] }, { category: "Solid Floor Panels", buildingSystem: "Floors", ifcCompatibleElements: ["IfcSlab","IfcBuildingElementProxy"] }, - { category: "Roof Panel", buildingSystem: "Roofs", ifcCompatibleElements: ["IfcRoof","IfcBuildingElementProxy"] }, - { category: "Roof Truss", buildingSystem: "Roofs", ifcCompatibleElements: ["IfcRoof","IfcBuildingElementProxy"] }, - { category: "Prefabricated Balcony", buildingSystem: "Balcony", ifcCompatibleElements: ["IfcBuildingElementProxy"] }, + { category: "Roof Panel", buildingSystem: "Roofs", ifcCompatibleElements: ["IfcRoof","IfcBuildingElementProxy","IfcCovering"] }, + { category: "Roof Truss", buildingSystem: "Roofs", ifcCompatibleElements: ["IfcRoof","IfcBuildingElementProxy","IfcBeam"] }, + { category: "Prefabricated Balcony", buildingSystem: "Balcony", ifcCompatibleElements: ["IfcBuildingElementProxy","IfcSlab"] }, { category: "Pod", buildingSystem: "Pod", ifcCompatibleElements: ["IfcBuildingElementProxy"] }, { category: "Facade System", buildingSystem: "Facade", ifcCompatibleElements: ["IfcCurtainWall","IfcBuildingElementProxy"] }, - { category: "Volumetric module", buildingSystem: "Modules", ifcCompatibleElements: ["IfcBuildingElementProxy"] }, + { category: "Volumetric module", buildingSystem: "Modules", ifcCompatibleElements: ["IfcBuildingElementProxy","IfcWall","IfcSlab","IfcRoof"] }, { category: "Prefabricated Plant", buildingSystem: "Plants", ifcCompatibleElements: ["IfcBuildingElementProxy"] }, - { category: "Prefabricated Stairs", buildingSystem: "Stairs", ifcCompatibleElements: ["IfcStair","IfcBuildingElementProxy"] }, + { category: "Prefabricated Stairs", buildingSystem: "Stairs", ifcCompatibleElements: ["IfcStair","IfcBuildingElementProxy","IfcRamp"] }, { category: "Beam", buildingSystem: "Structure", ifcCompatibleElements: ["IfcBeam", "IfcMember","IfcBuildingElementProxy"] }, { category: "Column", buildingSystem: "Structure", ifcCompatibleElements: ["IfcColumn", "IfcMember","IfcBuildingElementProxy"] }, ]; From 2df3d5491cba3f499379fc321cce66c0e958e921 Mon Sep 17 00:00:00 2001 From: Fuhrimann Lukas Date: Tue, 3 Feb 2026 13:57:19 +0100 Subject: [PATCH 3/6] removed partition --- src/types/common/productCategorySchema.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/types/common/productCategorySchema.ts b/src/types/common/productCategorySchema.ts index 7e79fbc..3cb5659 100644 --- a/src/types/common/productCategorySchema.ts +++ b/src/types/common/productCategorySchema.ts @@ -11,13 +11,13 @@ const RawProductCategorySchema = z.object({ }); const productCategoryValues: z.infer[] = [ - { category: "Boarding", buildingSystem: "Wall", ifcCompatibleElements: ["IfcWall","IfcBuildingElementProxy","IfcCurtainWall","IfcPartition"] }, - { category: "Solid Wall Panels", buildingSystem: "Wall", ifcCompatibleElements: ["IfcWall","IfcBuildingElementProxy","IfcCurtainWall","IfcPartition"] }, - { category: "Closed Wall Panels", buildingSystem: "Wall", ifcCompatibleElements: ["IfcWall","IfcBuildingElementProxy","IfcCurtainWall","IfcPartition"] }, - { category: "Twinwall", buildingSystem: "Wall", ifcCompatibleElements: ["IfcWall","IfcBuildingElementProxy","IfcCurtainWall","IfcPartition"] }, - { category: "Open Wall Panels", buildingSystem: "Wall", ifcCompatibleElements: ["IfcWall","IfcBuildingElementProxy","IfcCurtainWall","IfcPartition"] }, - { category: "Structural Insulated Panels (SIPs)", buildingSystem: "Wall", ifcCompatibleElements: ["IfcWall","IfcBuildingElementProxy","IfcCurtainWall","IfcPartition"] }, - { category: "Insulated Concrete Panels", buildingSystem: "Wall", ifcCompatibleElements: ["IfcWall","IfcBuildingElementProxy","IfcCurtainWall","IfcPartition"] }, + { category: "Boarding", buildingSystem: "Wall", ifcCompatibleElements: ["IfcWall","IfcBuildingElementProxy","IfcCurtainWall"] }, + { category: "Solid Wall Panels", buildingSystem: "Wall", ifcCompatibleElements: ["IfcWall","IfcBuildingElementProxy","IfcCurtainWall"] }, + { category: "Closed Wall Panels", buildingSystem: "Wall", ifcCompatibleElements: ["IfcWall","IfcBuildingElementProxy","IfcCurtainWall"] }, + { category: "Twinwall", buildingSystem: "Wall", ifcCompatibleElements: ["IfcWall","IfcBuildingElementProxy","IfcCurtainWall"] }, + { category: "Open Wall Panels", buildingSystem: "Wall", ifcCompatibleElements: ["IfcWall","IfcBuildingElementProxy","IfcCurtainWall"] }, + { category: "Structural Insulated Panels (SIPs)", buildingSystem: "Wall", ifcCompatibleElements: ["IfcWall","IfcBuildingElementProxy","IfcCurtainWall"] }, + { category: "Insulated Concrete Panels", buildingSystem: "Wall", ifcCompatibleElements: ["IfcWall","IfcBuildingElementProxy","IfcCurtainWall"] }, { category: "Whole Building System", buildingSystem: "Frame", ifcCompatibleElements: ["IfcBuildingElementProxy","IfcWall","IfcSlab","IfcRoof","IfcColumn","IfcBeam"] }, { category: "Structural Frame", buildingSystem: "Frame", ifcCompatibleElements: ["IfcFrame","IfcBuildingElementProxy","IfcColumn","IfcBeam","IfcMember"] }, { category: "Hollowcore Floor", buildingSystem: "Floors", ifcCompatibleElements: ["IfcSlab","IfcBuildingElementProxy"] }, From b6a3ef782eda764f813ad827e88a3bd2d45c5433 Mon Sep 17 00:00:00 2001 From: Fuhrimann Lukas Date: Tue, 3 Feb 2026 14:11:35 +0100 Subject: [PATCH 4/6] removed ifcFrame --- src/types/common/productCategorySchema.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/types/common/productCategorySchema.ts b/src/types/common/productCategorySchema.ts index 3cb5659..4647338 100644 --- a/src/types/common/productCategorySchema.ts +++ b/src/types/common/productCategorySchema.ts @@ -19,7 +19,7 @@ const productCategoryValues: z.infer[] = [ { category: "Structural Insulated Panels (SIPs)", buildingSystem: "Wall", ifcCompatibleElements: ["IfcWall","IfcBuildingElementProxy","IfcCurtainWall"] }, { category: "Insulated Concrete Panels", buildingSystem: "Wall", ifcCompatibleElements: ["IfcWall","IfcBuildingElementProxy","IfcCurtainWall"] }, { category: "Whole Building System", buildingSystem: "Frame", ifcCompatibleElements: ["IfcBuildingElementProxy","IfcWall","IfcSlab","IfcRoof","IfcColumn","IfcBeam"] }, - { category: "Structural Frame", buildingSystem: "Frame", ifcCompatibleElements: ["IfcFrame","IfcBuildingElementProxy","IfcColumn","IfcBeam","IfcMember"] }, + { category: "Structural Frame", buildingSystem: "Frame", ifcCompatibleElements: ["IfcBuildingElementProxy","IfcColumn","IfcBeam","IfcMember"] }, { category: "Hollowcore Floor", buildingSystem: "Floors", ifcCompatibleElements: ["IfcSlab","IfcBuildingElementProxy"] }, { category: "Concrete Lattice Floor", buildingSystem: "Floors", ifcCompatibleElements: ["IfcSlab","IfcBuildingElementProxy"] }, { category: "Floor Cassettes", buildingSystem: "Floors", ifcCompatibleElements: ["IfcSlab","IfcBuildingElementProxy"] }, From 73dee97845707f4553d172b3868f7e8e98450171 Mon Sep 17 00:00:00 2001 From: Fuhrimann Lukas Date: Tue, 3 Feb 2026 14:12:33 +0100 Subject: [PATCH 5/6] added Structureal --- src/types/common/enums.ts | 4 ++-- src/types/common/productCategorySchema.ts | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/types/common/enums.ts b/src/types/common/enums.ts index eb8dd62..5bfb479 100644 --- a/src/types/common/enums.ts +++ b/src/types/common/enums.ts @@ -78,8 +78,8 @@ const ProductCategoryEnum = z "Insulated Concrete Panels", "Prefabricated Balcony", "Pod", - "Beam", - "Column", + "Structural Beam", + "Structural Column", "Whole Building System", "Structural Frame", "Facade System", diff --git a/src/types/common/productCategorySchema.ts b/src/types/common/productCategorySchema.ts index 4647338..2e77272 100644 --- a/src/types/common/productCategorySchema.ts +++ b/src/types/common/productCategorySchema.ts @@ -32,8 +32,8 @@ const productCategoryValues: z.infer[] = [ { category: "Volumetric module", buildingSystem: "Modules", ifcCompatibleElements: ["IfcBuildingElementProxy","IfcWall","IfcSlab","IfcRoof"] }, { category: "Prefabricated Plant", buildingSystem: "Plants", ifcCompatibleElements: ["IfcBuildingElementProxy"] }, { category: "Prefabricated Stairs", buildingSystem: "Stairs", ifcCompatibleElements: ["IfcStair","IfcBuildingElementProxy","IfcRamp"] }, - { category: "Beam", buildingSystem: "Structure", ifcCompatibleElements: ["IfcBeam", "IfcMember","IfcBuildingElementProxy"] }, - { category: "Column", buildingSystem: "Structure", ifcCompatibleElements: ["IfcColumn", "IfcMember","IfcBuildingElementProxy"] }, + { category: "Structural Beam", buildingSystem: "Structure", ifcCompatibleElements: ["IfcBeam", "IfcMember","IfcBuildingElementProxy"] }, + { category: "Structural Column", buildingSystem: "Structure", ifcCompatibleElements: ["IfcColumn", "IfcMember","IfcBuildingElementProxy"] }, ]; const ProductCategorySchema = RawProductCategorySchema.refine( From e2a010b3f1368c1d7523651952dc764ba3994318 Mon Sep 17 00:00:00 2001 From: Fuhrimann Lukas Date: Tue, 3 Feb 2026 14:17:38 +0100 Subject: [PATCH 6/6] added Curtain Wall --- src/types/common/enums.ts | 1 + src/types/common/productCategorySchema.ts | 17 +++++++++-------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/types/common/enums.ts b/src/types/common/enums.ts index 5bfb479..edfae4c 100644 --- a/src/types/common/enums.ts +++ b/src/types/common/enums.ts @@ -83,6 +83,7 @@ const ProductCategoryEnum = z "Whole Building System", "Structural Frame", "Facade System", + "Curtain Wall", "Hollowcore Floor", "Concrete Lattice Floor", "Floor Cassettes", diff --git a/src/types/common/productCategorySchema.ts b/src/types/common/productCategorySchema.ts index 2e77272..7002d28 100644 --- a/src/types/common/productCategorySchema.ts +++ b/src/types/common/productCategorySchema.ts @@ -11,13 +11,13 @@ const RawProductCategorySchema = z.object({ }); const productCategoryValues: z.infer[] = [ - { category: "Boarding", buildingSystem: "Wall", ifcCompatibleElements: ["IfcWall","IfcBuildingElementProxy","IfcCurtainWall"] }, - { category: "Solid Wall Panels", buildingSystem: "Wall", ifcCompatibleElements: ["IfcWall","IfcBuildingElementProxy","IfcCurtainWall"] }, - { category: "Closed Wall Panels", buildingSystem: "Wall", ifcCompatibleElements: ["IfcWall","IfcBuildingElementProxy","IfcCurtainWall"] }, - { category: "Twinwall", buildingSystem: "Wall", ifcCompatibleElements: ["IfcWall","IfcBuildingElementProxy","IfcCurtainWall"] }, - { category: "Open Wall Panels", buildingSystem: "Wall", ifcCompatibleElements: ["IfcWall","IfcBuildingElementProxy","IfcCurtainWall"] }, - { category: "Structural Insulated Panels (SIPs)", buildingSystem: "Wall", ifcCompatibleElements: ["IfcWall","IfcBuildingElementProxy","IfcCurtainWall"] }, - { category: "Insulated Concrete Panels", buildingSystem: "Wall", ifcCompatibleElements: ["IfcWall","IfcBuildingElementProxy","IfcCurtainWall"] }, + { category: "Boarding", buildingSystem: "Wall", ifcCompatibleElements: ["IfcWall","IfcBuildingElementProxy"] }, + { category: "Solid Wall Panels", buildingSystem: "Wall", ifcCompatibleElements: ["IfcWall","IfcBuildingElementProxy"] }, + { category: "Closed Wall Panels", buildingSystem: "Wall", ifcCompatibleElements: ["IfcWall","IfcBuildingElementProxy"] }, + { category: "Twinwall", buildingSystem: "Wall", ifcCompatibleElements: ["IfcWall","IfcBuildingElementProxy"] }, + { category: "Open Wall Panels", buildingSystem: "Wall", ifcCompatibleElements: ["IfcWall","IfcBuildingElementProxy"] }, + { category: "Structural Insulated Panels (SIPs)", buildingSystem: "Wall", ifcCompatibleElements: ["IfcWall","IfcBuildingElementProxy"] }, + { category: "Insulated Concrete Panels", buildingSystem: "Wall", ifcCompatibleElements: ["IfcWall","IfcBuildingElementProxy"] }, { category: "Whole Building System", buildingSystem: "Frame", ifcCompatibleElements: ["IfcBuildingElementProxy","IfcWall","IfcSlab","IfcRoof","IfcColumn","IfcBeam"] }, { category: "Structural Frame", buildingSystem: "Frame", ifcCompatibleElements: ["IfcBuildingElementProxy","IfcColumn","IfcBeam","IfcMember"] }, { category: "Hollowcore Floor", buildingSystem: "Floors", ifcCompatibleElements: ["IfcSlab","IfcBuildingElementProxy"] }, @@ -28,7 +28,8 @@ const productCategoryValues: z.infer[] = [ { category: "Roof Truss", buildingSystem: "Roofs", ifcCompatibleElements: ["IfcRoof","IfcBuildingElementProxy","IfcBeam"] }, { category: "Prefabricated Balcony", buildingSystem: "Balcony", ifcCompatibleElements: ["IfcBuildingElementProxy","IfcSlab"] }, { category: "Pod", buildingSystem: "Pod", ifcCompatibleElements: ["IfcBuildingElementProxy"] }, - { category: "Facade System", buildingSystem: "Facade", ifcCompatibleElements: ["IfcCurtainWall","IfcBuildingElementProxy"] }, + { category: "Facade System", buildingSystem: "Facade", ifcCompatibleElements: ["IfcCurtainWall","IfcBuildingElementProxy","IfcWall"] }, + { category: "Curtain Wall", buildingSystem: "Facade", ifcCompatibleElements: ["IfcCurtainWall","IfcBuildingElementProxy","IfcWall"] }, { category: "Volumetric module", buildingSystem: "Modules", ifcCompatibleElements: ["IfcBuildingElementProxy","IfcWall","IfcSlab","IfcRoof"] }, { category: "Prefabricated Plant", buildingSystem: "Plants", ifcCompatibleElements: ["IfcBuildingElementProxy"] }, { category: "Prefabricated Stairs", buildingSystem: "Stairs", ifcCompatibleElements: ["IfcStair","IfcBuildingElementProxy","IfcRamp"] },