@ifc-lite/parser 8.2.0 → 9.1.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/columnar-parser.d.ts +5 -19
- package/dist/columnar-parser.d.ts.map +1 -1
- 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 +6 -0
- package/dist/data-store-transport.js.map +1 -1
- package/dist/effective-spatial-members.d.ts +11 -0
- package/dist/effective-spatial-members.d.ts.map +1 -0
- package/dist/effective-spatial-members.js +32 -0
- package/dist/effective-spatial-members.js.map +1 -0
- package/dist/effective-storey.d.ts +5 -0
- package/dist/effective-storey.d.ts.map +1 -0
- package/dist/effective-storey.js +64 -0
- package/dist/effective-storey.js.map +1 -0
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/material-associations.d.ts +24 -0
- package/dist/material-associations.d.ts.map +1 -0
- package/dist/material-associations.js +67 -0
- package/dist/material-associations.js.map +1 -0
- package/dist/material-properties-extractor.d.ts +37 -0
- package/dist/material-properties-extractor.d.ts.map +1 -0
- package/dist/material-properties-extractor.js +217 -0
- package/dist/material-properties-extractor.js.map +1 -0
- package/dist/material-resolver.d.ts +1 -9
- package/dist/material-resolver.d.ts.map +1 -1
- package/dist/material-resolver.js +23 -67
- package/dist/material-resolver.js.map +1 -1
- package/dist/on-demand-extractors.d.ts +6 -61
- package/dist/on-demand-extractors.d.ts.map +1 -1
- package/dist/on-demand-extractors.js +15 -166
- package/dist/on-demand-extractors.js.map +1 -1
- package/dist/owning-project.d.ts.map +1 -1
- package/dist/owning-project.js +1 -0
- package/dist/owning-project.js.map +1 -1
- package/dist/property-complex-value.d.ts +34 -0
- package/dist/property-complex-value.d.ts.map +1 -0
- package/dist/property-complex-value.js +111 -0
- package/dist/property-complex-value.js.map +1 -0
- package/dist/property-reference-value.d.ts +15 -0
- package/dist/property-reference-value.d.ts.map +1 -0
- package/dist/property-reference-value.js +34 -0
- package/dist/property-reference-value.js.map +1 -0
- package/dist/property-value-parser.d.ts +20 -21
- package/dist/property-value-parser.d.ts.map +1 -1
- package/dist/property-value-parser.js +32 -97
- package/dist/property-value-parser.js.map +1 -1
- package/dist/source-header.d.ts.map +1 -1
- package/dist/source-header.js +18 -8
- package/dist/source-header.js.map +1 -1
- package/dist/structural-extractor-values.d.ts +18 -0
- package/dist/structural-extractor-values.d.ts.map +1 -0
- package/dist/structural-extractor-values.js +50 -0
- package/dist/structural-extractor-values.js.map +1 -0
- package/dist/structural-extractor.d.ts +16 -1
- package/dist/structural-extractor.d.ts.map +1 -1
- package/dist/structural-extractor.js +70 -74
- package/dist/structural-extractor.js.map +1 -1
- package/package.json +6 -6
|
@@ -0,0 +1,50 @@
|
|
|
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 { asString } from './structural-step-values.js';
|
|
5
|
+
import { getInheritanceChain } from './ifc-schema.js';
|
|
6
|
+
/** Empty result shared by the parsed and live-overlay extractor paths. */
|
|
7
|
+
export function emptyStructuralExtraction() {
|
|
8
|
+
return {
|
|
9
|
+
analysisModels: [], members: [], connections: [], activities: [],
|
|
10
|
+
loadGroups: [], resultGroups: [], hasStructural: false, loadsTruncated: false,
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
/** Chain marker → role. Every marker is disjoint, so match order is not load-bearing. */
|
|
14
|
+
const ROLE_BY_SUPERTYPE = [
|
|
15
|
+
['IFCSTRUCTURALANALYSISMODEL', 'analysisModel'],
|
|
16
|
+
['IFCSTRUCTURALRESULTGROUP', 'resultGroup'],
|
|
17
|
+
['IFCSTRUCTURALLOADGROUP', 'loadGroup'],
|
|
18
|
+
['IFCSTRUCTURALMEMBER', 'member'],
|
|
19
|
+
['IFCSTRUCTURALCONNECTION', 'connection'],
|
|
20
|
+
['IFCSTRUCTURALACTIVITY', 'activity'],
|
|
21
|
+
];
|
|
22
|
+
/**
|
|
23
|
+
* Classify by inheritance, not by name. Unrelated `IFCSTRUCTURAL*` entities
|
|
24
|
+
* such as load leaves and profile properties are intentionally skipped.
|
|
25
|
+
*/
|
|
26
|
+
export function structuralRoleOf(type) {
|
|
27
|
+
const chain = getInheritanceChain(type).map((c) => c.toUpperCase());
|
|
28
|
+
for (const [marker, role] of ROLE_BY_SUPERTYPE) {
|
|
29
|
+
if (chain.includes(marker))
|
|
30
|
+
return role;
|
|
31
|
+
}
|
|
32
|
+
return undefined;
|
|
33
|
+
}
|
|
34
|
+
export function structuralActivityKind(type) {
|
|
35
|
+
const chain = getInheritanceChain(type).map((c) => c.toUpperCase());
|
|
36
|
+
if (chain.includes('IFCSTRUCTURALACTION'))
|
|
37
|
+
return 'Action';
|
|
38
|
+
if (chain.includes('IFCSTRUCTURALREACTION'))
|
|
39
|
+
return 'Reaction';
|
|
40
|
+
return 'Unknown';
|
|
41
|
+
}
|
|
42
|
+
/** IfcRoot attribute 2 is Name, 3 Description; IfcObject adds ObjectType at 4. */
|
|
43
|
+
export function structuralRootFields(e) {
|
|
44
|
+
return {
|
|
45
|
+
name: asString(e.attrs[2]),
|
|
46
|
+
description: asString(e.attrs[3]),
|
|
47
|
+
objectType: asString(e.attrs[4]),
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=structural-extractor-values.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"structural-extractor-values.js","sourceRoot":"","sources":["../src/structural-extractor-values.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D,OAAO,EAAE,QAAQ,EAAkB,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAWtD,0EAA0E;AAC1E,MAAM,UAAU,yBAAyB;IACvC,OAAO;QACL,cAAc,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE;QAChE,UAAU,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK;KAC9E,CAAC;AACJ,CAAC;AAED,yFAAyF;AACzF,MAAM,iBAAiB,GAAqD;IAC1E,CAAC,4BAA4B,EAAE,eAAe,CAAC;IAC/C,CAAC,0BAA0B,EAAE,aAAa,CAAC;IAC3C,CAAC,wBAAwB,EAAE,WAAW,CAAC;IACvC,CAAC,qBAAqB,EAAE,QAAQ,CAAC;IACjC,CAAC,yBAAyB,EAAE,YAAY,CAAC;IACzC,CAAC,uBAAuB,EAAE,UAAU,CAAC;CACtC,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IACpE,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,iBAAiB,EAAE,CAAC;QAC/C,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;IAC1C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IACpE,IAAI,KAAK,CAAC,QAAQ,CAAC,qBAAqB,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC3D,IAAI,KAAK,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QAAE,OAAO,UAAU,CAAC;IAC/D,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,oBAAoB,CAAC,CAAY;IAK/C,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1B,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KACjC,CAAC;AACJ,CAAC"}
|
|
@@ -1,9 +1,24 @@
|
|
|
1
|
+
import { type EffectiveEntityOverlay } from '@ifc-lite/data';
|
|
1
2
|
import type { IfcDataStore } from './columnar-parser.js';
|
|
2
3
|
import { type BoundaryConditionInfo, type StructuralLoadConfigurationEntry, type StructuralLoadConfigurationInfo, type StructuralLoadDropReason, type StructuralLoadInfo } from './structural-load-extractor.js';
|
|
4
|
+
import { type RawEntity } from './structural-step-values.js';
|
|
3
5
|
import type { StructuralActivityInfo, StructuralAnalysisModelInfo, StructuralConnectionInfo, StructuralExtraction, StructuralLoadGroupInfo, StructuralMemberInfo, StructuralResultGroupInfo } from './structural-types.js';
|
|
4
6
|
export type { BoundaryConditionInfo, StructuralActivityInfo, StructuralAnalysisModelInfo, StructuralConnectionInfo, StructuralExtraction, StructuralLoadConfigurationEntry, StructuralLoadConfigurationInfo, StructuralLoadDropReason, StructuralLoadGroupInfo, StructuralLoadInfo, StructuralMemberInfo, StructuralResultGroupInfo, };
|
|
7
|
+
/** Optional live-session view used when structural data is queried in the viewer. */
|
|
8
|
+
export interface StructuralExtractionView extends EffectiveEntityOverlay {
|
|
9
|
+
getNewEntity?(expressId: number): {
|
|
10
|
+
readonly type: string;
|
|
11
|
+
readonly attributes?: readonly unknown[];
|
|
12
|
+
} | null;
|
|
13
|
+
/**
|
|
14
|
+
* Resolve the attributes for an effective entity. `source` is absent for a
|
|
15
|
+
* session-created entity. Callers can merge positional/named edits without
|
|
16
|
+
* making parser depend on the mutations package.
|
|
17
|
+
*/
|
|
18
|
+
readEntity?: (expressId: number, effectiveType: string, source?: RawEntity) => RawEntity | undefined;
|
|
19
|
+
}
|
|
5
20
|
/**
|
|
6
21
|
* Extract all structural analysis data from a parsed IFC store.
|
|
7
22
|
*/
|
|
8
|
-
export declare function extractStructuralOnDemand(store: IfcDataStore): StructuralExtraction;
|
|
23
|
+
export declare function extractStructuralOnDemand(store: IfcDataStore, view?: StructuralExtractionView | null): StructuralExtraction;
|
|
9
24
|
//# sourceMappingURL=structural-extractor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structural-extractor.d.ts","sourceRoot":"","sources":["../src/structural-extractor.ts"],"names":[],"mappings":"AAyCA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EAGL,KAAK,qBAAqB,EAC1B,KAAK,gCAAgC,EACrC,KAAK,+BAA+B,EACpC,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACxB,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"structural-extractor.d.ts","sourceRoot":"","sources":["../src/structural-extractor.ts"],"names":[],"mappings":"AAyCA,OAAO,EAA4B,KAAK,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACvF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EAGL,KAAK,qBAAqB,EAC1B,KAAK,gCAAgC,EACrC,KAAK,+BAA+B,EACpC,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACxB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAUL,KAAK,SAAS,EACf,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EACV,sBAAsB,EACtB,2BAA2B,EAC3B,wBAAwB,EACxB,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,uBAAuB,CAAC;AAS/B,YAAY,EACV,qBAAqB,EACrB,sBAAsB,EACtB,2BAA2B,EAC3B,wBAAwB,EACxB,oBAAoB,EACpB,gCAAgC,EAChC,+BAA+B,EAC/B,wBAAwB,EACxB,uBAAuB,EACvB,kBAAkB,EAClB,oBAAoB,EACpB,yBAAyB,GAC1B,CAAC;AAEF,qFAAqF;AACrF,MAAM,WAAW,wBAAyB,SAAQ,sBAAsB;IACtE,YAAY,CAAC,CAAC,SAAS,EAAE,MAAM,GAAG;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,OAAO,EAAE,CAAA;KAAE,GAAG,IAAI,CAAC;IAC7G;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,KAAK,SAAS,GAAG,SAAS,CAAC;CACtG;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,YAAY,EACnB,IAAI,CAAC,EAAE,wBAAwB,GAAG,IAAI,GACrC,oBAAoB,CA0QtB"}
|
|
@@ -37,92 +37,88 @@
|
|
|
37
37
|
* here; a 2X3-only attribute reads as absent rather than as the wrong slot.
|
|
38
38
|
*/
|
|
39
39
|
import { EntityExtractor } from './entity-extractor.js';
|
|
40
|
-
import {
|
|
40
|
+
import { iterateEffectiveEntities } from '@ifc-lite/data';
|
|
41
|
+
import { normalizeIfcTypeName } from './ifc-schema.js';
|
|
41
42
|
import { extractBoundaryCondition, extractStructuralLoad, } from './structural-load-extractor.js';
|
|
42
|
-
import { addUnique, asBoolean, asEnum, asNumber, asNumberList, asRef, asRefList, asString, readAttr,
|
|
43
|
-
|
|
44
|
-
return {
|
|
45
|
-
analysisModels: [],
|
|
46
|
-
members: [],
|
|
47
|
-
connections: [],
|
|
48
|
-
activities: [],
|
|
49
|
-
loadGroups: [],
|
|
50
|
-
resultGroups: [],
|
|
51
|
-
hasStructural: false,
|
|
52
|
-
loadsTruncated: false,
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
/** Chain marker → role. Every marker is disjoint, so match order is not load-bearing. */
|
|
56
|
-
const ROLE_BY_SUPERTYPE = [
|
|
57
|
-
['IFCSTRUCTURALANALYSISMODEL', 'analysisModel'],
|
|
58
|
-
['IFCSTRUCTURALRESULTGROUP', 'resultGroup'],
|
|
59
|
-
['IFCSTRUCTURALLOADGROUP', 'loadGroup'],
|
|
60
|
-
['IFCSTRUCTURALMEMBER', 'member'],
|
|
61
|
-
['IFCSTRUCTURALCONNECTION', 'connection'],
|
|
62
|
-
['IFCSTRUCTURALACTIVITY', 'activity'],
|
|
63
|
-
];
|
|
64
|
-
/**
|
|
65
|
-
* Classify a concrete type by inheritance, not by name. Returns undefined for
|
|
66
|
-
* an `IFCSTRUCTURAL*` type that is none of the six roles — `IfcStructuralLoad`
|
|
67
|
-
* leaves and `IfcStructuralProfileProperties` reach here and are read through
|
|
68
|
-
* their owners instead.
|
|
69
|
-
*/
|
|
70
|
-
function roleOf(type) {
|
|
71
|
-
const chain = getInheritanceChain(type).map((c) => c.toUpperCase());
|
|
72
|
-
for (const [marker, role] of ROLE_BY_SUPERTYPE) {
|
|
73
|
-
if (chain.includes(marker))
|
|
74
|
-
return role;
|
|
75
|
-
}
|
|
76
|
-
return undefined;
|
|
77
|
-
}
|
|
78
|
-
function activityKind(type) {
|
|
79
|
-
const chain = getInheritanceChain(type).map((c) => c.toUpperCase());
|
|
80
|
-
if (chain.includes('IFCSTRUCTURALACTION'))
|
|
81
|
-
return 'Action';
|
|
82
|
-
if (chain.includes('IFCSTRUCTURALREACTION'))
|
|
83
|
-
return 'Reaction';
|
|
84
|
-
return 'Unknown';
|
|
85
|
-
}
|
|
86
|
-
/** IfcRoot attribute 2 is Name, 3 Description; IfcObject adds ObjectType at 4. */
|
|
87
|
-
function rootFields(e) {
|
|
88
|
-
return {
|
|
89
|
-
name: asString(e.attrs[2]),
|
|
90
|
-
description: asString(e.attrs[3]),
|
|
91
|
-
objectType: asString(e.attrs[4]),
|
|
92
|
-
};
|
|
93
|
-
}
|
|
43
|
+
import { addUnique, asBoolean, asEnum, asNumber, asNumberList, asRef, asRefList, asString, readAttr, } from './structural-step-values.js';
|
|
44
|
+
import { emptyStructuralExtraction as emptyExtraction, structuralActivityKind as activityKind, structuralRoleOf as roleOf, structuralRootFields as rootFields, } from './structural-extractor-values.js';
|
|
94
45
|
/**
|
|
95
46
|
* Extract all structural analysis data from a parsed IFC store.
|
|
96
47
|
*/
|
|
97
|
-
export function extractStructuralOnDemand(store) {
|
|
98
|
-
if (!store.source?.length)
|
|
48
|
+
export function extractStructuralOnDemand(store, view) {
|
|
49
|
+
if (!store.source?.length && !view)
|
|
99
50
|
return emptyExtraction();
|
|
51
|
+
// @raw-entity-enumeration-ok source buckets define the candidate domain; iterateEffectiveEntities below applies tombstones, creations and retypes
|
|
100
52
|
const byType = store.entityIndex.byType;
|
|
101
|
-
//
|
|
102
|
-
|
|
53
|
+
// Candidate source ids are the structural classes plus the three relation
|
|
54
|
+
// classes below. The effective iterator removes tombstones and folds in
|
|
55
|
+
// created and retyped records before the extractor reads their attributes.
|
|
56
|
+
const sourceIds = new Set();
|
|
103
57
|
for (const [typeKey, ids] of byType) {
|
|
104
58
|
if (!typeKey.startsWith('IFCSTRUCTURAL'))
|
|
105
59
|
continue;
|
|
106
60
|
const role = roleOf(typeKey);
|
|
107
61
|
if (!role)
|
|
108
62
|
continue;
|
|
109
|
-
const
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
63
|
+
for (const id of ids)
|
|
64
|
+
sourceIds.add(id);
|
|
65
|
+
}
|
|
66
|
+
const relationIds = new Set([
|
|
67
|
+
...(byType.get('IFCRELCONNECTSSTRUCTURALMEMBER') ?? []),
|
|
68
|
+
...(byType.get('IFCRELCONNECTSSTRUCTURALACTIVITY') ?? []),
|
|
69
|
+
...(byType.get('IFCRELASSIGNSTOGROUP') ?? []),
|
|
70
|
+
]);
|
|
71
|
+
for (const id of relationIds)
|
|
72
|
+
sourceIds.add(id);
|
|
73
|
+
for (const [id, mutation] of view?.getTypeMutations?.() ?? []) {
|
|
74
|
+
if (roleOf(mutation.newType) || mutation.newType.toUpperCase().startsWith('IFCRELCONNECTSSTRUCTURAL') || mutation.newType.toUpperCase() === 'IFCRELASSIGNSTOGROUP') {
|
|
75
|
+
sourceIds.add(id);
|
|
76
|
+
}
|
|
114
77
|
}
|
|
115
|
-
const
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
// passes below already produce an empty extraction. It exists so the common
|
|
120
|
-
// case — a model with no structural analysis at all — never constructs an
|
|
121
|
-
// EntityExtractor over the whole source buffer.
|
|
122
|
-
if (idsByRole.size === 0)
|
|
78
|
+
const effectiveRows = [...iterateEffectiveEntities(store, view, undefined, sourceIds)];
|
|
79
|
+
// Preserve the common no-structural-data path without setting up a source
|
|
80
|
+
// extractor. Created/retyped structural entities are already in this set.
|
|
81
|
+
if (!effectiveRows.some((row) => roleOf(row.type)))
|
|
123
82
|
return emptyExtraction();
|
|
124
83
|
const extractor = new EntityExtractor(store.source);
|
|
125
|
-
const
|
|
84
|
+
const effectiveTypeById = new Map(effectiveRows.map((row) => [row.expressId, row.type]));
|
|
85
|
+
const readRaw = (id, effectiveType) => {
|
|
86
|
+
// @raw-entity-enumeration-ok the effective iterator chose this one record; source bytes supply its baseline attributes
|
|
87
|
+
const ref = store.entityIndex.byId.get(id) ?? store.deferredEntityIndex?.get(id);
|
|
88
|
+
const entity = ref ? extractor.extractEntity(ref) : undefined;
|
|
89
|
+
const created = !entity ? view?.getNewEntity?.(id) : null;
|
|
90
|
+
const source = entity ? {
|
|
91
|
+
expressId: id,
|
|
92
|
+
type: normalizeIfcTypeName(effectiveType),
|
|
93
|
+
attrs: entity.attributes ?? [],
|
|
94
|
+
globalId: asString(entity.attributes?.[0]) ?? '',
|
|
95
|
+
} : created ? {
|
|
96
|
+
expressId: id,
|
|
97
|
+
type: normalizeIfcTypeName(effectiveType),
|
|
98
|
+
attrs: [...(created.attributes ?? [])],
|
|
99
|
+
globalId: asString(created.attributes?.[0]) ?? '',
|
|
100
|
+
} : undefined;
|
|
101
|
+
return view?.readEntity?.(id, effectiveType, source) ?? source;
|
|
102
|
+
};
|
|
103
|
+
const activeByRole = new Map();
|
|
104
|
+
const relMemberIds = [];
|
|
105
|
+
const relActivityIds = [];
|
|
106
|
+
const relGroupIds = [];
|
|
107
|
+
for (const row of effectiveRows) {
|
|
108
|
+
const role = roleOf(row.type);
|
|
109
|
+
if (role) {
|
|
110
|
+
const ids = activeByRole.get(role) ?? [];
|
|
111
|
+
ids.push(row.expressId);
|
|
112
|
+
activeByRole.set(role, ids);
|
|
113
|
+
}
|
|
114
|
+
if (row.type === 'IFCRELCONNECTSSTRUCTURALMEMBER')
|
|
115
|
+
relMemberIds.push(row.expressId);
|
|
116
|
+
if (row.type === 'IFCRELCONNECTSSTRUCTURALACTIVITY')
|
|
117
|
+
relActivityIds.push(row.expressId);
|
|
118
|
+
if (row.type === 'IFCRELASSIGNSTOGROUP')
|
|
119
|
+
relGroupIds.push(row.expressId);
|
|
120
|
+
}
|
|
121
|
+
const read = (role) => (activeByRole.get(role) ?? []).map((id) => readRaw(id, effectiveTypeById.get(id))).filter((row) => !!row);
|
|
126
122
|
const memberRaw = read('member');
|
|
127
123
|
const connectionRaw = read('connection');
|
|
128
124
|
const activityRaw = read('activity');
|
|
@@ -146,7 +142,7 @@ export function extractStructuralOnDemand(store) {
|
|
|
146
142
|
// ── Relationship passes ────────────────────────────────────────────────
|
|
147
143
|
const connectionsOfMember = new Map();
|
|
148
144
|
const membersOfConnection = new Map();
|
|
149
|
-
for (const rel of
|
|
145
|
+
for (const rel of relMemberIds.map((id) => readRaw(id, 'IFCRELCONNECTSSTRUCTURALMEMBER')).filter((row) => !!row)) {
|
|
150
146
|
const memberId = asRef(readAttr(rel.type, rel.attrs, 'RelatingStructuralMember'));
|
|
151
147
|
const connectionId = asRef(readAttr(rel.type, rel.attrs, 'RelatedStructuralConnection'));
|
|
152
148
|
if (memberId === undefined || connectionId === undefined)
|
|
@@ -161,7 +157,7 @@ export function extractStructuralOnDemand(store) {
|
|
|
161
157
|
const activitiesOfItem = new Map();
|
|
162
158
|
/** activity expressId → the item globalId it applies to. */
|
|
163
159
|
const itemOfActivity = new Map();
|
|
164
|
-
for (const rel of
|
|
160
|
+
for (const rel of relActivityIds.map((id) => readRaw(id, 'IFCRELCONNECTSSTRUCTURALACTIVITY')).filter((row) => !!row)) {
|
|
165
161
|
const itemId = asRef(readAttr(rel.type, rel.attrs, 'RelatingElement'));
|
|
166
162
|
const activityId = asRef(readAttr(rel.type, rel.attrs, 'RelatedStructuralActivity'));
|
|
167
163
|
if (itemId === undefined || activityId === undefined)
|
|
@@ -177,7 +173,7 @@ export function extractStructuralOnDemand(store) {
|
|
|
177
173
|
// only the rows whose RelatingGroup is a structural group are read.
|
|
178
174
|
const groupsOfObject = new Map();
|
|
179
175
|
const objectsOfGroup = new Map();
|
|
180
|
-
for (const rel of
|
|
176
|
+
for (const rel of relGroupIds.map((id) => readRaw(id, 'IFCRELASSIGNSTOGROUP')).filter((row) => !!row)) {
|
|
181
177
|
const groupId = asRef(readAttr(rel.type, rel.attrs, 'RelatingGroup'));
|
|
182
178
|
if (groupId === undefined)
|
|
183
179
|
continue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structural-extractor.js","sourceRoot":"","sources":["../src/structural-extractor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"structural-extractor.js","sourceRoot":"","sources":["../src/structural-extractor.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ifc-lite/parser",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "9.1.0",
|
|
4
4
|
"description": "IFC/STEP parser for IFC-Lite",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -20,15 +20,15 @@
|
|
|
20
20
|
"decimal.js": "^10.6.0",
|
|
21
21
|
"fflate": "^0.8.3",
|
|
22
22
|
"jszip": "^3.10.2",
|
|
23
|
-
"@ifc-lite/
|
|
24
|
-
"@ifc-lite/
|
|
25
|
-
"@ifc-lite/ifcx": "^4.
|
|
26
|
-
"@ifc-lite/wasm": "^10.
|
|
23
|
+
"@ifc-lite/encoding": "^2.3.0",
|
|
24
|
+
"@ifc-lite/data": "^6.1.0",
|
|
25
|
+
"@ifc-lite/ifcx": "^4.3.0",
|
|
26
|
+
"@ifc-lite/wasm": "^10.2.0",
|
|
27
27
|
"@ifc-lite/wasm-lifecycle": "^0.2.0"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
30
|
"typescript": "^6.0.3",
|
|
31
|
-
"vitest": "^5.0.
|
|
31
|
+
"vitest": "^5.0.2"
|
|
32
32
|
},
|
|
33
33
|
"license": "MPL-2.0",
|
|
34
34
|
"author": "Louis True",
|