@ifc-lite/create 2.2.1 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ifc-creator-math.d.ts +14 -0
- package/dist/ifc-creator-math.d.ts.map +1 -1
- package/dist/ifc-creator-math.js +36 -0
- package/dist/ifc-creator-math.js.map +1 -1
- package/dist/ifc-creator-scheduling.d.ts +27 -0
- package/dist/ifc-creator-scheduling.d.ts.map +1 -0
- package/dist/ifc-creator-scheduling.js +131 -0
- package/dist/ifc-creator-scheduling.js.map +1 -0
- package/dist/ifc-creator.d.ts +23 -6
- package/dist/ifc-creator.d.ts.map +1 -1
- package/dist/ifc-creator.js +39 -59
- package/dist/ifc-creator.js.map +1 -1
- package/dist/in-store/anchor.d.ts +16 -1
- package/dist/in-store/anchor.d.ts.map +1 -1
- package/dist/in-store/anchor.js +20 -0
- package/dist/in-store/anchor.js.map +1 -1
- package/dist/in-store/drawing-markup-geometry.d.ts +46 -0
- package/dist/in-store/drawing-markup-geometry.d.ts.map +1 -0
- package/dist/in-store/drawing-markup-geometry.js +80 -0
- package/dist/in-store/drawing-markup-geometry.js.map +1 -0
- package/dist/in-store/drawing-markup-tags.d.ts +29 -0
- package/dist/in-store/drawing-markup-tags.d.ts.map +1 -0
- package/dist/in-store/drawing-markup-tags.js +31 -0
- package/dist/in-store/drawing-markup-tags.js.map +1 -0
- package/dist/in-store/drawing-markup.d.ts +184 -0
- package/dist/in-store/drawing-markup.d.ts.map +1 -0
- package/dist/in-store/drawing-markup.js +196 -0
- package/dist/in-store/drawing-markup.js.map +1 -0
- package/dist/in-store/extract-walls.d.ts +16 -16
- package/dist/in-store/extract-walls.d.ts.map +1 -1
- package/dist/in-store/extract-walls.js +31 -289
- package/dist/in-store/extract-walls.js.map +1 -1
- package/dist/in-store/length-unit-scale.d.ts +34 -0
- package/dist/in-store/length-unit-scale.d.ts.map +1 -0
- package/dist/in-store/length-unit-scale.js +44 -0
- package/dist/in-store/length-unit-scale.js.map +1 -0
- package/dist/in-store/placement-frame.d.ts +132 -0
- package/dist/in-store/placement-frame.d.ts.map +1 -0
- package/dist/in-store/placement-frame.js +266 -0
- package/dist/in-store/placement-frame.js.map +1 -0
- package/dist/in-store/resolve-anchor.d.ts.map +1 -1
- package/dist/in-store/resolve-anchor.js +7 -14
- package/dist/in-store/resolve-anchor.js.map +1 -1
- package/dist/in-store/resolve-source.d.ts.map +1 -1
- package/dist/in-store/resolve-source.js +3 -10
- package/dist/in-store/resolve-source.js.map +1 -1
- package/dist/in-store/spatial-zone.js +1 -1
- package/dist/in-store/storey-plan-frame.d.ts +69 -0
- package/dist/in-store/storey-plan-frame.d.ts.map +1 -0
- package/dist/in-store/storey-plan-frame.js +157 -0
- package/dist/in-store/storey-plan-frame.js.map +1 -0
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/types-scheduling.d.ts +169 -0
- package/dist/types-scheduling.d.ts.map +1 -0
- package/dist/types-scheduling.js +5 -0
- package/dist/types-scheduling.js.map +1 -0
- package/dist/types.d.ts +1 -96
- package/dist/types.d.ts.map +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The storey's own plan frame, expressed in the MODEL'S WORLD FRAME — the whole
|
|
3
|
+
* `IfcLocalPlacement` chain the storey hangs from (storey axis ∘ building ∘
|
|
4
|
+
* site ∘ …), composed, in metres — plus the two folds between that frame and
|
|
5
|
+
* the storey-local one.
|
|
6
|
+
*
|
|
7
|
+
* Why this exists. `addSpaceToStore` authors the outer curve under a placement
|
|
8
|
+
* whose `PlacementRelTo` is the storey's own placement, so every coordinate it
|
|
9
|
+
* is handed is read back through that chain. A producer that already works in
|
|
10
|
+
* world coordinates — anything derived from rendered geometry, which has the
|
|
11
|
+
* chain baked in — must therefore divide the chain out first, or the reader
|
|
12
|
+
* applies it a second time and the room lands a whole site offset and rotation
|
|
13
|
+
* away from the walls it was drawn between. The headless producers
|
|
14
|
+
* (`extractWallSegmentsForStorey`, `existingSpaceFootprintsByStorey`) are
|
|
15
|
+
* storey-local for exactly this reason; these two functions let a world-frame
|
|
16
|
+
* producer join them.
|
|
17
|
+
*
|
|
18
|
+
* Refusing rather than guessing is deliberate in both failure modes below. A
|
|
19
|
+
* subtly turned room is not visible in the tool that drew it: it shows up when
|
|
20
|
+
* somebody else opens the exported file, or when the area is quoted in a
|
|
21
|
+
* schedule.
|
|
22
|
+
*/
|
|
23
|
+
import { type IfcDataStore } from '@ifc-lite/parser';
|
|
24
|
+
import type { Vec2 } from './auto-space-detect.js';
|
|
25
|
+
/**
|
|
26
|
+
* A storey's placement chain reduced to a planar rigid motion in the model's
|
|
27
|
+
* world frame, in metres: `world = R · storeyLocal + origin`, with `R` the
|
|
28
|
+
* rotation whose first column is `axisX`.
|
|
29
|
+
*/
|
|
30
|
+
export interface StoreyPlanFrame {
|
|
31
|
+
/** The storey origin in world-frame metres. */
|
|
32
|
+
origin: Vec2;
|
|
33
|
+
/** The storey's local X axis in the world frame, unit length. */
|
|
34
|
+
axisX: Vec2;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Compose the storey's whole placement chain into a world-frame plan frame, in
|
|
38
|
+
* metres.
|
|
39
|
+
*
|
|
40
|
+
* A storey with NO `ObjectPlacement` — it is OPTIONAL on `IfcProduct`, and real
|
|
41
|
+
* files leave it out — gets the identity, which is the answer rather than a
|
|
42
|
+
* guess: a product with no placement carries no transform, and the authoring
|
|
43
|
+
* side materialises exactly that (an `IfcLocalPlacement` at the origin with no
|
|
44
|
+
* `PlacementRelTo`) before it writes.
|
|
45
|
+
*
|
|
46
|
+
* Returns `null` — refusing, never approximating — when:
|
|
47
|
+
* - the storey itself will not read, so there is nothing to say;
|
|
48
|
+
* - any link in the chain will not read (a missing `RelativePlacement`,
|
|
49
|
+
* `Location`, or a dangling reference), so only part of the chain could be
|
|
50
|
+
* composed and a partial chain moves the geometry by the wrong amount;
|
|
51
|
+
* - any link tips out of plan — an `IfcAxis2Placement3D.Axis` that is not
|
|
52
|
+
* +Z — because a tilted chain has no planar inverse, and projecting it
|
|
53
|
+
* yields a room that is turned rather than one that is obviously wrong;
|
|
54
|
+
* - the chain closes on itself, so composing every link of it reaches no
|
|
55
|
+
* world frame to express the result in.
|
|
56
|
+
*/
|
|
57
|
+
export declare function storeyPlanFrame(store: IfcDataStore, storeyExpressId: number): StoreyPlanFrame | null;
|
|
58
|
+
/**
|
|
59
|
+
* World-frame point → the storey-local frame `addSpaceToStore` writes into:
|
|
60
|
+
* `Rᵀ · (p − origin)`.
|
|
61
|
+
*/
|
|
62
|
+
export declare function toStoreyLocal(frame: StoreyPlanFrame, p: Vec2): Vec2;
|
|
63
|
+
/**
|
|
64
|
+
* Storey-local point → the world frame: `R · p + origin`. The inverse of
|
|
65
|
+
* {@link toStoreyLocal}, for reading storey-local geometry (an authored space
|
|
66
|
+
* footprint) back into a world-frame comparison.
|
|
67
|
+
*/
|
|
68
|
+
export declare function fromStoreyLocal(frame: StoreyPlanFrame, p: Vec2): Vec2;
|
|
69
|
+
//# sourceMappingURL=storey-plan-frame.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storey-plan-frame.d.ts","sourceRoot":"","sources":["../../src/in-store/storey-plan-frame.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAUnD;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,+CAA+C;IAC/C,MAAM,EAAE,IAAI,CAAC;IACb,iEAAiE;IACjE,KAAK,EAAE,IAAI,CAAC;CACb;AAQD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,YAAY,EACnB,eAAe,EAAE,MAAM,GACtB,eAAe,GAAG,IAAI,CA6BxB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,eAAe,EAAE,CAAC,EAAE,IAAI,GAAG,IAAI,CAKnE;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,eAAe,EAAE,CAAC,EAAE,IAAI,GAAG,IAAI,CAMrE"}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
2
|
+
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
3
|
+
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
4
|
+
/**
|
|
5
|
+
* The storey's own plan frame, expressed in the MODEL'S WORLD FRAME — the whole
|
|
6
|
+
* `IfcLocalPlacement` chain the storey hangs from (storey axis ∘ building ∘
|
|
7
|
+
* site ∘ …), composed, in metres — plus the two folds between that frame and
|
|
8
|
+
* the storey-local one.
|
|
9
|
+
*
|
|
10
|
+
* Why this exists. `addSpaceToStore` authors the outer curve under a placement
|
|
11
|
+
* whose `PlacementRelTo` is the storey's own placement, so every coordinate it
|
|
12
|
+
* is handed is read back through that chain. A producer that already works in
|
|
13
|
+
* world coordinates — anything derived from rendered geometry, which has the
|
|
14
|
+
* chain baked in — must therefore divide the chain out first, or the reader
|
|
15
|
+
* applies it a second time and the room lands a whole site offset and rotation
|
|
16
|
+
* away from the walls it was drawn between. The headless producers
|
|
17
|
+
* (`extractWallSegmentsForStorey`, `existingSpaceFootprintsByStorey`) are
|
|
18
|
+
* storey-local for exactly this reason; these two functions let a world-frame
|
|
19
|
+
* producer join them.
|
|
20
|
+
*
|
|
21
|
+
* Refusing rather than guessing is deliberate in both failure modes below. A
|
|
22
|
+
* subtly turned room is not visible in the tool that drew it: it shows up when
|
|
23
|
+
* somebody else opens the exported file, or when the area is quoted in a
|
|
24
|
+
* schedule.
|
|
25
|
+
*/
|
|
26
|
+
import { EntityExtractor } from '@ifc-lite/parser';
|
|
27
|
+
import { safeLengthUnitScale } from './length-unit-scale.js';
|
|
28
|
+
import { numericAttr, readEntity, readVec3, storeyFrameAboveBy, storeyPlacementChain, } from './placement-frame.js';
|
|
29
|
+
/** A placement `Axis` is treated as vertical within this of unit +Z. */
|
|
30
|
+
const VERTICAL_EPS = 1e-6;
|
|
31
|
+
/** The frame of a storey that carries no placement at all: no transform. */
|
|
32
|
+
const IDENTITY_FRAME = { origin: [0, 0], axisX: [1, 0] };
|
|
33
|
+
/**
|
|
34
|
+
* Compose the storey's whole placement chain into a world-frame plan frame, in
|
|
35
|
+
* metres.
|
|
36
|
+
*
|
|
37
|
+
* A storey with NO `ObjectPlacement` — it is OPTIONAL on `IfcProduct`, and real
|
|
38
|
+
* files leave it out — gets the identity, which is the answer rather than a
|
|
39
|
+
* guess: a product with no placement carries no transform, and the authoring
|
|
40
|
+
* side materialises exactly that (an `IfcLocalPlacement` at the origin with no
|
|
41
|
+
* `PlacementRelTo`) before it writes.
|
|
42
|
+
*
|
|
43
|
+
* Returns `null` — refusing, never approximating — when:
|
|
44
|
+
* - the storey itself will not read, so there is nothing to say;
|
|
45
|
+
* - any link in the chain will not read (a missing `RelativePlacement`,
|
|
46
|
+
* `Location`, or a dangling reference), so only part of the chain could be
|
|
47
|
+
* composed and a partial chain moves the geometry by the wrong amount;
|
|
48
|
+
* - any link tips out of plan — an `IfcAxis2Placement3D.Axis` that is not
|
|
49
|
+
* +Z — because a tilted chain has no planar inverse, and projecting it
|
|
50
|
+
* yields a room that is turned rather than one that is obviously wrong;
|
|
51
|
+
* - the chain closes on itself, so composing every link of it reaches no
|
|
52
|
+
* world frame to express the result in.
|
|
53
|
+
*/
|
|
54
|
+
export function storeyPlanFrame(store, storeyExpressId) {
|
|
55
|
+
if (!store.source)
|
|
56
|
+
return null;
|
|
57
|
+
const extractor = new EntityExtractor(store.source);
|
|
58
|
+
const storey = readEntity(store, extractor, undefined, storeyExpressId);
|
|
59
|
+
if (!storey)
|
|
60
|
+
return null;
|
|
61
|
+
if (numericAttr(storey.attributes[5]) === null)
|
|
62
|
+
return IDENTITY_FRAME; // ObjectPlacement
|
|
63
|
+
const chain = storeyPlacementChain(store, extractor, undefined, storeyExpressId);
|
|
64
|
+
if (!chain || chain.size === 0)
|
|
65
|
+
return null;
|
|
66
|
+
for (const placementId of chain.keys()) {
|
|
67
|
+
if (!placementIsInPlan(store, extractor, placementId))
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
// `hops === chain.size` composes every link, so the result is expressed in
|
|
71
|
+
// the frame the topmost link's parent would be in — the world frame, PROVIDED
|
|
72
|
+
// the topmost link has no `PlacementRelTo`. `storeyPlacementChain` also stops
|
|
73
|
+
// on a `PlacementRelTo` it has already visited, so a self-referential chain in
|
|
74
|
+
// malformed IFC ends with a link that still has a parent, and composing every
|
|
75
|
+
// link then lands in no frame at all rather than the world. Refuse.
|
|
76
|
+
const last = [...chain.keys()][chain.size - 1];
|
|
77
|
+
const lastPlacement = readEntity(store, extractor, undefined, last);
|
|
78
|
+
if (lastPlacement && numericAttr(lastPlacement.attributes[0]) !== null)
|
|
79
|
+
return null;
|
|
80
|
+
const frame = storeyFrameAboveBy(store, extractor, undefined, chain, chain.size);
|
|
81
|
+
if (!frame)
|
|
82
|
+
return null;
|
|
83
|
+
// A thrown or degenerate unit lookup is not a reason to author a space a
|
|
84
|
+
// thousand times too far out: the origin below is a translation in file
|
|
85
|
+
// units, so a millimetre model read as metres moves the room by
|
|
86
|
+
// kilometres. Refuse.
|
|
87
|
+
const scale = safeLengthUnitScale(store.source, store.entityIndex, 'storeyPlanFrame');
|
|
88
|
+
if (scale === null)
|
|
89
|
+
return null;
|
|
90
|
+
return { origin: [frame.origin[0] * scale, frame.origin[1] * scale], axisX: frame.axisX };
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* World-frame point → the storey-local frame `addSpaceToStore` writes into:
|
|
94
|
+
* `Rᵀ · (p − origin)`.
|
|
95
|
+
*/
|
|
96
|
+
export function toStoreyLocal(frame, p) {
|
|
97
|
+
const [c, s] = frame.axisX;
|
|
98
|
+
const dx = p[0] - frame.origin[0];
|
|
99
|
+
const dy = p[1] - frame.origin[1];
|
|
100
|
+
return [c * dx + s * dy, -s * dx + c * dy];
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Storey-local point → the world frame: `R · p + origin`. The inverse of
|
|
104
|
+
* {@link toStoreyLocal}, for reading storey-local geometry (an authored space
|
|
105
|
+
* footprint) back into a world-frame comparison.
|
|
106
|
+
*/
|
|
107
|
+
export function fromStoreyLocal(frame, p) {
|
|
108
|
+
const [c, s] = frame.axisX;
|
|
109
|
+
return [
|
|
110
|
+
frame.origin[0] + c * p[0] - s * p[1],
|
|
111
|
+
frame.origin[1] + s * p[0] + c * p[1],
|
|
112
|
+
];
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Whether one `IfcLocalPlacement`'s own axis keeps the chain in plan: its
|
|
116
|
+
* `IfcAxis2Placement3D.Axis` is ABSENT — the +Z default the schema gives it —
|
|
117
|
+
* or is present and reads as +Z.
|
|
118
|
+
*
|
|
119
|
+
* The split at `axisId` is the whole point. Everything above it (the placement,
|
|
120
|
+
* its `RelativePlacement`, that axis placement) is read again by
|
|
121
|
+
* `readOwnPlacementFrame`, which returns null for each, so reporting those as
|
|
122
|
+
* in-plan here does not let them through — the composition refuses instead, and
|
|
123
|
+
* the two checks do not disagree about which failure the caller is told about.
|
|
124
|
+
* `Axis` is the exception: NOTHING else reads it. `readOwnPlacementFrame` takes
|
|
125
|
+
* `Location` and `RefDirection` and never looks at it. So a present `Axis` that
|
|
126
|
+
* dangles, will not parse, or is the zero vector has to be refused HERE or it
|
|
127
|
+
* is silently taken for +Z — which is the guess this function exists to
|
|
128
|
+
* prevent, on the one input where the guess cannot be checked.
|
|
129
|
+
*/
|
|
130
|
+
function placementIsInPlan(store, extractor, placementId) {
|
|
131
|
+
const placement = readEntity(store, extractor, undefined, placementId);
|
|
132
|
+
if (!placement)
|
|
133
|
+
return true;
|
|
134
|
+
const axisPlacementId = numericAttr(placement.attributes[1]); // RelativePlacement
|
|
135
|
+
if (axisPlacementId === null)
|
|
136
|
+
return true;
|
|
137
|
+
const axisPlacement = readEntity(store, extractor, undefined, axisPlacementId);
|
|
138
|
+
if (!axisPlacement)
|
|
139
|
+
return true;
|
|
140
|
+
const axisId = numericAttr(axisPlacement.attributes[1]); // Axis
|
|
141
|
+
if (axisId === null)
|
|
142
|
+
return true; // absent: +Z by default, per IFC
|
|
143
|
+
// Present from here on — any failure to read it is a refusal, not a default.
|
|
144
|
+
const axisDir = readEntity(store, extractor, undefined, axisId);
|
|
145
|
+
if (!axisDir)
|
|
146
|
+
return false;
|
|
147
|
+
const v = readVec3(axisDir.attributes[0]);
|
|
148
|
+
if (!v)
|
|
149
|
+
return false;
|
|
150
|
+
const len = Math.hypot(v[0], v[1], v[2]);
|
|
151
|
+
if (!(len > 0) || !Number.isFinite(len))
|
|
152
|
+
return false;
|
|
153
|
+
return Math.abs(v[0] / len) < VERTICAL_EPS
|
|
154
|
+
&& Math.abs(v[1] / len) < VERTICAL_EPS
|
|
155
|
+
&& v[2] / len > 0;
|
|
156
|
+
}
|
|
157
|
+
//# sourceMappingURL=storey-plan-frame.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storey-plan-frame.js","sourceRoot":"","sources":["../../src/in-store/storey-plan-frame.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -35,12 +35,15 @@ export { addRoofToStore, type RoofInStoreParams, type RoofRectangleParams, type
|
|
|
35
35
|
export { addPlateToStore, type PlateInStoreParams, type PlateRectangleParams, type PlatePolygonParams, type PlateBuildResult } from './in-store/plate.js';
|
|
36
36
|
export { addMemberToStore, type MemberInStoreParams, type MemberBuildResult } from './in-store/member.js';
|
|
37
37
|
export { resolveSpatialAnchor } from './in-store/resolve-anchor.js';
|
|
38
|
+
export { toNativeLength, fromNativeLength } from './in-store/anchor.js';
|
|
38
39
|
export type { SpatialAnchor } from './in-store/anchor.js';
|
|
39
40
|
export { duplicateInStore, type SourceAttributes, type DuplicateInStoreOptions, type DuplicateBuildResult, type Vec3 as DuplicateVec3, } from './in-store/duplicate.js';
|
|
40
41
|
export { resolveDuplicateSource } from './in-store/resolve-source.js';
|
|
41
42
|
export { detectEnclosedAreas, type Vec2 as AutoSpaceVec2, type Segment as AutoSpaceSegment, type DetectedSpace, type DetectOptions as AutoSpaceDetectOptions, } from './in-store/auto-space-detect.js';
|
|
42
43
|
export { extractWallSegmentsForStorey, existingSpaceFootprintsByStorey, type OverlayWallReader, type WallExtractionResult, } from './in-store/extract-walls.js';
|
|
44
|
+
export { storeyPlanFrame, toStoreyLocal, fromStoreyLocal, type StoreyPlanFrame, } from './in-store/storey-plan-frame.js';
|
|
43
45
|
export { generateSpacesFromWalls, offsetRoomFootprint, GENERATED_SPACE_OBJECTTYPE, type GenerateSpacesOptions, type GenerateSpacesResult, type BoundaryMode, } from './in-store/generate-spaces.js';
|
|
44
46
|
export { generateSpaces, listStoreys, type GenerateSpacesAllOptions, type GenerateSpacesAllResult, type GenerateSpacesStoreyResult, type StoreyInfo, } from './in-store/generate-spaces-all.js';
|
|
45
|
-
export
|
|
47
|
+
export { addDrawingMarkupToStore, addMeasureMarkupToStore, addPolygonAreaMarkupToStore, addTextMarkupToStore, addCloudMarkupToStore, DRAWING_MARKUP_OBJECTTYPE, DRAWING_MARKUP_PSET_NAME, DRAWING_MARKUP_QSET_NAME, type DrawingMarkupObjectType, type MarkupAnchor, type MarkupPoint2D, type MeasureMarkupParams, type MeasureMarkupResult, type PolygonAreaMarkupParams, type PolygonAreaMarkupResult, type TextMarkupParams, type TextMarkupResult, type CloudMarkupParams, type CloudMarkupResult, type DrawingMarkupBatchInput, type DrawingMarkupBatchResult, } from './in-store/drawing-markup.js';
|
|
48
|
+
export type { Point3D, Point2D, Placement3D, RectangleProfile, ArbitraryProfile, CircleProfile, CircleHollowProfile, IShapeProfile, LShapeProfile, TShapeProfile, UShapeProfile, CShapeProfile, RectangleHollowProfile, ProfileDef, RectangularOpening, GenericElementParams, AxisElementParams, ElementAttributes, WallParams, SlabParams, ColumnParams, BeamParams, StairParams, RoofParams, GableRoofParams, WallDoorParams, WallWindowParams, DoorParams, WindowParams, RampParams, RailingParams, PlateParams, MemberParams, FootingParams, PileParams, SpaceParams, CurtainWallParams, FurnishingParams, ProxyParams, PropertyType, PropertyDef, PropertySetDef, QuantityKind, QuantityDef, QuantitySetDef, MaterialLayerDef, MaterialDef, ProjectParams, SiteParams, BuildingParams, StoreyParams, IfcWorkScheduleParams, IfcWorkPlanParams, IfcTaskParams, IfcRelSequenceParams, IfcWorkCalendarParams, IfcWorkTimeParams, IfcRecurrencePatternParams, IfcTimePeriodParams, IfcWorkScheduleType, IfcTaskPredefinedType, IfcTaskDurationType, IfcRelSequenceType, IfcWorkCalendarType, IfcRecurrenceType, WorkScheduleParams, WorkPlanParams, TaskParams, SequenceParams, WorkCalendarParams, WorkTimeParams, RecurrencePatternParams, TimePeriodParams, WorkScheduleType, TaskPredefinedType, TaskDurationType, SequenceType, WorkCalendarType, RecurrenceType, CreatedEntity, CreateResult, } from './types.js';
|
|
46
49
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAI9C,OAAO,EAAE,gBAAgB,EAAE,KAAK,mBAAmB,EAAE,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC1G,OAAO,EAAE,cAAc,EAAE,KAAK,iBAAiB,EAAE,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAClG,OAAO,EAAE,cAAc,EAAE,KAAK,iBAAiB,EAAE,KAAK,mBAAmB,EAAE,KAAK,iBAAiB,EAAE,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACpJ,OAAO,EAAE,cAAc,EAAE,KAAK,iBAAiB,EAAE,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAClG,OAAO,EAAE,cAAc,EAAE,KAAK,iBAAiB,EAAE,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAClG,OAAO,EAAE,gBAAgB,EAAE,KAAK,mBAAmB,EAAE,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC1G,OAAO,EAAE,eAAe,EAAE,KAAK,kBAAkB,EAAE,KAAK,oBAAoB,EAAE,KAAK,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC1J,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAC3B,KAAK,eAAe,GACrB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,kBAAkB,EAClB,8BAA8B,EAC9B,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,UAAU,EACf,KAAK,iBAAiB,GACvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,KAAK,iBAAiB,EAAE,KAAK,mBAAmB,EAAE,KAAK,iBAAiB,EAAE,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACpJ,OAAO,EAAE,eAAe,EAAE,KAAK,kBAAkB,EAAE,KAAK,oBAAoB,EAAE,KAAK,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC1J,OAAO,EAAE,gBAAgB,EAAE,KAAK,mBAAmB,EAAE,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC1G,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EACL,gBAAgB,EAChB,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,IAAI,IAAI,aAAa,GAC3B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EACL,mBAAmB,EACnB,KAAK,IAAI,IAAI,aAAa,EAC1B,KAAK,OAAO,IAAI,gBAAgB,EAChC,KAAK,aAAa,EAClB,KAAK,aAAa,IAAI,sBAAsB,GAC7C,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,4BAA4B,EAC5B,+BAA+B,EAC/B,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,GAC1B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,0BAA0B,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,YAAY,GAClB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,cAAc,EACd,WAAW,EACX,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,0BAA0B,EAC/B,KAAK,UAAU,GAChB,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -40,10 +40,13 @@ export { addRoofToStore } from './in-store/roof.js';
|
|
|
40
40
|
export { addPlateToStore } from './in-store/plate.js';
|
|
41
41
|
export { addMemberToStore } from './in-store/member.js';
|
|
42
42
|
export { resolveSpatialAnchor } from './in-store/resolve-anchor.js';
|
|
43
|
+
export { toNativeLength, fromNativeLength } from './in-store/anchor.js';
|
|
43
44
|
export { duplicateInStore, } from './in-store/duplicate.js';
|
|
44
45
|
export { resolveDuplicateSource } from './in-store/resolve-source.js';
|
|
45
46
|
export { detectEnclosedAreas, } from './in-store/auto-space-detect.js';
|
|
46
47
|
export { extractWallSegmentsForStorey, existingSpaceFootprintsByStorey, } from './in-store/extract-walls.js';
|
|
48
|
+
export { storeyPlanFrame, toStoreyLocal, fromStoreyLocal, } from './in-store/storey-plan-frame.js';
|
|
47
49
|
export { generateSpacesFromWalls, offsetRoomFootprint, GENERATED_SPACE_OBJECTTYPE, } from './in-store/generate-spaces.js';
|
|
48
50
|
export { generateSpaces, listStoreys, } from './in-store/generate-spaces-all.js';
|
|
51
|
+
export { addDrawingMarkupToStore, addMeasureMarkupToStore, addPolygonAreaMarkupToStore, addTextMarkupToStore, addCloudMarkupToStore, DRAWING_MARKUP_OBJECTTYPE, DRAWING_MARKUP_PSET_NAME, DRAWING_MARKUP_QSET_NAME, } from './in-store/drawing-markup.js';
|
|
49
52
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,yEAAyE;AACzE,0EAA0E;AAC1E,OAAO,EAAE,gBAAgB,EAAoD,MAAM,sBAAsB,CAAC;AAC1G,OAAO,EAAE,cAAc,EAAgD,MAAM,oBAAoB,CAAC;AAClG,OAAO,EAAE,cAAc,EAAkG,MAAM,oBAAoB,CAAC;AACpJ,OAAO,EAAE,cAAc,EAAgD,MAAM,oBAAoB,CAAC;AAClG,OAAO,EAAE,cAAc,EAAgD,MAAM,oBAAoB,CAAC;AAClG,OAAO,EAAE,gBAAgB,EAAoD,MAAM,sBAAsB,CAAC;AAC1G,OAAO,EAAE,eAAe,EAAsG,MAAM,qBAAqB,CAAC;AAC1J,OAAO,EACL,sBAAsB,EACtB,qBAAqB,GAKtB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,kBAAkB,EAClB,8BAA8B,GAK/B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,cAAc,EAAkG,MAAM,oBAAoB,CAAC;AACpJ,OAAO,EAAE,eAAe,EAAsG,MAAM,qBAAqB,CAAC;AAC1J,OAAO,EAAE,gBAAgB,EAAoD,MAAM,sBAAsB,CAAC;AAC1G,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,yEAAyE;AACzE,0EAA0E;AAC1E,OAAO,EAAE,gBAAgB,EAAoD,MAAM,sBAAsB,CAAC;AAC1G,OAAO,EAAE,cAAc,EAAgD,MAAM,oBAAoB,CAAC;AAClG,OAAO,EAAE,cAAc,EAAkG,MAAM,oBAAoB,CAAC;AACpJ,OAAO,EAAE,cAAc,EAAgD,MAAM,oBAAoB,CAAC;AAClG,OAAO,EAAE,cAAc,EAAgD,MAAM,oBAAoB,CAAC;AAClG,OAAO,EAAE,gBAAgB,EAAoD,MAAM,sBAAsB,CAAC;AAC1G,OAAO,EAAE,eAAe,EAAsG,MAAM,qBAAqB,CAAC;AAC1J,OAAO,EACL,sBAAsB,EACtB,qBAAqB,GAKtB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,kBAAkB,EAClB,8BAA8B,GAK/B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,cAAc,EAAkG,MAAM,oBAAoB,CAAC;AACpJ,OAAO,EAAE,eAAe,EAAsG,MAAM,qBAAqB,CAAC;AAC1J,OAAO,EAAE,gBAAgB,EAAoD,MAAM,sBAAsB,CAAC;AAC1G,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExE,OAAO,EACL,gBAAgB,GAKjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EACL,mBAAmB,GAKpB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,4BAA4B,EAC5B,+BAA+B,GAGhC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,eAAe,EACf,aAAa,EACb,eAAe,GAEhB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,0BAA0B,GAI3B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,cAAc,EACd,WAAW,GAKZ,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,2BAA2B,EAC3B,oBAAoB,EACpB,qBAAqB,EACrB,yBAAyB,EACzB,wBAAwB,EACxB,wBAAwB,GAczB,MAAM,8BAA8B,CAAC"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Scheduling / 4D parameter shapes for `IfcCreator` — IfcWorkSchedule,
|
|
3
|
+
* IfcWorkPlan, IfcTask, IfcRelSequence, and IfcWorkCalendar with the
|
|
4
|
+
* IfcWorkTime / IfcRecurrencePattern / IfcTimePeriod entities it owns.
|
|
5
|
+
*
|
|
6
|
+
* A sibling of `types.ts` rather than a section inside it, so that file
|
|
7
|
+
* stays under its recorded module-size budget (see
|
|
8
|
+
* `scripts/module-size-allowlist.txt`). `types.ts` re-exports everything
|
|
9
|
+
* here, so no consumer's import path changes.
|
|
10
|
+
*/
|
|
11
|
+
export type WorkScheduleType = 'ACTUAL' | 'BASELINE' | 'PLANNED' | 'USERDEFINED' | 'NOTDEFINED';
|
|
12
|
+
/**
|
|
13
|
+
* IFC task-type enum — union of IFC4 and IFC4X3 `IfcTaskTypeEnum` values.
|
|
14
|
+
*
|
|
15
|
+
* IFC4 introduced the first 14. IFC4X3 added 9 more to cover the
|
|
16
|
+
* operations/maintenance lifecycle (ADJUSTMENT through TROUBLESHOOTING).
|
|
17
|
+
* The superset is exposed here so scripts can author schedules for
|
|
18
|
+
* either schema; IFC4 files that try to round-trip the newer values
|
|
19
|
+
* may fail validation on strict toolchains — caller's responsibility.
|
|
20
|
+
*/
|
|
21
|
+
export type TaskPredefinedType = 'ATTENDANCE' | 'CONSTRUCTION' | 'DEMOLITION' | 'DISMANTLE' | 'DISPOSAL' | 'INSTALLATION' | 'LOGISTIC' | 'MAINTENANCE' | 'MOVE' | 'OPERATION' | 'REMOVAL' | 'RENOVATION' | 'USERDEFINED' | 'NOTDEFINED' | 'ADJUSTMENT' | 'CALIBRATION' | 'EMERGENCY' | 'INSPECTION' | 'SAFETY' | 'SHUTDOWN' | 'STARTUP' | 'TESTING' | 'TROUBLESHOOTING';
|
|
22
|
+
export type TaskDurationType = 'WORKTIME' | 'ELAPSEDTIME' | 'NOTDEFINED';
|
|
23
|
+
export type SequenceType = 'START_START' | 'START_FINISH' | 'FINISH_START' | 'FINISH_FINISH' | 'USERDEFINED' | 'NOTDEFINED';
|
|
24
|
+
/**
|
|
25
|
+
* IfcWorkSchedule parameters.
|
|
26
|
+
*
|
|
27
|
+
* Timestamps are ISO 8601 datetimes (e.g. "2024-05-01T08:00:00").
|
|
28
|
+
* `Duration` / `TotalFloat` use ISO 8601 durations (e.g. "P30D", "PT8H").
|
|
29
|
+
*/
|
|
30
|
+
export interface WorkScheduleParams {
|
|
31
|
+
Name: string;
|
|
32
|
+
Description?: string;
|
|
33
|
+
Identification?: string;
|
|
34
|
+
CreationDate?: string;
|
|
35
|
+
StartTime: string;
|
|
36
|
+
FinishTime?: string;
|
|
37
|
+
Purpose?: string;
|
|
38
|
+
Duration?: string;
|
|
39
|
+
TotalFloat?: string;
|
|
40
|
+
PredefinedType?: WorkScheduleType;
|
|
41
|
+
}
|
|
42
|
+
/** IfcWorkPlan parameters — identical shape to IfcWorkSchedule. */
|
|
43
|
+
export interface WorkPlanParams extends WorkScheduleParams {
|
|
44
|
+
}
|
|
45
|
+
/** Canonical IFC-prefixed alias for {@link WorkScheduleParams}. */
|
|
46
|
+
export type IfcWorkScheduleParams = WorkScheduleParams;
|
|
47
|
+
/** Canonical IFC-prefixed alias for {@link WorkPlanParams}. */
|
|
48
|
+
export type IfcWorkPlanParams = WorkPlanParams;
|
|
49
|
+
/** Canonical IFC-prefixed alias for {@link WorkScheduleType}. */
|
|
50
|
+
export type IfcWorkScheduleType = WorkScheduleType;
|
|
51
|
+
/** Canonical IFC-prefixed alias for {@link TaskPredefinedType}. */
|
|
52
|
+
export type IfcTaskPredefinedType = TaskPredefinedType;
|
|
53
|
+
/** Canonical IFC-prefixed alias for {@link TaskDurationType}. */
|
|
54
|
+
export type IfcTaskDurationType = TaskDurationType;
|
|
55
|
+
/**
|
|
56
|
+
* IfcTask parameters.
|
|
57
|
+
*
|
|
58
|
+
* When any of the *Start / *Finish / *Duration / IsCritical / Completion
|
|
59
|
+
* fields is supplied, an IfcTaskTime is created and linked.
|
|
60
|
+
*/
|
|
61
|
+
export interface TaskParams {
|
|
62
|
+
Name: string;
|
|
63
|
+
Description?: string;
|
|
64
|
+
ObjectType?: string;
|
|
65
|
+
Identification?: string;
|
|
66
|
+
LongDescription?: string;
|
|
67
|
+
Status?: string;
|
|
68
|
+
WorkMethod?: string;
|
|
69
|
+
IsMilestone?: boolean;
|
|
70
|
+
Priority?: number;
|
|
71
|
+
PredefinedType?: TaskPredefinedType;
|
|
72
|
+
/** ISO 8601 datetime */
|
|
73
|
+
ScheduleStart?: string;
|
|
74
|
+
ScheduleFinish?: string;
|
|
75
|
+
ScheduleDuration?: string;
|
|
76
|
+
ActualStart?: string;
|
|
77
|
+
ActualFinish?: string;
|
|
78
|
+
ActualDuration?: string;
|
|
79
|
+
EarlyStart?: string;
|
|
80
|
+
EarlyFinish?: string;
|
|
81
|
+
LateStart?: string;
|
|
82
|
+
LateFinish?: string;
|
|
83
|
+
FreeFloat?: string;
|
|
84
|
+
TotalFloat?: string;
|
|
85
|
+
RemainingTime?: string;
|
|
86
|
+
StatusTime?: string;
|
|
87
|
+
IsCritical?: boolean;
|
|
88
|
+
DurationType?: TaskDurationType;
|
|
89
|
+
/** Percent complete 0..100 */
|
|
90
|
+
Completion?: number;
|
|
91
|
+
}
|
|
92
|
+
/** Canonical IFC-prefixed alias for {@link TaskParams}. */
|
|
93
|
+
export type IfcTaskParams = TaskParams;
|
|
94
|
+
export type WorkCalendarType = 'FIRSTSHIFT' | 'SECONDSHIFT' | 'THIRDSHIFT' | 'USERDEFINED' | 'NOTDEFINED';
|
|
95
|
+
export type RecurrenceType = 'DAILY' | 'WEEKLY' | 'MONTHLY_BY_DAY_OF_MONTH' | 'MONTHLY_BY_POSITION' | 'BY_DAY_COUNT' | 'BY_WEEKDAY_COUNT' | 'YEARLY_BY_DAY_OF_MONTH' | 'YEARLY_BY_POSITION';
|
|
96
|
+
/** One StartTime/EndTime pair on an IfcRecurrencePattern (IfcTimePeriod). */
|
|
97
|
+
export interface TimePeriodParams {
|
|
98
|
+
/** IfcTime, e.g. "07:00:00". */
|
|
99
|
+
StartTime: string;
|
|
100
|
+
EndTime: string;
|
|
101
|
+
}
|
|
102
|
+
/** IfcRecurrencePattern — the repeat rule an IfcWorkTime may carry. */
|
|
103
|
+
export interface RecurrencePatternParams {
|
|
104
|
+
RecurrenceType: RecurrenceType;
|
|
105
|
+
/** Days of the month, 1..31. */
|
|
106
|
+
DayComponent?: number[];
|
|
107
|
+
/** Days of the week, 1 (Monday) .. 7 (Sunday). */
|
|
108
|
+
WeekdayComponent?: number[];
|
|
109
|
+
/** Months of the year, 1..12. */
|
|
110
|
+
MonthComponent?: number[];
|
|
111
|
+
Position?: number;
|
|
112
|
+
Interval?: number;
|
|
113
|
+
Occurrences?: number;
|
|
114
|
+
TimePeriods?: TimePeriodParams[];
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* IfcWorkTime — one working (or exception) period on an IfcWorkCalendar.
|
|
118
|
+
* `Start`/`Finish` are IfcDate strings (date only, e.g. "2024-05-01"), NOT
|
|
119
|
+
* the datetimes IfcWorkSchedule uses.
|
|
120
|
+
*/
|
|
121
|
+
export interface WorkTimeParams {
|
|
122
|
+
Name?: string;
|
|
123
|
+
DataOrigin?: string;
|
|
124
|
+
UserDefinedDataOrigin?: string;
|
|
125
|
+
RecurrencePattern?: RecurrencePatternParams;
|
|
126
|
+
Start?: string;
|
|
127
|
+
Finish?: string;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* IfcWorkCalendar parameters. Assign the calendar to tasks or schedules
|
|
131
|
+
* with `addIfcRelAssignsToControl(calendarId, ids)` (or the
|
|
132
|
+
* `assignCalendarToTasks` alias) — IfcWorkCalendar is an IfcControl, so
|
|
133
|
+
* that generic relation already accepts it.
|
|
134
|
+
*/
|
|
135
|
+
export interface WorkCalendarParams {
|
|
136
|
+
Name: string;
|
|
137
|
+
Description?: string;
|
|
138
|
+
ObjectType?: string;
|
|
139
|
+
Identification?: string;
|
|
140
|
+
PredefinedType?: WorkCalendarType;
|
|
141
|
+
WorkingTimes?: WorkTimeParams[];
|
|
142
|
+
ExceptionTimes?: WorkTimeParams[];
|
|
143
|
+
}
|
|
144
|
+
/** Canonical IFC-prefixed alias for {@link WorkCalendarParams}. */
|
|
145
|
+
export type IfcWorkCalendarParams = WorkCalendarParams;
|
|
146
|
+
/** Canonical IFC-prefixed alias for {@link WorkTimeParams}. */
|
|
147
|
+
export type IfcWorkTimeParams = WorkTimeParams;
|
|
148
|
+
/** Canonical IFC-prefixed alias for {@link RecurrencePatternParams}. */
|
|
149
|
+
export type IfcRecurrencePatternParams = RecurrencePatternParams;
|
|
150
|
+
/** Canonical IFC-prefixed alias for {@link TimePeriodParams}. */
|
|
151
|
+
export type IfcTimePeriodParams = TimePeriodParams;
|
|
152
|
+
/** Canonical IFC-prefixed alias for {@link WorkCalendarType}. */
|
|
153
|
+
export type IfcWorkCalendarType = WorkCalendarType;
|
|
154
|
+
/** Canonical IFC-prefixed alias for {@link RecurrenceType}. */
|
|
155
|
+
export type IfcRecurrenceType = RecurrenceType;
|
|
156
|
+
/** IfcRelSequence parameters (predecessor → successor edge). */
|
|
157
|
+
export interface IfcRelSequenceParams {
|
|
158
|
+
SequenceType?: IfcRelSequenceType;
|
|
159
|
+
/** ISO 8601 duration (e.g. "P2D"). Negative durations indicate leads. */
|
|
160
|
+
TimeLag?: string;
|
|
161
|
+
/** Duration type applied to the lag (default WORKTIME). */
|
|
162
|
+
LagDurationType?: TaskDurationType;
|
|
163
|
+
UserDefinedSequenceType?: string;
|
|
164
|
+
}
|
|
165
|
+
/** @deprecated Use {@link IfcRelSequenceParams}. */
|
|
166
|
+
export type SequenceParams = IfcRelSequenceParams;
|
|
167
|
+
/** Canonical alias using the IFC EXPRESS enum name. */
|
|
168
|
+
export type IfcRelSequenceType = SequenceType;
|
|
169
|
+
//# sourceMappingURL=types-scheduling.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types-scheduling.d.ts","sourceRoot":"","sources":["../src/types-scheduling.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types-scheduling.js","sourceRoot":"","sources":["../src/types-scheduling.ts"],"names":[],"mappings":"AAAA;;+DAE+D"}
|
package/dist/types.d.ts
CHANGED
|
@@ -501,102 +501,7 @@ export interface StoreyParams {
|
|
|
501
501
|
Description?: string;
|
|
502
502
|
Elevation: number;
|
|
503
503
|
}
|
|
504
|
-
export type WorkScheduleType
|
|
505
|
-
/**
|
|
506
|
-
* IFC task-type enum — union of IFC4 and IFC4X3 `IfcTaskTypeEnum` values.
|
|
507
|
-
*
|
|
508
|
-
* IFC4 introduced the first 14. IFC4X3 added 9 more to cover the
|
|
509
|
-
* operations/maintenance lifecycle (ADJUSTMENT through TROUBLESHOOTING).
|
|
510
|
-
* The superset is exposed here so scripts can author schedules for
|
|
511
|
-
* either schema; IFC4 files that try to round-trip the newer values
|
|
512
|
-
* may fail validation on strict toolchains — caller's responsibility.
|
|
513
|
-
*/
|
|
514
|
-
export type TaskPredefinedType = 'ATTENDANCE' | 'CONSTRUCTION' | 'DEMOLITION' | 'DISMANTLE' | 'DISPOSAL' | 'INSTALLATION' | 'LOGISTIC' | 'MAINTENANCE' | 'MOVE' | 'OPERATION' | 'REMOVAL' | 'RENOVATION' | 'USERDEFINED' | 'NOTDEFINED' | 'ADJUSTMENT' | 'CALIBRATION' | 'EMERGENCY' | 'INSPECTION' | 'SAFETY' | 'SHUTDOWN' | 'STARTUP' | 'TESTING' | 'TROUBLESHOOTING';
|
|
515
|
-
export type TaskDurationType = 'WORKTIME' | 'ELAPSEDTIME' | 'NOTDEFINED';
|
|
516
|
-
export type SequenceType = 'START_START' | 'START_FINISH' | 'FINISH_START' | 'FINISH_FINISH' | 'USERDEFINED' | 'NOTDEFINED';
|
|
517
|
-
/**
|
|
518
|
-
* IfcWorkSchedule parameters.
|
|
519
|
-
*
|
|
520
|
-
* Timestamps are ISO 8601 datetimes (e.g. "2024-05-01T08:00:00").
|
|
521
|
-
* `Duration` / `TotalFloat` use ISO 8601 durations (e.g. "P30D", "PT8H").
|
|
522
|
-
*/
|
|
523
|
-
export interface WorkScheduleParams {
|
|
524
|
-
Name: string;
|
|
525
|
-
Description?: string;
|
|
526
|
-
Identification?: string;
|
|
527
|
-
CreationDate?: string;
|
|
528
|
-
StartTime: string;
|
|
529
|
-
FinishTime?: string;
|
|
530
|
-
Purpose?: string;
|
|
531
|
-
Duration?: string;
|
|
532
|
-
TotalFloat?: string;
|
|
533
|
-
PredefinedType?: WorkScheduleType;
|
|
534
|
-
}
|
|
535
|
-
/** IfcWorkPlan parameters — identical shape to IfcWorkSchedule. */
|
|
536
|
-
export interface WorkPlanParams extends WorkScheduleParams {
|
|
537
|
-
}
|
|
538
|
-
/** Canonical IFC-prefixed alias for {@link WorkScheduleParams}. */
|
|
539
|
-
export type IfcWorkScheduleParams = WorkScheduleParams;
|
|
540
|
-
/** Canonical IFC-prefixed alias for {@link WorkPlanParams}. */
|
|
541
|
-
export type IfcWorkPlanParams = WorkPlanParams;
|
|
542
|
-
/** Canonical IFC-prefixed alias for {@link WorkScheduleType}. */
|
|
543
|
-
export type IfcWorkScheduleType = WorkScheduleType;
|
|
544
|
-
/** Canonical IFC-prefixed alias for {@link TaskPredefinedType}. */
|
|
545
|
-
export type IfcTaskPredefinedType = TaskPredefinedType;
|
|
546
|
-
/** Canonical IFC-prefixed alias for {@link TaskDurationType}. */
|
|
547
|
-
export type IfcTaskDurationType = TaskDurationType;
|
|
548
|
-
/**
|
|
549
|
-
* IfcTask parameters.
|
|
550
|
-
*
|
|
551
|
-
* When any of the *Start / *Finish / *Duration / IsCritical / Completion
|
|
552
|
-
* fields is supplied, an IfcTaskTime is created and linked.
|
|
553
|
-
*/
|
|
554
|
-
export interface TaskParams {
|
|
555
|
-
Name: string;
|
|
556
|
-
Description?: string;
|
|
557
|
-
ObjectType?: string;
|
|
558
|
-
Identification?: string;
|
|
559
|
-
LongDescription?: string;
|
|
560
|
-
Status?: string;
|
|
561
|
-
WorkMethod?: string;
|
|
562
|
-
IsMilestone?: boolean;
|
|
563
|
-
Priority?: number;
|
|
564
|
-
PredefinedType?: TaskPredefinedType;
|
|
565
|
-
/** ISO 8601 datetime */
|
|
566
|
-
ScheduleStart?: string;
|
|
567
|
-
ScheduleFinish?: string;
|
|
568
|
-
ScheduleDuration?: string;
|
|
569
|
-
ActualStart?: string;
|
|
570
|
-
ActualFinish?: string;
|
|
571
|
-
ActualDuration?: string;
|
|
572
|
-
EarlyStart?: string;
|
|
573
|
-
EarlyFinish?: string;
|
|
574
|
-
LateStart?: string;
|
|
575
|
-
LateFinish?: string;
|
|
576
|
-
FreeFloat?: string;
|
|
577
|
-
TotalFloat?: string;
|
|
578
|
-
RemainingTime?: string;
|
|
579
|
-
StatusTime?: string;
|
|
580
|
-
IsCritical?: boolean;
|
|
581
|
-
DurationType?: TaskDurationType;
|
|
582
|
-
/** Percent complete 0..100 */
|
|
583
|
-
Completion?: number;
|
|
584
|
-
}
|
|
585
|
-
/** Canonical IFC-prefixed alias for {@link TaskParams}. */
|
|
586
|
-
export type IfcTaskParams = TaskParams;
|
|
587
|
-
/** IfcRelSequence parameters (predecessor → successor edge). */
|
|
588
|
-
export interface IfcRelSequenceParams {
|
|
589
|
-
SequenceType?: IfcRelSequenceType;
|
|
590
|
-
/** ISO 8601 duration (e.g. "P2D"). Negative durations indicate leads. */
|
|
591
|
-
TimeLag?: string;
|
|
592
|
-
/** Duration type applied to the lag (default WORKTIME). */
|
|
593
|
-
LagDurationType?: TaskDurationType;
|
|
594
|
-
UserDefinedSequenceType?: string;
|
|
595
|
-
}
|
|
596
|
-
/** @deprecated Use {@link IfcRelSequenceParams}. */
|
|
597
|
-
export type SequenceParams = IfcRelSequenceParams;
|
|
598
|
-
/** Canonical alias using the IFC EXPRESS enum name. */
|
|
599
|
-
export type IfcRelSequenceType = SequenceType;
|
|
504
|
+
export type { WorkScheduleType, TaskPredefinedType, TaskDurationType, SequenceType, WorkCalendarType, RecurrenceType, WorkScheduleParams, WorkPlanParams, TaskParams, IfcRelSequenceParams, SequenceParams, WorkCalendarParams, WorkTimeParams, RecurrencePatternParams, TimePeriodParams, IfcWorkScheduleParams, IfcWorkPlanParams, IfcTaskParams, IfcWorkScheduleType, IfcTaskPredefinedType, IfcTaskDurationType, IfcRelSequenceType, IfcWorkCalendarParams, IfcWorkTimeParams, IfcRecurrencePatternParams, IfcTimePeriodParams, IfcWorkCalendarType, IfcRecurrenceType, } from './types-scheduling.js';
|
|
600
505
|
/** Reference to a created entity (expressId within the created file) */
|
|
601
506
|
export interface CreatedEntity {
|
|
602
507
|
expressId: number;
|