Skip to content

Cores ​

The building's vertical-circulation cores — lift, stair, and shaft shells. Read the cores in the scene and test whether a space is a core element. Accessed via snaptrude.program.cores.

Both methods are read-only host API calls that return Promises. list never throws for an empty building — it returns an empty cores array. Nothing in this namespace mutates the model.

At a glance ​

MethodWhat it doesMutates?
list()List the cores in the building—
isCore(id)Whether a space is a core element—

Types ​

PluginProgramCore ​

A circulation core element in the building.

PropertyTypeDescription
idstringComponent id of the core element
groupIdstringId of the core group this element belongs to
storeynumberStorey (floor number) the element sits on

Functions ​

list() ​

List the cores currently in the building, with each core's id, core group, and storey.

  • Returns: { cores: PluginProgramCore[] } — empty when there are none.
ts
const { cores } = await snaptrude.program.cores.list();
for (const core of cores) console.log(core.id, core.groupId, core.storey);

isCore(id) ​

Test whether a space is a circulation core element.

  • Parameters:
    • id: string — the id of the space to test
  • Returns: boolean — true if the space is a core element.
ts
const isCore = await snaptrude.program.cores.isCore("sp_1");
console.log(isCore ? "circulation core" : "not a core");

Errors ​

Failed calls reject with a typed PluginError — see Error Handling. This namespace has no specific error conditions: list and isCore are total reads — list returns an empty array for a building with no cores, and isCore returns false for an unknown id.

There is no cores.create on this surface — core generation is geometry-owned and is not exposed here; calling it rejects with METHOD_NOT_FOUND.