@ifc-lite/parser 9.2.0 → 9.4.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 +31 -0
- package/dist/abort-error.d.ts +7 -0
- package/dist/abort-error.d.ts.map +1 -0
- package/dist/abort-error.js +17 -0
- package/dist/abort-error.js.map +1 -0
- package/dist/classification-overlay.d.ts +13 -0
- package/dist/classification-overlay.d.ts.map +1 -0
- package/dist/classification-overlay.js +65 -0
- package/dist/classification-overlay.js.map +1 -0
- package/dist/classification-resolver.d.ts +13 -9
- package/dist/classification-resolver.d.ts.map +1 -1
- package/dist/classification-resolver.js +109 -74
- package/dist/classification-resolver.js.map +1 -1
- package/dist/columnar-parser-attributes.d.ts +1 -1
- package/dist/columnar-parser-attributes.d.ts.map +1 -1
- package/dist/columnar-parser-attributes.js +16 -6
- package/dist/columnar-parser-attributes.js.map +1 -1
- package/dist/columnar-parser-root-attributes.d.ts +15 -1
- package/dist/columnar-parser-root-attributes.d.ts.map +1 -1
- package/dist/columnar-parser-root-attributes.js +26 -11
- package/dist/columnar-parser-root-attributes.js.map +1 -1
- package/dist/columnar-parser.d.ts +9 -8
- package/dist/columnar-parser.d.ts.map +1 -1
- package/dist/columnar-parser.js +11 -23
- package/dist/columnar-parser.js.map +1 -1
- package/dist/current-occurrence-quantities.d.ts +13 -0
- package/dist/current-occurrence-quantities.d.ts.map +1 -0
- package/dist/current-occurrence-quantities.js +69 -0
- package/dist/current-occurrence-quantities.js.map +1 -0
- package/dist/current-project-units.d.ts +11 -0
- package/dist/current-project-units.d.ts.map +1 -0
- package/dist/current-project-units.js +41 -0
- package/dist/current-project-units.js.map +1 -0
- package/dist/current-type-quantities.d.ts +13 -0
- package/dist/current-type-quantities.d.ts.map +1 -0
- package/dist/current-type-quantities.js +274 -0
- package/dist/current-type-quantities.js.map +1 -0
- package/dist/data-store-transport.d.ts +1 -0
- package/dist/data-store-transport.d.ts.map +1 -1
- package/dist/data-store-transport.js +2 -0
- package/dist/data-store-transport.js.map +1 -1
- package/dist/document-resolver.d.ts +23 -0
- package/dist/document-resolver.d.ts.map +1 -0
- package/dist/document-resolver.js +122 -0
- package/dist/document-resolver.js.map +1 -0
- package/dist/effective-entity-record.d.ts +3 -2
- package/dist/effective-entity-record.d.ts.map +1 -1
- package/dist/effective-entity-record.js +5 -5
- package/dist/effective-entity-record.js.map +1 -1
- package/dist/effective-metadata-record.d.ts +23 -0
- package/dist/effective-metadata-record.d.ts.map +1 -0
- package/dist/effective-metadata-record.js +50 -0
- package/dist/effective-metadata-record.js.map +1 -0
- package/dist/entity-scanner.d.ts +6 -8
- package/dist/entity-scanner.d.ts.map +1 -1
- package/dist/entity-scanner.js +26 -13
- package/dist/entity-scanner.js.map +1 -1
- package/dist/ifc-schema.d.ts +2 -1
- package/dist/ifc-schema.d.ts.map +1 -1
- package/dist/ifc-schema.js +4 -3
- package/dist/ifc-schema.js.map +1 -1
- package/dist/index.d.ts +8 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -10
- package/dist/index.js.map +1 -1
- package/dist/length-unit-source.d.ts +25 -0
- package/dist/length-unit-source.d.ts.map +1 -0
- package/dist/length-unit-source.js +14 -0
- package/dist/length-unit-source.js.map +1 -0
- package/dist/material-definitions.d.ts +10 -0
- package/dist/material-definitions.d.ts.map +1 -0
- package/dist/material-definitions.js +224 -0
- package/dist/material-definitions.js.map +1 -0
- package/dist/material-overlay.d.ts +38 -0
- package/dist/material-overlay.d.ts.map +1 -0
- package/dist/material-overlay.js +146 -0
- package/dist/material-overlay.js.map +1 -0
- package/dist/material-properties-extractor.d.ts +2 -11
- package/dist/material-properties-extractor.d.ts.map +1 -1
- package/dist/material-properties-extractor.js +21 -38
- package/dist/material-properties-extractor.js.map +1 -1
- package/dist/material-resolver.d.ts +6 -4
- package/dist/material-resolver.d.ts.map +1 -1
- package/dist/material-resolver.js +176 -386
- package/dist/material-resolver.js.map +1 -1
- package/dist/measure-unit-scale.d.ts +2 -0
- package/dist/measure-unit-scale.d.ts.map +1 -1
- package/dist/measure-unit-scale.js +7 -1
- package/dist/measure-unit-scale.js.map +1 -1
- package/dist/metadata-edit-value.d.ts +4 -0
- package/dist/metadata-edit-value.d.ts.map +1 -0
- package/dist/metadata-edit-value.js +57 -0
- package/dist/metadata-edit-value.js.map +1 -0
- package/dist/native-metadata-public.d.ts +9 -0
- package/dist/native-metadata-public.d.ts.map +1 -0
- package/dist/native-metadata-public.js +12 -0
- package/dist/native-metadata-public.js.map +1 -0
- package/dist/occurrence-quantity-read-error.d.ts +7 -0
- package/dist/occurrence-quantity-read-error.d.ts.map +1 -0
- package/dist/occurrence-quantity-read-error.js +13 -0
- package/dist/occurrence-quantity-read-error.js.map +1 -0
- package/dist/on-demand-extractors.d.ts +3 -38
- package/dist/on-demand-extractors.d.ts.map +1 -1
- package/dist/on-demand-extractors.js +4 -184
- package/dist/on-demand-extractors.js.map +1 -1
- package/dist/parser-worker-trace.d.ts +18 -0
- package/dist/parser-worker-trace.d.ts.map +1 -0
- package/dist/parser-worker-trace.js +32 -0
- package/dist/parser-worker-trace.js.map +1 -0
- package/dist/parser.worker.d.ts.map +1 -1
- package/dist/parser.worker.js +34 -13
- package/dist/parser.worker.js.map +1 -1
- package/dist/project-units.d.ts +17 -4
- package/dist/project-units.d.ts.map +1 -1
- package/dist/project-units.js +104 -37
- package/dist/project-units.js.map +1 -1
- package/dist/property-complex-value.d.ts.map +1 -1
- package/dist/property-complex-value.js +1 -0
- package/dist/property-complex-value.js.map +1 -1
- package/dist/property-unit.d.ts +2 -0
- package/dist/property-unit.d.ts.map +1 -1
- package/dist/property-unit.js +4 -1
- package/dist/property-unit.js.map +1 -1
- package/dist/property-value-parser.d.ts +14 -1
- package/dist/property-value-parser.d.ts.map +1 -1
- package/dist/property-value-parser.js +42 -22
- package/dist/property-value-parser.js.map +1 -1
- package/dist/quantity-collect.d.ts +14 -2
- package/dist/quantity-collect.d.ts.map +1 -1
- package/dist/quantity-collect.js +19 -8
- package/dist/quantity-collect.js.map +1 -1
- package/dist/relationship-schema-slots.d.ts.map +1 -1
- package/dist/relationship-schema-slots.js +2 -1
- package/dist/relationship-schema-slots.js.map +1 -1
- package/dist/scan-worker-inline.d.ts.map +1 -1
- package/dist/scan-worker-inline.js +2 -1
- package/dist/scan-worker-inline.js.map +1 -1
- package/dist/schedule-extractor.d.ts +2 -1
- package/dist/schedule-extractor.d.ts.map +1 -1
- package/dist/schedule-extractor.js +11 -2
- package/dist/schedule-extractor.js.map +1 -1
- package/dist/schedule-serializer-builders.d.ts +7 -0
- package/dist/schedule-serializer-builders.d.ts.map +1 -1
- package/dist/schedule-serializer-builders.js +17 -17
- package/dist/schedule-serializer-builders.js.map +1 -1
- package/dist/schedule-serializer.d.ts +8 -3
- package/dist/schedule-serializer.d.ts.map +1 -1
- package/dist/schedule-serializer.js +36 -1
- package/dist/schedule-serializer.js.map +1 -1
- package/dist/schedule-task-products.d.ts +38 -0
- package/dist/schedule-task-products.d.ts.map +1 -0
- package/dist/schedule-task-products.js +69 -0
- package/dist/schedule-task-products.js.map +1 -0
- package/dist/schedule-types.d.ts +11 -1
- package/dist/schedule-types.d.ts.map +1 -1
- package/dist/schedule-types.js.map +1 -1
- package/dist/schema-entity-name.d.ts +14 -0
- package/dist/schema-entity-name.d.ts.map +1 -0
- package/dist/schema-entity-name.js +34 -0
- package/dist/schema-entity-name.js.map +1 -0
- package/dist/schema-exports.d.ts +7 -0
- package/dist/schema-exports.d.ts.map +1 -0
- package/dist/schema-exports.js +10 -0
- package/dist/schema-exports.js.map +1 -0
- package/dist/source-project-length-unit.d.ts +53 -0
- package/dist/source-project-length-unit.d.ts.map +1 -0
- package/dist/source-project-length-unit.js +201 -0
- package/dist/source-project-length-unit.js.map +1 -0
- package/dist/structural-extractor.js +2 -2
- package/dist/structural-extractor.js.map +1 -1
- package/dist/structural-load-extractor.d.ts +9 -3
- package/dist/structural-load-extractor.d.ts.map +1 -1
- package/dist/structural-load-extractor.js +26 -20
- package/dist/structural-load-extractor.js.map +1 -1
- package/dist/structural-step-values.d.ts +0 -9
- package/dist/structural-step-values.d.ts.map +1 -1
- package/dist/structural-step-values.js +13 -1
- package/dist/structural-step-values.js.map +1 -1
- package/dist/type-own-quantity-source.d.ts +37 -0
- package/dist/type-own-quantity-source.d.ts.map +1 -0
- package/dist/type-own-quantity-source.js +204 -0
- package/dist/type-own-quantity-source.js.map +1 -0
- package/dist/unit-extractor.d.ts +13 -0
- package/dist/unit-extractor.d.ts.map +1 -1
- package/dist/unit-extractor.js +32 -29
- package/dist/unit-extractor.js.map +1 -1
- package/dist/worker-parser.d.ts +7 -0
- package/dist/worker-parser.d.ts.map +1 -1
- package/dist/worker-parser.js +14 -16
- package/dist/worker-parser.js.map +1 -1
- package/package.json +6 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"material-resolver.js","sourceRoot":"","sources":["../src/material-resolver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"material-resolver.js","sourceRoot":"","sources":["../src/material-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,8 @@ import type { ProjectUnits } from './project-units.js';
|
|
|
20
20
|
* project-scoped unit (a label, an identifier, a dimensionless ratio) resolves
|
|
21
21
|
* no unit and passes through unscaled, same as a value with no `dataType` at
|
|
22
22
|
* all — this function is a no-op for every property it should not touch.
|
|
23
|
+
* A unit with an additive SI offset (`IfcConversionBasedUnitWithOffset`, °F)
|
|
24
|
+
* applies it too, so 68 °F scales to 293.15 K.
|
|
23
25
|
*/
|
|
24
26
|
export declare function scaleMeasureValue(value: unknown, dataType: string | undefined, projectUnits: ProjectUnits): unknown;
|
|
25
27
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"measure-unit-scale.d.ts","sourceRoot":"","sources":["../src/measure-unit-scale.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD
|
|
1
|
+
{"version":3,"file":"measure-unit-scale.d.ts","sourceRoot":"","sources":["../src/measure-unit-scale.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,YAAY,EAAE,YAAY,GACzB,OAAO,CAMT;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,YAAY,EAAE,YAAY,GACzB,OAAO,CAGT"}
|
|
@@ -22,12 +22,18 @@
|
|
|
22
22
|
* project-scoped unit (a label, an identifier, a dimensionless ratio) resolves
|
|
23
23
|
* no unit and passes through unscaled, same as a value with no `dataType` at
|
|
24
24
|
* all — this function is a no-op for every property it should not touch.
|
|
25
|
+
* A unit with an additive SI offset (`IfcConversionBasedUnitWithOffset`, °F)
|
|
26
|
+
* applies it too, so 68 °F scales to 293.15 K.
|
|
25
27
|
*/
|
|
26
28
|
export function scaleMeasureValue(value, dataType, projectUnits) {
|
|
27
29
|
if (typeof value !== 'number' || !dataType)
|
|
28
30
|
return value;
|
|
29
31
|
const unit = projectUnits.unitForMeasure(dataType);
|
|
30
|
-
|
|
32
|
+
if (!unit)
|
|
33
|
+
return value;
|
|
34
|
+
if (unit.siOffset !== undefined)
|
|
35
|
+
return value * unit.siScale + unit.siOffset;
|
|
36
|
+
return unit.siScale !== 1 ? value * unit.siScale : value;
|
|
31
37
|
}
|
|
32
38
|
/**
|
|
33
39
|
* Round a base-SI-scaled numeric value to 4 decimal places, same precision the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"measure-unit-scale.js","sourceRoot":"","sources":["../src/measure-unit-scale.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAI/D
|
|
1
|
+
{"version":3,"file":"measure-unit-scale.js","sourceRoot":"","sources":["../src/measure-unit-scale.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAI/D;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,iBAAiB,CAC/B,KAAc,EACd,QAA4B,EAC5B,YAA0B;IAE1B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IACzD,MAAM,IAAI,GAAG,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IACnD,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;QAAE,OAAO,KAAK,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC7E,OAAO,IAAI,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;AAC3D,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;AACxE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CACjC,KAAc,EACd,QAA4B,EAC5B,YAA0B;IAE1B,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;IAChE,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACpE,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/** Native edit values as the STEP reader observes them after serialization (#7195). */
|
|
2
|
+
export declare function positionalMetadataValue(value: unknown): unknown;
|
|
3
|
+
export declare function namedMetadataValue(value: string, type: string, name: string, schema: string | undefined): unknown;
|
|
4
|
+
//# sourceMappingURL=metadata-edit-value.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata-edit-value.d.ts","sourceRoot":"","sources":["../src/metadata-edit-value.ts"],"names":[],"mappings":"AASA,uFAAuF;AACvF,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAiB/D;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAmBjH"}
|
|
@@ -0,0 +1,57 @@
|
|
|
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 { getAttributeXsdTypes } from '@ifc-lite/data';
|
|
5
|
+
import { getReference } from './attribute-helpers.js';
|
|
6
|
+
import { getAttributeTypeForSchema } from './ifc-schema.js';
|
|
7
|
+
import { getSchemaRegistryForVersion } from './generated/schema-registry-by-version.js';
|
|
8
|
+
/** Native edit values as the STEP reader observes them after serialization (#7195). */
|
|
9
|
+
export function positionalMetadataValue(value) {
|
|
10
|
+
if (typeof value === 'number')
|
|
11
|
+
return Number.isFinite(value) ? value : null;
|
|
12
|
+
if (value !== null && typeof value === 'object' && !Array.isArray(value)) {
|
|
13
|
+
if ('real' in value)
|
|
14
|
+
return typeof value.real === 'number' && Number.isFinite(value.real) ? value.real : null;
|
|
15
|
+
if ('typed' in value && value.typed !== null && typeof value.typed === 'object'
|
|
16
|
+
&& 'type' in value.typed && 'value' in value.typed && typeof value.typed.type === 'string') {
|
|
17
|
+
return [value.typed.type.toUpperCase(), value.typed.value];
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
if (typeof value !== 'string')
|
|
21
|
+
return value;
|
|
22
|
+
const token = value.trim();
|
|
23
|
+
if (token === '$')
|
|
24
|
+
return null;
|
|
25
|
+
if (token === '*')
|
|
26
|
+
return '*';
|
|
27
|
+
if (/^\.[A-Z0-9_]+\.$/i.test(token))
|
|
28
|
+
return token.toUpperCase();
|
|
29
|
+
// Public '#id' references become numeric source references, including in
|
|
30
|
+
// positional STRING slots: only named STRING edits force literal quoting.
|
|
31
|
+
return /^#\d+$/.test(token) ? getReference(token) ?? value : value;
|
|
32
|
+
}
|
|
33
|
+
export function namedMetadataValue(value, type, name, schema) {
|
|
34
|
+
const version = schema === 'IFC2X3' ? 'IFC2X3' : schema?.startsWith('IFC4X3') ? 'IFC4X3' : 'IFC4';
|
|
35
|
+
const declared = getAttributeTypeForSchema(type, name, schema);
|
|
36
|
+
const registry = getSchemaRegistryForVersion(version);
|
|
37
|
+
if (declared && Object.hasOwn(registry.enums, declared)) {
|
|
38
|
+
const token = value.trim();
|
|
39
|
+
if (token === '$' || token === '')
|
|
40
|
+
return null;
|
|
41
|
+
if (token === '*')
|
|
42
|
+
return '*';
|
|
43
|
+
return `.${token.replace(/^\.|\.$/g, '').toUpperCase()}.`;
|
|
44
|
+
}
|
|
45
|
+
const xsd = getAttributeXsdTypes(version, type, name);
|
|
46
|
+
if (xsd?.includes('xs:double') && !xsd.includes('xs:integer')) {
|
|
47
|
+
const token = value.trim();
|
|
48
|
+
if (token === '')
|
|
49
|
+
return null;
|
|
50
|
+
const number = Number(token);
|
|
51
|
+
if (Number.isFinite(number))
|
|
52
|
+
return number;
|
|
53
|
+
}
|
|
54
|
+
// Native named STRING overrides preserve whitespace and explicit empty text.
|
|
55
|
+
return value === '$' ? null : value;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=metadata-edit-value.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata-edit-value.js","sourceRoot":"","sources":["../src/metadata-edit-value.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** The existing native metadata surface, with explicit current type quantity coverage. */
|
|
2
|
+
export { resolveEffectiveEntityRecord, type EffectiveEntityRecord, type EntityRecordEdits } from './effective-entity-record.js';
|
|
3
|
+
export { effectiveMetadataRecord } from './effective-metadata-record.js';
|
|
4
|
+
export { resolveEffectiveRelationshipOverlay, effectiveRelationshipEdges, type EffectiveRelationship, type EffectiveRelationshipOverlay, type RelationshipOverlayReader } from './effective-relationship-overlay.js';
|
|
5
|
+
export { effectiveSpatialMemberIds, type EffectiveSpatialContext } from './effective-spatial-members.js';
|
|
6
|
+
export { effectiveStoreyId } from './effective-storey.js';
|
|
7
|
+
export { readCurrentTypeQuantities, type CurrentTypeQuantityResult } from './current-type-quantities.js';
|
|
8
|
+
export { readCurrentProjectUnits, type CurrentProjectUnitResult } from './current-project-units.js';
|
|
9
|
+
//# sourceMappingURL=native-metadata-public.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native-metadata-public.d.ts","sourceRoot":"","sources":["../src/native-metadata-public.ts"],"names":[],"mappings":"AAIA,0FAA0F;AAC1F,OAAO,EAAE,4BAA4B,EAAE,KAAK,qBAAqB,EAAE,KAAK,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAChI,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,mCAAmC,EAAE,0BAA0B,EAAE,KAAK,qBAAqB,EAAE,KAAK,4BAA4B,EAAE,KAAK,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AACrN,OAAO,EAAE,yBAAyB,EAAE,KAAK,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzG,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,KAAK,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AACzG,OAAO,EAAE,uBAAuB,EAAE,KAAK,wBAAwB,EAAE,MAAM,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
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
|
+
/** The existing native metadata surface, with explicit current type quantity coverage. */
|
|
5
|
+
export { resolveEffectiveEntityRecord } from './effective-entity-record.js';
|
|
6
|
+
export { effectiveMetadataRecord } from './effective-metadata-record.js';
|
|
7
|
+
export { resolveEffectiveRelationshipOverlay, effectiveRelationshipEdges } from './effective-relationship-overlay.js';
|
|
8
|
+
export { effectiveSpatialMemberIds } from './effective-spatial-members.js';
|
|
9
|
+
export { effectiveStoreyId } from './effective-storey.js';
|
|
10
|
+
export { readCurrentTypeQuantities } from './current-type-quantities.js';
|
|
11
|
+
export { readCurrentProjectUnits } from './current-project-units.js';
|
|
12
|
+
//# sourceMappingURL=native-metadata-public.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native-metadata-public.js","sourceRoot":"","sources":["../src/native-metadata-public.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D,0FAA0F;AAC1F,OAAO,EAAE,4BAA4B,EAAsD,MAAM,8BAA8B,CAAC;AAChI,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,mCAAmC,EAAE,0BAA0B,EAAiG,MAAM,qCAAqC,CAAC;AACrN,OAAO,EAAE,yBAAyB,EAAgC,MAAM,gCAAgC,CAAC;AACzG,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAkC,MAAM,8BAA8B,CAAC;AACzG,OAAO,EAAE,uBAAuB,EAAiC,MAAM,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** A current native occurrence quantity inventory could not be read completely.
|
|
2
|
+
* An empty array means verified absence; this refusal must remain distinguishable
|
|
3
|
+
* to consumers that display, export or aggregate the current quantities. */
|
|
4
|
+
export declare class OccurrenceQuantityReadError extends Error {
|
|
5
|
+
constructor(reason: string);
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=occurrence-quantity-read-error.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"occurrence-quantity-read-error.d.ts","sourceRoot":"","sources":["../src/occurrence-quantity-read-error.ts"],"names":[],"mappings":"AAIA;;4EAE4E;AAC5E,qBAAa,2BAA4B,SAAQ,KAAK;gBACtC,MAAM,EAAE,MAAM;CAI7B"}
|
|
@@ -0,0 +1,13 @@
|
|
|
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
|
+
/** A current native occurrence quantity inventory could not be read completely.
|
|
5
|
+
* An empty array means verified absence; this refusal must remain distinguishable
|
|
6
|
+
* to consumers that display, export or aggregate the current quantities. */
|
|
7
|
+
export class OccurrenceQuantityReadError extends Error {
|
|
8
|
+
constructor(reason) {
|
|
9
|
+
super(reason);
|
|
10
|
+
this.name = 'OccurrenceQuantityReadError';
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=occurrence-quantity-read-error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"occurrence-quantity-read-error.js","sourceRoot":"","sources":["../src/occurrence-quantity-read-error.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;4EAE4E;AAC5E,MAAM,OAAO,2BAA4B,SAAQ,KAAK;IAClD,YAAY,MAAc;QACtB,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAC;IAC9C,CAAC;CACJ"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { EntityExtractor } from './entity-extractor.js';
|
|
9
9
|
import type { IfcDataStore } from './columnar-parser.js';
|
|
10
|
-
import {
|
|
10
|
+
import type { CollectedQuantity } from './quantity-collect.js';
|
|
11
11
|
import type { GeoreferenceInfo } from './georef-extractor.js';
|
|
12
12
|
import { type EntityRelationships } from './exact-relationship-edges.js';
|
|
13
13
|
export type { EntityRelationships } from './exact-relationship-edges.js';
|
|
@@ -44,19 +44,7 @@ export interface TypeQuantityInfo {
|
|
|
44
44
|
quantities: CollectedQuantity[];
|
|
45
45
|
}>;
|
|
46
46
|
}
|
|
47
|
-
|
|
48
|
-
* Structured document info from IFC document references.
|
|
49
|
-
*/
|
|
50
|
-
export interface DocumentInfo {
|
|
51
|
-
name?: string;
|
|
52
|
-
description?: string;
|
|
53
|
-
location?: string;
|
|
54
|
-
identification?: string;
|
|
55
|
-
purpose?: string;
|
|
56
|
-
intendedUse?: string;
|
|
57
|
-
revision?: string;
|
|
58
|
-
confidentiality?: string;
|
|
59
|
-
}
|
|
47
|
+
export { extractDocumentsOnDemand, type DocumentInfo } from './document-resolver.js';
|
|
60
48
|
export type { GeoreferenceInfo as GeorefInfo };
|
|
61
49
|
export { parsePropertyValue, extractNumericValue, resolveComplexPropertyValue, parsePropertyValueWithComplex, } from './property-value-parser.js';
|
|
62
50
|
import { type ExtractedProperty } from './property-value-parser.js';
|
|
@@ -84,29 +72,7 @@ export declare function extractTypeEntityOwnProperties(store: IfcDataStore, type
|
|
|
84
72
|
globalId?: string;
|
|
85
73
|
properties: Array<ExtractedProperty>;
|
|
86
74
|
}>;
|
|
87
|
-
|
|
88
|
-
* Extract quantity sets (IfcElementQuantity) from a list of set IDs using the
|
|
89
|
-
* entity index. The quantity counterpart of {@link extractPsetsFromIds}: it
|
|
90
|
-
* skips anything that is not an IFCELEMENTQUANTITY (e.g. property sets that
|
|
91
|
-
* share the HasPropertySets list on a type).
|
|
92
|
-
*/
|
|
93
|
-
export declare function extractQsetsFromIds(store: IfcDataStore, extractor: EntityExtractor, qsetIds: number[]): Array<{
|
|
94
|
-
name: string;
|
|
95
|
-
globalId?: string;
|
|
96
|
-
quantities: CollectedQuantity[];
|
|
97
|
-
}>;
|
|
98
|
-
/**
|
|
99
|
-
* Extract type-level quantities for a single entity ON-DEMAND.
|
|
100
|
-
* Finds the element's type via IfcRelDefinesByType, then extracts element
|
|
101
|
-
* quantities from:
|
|
102
|
-
* 1. The type entity's HasPropertySets attribute (index 5 on IfcTypeObject) —
|
|
103
|
-
* an IfcPropertySetDefinition list that may include IfcElementQuantity.
|
|
104
|
-
* 2. The onDemandQuantityMap for the type entity (IFC4 IfcRelDefinesByProperties
|
|
105
|
-
* with an IfcElementQuantity targeting the type).
|
|
106
|
-
* Returns null when the element has no type or the type carries no quantities.
|
|
107
|
-
* The quantity counterpart of {@link extractTypePropertiesOnDemand}.
|
|
108
|
-
*/
|
|
109
|
-
export declare function extractTypeQuantitiesOnDemand(store: IfcDataStore, entityId: number): TypeQuantityInfo | null;
|
|
75
|
+
export { extractQsetsFromIds, extractTypeQuantitiesOnDemand, extractTypeEntityOwnQuantities } from './type-own-quantity-source.js';
|
|
110
76
|
/**
|
|
111
77
|
* Extract documents for a single entity ON-DEMAND.
|
|
112
78
|
* Uses the onDemandDocumentMap built during parsing.
|
|
@@ -114,7 +80,6 @@ export declare function extractTypeQuantitiesOnDemand(store: IfcDataStore, entit
|
|
|
114
80
|
* Also checks type-level documents via IfcRelDefinesByType.
|
|
115
81
|
* Returns an array of document info objects.
|
|
116
82
|
*/
|
|
117
|
-
export declare function extractDocumentsOnDemand(store: IfcDataStore, entityId: number): DocumentInfo[];
|
|
118
83
|
/**
|
|
119
84
|
* Extract structural relationships for a single entity ON-DEMAND.
|
|
120
85
|
* Finds openings (VoidsElement), fills (FillsElement), groups (AssignsToGroup),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"on-demand-extractors.d.ts","sourceRoot":"","sources":["../src/on-demand-extractors.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,
|
|
1
|
+
{"version":3,"file":"on-demand-extractors.d.ts","sourceRoot":"","sources":["../src/on-demand-extractors.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,6 @@
|
|
|
10
10
|
*/
|
|
11
11
|
import { EntityExtractor } from './entity-extractor.js';
|
|
12
12
|
import { RelationshipType, resolvedTypeName } from '@ifc-lite/data';
|
|
13
|
-
import { readQuantitySet } from './quantity-collect.js';
|
|
14
13
|
import { appendSetsFromSecondSource, setIdentityKey } from './property-set-merge.js';
|
|
15
14
|
import { extractExactRelationshipEdges } from './exact-relationship-edges.js';
|
|
16
15
|
export { extractExactRelatedIds } from './exact-relationship-edges.js';
|
|
@@ -18,6 +17,7 @@ export { extractExactRelatedIds } from './exact-relationship-edges.js';
|
|
|
18
17
|
export { extractClassificationsOnDemand, extractClassificationSystemsOnDemand } from './classification-resolver.js';
|
|
19
18
|
export { extractMaterialsOnDemand, extractAllMaterialsOnDemand } from './material-resolver.js';
|
|
20
19
|
export { resolveMaterialDefId, resolveAllMaterialDefIds, collectMaterialLeaves, buildMaterialUsageIndex, getMaterialDisplay, } from './material-resolver.js';
|
|
20
|
+
export { extractDocumentsOnDemand } from './document-resolver.js';
|
|
21
21
|
// ============================================================================
|
|
22
22
|
// Property Value Parsing Helpers
|
|
23
23
|
// ============================================================================
|
|
@@ -76,6 +76,8 @@ export function extractPsetsFromIds(store, extractor, psetIds) {
|
|
|
76
76
|
entry.unit = unit.symbol;
|
|
77
77
|
if (unit?.siScale !== undefined)
|
|
78
78
|
entry.unitSiScale = unit.siScale;
|
|
79
|
+
if (unit?.siOffset !== undefined)
|
|
80
|
+
entry.unitSiOffset = unit.siOffset;
|
|
79
81
|
properties.push(entry);
|
|
80
82
|
}
|
|
81
83
|
}
|
|
@@ -188,88 +190,7 @@ export function extractTypeEntityOwnProperties(store, typeEntityId) {
|
|
|
188
190
|
// ============================================================================
|
|
189
191
|
// Type Quantity Extraction
|
|
190
192
|
// ============================================================================
|
|
191
|
-
|
|
192
|
-
* Extract quantity sets (IfcElementQuantity) from a list of set IDs using the
|
|
193
|
-
* entity index. The quantity counterpart of {@link extractPsetsFromIds}: it
|
|
194
|
-
* skips anything that is not an IFCELEMENTQUANTITY (e.g. property sets that
|
|
195
|
-
* share the HasPropertySets list on a type).
|
|
196
|
-
*/
|
|
197
|
-
export function extractQsetsFromIds(store, extractor, qsetIds) {
|
|
198
|
-
const result = [];
|
|
199
|
-
for (const qsetId of qsetIds) {
|
|
200
|
-
// @raw-entity-enumeration-ok one requested quantity-set id is decoded from its source STEP span
|
|
201
|
-
const qsetRef = store.entityIndex.byId.get(qsetId);
|
|
202
|
-
if (!qsetRef)
|
|
203
|
-
continue;
|
|
204
|
-
// Only extract IFCELEMENTQUANTITY entities (skip property sets etc.)
|
|
205
|
-
if (qsetRef.type.toUpperCase() !== 'IFCELEMENTQUANTITY')
|
|
206
|
-
continue;
|
|
207
|
-
// A set that walks to zero quantities is dropped — see
|
|
208
|
-
// {@link readQuantitySet}. Here that also stops an empty set from one
|
|
209
|
-
// source suppressing a populated same-identity set from another, since
|
|
210
|
-
// `extractTypeQuantitiesOnDemand` still dedups NAMED sets by
|
|
211
|
-
// `(name, globalId)` identity (see {@link appendSetsFromSecondSource}).
|
|
212
|
-
const qset = readQuantitySet(store, extractor, qsetRef);
|
|
213
|
-
if (qset)
|
|
214
|
-
result.push(qset);
|
|
215
|
-
}
|
|
216
|
-
return result;
|
|
217
|
-
}
|
|
218
|
-
/**
|
|
219
|
-
* Extract type-level quantities for a single entity ON-DEMAND.
|
|
220
|
-
* Finds the element's type via IfcRelDefinesByType, then extracts element
|
|
221
|
-
* quantities from:
|
|
222
|
-
* 1. The type entity's HasPropertySets attribute (index 5 on IfcTypeObject) —
|
|
223
|
-
* an IfcPropertySetDefinition list that may include IfcElementQuantity.
|
|
224
|
-
* 2. The onDemandQuantityMap for the type entity (IFC4 IfcRelDefinesByProperties
|
|
225
|
-
* with an IfcElementQuantity targeting the type).
|
|
226
|
-
* Returns null when the element has no type or the type carries no quantities.
|
|
227
|
-
* The quantity counterpart of {@link extractTypePropertiesOnDemand}.
|
|
228
|
-
*/
|
|
229
|
-
export function extractTypeQuantitiesOnDemand(store, entityId) {
|
|
230
|
-
if (!store.relationships)
|
|
231
|
-
return null;
|
|
232
|
-
const typeIds = store.relationships.getRelated(entityId, RelationshipType.DefinesByType, 'inverse');
|
|
233
|
-
if (typeIds.length === 0)
|
|
234
|
-
return null;
|
|
235
|
-
const typeId = typeIds[0];
|
|
236
|
-
// @raw-entity-enumeration-ok typeIds came from this selected entity's relationship lookup
|
|
237
|
-
const typeRef = store.entityIndex.byId.get(typeId);
|
|
238
|
-
if (!typeRef)
|
|
239
|
-
return null;
|
|
240
|
-
if (!store.source?.length)
|
|
241
|
-
return null;
|
|
242
|
-
const extractor = new EntityExtractor(store.source);
|
|
243
|
-
const typeEntity = extractor.extractEntity(typeRef);
|
|
244
|
-
const typeName = typeEntity && typeof typeEntity.attributes?.[2] === 'string'
|
|
245
|
-
? typeEntity.attributes[2]
|
|
246
|
-
: typeRef.type;
|
|
247
|
-
const allQsets = [];
|
|
248
|
-
const seenQsetKeys = new Set();
|
|
249
|
-
const ownSetIds = new Set();
|
|
250
|
-
// Source 1: HasPropertySets attribute on the type (index 5) — quantity sets
|
|
251
|
-
// live alongside property sets in this IfcPropertySetDefinition list.
|
|
252
|
-
if (typeEntity) {
|
|
253
|
-
const hasPropertySets = typeEntity.attributes?.[5];
|
|
254
|
-
if (Array.isArray(hasPropertySets)) {
|
|
255
|
-
for (const id of hasPropertySets)
|
|
256
|
-
if (typeof id === 'number')
|
|
257
|
-
ownSetIds.add(id);
|
|
258
|
-
for (const qset of extractQsetsFromIds(store, extractor, [...ownSetIds])) {
|
|
259
|
-
seenQsetKeys.add(setIdentityKey(qset));
|
|
260
|
-
allQsets.push(qset);
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
}
|
|
264
|
-
// Source 2: onDemandQuantityMap for the type entity (IFC4 IfcRelDefinesByProperties).
|
|
265
|
-
const typeQsetIds = store.onDemandQuantityMap?.get(typeId);
|
|
266
|
-
if (typeQsetIds && typeQsetIds.length > 0) {
|
|
267
|
-
appendSetsFromSecondSource(allQsets, ownSetIds, seenQsetKeys, typeQsetIds, (ids) => extractQsetsFromIds(store, extractor, ids));
|
|
268
|
-
}
|
|
269
|
-
if (allQsets.length === 0)
|
|
270
|
-
return null;
|
|
271
|
-
return { typeName, typeId, quantities: allQsets };
|
|
272
|
-
}
|
|
193
|
+
export { extractQsetsFromIds, extractTypeQuantitiesOnDemand, extractTypeEntityOwnQuantities } from './type-own-quantity-source.js';
|
|
273
194
|
// ============================================================================
|
|
274
195
|
// Document Extraction
|
|
275
196
|
// ============================================================================
|
|
@@ -280,107 +201,6 @@ export function extractTypeQuantitiesOnDemand(store, entityId) {
|
|
|
280
201
|
* Also checks type-level documents via IfcRelDefinesByType.
|
|
281
202
|
* Returns an array of document info objects.
|
|
282
203
|
*/
|
|
283
|
-
export function extractDocumentsOnDemand(store, entityId) {
|
|
284
|
-
let docRefIds;
|
|
285
|
-
if (store.onDemandDocumentMap) {
|
|
286
|
-
docRefIds = store.onDemandDocumentMap.get(entityId);
|
|
287
|
-
}
|
|
288
|
-
else if (store.relationships) {
|
|
289
|
-
const related = store.relationships.getRelated(entityId, RelationshipType.AssociatesDocument, 'inverse');
|
|
290
|
-
if (related.length > 0)
|
|
291
|
-
docRefIds = related;
|
|
292
|
-
}
|
|
293
|
-
// Also check type-level documents via IfcRelDefinesByType
|
|
294
|
-
if (store.relationships) {
|
|
295
|
-
const typeIds = store.relationships.getRelated(entityId, RelationshipType.DefinesByType, 'inverse');
|
|
296
|
-
for (const typeId of typeIds) {
|
|
297
|
-
let typeDocRefs;
|
|
298
|
-
if (store.onDemandDocumentMap) {
|
|
299
|
-
typeDocRefs = store.onDemandDocumentMap.get(typeId);
|
|
300
|
-
}
|
|
301
|
-
else {
|
|
302
|
-
const related = store.relationships.getRelated(typeId, RelationshipType.AssociatesDocument, 'inverse');
|
|
303
|
-
if (related.length > 0)
|
|
304
|
-
typeDocRefs = related;
|
|
305
|
-
}
|
|
306
|
-
if (typeDocRefs && typeDocRefs.length > 0) {
|
|
307
|
-
docRefIds = docRefIds ? [...docRefIds, ...typeDocRefs] : [...typeDocRefs];
|
|
308
|
-
}
|
|
309
|
-
}
|
|
310
|
-
}
|
|
311
|
-
if (!docRefIds || docRefIds.length === 0)
|
|
312
|
-
return [];
|
|
313
|
-
if (!store.source?.length)
|
|
314
|
-
return [];
|
|
315
|
-
const extractor = new EntityExtractor(store.source);
|
|
316
|
-
const results = [];
|
|
317
|
-
for (const docId of docRefIds) {
|
|
318
|
-
// @raw-entity-enumeration-ok one relationship-selected document id is decoded from its source STEP span
|
|
319
|
-
const docRef = store.entityIndex.byId.get(docId);
|
|
320
|
-
if (!docRef)
|
|
321
|
-
continue;
|
|
322
|
-
const docEntity = extractor.extractEntity(docRef);
|
|
323
|
-
if (!docEntity)
|
|
324
|
-
continue;
|
|
325
|
-
const typeUpper = docEntity.type.toUpperCase();
|
|
326
|
-
const attrs = docEntity.attributes || [];
|
|
327
|
-
if (typeUpper === 'IFCDOCUMENTREFERENCE') {
|
|
328
|
-
// IFC4: [Location, Identification, Name, Description, ReferencedDocument]
|
|
329
|
-
// IFC2X3: [Location, ItemReference, Name]
|
|
330
|
-
const info = {
|
|
331
|
-
location: typeof attrs[0] === 'string' ? attrs[0] : undefined,
|
|
332
|
-
identification: typeof attrs[1] === 'string' ? attrs[1] : undefined,
|
|
333
|
-
name: typeof attrs[2] === 'string' ? attrs[2] : undefined,
|
|
334
|
-
description: typeof attrs[3] === 'string' ? attrs[3] : undefined,
|
|
335
|
-
};
|
|
336
|
-
// Walk to IfcDocumentInformation if ReferencedDocument is set (IFC4 attr[4])
|
|
337
|
-
if (typeof attrs[4] === 'number') {
|
|
338
|
-
// @raw-entity-enumeration-ok follow this document's one ReferencedDocument source id
|
|
339
|
-
const docInfoRef = store.entityIndex.byId.get(attrs[4]);
|
|
340
|
-
if (docInfoRef) {
|
|
341
|
-
const docInfoEntity = extractor.extractEntity(docInfoRef);
|
|
342
|
-
if (docInfoEntity && docInfoEntity.type.toUpperCase() === 'IFCDOCUMENTINFORMATION') {
|
|
343
|
-
const ia = docInfoEntity.attributes || [];
|
|
344
|
-
// IfcDocumentInformation: [Identification, Name, Description, Location, Purpose, IntendedUse, Scope, Revision, ...]
|
|
345
|
-
if (!info.identification && typeof ia[0] === 'string')
|
|
346
|
-
info.identification = ia[0];
|
|
347
|
-
if (!info.name && typeof ia[1] === 'string')
|
|
348
|
-
info.name = ia[1];
|
|
349
|
-
if (!info.description && typeof ia[2] === 'string')
|
|
350
|
-
info.description = ia[2];
|
|
351
|
-
if (!info.location && typeof ia[3] === 'string')
|
|
352
|
-
info.location = ia[3];
|
|
353
|
-
if (typeof ia[4] === 'string')
|
|
354
|
-
info.purpose = ia[4];
|
|
355
|
-
if (typeof ia[5] === 'string')
|
|
356
|
-
info.intendedUse = ia[5];
|
|
357
|
-
if (typeof ia[7] === 'string')
|
|
358
|
-
info.revision = ia[7];
|
|
359
|
-
}
|
|
360
|
-
}
|
|
361
|
-
}
|
|
362
|
-
if (info.name || info.location || info.identification) {
|
|
363
|
-
results.push(info);
|
|
364
|
-
}
|
|
365
|
-
}
|
|
366
|
-
else if (typeUpper === 'IFCDOCUMENTINFORMATION') {
|
|
367
|
-
// Direct IfcDocumentInformation (less common)
|
|
368
|
-
const info = {
|
|
369
|
-
identification: typeof attrs[0] === 'string' ? attrs[0] : undefined,
|
|
370
|
-
name: typeof attrs[1] === 'string' ? attrs[1] : undefined,
|
|
371
|
-
description: typeof attrs[2] === 'string' ? attrs[2] : undefined,
|
|
372
|
-
location: typeof attrs[3] === 'string' ? attrs[3] : undefined,
|
|
373
|
-
purpose: typeof attrs[4] === 'string' ? attrs[4] : undefined,
|
|
374
|
-
intendedUse: typeof attrs[5] === 'string' ? attrs[5] : undefined,
|
|
375
|
-
revision: typeof attrs[7] === 'string' ? attrs[7] : undefined,
|
|
376
|
-
};
|
|
377
|
-
if (info.name || info.location || info.identification) {
|
|
378
|
-
results.push(info);
|
|
379
|
-
}
|
|
380
|
-
}
|
|
381
|
-
}
|
|
382
|
-
return results;
|
|
383
|
-
}
|
|
384
204
|
// ============================================================================
|
|
385
205
|
// Relationship Extraction
|
|
386
206
|
// ============================================================================
|