@ifc-lite/parser 2.1.9 → 2.2.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/README.md +60 -269
- package/dist/columnar-parser.d.ts.map +1 -1
- package/dist/columnar-parser.js +10 -2
- package/dist/columnar-parser.js.map +1 -1
- package/dist/deterministic-global-id.d.ts +2 -0
- package/dist/deterministic-global-id.d.ts.map +1 -0
- package/dist/deterministic-global-id.js +71 -0
- package/dist/deterministic-global-id.js.map +1 -0
- package/dist/ifc-schema.d.ts +11 -0
- package/dist/ifc-schema.d.ts.map +1 -1
- package/dist/ifc-schema.js +20 -1
- package/dist/ifc-schema.js.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -1
- package/dist/index.js.map +1 -1
- package/dist/on-demand-extractors.d.ts.map +1 -1
- package/dist/on-demand-extractors.js +18 -1
- package/dist/on-demand-extractors.js.map +1 -1
- package/dist/schedule-extractor.d.ts +95 -0
- package/dist/schedule-extractor.d.ts.map +1 -0
- package/dist/schedule-extractor.js +511 -0
- package/dist/schedule-extractor.js.map +1 -0
- package/dist/schedule-serializer.d.ts +57 -0
- package/dist/schedule-serializer.d.ts.map +1 -0
- package/dist/schedule-serializer.js +309 -0
- package/dist/schedule-serializer.js.map +1 -0
- package/package.json +5 -5
|
@@ -0,0 +1,309 @@
|
|
|
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
|
+
import { deterministicGlobalId } from './deterministic-global-id.js';
|
|
5
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
6
|
+
// STEP encoding helpers (kept local — same convention as @ifc-lite/create)
|
|
7
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
8
|
+
function escStr(s) {
|
|
9
|
+
return s.replace(/\\/g, '\\\\').replace(/'/g, "''");
|
|
10
|
+
}
|
|
11
|
+
function optStr(v) {
|
|
12
|
+
return v === undefined || v === null || v === '' ? '$' : `'${escStr(v)}'`;
|
|
13
|
+
}
|
|
14
|
+
function optEnum(v) {
|
|
15
|
+
return v === undefined || v === null || v === '' ? '$' : `.${v}.`;
|
|
16
|
+
}
|
|
17
|
+
function optBool(v) {
|
|
18
|
+
return v === undefined || v === null ? '$' : v ? '.T.' : '.F.';
|
|
19
|
+
}
|
|
20
|
+
function optReal(v) {
|
|
21
|
+
if (v === undefined || v === null || !Number.isFinite(v))
|
|
22
|
+
return '$';
|
|
23
|
+
// Integer-format avoids "1.0" → "1." re-import differences across viewers.
|
|
24
|
+
return Number.isInteger(v) ? `${v}.` : String(v);
|
|
25
|
+
}
|
|
26
|
+
function ownerRef(ownerHistoryId) {
|
|
27
|
+
return ownerHistoryId !== undefined ? `#${ownerHistoryId}` : '$';
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Format seconds as an ISO 8601 duration string suitable for IfcDuration.
|
|
31
|
+
* Prefers the coarsest integer unit that divides cleanly to avoid noisy
|
|
32
|
+
* "PT432000S" style output for round values like "P5D".
|
|
33
|
+
*/
|
|
34
|
+
function secondsToIso8601Duration(seconds) {
|
|
35
|
+
if (!Number.isFinite(seconds) || seconds <= 0)
|
|
36
|
+
return 'PT0S';
|
|
37
|
+
if (seconds % 86_400 === 0)
|
|
38
|
+
return `P${seconds / 86_400}D`;
|
|
39
|
+
if (seconds % 3_600 === 0)
|
|
40
|
+
return `PT${seconds / 3_600}H`;
|
|
41
|
+
if (seconds % 60 === 0)
|
|
42
|
+
return `PT${seconds / 60}M`;
|
|
43
|
+
return `PT${Math.round(seconds)}S`;
|
|
44
|
+
}
|
|
45
|
+
function refList(ids) {
|
|
46
|
+
return ids.length === 0 ? '$' : `(${ids.map(id => `#${id}`).join(',')})`;
|
|
47
|
+
}
|
|
48
|
+
function ensureGlobalId(existing, seed) {
|
|
49
|
+
// Round-tripping should preserve whatever GlobalId the upstream extraction
|
|
50
|
+
// saw, even when it isn't exactly 22 chars (some authoring tools emit
|
|
51
|
+
// shorter ids). Only invent a deterministic value when the input is empty.
|
|
52
|
+
if (existing && existing.length > 0)
|
|
53
|
+
return existing;
|
|
54
|
+
return deterministicGlobalId(seed);
|
|
55
|
+
}
|
|
56
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
57
|
+
// Public — serializeScheduleToStep
|
|
58
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
59
|
+
export function serializeScheduleToStep(data, options) {
|
|
60
|
+
let nextId = options.nextId;
|
|
61
|
+
const lines = [];
|
|
62
|
+
const owner = ownerRef(options.ownerHistoryId);
|
|
63
|
+
const stats = {
|
|
64
|
+
workSchedules: 0,
|
|
65
|
+
tasks: 0,
|
|
66
|
+
taskTimes: 0,
|
|
67
|
+
sequences: 0,
|
|
68
|
+
lagTimes: 0,
|
|
69
|
+
assignsToControl: 0,
|
|
70
|
+
assignsToProcess: 0,
|
|
71
|
+
relNests: 0,
|
|
72
|
+
};
|
|
73
|
+
/** ScheduleTaskInfo.globalId → fresh express ID we just allocated. */
|
|
74
|
+
const taskExpressIdByGlobalId = new Map();
|
|
75
|
+
/** WorkScheduleInfo.globalId → fresh express ID we just allocated. */
|
|
76
|
+
const scheduleExpressIdByGlobalId = new Map();
|
|
77
|
+
// ── 1. Work schedules / work plans ────────────────────────────────
|
|
78
|
+
for (const ws of data.workSchedules) {
|
|
79
|
+
const id = nextId++;
|
|
80
|
+
scheduleExpressIdByGlobalId.set(ws.globalId, id);
|
|
81
|
+
lines.push(buildWorkControl(id, ws, owner));
|
|
82
|
+
stats.workSchedules += 1;
|
|
83
|
+
}
|
|
84
|
+
// ── 2. Task times + tasks ─────────────────────────────────────────
|
|
85
|
+
for (const task of data.tasks) {
|
|
86
|
+
let taskTimeId;
|
|
87
|
+
if (taskHasTimeData(task)) {
|
|
88
|
+
taskTimeId = nextId++;
|
|
89
|
+
lines.push(buildTaskTime(taskTimeId, task));
|
|
90
|
+
stats.taskTimes += 1;
|
|
91
|
+
}
|
|
92
|
+
const id = nextId++;
|
|
93
|
+
taskExpressIdByGlobalId.set(task.globalId, id);
|
|
94
|
+
lines.push(buildTask(id, task, owner, taskTimeId));
|
|
95
|
+
stats.tasks += 1;
|
|
96
|
+
}
|
|
97
|
+
// ── 3. Schedule → tasks (IfcRelAssignsToControl) ──────────────────
|
|
98
|
+
for (const ws of data.workSchedules) {
|
|
99
|
+
const controlId = scheduleExpressIdByGlobalId.get(ws.globalId);
|
|
100
|
+
if (controlId === undefined)
|
|
101
|
+
continue;
|
|
102
|
+
const taskIds = [];
|
|
103
|
+
for (const taskGid of ws.taskGlobalIds) {
|
|
104
|
+
const tid = taskExpressIdByGlobalId.get(taskGid);
|
|
105
|
+
if (tid !== undefined)
|
|
106
|
+
taskIds.push(tid);
|
|
107
|
+
}
|
|
108
|
+
if (taskIds.length === 0)
|
|
109
|
+
continue;
|
|
110
|
+
const relId = nextId++;
|
|
111
|
+
const relGid = deterministicGlobalId(`rel-control|${ws.globalId}`);
|
|
112
|
+
lines.push(`#${relId}=IFCRELASSIGNSTOCONTROL('${relGid}',${owner},$,$,${refList(taskIds)},$,#${controlId});`);
|
|
113
|
+
stats.assignsToControl += 1;
|
|
114
|
+
}
|
|
115
|
+
// ── 4. Task hierarchy (IfcRelNests) ──────────────────────────────
|
|
116
|
+
for (const parent of data.tasks) {
|
|
117
|
+
if (parent.childGlobalIds.length === 0)
|
|
118
|
+
continue;
|
|
119
|
+
const parentId = taskExpressIdByGlobalId.get(parent.globalId);
|
|
120
|
+
if (parentId === undefined)
|
|
121
|
+
continue;
|
|
122
|
+
const childIds = [];
|
|
123
|
+
for (const childGid of parent.childGlobalIds) {
|
|
124
|
+
const cid = taskExpressIdByGlobalId.get(childGid);
|
|
125
|
+
if (cid !== undefined)
|
|
126
|
+
childIds.push(cid);
|
|
127
|
+
}
|
|
128
|
+
if (childIds.length === 0)
|
|
129
|
+
continue;
|
|
130
|
+
const relId = nextId++;
|
|
131
|
+
const relGid = deterministicGlobalId(`rel-nests|${parent.globalId}`);
|
|
132
|
+
lines.push(`#${relId}=IFCRELNESTS('${relGid}',${owner},$,$,#${parentId},${refList(childIds)});`);
|
|
133
|
+
stats.relNests += 1;
|
|
134
|
+
}
|
|
135
|
+
// ── 5. Products → tasks (IfcRelAssignsToProcess) ─────────────────
|
|
136
|
+
for (const task of data.tasks) {
|
|
137
|
+
if (task.productExpressIds.length === 0 && task.productGlobalIds.length === 0)
|
|
138
|
+
continue;
|
|
139
|
+
const taskId = taskExpressIdByGlobalId.get(task.globalId);
|
|
140
|
+
if (taskId === undefined)
|
|
141
|
+
continue;
|
|
142
|
+
const productIds = resolveProductIds(task, options.resolveProductExpressId);
|
|
143
|
+
if (productIds.length === 0)
|
|
144
|
+
continue;
|
|
145
|
+
const relId = nextId++;
|
|
146
|
+
const relGid = deterministicGlobalId(`rel-process|${task.globalId}`);
|
|
147
|
+
lines.push(`#${relId}=IFCRELASSIGNSTOPROCESS('${relGid}',${owner},$,$,${refList(productIds)},$,#${taskId},$);`);
|
|
148
|
+
stats.assignsToProcess += 1;
|
|
149
|
+
}
|
|
150
|
+
// ── 6. Sequences (IfcLagTime + IfcRelSequence) ───────────────────
|
|
151
|
+
for (const seq of data.sequences) {
|
|
152
|
+
const relatingId = taskExpressIdByGlobalId.get(seq.relatingTaskGlobalId);
|
|
153
|
+
const relatedId = taskExpressIdByGlobalId.get(seq.relatedTaskGlobalId);
|
|
154
|
+
if (relatingId === undefined || relatedId === undefined)
|
|
155
|
+
continue;
|
|
156
|
+
// Preserve lag on export even when the upstream extractor only knew the
|
|
157
|
+
// numeric seconds value (e.g. IFC2X3 round-trips where the original
|
|
158
|
+
// IfcDuration string got dropped). We reconstruct an ISO 8601 duration so
|
|
159
|
+
// the emitted IfcLagTime stays schema-valid.
|
|
160
|
+
const lagDuration = seq.timeLagDuration
|
|
161
|
+
?? (seq.timeLagSeconds !== undefined && seq.timeLagSeconds !== 0
|
|
162
|
+
? secondsToIso8601Duration(seq.timeLagSeconds)
|
|
163
|
+
: undefined);
|
|
164
|
+
let lagRef = '$';
|
|
165
|
+
if (lagDuration) {
|
|
166
|
+
const lagId = nextId++;
|
|
167
|
+
lines.push(`#${lagId}=IFCLAGTIME($,$,$,IFCDURATION('${escStr(lagDuration)}'),.WORKTIME.);`);
|
|
168
|
+
lagRef = `#${lagId}`;
|
|
169
|
+
stats.lagTimes += 1;
|
|
170
|
+
}
|
|
171
|
+
const relId = nextId++;
|
|
172
|
+
const seqGid = ensureGlobalId(seq.globalId, `rel-seq|${seq.relatingTaskGlobalId}|${seq.relatedTaskGlobalId}`);
|
|
173
|
+
const seqType = optEnum(seq.sequenceType ?? 'FINISH_START');
|
|
174
|
+
const userDef = optStr(seq.userDefinedSequenceType);
|
|
175
|
+
lines.push(`#${relId}=IFCRELSEQUENCE('${seqGid}',${owner},$,$,#${relatingId},#${relatedId},${lagRef},${seqType},${userDef});`);
|
|
176
|
+
stats.sequences += 1;
|
|
177
|
+
}
|
|
178
|
+
return { lines, nextId, stats };
|
|
179
|
+
}
|
|
180
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
181
|
+
// Internal builders
|
|
182
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
183
|
+
function buildWorkControl(id, ws, owner) {
|
|
184
|
+
const entity = ws.kind === 'WorkPlan' ? 'IFCWORKPLAN' : 'IFCWORKSCHEDULE';
|
|
185
|
+
const globalId = ensureGlobalId(ws.globalId, `ws|${ws.kind}|${ws.name}`);
|
|
186
|
+
// Deterministic fallback ordering — don't touch `Date.now()` here, it would
|
|
187
|
+
// give identical inputs different STEP output and break diff-based export
|
|
188
|
+
// round-trips. Anchor on whatever the upstream extractor already picked,
|
|
189
|
+
// then on the schedule's own start/finish time.
|
|
190
|
+
const creationDate = ws.creationDate ?? ws.startTime ?? ws.finishTime ?? '1970-01-01T00:00:00';
|
|
191
|
+
// `StartTime` is REQUIRED on IfcWorkControl in IFC4 (ENTITY IfcWorkControl
|
|
192
|
+
// ... StartTime : IfcDateTime) — emitting `$` would fail schema
|
|
193
|
+
// validation on strict viewers. Fall back through the same deterministic
|
|
194
|
+
// chain as `creationDate`. `FinishTime` IS optional, but writing a real
|
|
195
|
+
// value is still friendlier than `$` when the schedule's own `startTime`
|
|
196
|
+
// is the only datum we have.
|
|
197
|
+
const startTime = ws.startTime ?? ws.finishTime ?? creationDate;
|
|
198
|
+
const finishTime = ws.finishTime ?? startTime;
|
|
199
|
+
// IFC4: GlobalId, OwnerHistory, Name, Description, ObjectType,
|
|
200
|
+
// Identification, CreationDate, Creators, Purpose,
|
|
201
|
+
// Duration, TotalFloat, StartTime, FinishTime, PredefinedType
|
|
202
|
+
return [
|
|
203
|
+
`#${id}=${entity}(`,
|
|
204
|
+
`'${globalId}',`,
|
|
205
|
+
`${owner},`,
|
|
206
|
+
`'${escStr(ws.name)}',`,
|
|
207
|
+
`${optStr(ws.description)},`,
|
|
208
|
+
`$,`,
|
|
209
|
+
`${optStr(ws.identification)},`,
|
|
210
|
+
`'${escStr(creationDate)}',`,
|
|
211
|
+
`$,`,
|
|
212
|
+
`${optStr(ws.purpose)},`,
|
|
213
|
+
`${optStr(ws.duration)},`,
|
|
214
|
+
`$,`,
|
|
215
|
+
`'${escStr(startTime)}',`,
|
|
216
|
+
`'${escStr(finishTime)}',`,
|
|
217
|
+
`${optEnum(ws.predefinedType)});`,
|
|
218
|
+
].join('');
|
|
219
|
+
}
|
|
220
|
+
function taskHasTimeData(task) {
|
|
221
|
+
const t = task.taskTime;
|
|
222
|
+
if (!t)
|
|
223
|
+
return false;
|
|
224
|
+
return Boolean(t.scheduleStart || t.scheduleFinish || t.scheduleDuration
|
|
225
|
+
|| t.actualStart || t.actualFinish || t.actualDuration
|
|
226
|
+
|| t.earlyStart || t.earlyFinish || t.lateStart || t.lateFinish
|
|
227
|
+
|| t.freeFloat || t.totalFloat || t.remainingTime || t.statusTime
|
|
228
|
+
|| t.durationType || t.isCritical !== undefined || t.completion !== undefined);
|
|
229
|
+
}
|
|
230
|
+
function buildTaskTime(id, task) {
|
|
231
|
+
const t = task.taskTime;
|
|
232
|
+
// IFC4: Name, DataOrigin, UDDataOrigin, DurationType,
|
|
233
|
+
// ScheduleDuration, ScheduleStart, ScheduleFinish,
|
|
234
|
+
// Early/Late Start/Finish, FreeFloat, TotalFloat, IsCritical,
|
|
235
|
+
// StatusTime, ActualDuration, ActualStart, ActualFinish,
|
|
236
|
+
// RemainingTime, Completion
|
|
237
|
+
return [
|
|
238
|
+
`#${id}=IFCTASKTIME(`,
|
|
239
|
+
`$,$,$,`,
|
|
240
|
+
`${optEnum(t.durationType)},`,
|
|
241
|
+
`${optStr(t.scheduleDuration)},`,
|
|
242
|
+
`${optStr(t.scheduleStart)},`,
|
|
243
|
+
`${optStr(t.scheduleFinish)},`,
|
|
244
|
+
`${optStr(t.earlyStart)},`,
|
|
245
|
+
`${optStr(t.earlyFinish)},`,
|
|
246
|
+
`${optStr(t.lateStart)},`,
|
|
247
|
+
`${optStr(t.lateFinish)},`,
|
|
248
|
+
`${optStr(t.freeFloat)},`,
|
|
249
|
+
`${optStr(t.totalFloat)},`,
|
|
250
|
+
`${optBool(t.isCritical)},`,
|
|
251
|
+
`${optStr(t.statusTime)},`,
|
|
252
|
+
`${optStr(t.actualDuration)},`,
|
|
253
|
+
`${optStr(t.actualStart)},`,
|
|
254
|
+
`${optStr(t.actualFinish)},`,
|
|
255
|
+
`${optStr(t.remainingTime)},`,
|
|
256
|
+
`${optReal(t.completion)});`,
|
|
257
|
+
].join('');
|
|
258
|
+
}
|
|
259
|
+
function buildTask(id, task, owner, taskTimeId) {
|
|
260
|
+
const globalId = ensureGlobalId(task.globalId, `task|${task.name}`);
|
|
261
|
+
const taskTimeRef = taskTimeId !== undefined ? `#${taskTimeId}` : '$';
|
|
262
|
+
// IFC4: GlobalId, OwnerHistory, Name, Description, ObjectType,
|
|
263
|
+
// Identification, LongDescription, Status, WorkMethod, IsMilestone,
|
|
264
|
+
// Priority, TaskTime, PredefinedType
|
|
265
|
+
return [
|
|
266
|
+
`#${id}=IFCTASK(`,
|
|
267
|
+
`'${globalId}',`,
|
|
268
|
+
`${owner},`,
|
|
269
|
+
`'${escStr(task.name)}',`,
|
|
270
|
+
`${optStr(task.description)},`,
|
|
271
|
+
`${optStr(task.objectType)},`,
|
|
272
|
+
`${optStr(task.identification)},`,
|
|
273
|
+
`${optStr(task.longDescription)},`,
|
|
274
|
+
`${optStr(task.status)},`,
|
|
275
|
+
`${optStr(task.workMethod)},`,
|
|
276
|
+
`${task.isMilestone ? '.T.' : '.F.'},`,
|
|
277
|
+
`${task.priority !== undefined ? Math.trunc(task.priority) : '$'},`,
|
|
278
|
+
`${taskTimeRef},`,
|
|
279
|
+
`${optEnum(task.predefinedType)});`,
|
|
280
|
+
].join('');
|
|
281
|
+
}
|
|
282
|
+
function resolveProductIds(task, resolver) {
|
|
283
|
+
// Prefer expressIds when they're present and non-zero (the in-memory schedule
|
|
284
|
+
// path). When only globalIds are known (e.g. round-tripping through the SDK
|
|
285
|
+
// boundary), use the caller-supplied resolver to look them up against the
|
|
286
|
+
// current model — falls back to expressIds whenever the resolver returns
|
|
287
|
+
// undefined.
|
|
288
|
+
//
|
|
289
|
+
// Walk the union of both arrays so global-id-only entries (common for
|
|
290
|
+
// generated schedules where expressId was never filled in) still hit the
|
|
291
|
+
// resolver instead of being silently dropped.
|
|
292
|
+
const out = [];
|
|
293
|
+
const count = Math.max(task.productExpressIds.length, task.productGlobalIds.length);
|
|
294
|
+
for (let i = 0; i < count; i++) {
|
|
295
|
+
const expressId = task.productExpressIds[i];
|
|
296
|
+
const globalId = task.productGlobalIds[i];
|
|
297
|
+
if (resolver && globalId) {
|
|
298
|
+
const resolved = resolver(globalId);
|
|
299
|
+
if (resolved !== undefined && resolved > 0) {
|
|
300
|
+
out.push(resolved);
|
|
301
|
+
continue;
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
if (expressId !== undefined && expressId > 0)
|
|
305
|
+
out.push(expressId);
|
|
306
|
+
}
|
|
307
|
+
return out;
|
|
308
|
+
}
|
|
309
|
+
//# sourceMappingURL=schedule-serializer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schedule-serializer.js","sourceRoot":"","sources":["../src/schedule-serializer.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ifc-lite/parser",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.2.0",
|
|
4
4
|
"description": "IFC/STEP parser for IFC-Lite",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"types": "./dist/index.d.ts",
|
|
8
8
|
"exports": {
|
|
9
9
|
".": {
|
|
10
|
-
"
|
|
11
|
-
"
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"import": "./dist/index.js"
|
|
12
12
|
},
|
|
13
13
|
"./browser": {
|
|
14
|
-
"
|
|
15
|
-
"
|
|
14
|
+
"types": "./dist/browser.d.ts",
|
|
15
|
+
"import": "./dist/browser.js"
|
|
16
16
|
}
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|