Bitbybit Docs
    Preparing search index...

    Class IFCGeometryBeta

    Describes a model's geometry as a recipe: data that a geometry kernel builds into solids or meshes, one result per element, with the openings of walls and slabs cut through them and each door or window type described once however many times it is placed.

    The recipe stays in the model's units and its Z up; each result is tagged with its element's globalId, type, name and, when its material has a colour, rgba.

    Hierarchy (View Summary)

    Index

    Constructors

    recipes

    Constructors

    recipes

    • Beta

      Describes the geometry of a model's elements as a recipe, ready for a kernel to build.

      Each element with a body becomes one root, placed by its matrix and tagged with its GlobalId; openings are cut from their hosts rather than becoming roots. An element that cannot be described is left out, and geometry.unsupported lists it with the reason.

      Parameters

      Returns Promise<Recipe>

      A recipe with one root per element

      const recipe = await bitbybit.ifc.geometry.recipe({ model });
      console.log(recipe.roots.length, recipe.millimetresPerUnit);
    • Beta

      Lists the elements whose geometry geometry.recipe leaves out, each with what it could not describe, such as a profile type that is not supported yet.

      An element asked for in elements is listed too when it has no body to describe, such as an opening, a storey or an element without a 'Body' representation.

      Parameters

      Returns Promise<GeometryProblemDto[]>

      The elements left out, empty when every one is described

      const problems = await bitbybit.ifc.geometry.unsupported({ model });
      problems.forEach((problem) => console.log(problem.type, problem.message));