@ifc-lite/cli 0.25.2 → 0.27.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/commands/anonymize.d.ts +2 -0
- package/dist/commands/anonymize.d.ts.map +1 -0
- package/dist/commands/anonymize.js +221 -0
- package/dist/commands/anonymize.js.map +1 -0
- package/dist/commands/ask.d.ts +8 -0
- package/dist/commands/ask.d.ts.map +1 -1
- package/dist/commands/ask.js +10 -9
- package/dist/commands/ask.js.map +1 -1
- package/dist/commands/bsdd.d.ts.map +1 -1
- package/dist/commands/bsdd.js +49 -13
- package/dist/commands/bsdd.js.map +1 -1
- package/dist/commands/diff-classification-label.d.ts +12 -0
- package/dist/commands/diff-classification-label.d.ts.map +1 -0
- package/dist/commands/diff-classification-label.js +20 -0
- package/dist/commands/diff-classification-label.js.map +1 -0
- package/dist/commands/diff-engine.d.ts.map +1 -1
- package/dist/commands/diff-engine.js +33 -11
- package/dist/commands/diff-engine.js.map +1 -1
- package/dist/commands/diff-test-helpers.d.ts +12 -0
- package/dist/commands/diff-test-helpers.d.ts.map +1 -1
- package/dist/commands/diff-test-helpers.js +68 -0
- package/dist/commands/diff-test-helpers.js.map +1 -1
- package/dist/commands/diff-unit-scale-fixtures.d.ts +34 -0
- package/dist/commands/diff-unit-scale-fixtures.d.ts.map +1 -0
- package/dist/commands/diff-unit-scale-fixtures.js +94 -0
- package/dist/commands/diff-unit-scale-fixtures.js.map +1 -0
- package/dist/commands/export.d.ts +11 -0
- package/dist/commands/export.d.ts.map +1 -1
- package/dist/commands/export.js +9 -14
- package/dist/commands/export.js.map +1 -1
- package/dist/commands/merge.d.ts.map +1 -1
- package/dist/commands/merge.js +8 -0
- package/dist/commands/merge.js.map +1 -1
- package/dist/commands/query-aggregation.d.ts +27 -4
- package/dist/commands/query-aggregation.d.ts.map +1 -1
- package/dist/commands/query-aggregation.js +67 -6
- package/dist/commands/query-aggregation.js.map +1 -1
- package/dist/commands/query-output.d.ts +7 -0
- package/dist/commands/query-output.d.ts.map +1 -1
- package/dist/commands/query-output.js +63 -27
- package/dist/commands/query-output.js.map +1 -1
- package/dist/commands/query-storey.d.ts +24 -0
- package/dist/commands/query-storey.d.ts.map +1 -0
- package/dist/commands/query-storey.js +71 -0
- package/dist/commands/query-storey.js.map +1 -0
- package/dist/commands/query.d.ts +2 -25
- package/dist/commands/query.d.ts.map +1 -1
- package/dist/commands/query.js +39 -158
- package/dist/commands/query.js.map +1 -1
- package/dist/commands/schedule-aggregate.d.ts +51 -0
- package/dist/commands/schedule-aggregate.d.ts.map +1 -0
- package/dist/commands/schedule-aggregate.js +121 -0
- package/dist/commands/schedule-aggregate.js.map +1 -0
- package/dist/commands/schedule-columns.d.ts +15 -0
- package/dist/commands/schedule-columns.d.ts.map +1 -0
- package/dist/commands/schedule-columns.js +63 -0
- package/dist/commands/schedule-columns.js.map +1 -0
- package/dist/commands/schedule-group.d.ts +65 -0
- package/dist/commands/schedule-group.d.ts.map +1 -0
- package/dist/commands/schedule-group.js +0 -0
- package/dist/commands/schedule-group.js.map +1 -0
- package/dist/commands/schedule-presets.d.ts +21 -0
- package/dist/commands/schedule-presets.d.ts.map +1 -0
- package/dist/commands/schedule-presets.js +62 -0
- package/dist/commands/schedule-presets.js.map +1 -0
- package/dist/commands/schedule-render-html.d.ts +13 -0
- package/dist/commands/schedule-render-html.d.ts.map +1 -0
- package/dist/commands/schedule-render-html.js +100 -0
- package/dist/commands/schedule-render-html.js.map +1 -0
- package/dist/commands/schedule-render-md.d.ts +12 -0
- package/dist/commands/schedule-render-md.d.ts.map +1 -0
- package/dist/commands/schedule-render-md.js +77 -0
- package/dist/commands/schedule-render-md.js.map +1 -0
- package/dist/commands/schedule-render.d.ts +51 -0
- package/dist/commands/schedule-render.d.ts.map +1 -0
- package/dist/commands/schedule-render.js +205 -0
- package/dist/commands/schedule-render.js.map +1 -0
- package/dist/commands/schedule-spec.d.ts +29 -0
- package/dist/commands/schedule-spec.d.ts.map +1 -0
- package/dist/commands/schedule-spec.js +111 -0
- package/dist/commands/schedule-spec.js.map +1 -0
- package/dist/commands/schedule.d.ts +23 -0
- package/dist/commands/schedule.d.ts.map +1 -0
- package/dist/commands/schedule.js +249 -0
- package/dist/commands/schedule.js.map +1 -0
- package/dist/commands/schema.d.ts.map +1 -1
- package/dist/commands/schema.js +192 -17
- package/dist/commands/schema.js.map +1 -1
- package/dist/commands/stats-aggregation.d.ts +31 -6
- package/dist/commands/stats-aggregation.d.ts.map +1 -1
- package/dist/commands/stats-aggregation.js +79 -11
- package/dist/commands/stats-aggregation.js.map +1 -1
- package/dist/commands/stats.d.ts.map +1 -1
- package/dist/commands/stats.js +4 -4
- package/dist/commands/stats.js.map +1 -1
- package/dist/commands/validate.d.ts +7 -4
- package/dist/commands/validate.d.ts.map +1 -1
- package/dist/commands/validate.js +9 -6
- package/dist/commands/validate.js.map +1 -1
- package/dist/commands/where-filter.d.ts +42 -0
- package/dist/commands/where-filter.d.ts.map +1 -0
- package/dist/commands/where-filter.js +88 -0
- package/dist/commands/where-filter.js.map +1 -0
- package/dist/energy-export.d.ts.map +1 -1
- package/dist/energy-export.js +12 -2
- package/dist/energy-export.js.map +1 -1
- package/dist/geometry-report.d.ts.map +1 -1
- package/dist/geometry-report.js +15 -3
- package/dist/geometry-report.js.map +1 -1
- package/dist/headless-backend.d.ts +20 -5
- package/dist/headless-backend.d.ts.map +1 -1
- package/dist/headless-backend.js +131 -90
- package/dist/headless-backend.js.map +1 -1
- package/dist/index.js +32 -0
- package/dist/index.js.map +1 -1
- package/dist/output.d.ts +13 -0
- package/dist/output.d.ts.map +1 -1
- package/dist/output.js +21 -0
- package/dist/output.js.map +1 -1
- package/dist/property-filter-match.d.ts +12 -0
- package/dist/property-filter-match.d.ts.map +1 -0
- package/dist/property-filter-match.js +17 -0
- package/dist/property-filter-match.js.map +1 -0
- package/dist/query-overlay-relations.d.ts +29 -0
- package/dist/query-overlay-relations.d.ts.map +1 -0
- package/dist/query-overlay-relations.js +88 -0
- package/dist/query-overlay-relations.js.map +1 -0
- package/dist/query-overlay.d.ts +44 -0
- package/dist/query-overlay.d.ts.map +1 -0
- package/dist/query-overlay.js +100 -0
- package/dist/query-overlay.js.map +1 -0
- package/package.json +22 -22
|
@@ -28,7 +28,8 @@
|
|
|
28
28
|
import { createHash } from 'node:crypto';
|
|
29
29
|
import { buildComponentFingerprints, buildDataFingerprint, } from '@ifc-lite/diff';
|
|
30
30
|
import { RelationshipType } from '@ifc-lite/data';
|
|
31
|
-
import { EntityExtractor, extractAllEntityAttributes, extractPropertiesOnDemand, extractQuantitiesOnDemand, getAttributeNamesAcrossSchemas, } from '@ifc-lite/parser';
|
|
31
|
+
import { EntityExtractor, extractAllEntityAttributes, extractClassificationsOnDemand, extractProjectUnits, extractPropertiesOnDemand, extractQuantitiesOnDemand, getAttributeNamesAcrossSchemas, quantitySiScale, roundToScale, scaledPropertyValue, } from '@ifc-lite/parser';
|
|
32
|
+
import { classificationLabel } from './diff-classification-label.js';
|
|
32
33
|
import { comparableEntities } from './diff-scope.js';
|
|
33
34
|
/**
|
|
34
35
|
* Content digest of a model's bytes, as written into the sidecar.
|
|
@@ -51,9 +52,18 @@ export function modelIdentityOf(path, bytes) {
|
|
|
51
52
|
* section of `docs/guide/model-diff.md`).
|
|
52
53
|
*/
|
|
53
54
|
export function buildFileFingerprints(store) {
|
|
55
|
+
// Resolved once per store, not per entity: the same `IFCUNITASSIGNMENT` walk
|
|
56
|
+
// every property in the file would otherwise repeat, and both `quantitySiScale`
|
|
57
|
+
// and `scaleMeasureValue` are pure over it. An IfcQuantityLength/Area/Volume
|
|
58
|
+
// is stored in the project's raw author unit, exactly like a measure-typed
|
|
59
|
+
// property, so both need the same base-SI conversion before hashing —
|
|
60
|
+
// otherwise a model re-authored in a different project length unit, with no
|
|
61
|
+
// physical quantity actually changed, reports every quantified/measured
|
|
62
|
+
// entity as `modified` (see `buildDataInput`'s scaling comment).
|
|
63
|
+
const units = extractProjectUnits(store.source, store.entityIndex);
|
|
54
64
|
const fingerprints = [];
|
|
55
65
|
for (const { expressId, globalId, ifcType, source, isTypeObject } of comparableEntities(store)) {
|
|
56
|
-
const input = buildDataInput(store, expressId, ifcType, source, isTypeObject);
|
|
66
|
+
const input = buildDataInput(store, expressId, ifcType, source, isTypeObject, units);
|
|
57
67
|
fingerprints.push({
|
|
58
68
|
key: globalId,
|
|
59
69
|
ifcType,
|
|
@@ -78,7 +88,11 @@ function buildDataInput(store, expressId, ifcType,
|
|
|
78
88
|
* accessors then answer '' for every display attribute. */
|
|
79
89
|
source,
|
|
80
90
|
/** `IfcTypeObject` subtype? Gates `Tag` into the fingerprint (issue #2021). */
|
|
81
|
-
isTypeObject
|
|
91
|
+
isTypeObject,
|
|
92
|
+
/** The file's declared units, resolved once by {@link buildFileFingerprints},
|
|
93
|
+
* for scaling Qto_ Length/Area/Volume quantities and measure-typed Pset
|
|
94
|
+
* properties to base SI before hashing. */
|
|
95
|
+
units) {
|
|
82
96
|
const predefinedType = extractAllEntityAttributes(store, expressId).find((attribute) => attribute.name === 'PredefinedType')?.value;
|
|
83
97
|
// `Tag` for a TYPE OBJECT only. On an occurrence it is the authoring tool's
|
|
84
98
|
// element id, which changes across producers while the design does not, and
|
|
@@ -89,16 +103,21 @@ isTypeObject) {
|
|
|
89
103
|
const tag = isTypeObject ? attributeAcrossSchemas(store, expressId, ifcType, 'Tag') : undefined;
|
|
90
104
|
const propertySets = extractPropertiesOnDemand(store, expressId).map((set) => ({
|
|
91
105
|
name: set.name,
|
|
92
|
-
properties: set.properties.map((property) => ({
|
|
106
|
+
properties: set.properties.map((property) => ({
|
|
107
|
+
name: property.name,
|
|
108
|
+
value: scaledPropertyValue(property.value, property.dataType, units),
|
|
109
|
+
})),
|
|
93
110
|
}));
|
|
94
111
|
const quantitySets = extractQuantitiesOnDemand(store, expressId).map((set) => ({
|
|
95
112
|
name: set.name,
|
|
96
113
|
quantities: set.quantities.map((quantity) => ({
|
|
97
114
|
name: quantity.name,
|
|
98
|
-
//
|
|
99
|
-
//
|
|
100
|
-
//
|
|
101
|
-
|
|
115
|
+
// Scaled to base SI first (a Qto_ value is stored in the project's raw
|
|
116
|
+
// author unit, see `quantitySiScale`), then rounded to 4 dp, matching
|
|
117
|
+
// the viewer: re-exporting a model with sub-tolerance float jitter must
|
|
118
|
+
// not flip the data hash on an otherwise identical element, which on
|
|
119
|
+
// this path would cost the pair its match.
|
|
120
|
+
value: roundToScale(quantity.value * quantitySiScale(quantity, units)),
|
|
102
121
|
})),
|
|
103
122
|
}));
|
|
104
123
|
const typeAssignments = store.relationships
|
|
@@ -108,6 +127,11 @@ isTypeObject) {
|
|
|
108
127
|
name: store.entities.getName(typeId) || undefined,
|
|
109
128
|
type: store.entities.getTypeName(typeId) || undefined,
|
|
110
129
|
}));
|
|
130
|
+
// Resolved classification references (never entity references — see
|
|
131
|
+
// `DataFingerprintInput.classifications`): an `IfcRelAssociatesClassification`
|
|
132
|
+
// has no channel of its own here, so a re-coded element — geometry and every
|
|
133
|
+
// property untouched — previously read as unchanged on every path.
|
|
134
|
+
const classifications = extractClassificationsOnDemand(store, expressId).map(classificationLabel);
|
|
111
135
|
return {
|
|
112
136
|
ifcType,
|
|
113
137
|
name: store.entities.getName(expressId) || source?.name || undefined,
|
|
@@ -118,11 +142,9 @@ isTypeObject) {
|
|
|
118
142
|
propertySets,
|
|
119
143
|
quantitySets,
|
|
120
144
|
typeAssignments,
|
|
145
|
+
classifications,
|
|
121
146
|
};
|
|
122
147
|
}
|
|
123
|
-
function roundQuantity(value) {
|
|
124
|
-
return Number.isFinite(value) ? Math.round(value * 1e4) / 1e4 : value;
|
|
125
|
-
}
|
|
126
148
|
/**
|
|
127
149
|
* One named attribute, read positionally through the **cross-schema** attribute
|
|
128
150
|
* list (issue #2021).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff-engine.js","sourceRoot":"","sources":["../../src/commands/diff-engine.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,0BAA0B,EAC1B,oBAAoB,GAIrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EACL,eAAe,EACf,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,EACzB,8BAA8B,
|
|
1
|
+
{"version":3,"file":"diff-engine.js","sourceRoot":"","sources":["../../src/commands/diff-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -94,4 +94,16 @@ export declare function infraRevisionModel(revision: 1 | 2): string;
|
|
|
94
94
|
export declare const BASE_MODEL: string;
|
|
95
95
|
/** Same building, re-exported: the two walls carry brand-new GlobalIds. */
|
|
96
96
|
export declare const HEAD_MODEL: string;
|
|
97
|
+
/** A minimal model with one wall carrying one `Qto_` length quantity, under a
|
|
98
|
+
* chosen project length unit and a chosen raw quantity value — for the
|
|
99
|
+
* unit-of-measure oracle case (a Qto_ value is stored in the project's raw
|
|
100
|
+
* author unit, not base SI; see `quantitySiScale`). */
|
|
101
|
+
export declare function quantityModel(lengthUnit: 'METRE' | 'MILLIMETRE', qtyValue: number, explicitQuantityUnit?: 'METRE' | 'MILLIMETRE'): string;
|
|
102
|
+
/**
|
|
103
|
+
* A minimal model with one wall associated to one Uniclass-style
|
|
104
|
+
* classification reference, under a chosen identification code — for the
|
|
105
|
+
* classification oracle case (an `IfcRelAssociatesClassification` re-coding
|
|
106
|
+
* with no geometry, property or quantity edit).
|
|
107
|
+
*/
|
|
108
|
+
export declare function classificationModel(identification: string): string;
|
|
97
109
|
//# sourceMappingURL=diff-test-helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff-test-helpers.d.ts","sourceRoot":"","sources":["../../src/commands/diff-test-helpers.ts"],"names":[],"mappings":"AAIA,kFAAkF;AAElF,yDAAyD;AACzD,wBAAgB,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED;;wDAEwD;AACxD,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CA4B1D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CA+BtD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CA0B5D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAwBrC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAmBtC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,MAAM,CA+B1D;AAED,eAAO,MAAM,UAAU,QAAoC,CAAC;AAC5D,2EAA2E;AAC3E,eAAO,MAAM,UAAU,QAAoC,CAAC"}
|
|
1
|
+
{"version":3,"file":"diff-test-helpers.d.ts","sourceRoot":"","sources":["../../src/commands/diff-test-helpers.ts"],"names":[],"mappings":"AAIA,kFAAkF;AAElF,yDAAyD;AACzD,wBAAgB,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED;;wDAEwD;AACxD,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CA4B1D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CA+BtD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CA0B5D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAwBrC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAmBtC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,MAAM,CA+B1D;AAED,eAAO,MAAM,UAAU,QAAoC,CAAC;AAC5D,2EAA2E;AAC3E,eAAO,MAAM,UAAU,QAAoC,CAAC;AAE5D;;;wDAGwD;AACxD,wBAAgB,aAAa,CAC3B,UAAU,EAAE,OAAO,GAAG,YAAY,EAClC,QAAQ,EAAE,MAAM,EAChB,oBAAoB,CAAC,EAAE,OAAO,GAAG,YAAY,GAC5C,MAAM,CAiCR;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAwBlE"}
|
|
@@ -254,4 +254,72 @@ END-ISO-10303-21;
|
|
|
254
254
|
export const BASE_MODEL = model(guid('OLDA'), guid('OLDB'));
|
|
255
255
|
/** Same building, re-exported: the two walls carry brand-new GlobalIds. */
|
|
256
256
|
export const HEAD_MODEL = model(guid('NEWA'), guid('NEWB'));
|
|
257
|
+
/** A minimal model with one wall carrying one `Qto_` length quantity, under a
|
|
258
|
+
* chosen project length unit and a chosen raw quantity value — for the
|
|
259
|
+
* unit-of-measure oracle case (a Qto_ value is stored in the project's raw
|
|
260
|
+
* author unit, not base SI; see `quantitySiScale`). */
|
|
261
|
+
export function quantityModel(lengthUnit, qtyValue, explicitQuantityUnit) {
|
|
262
|
+
const unitDecl = lengthUnit === 'METRE'
|
|
263
|
+
? `#31= IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.);`
|
|
264
|
+
: `#31= IFCSIUNIT(*,.LENGTHUNIT.,.MILLI.,.METRE.);`;
|
|
265
|
+
const quantityUnitDecl = explicitQuantityUnit
|
|
266
|
+
? `#32= IFCSIUNIT(*,.LENGTHUNIT.,${explicitQuantityUnit === 'METRE' ? '$' : '.MILLI.'},.METRE.);`
|
|
267
|
+
: '';
|
|
268
|
+
const quantityUnitRef = explicitQuantityUnit ? '#32' : '$';
|
|
269
|
+
return `ISO-10303-21;
|
|
270
|
+
HEADER;
|
|
271
|
+
FILE_DESCRIPTION((''),'2;1');
|
|
272
|
+
FILE_NAME('m','2026',(''),(''),'','','');
|
|
273
|
+
FILE_SCHEMA(('IFC4'));
|
|
274
|
+
ENDSEC;
|
|
275
|
+
DATA;
|
|
276
|
+
#1= IFCPROJECT('${guid('PROJ')}',$,'Proj',$,$,$,$,(#20),#30);
|
|
277
|
+
#20= IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-5,#21,$);
|
|
278
|
+
#21= IFCAXIS2PLACEMENT3D(#22,$,$);
|
|
279
|
+
#22= IFCCARTESIANPOINT((0.,0.,0.));
|
|
280
|
+
#30= IFCUNITASSIGNMENT((#31));
|
|
281
|
+
${unitDecl}
|
|
282
|
+
${quantityUnitDecl}
|
|
283
|
+
#40= IFCLOCALPLACEMENT($,#21);
|
|
284
|
+
#41= IFCBUILDINGSTOREY('${guid('STOR')}',$,'L01',$,$,#40,$,$,.ELEMENT.,0.);
|
|
285
|
+
#70= IFCWALL('${guid('WALL')}',$,'Wall A',$,$,#40,$,'tagA',$);
|
|
286
|
+
#80= IFCELEMENTQUANTITY('${guid('QSET')}',$,'Qto_WallBaseQuantities',$,$,(#81));
|
|
287
|
+
#81= IFCQUANTITYLENGTH('Length',$,${quantityUnitRef},${qtyValue.toFixed(3)});
|
|
288
|
+
#82= IFCRELDEFINESBYPROPERTIES('${guid('RELQ')}',$,$,$,(#70),#80);
|
|
289
|
+
#96= IFCRELCONTAINEDINSPATIALSTRUCTURE('${guid('RELC')}',$,$,$,(#70),#41);
|
|
290
|
+
ENDSEC;
|
|
291
|
+
END-ISO-10303-21;
|
|
292
|
+
`;
|
|
293
|
+
}
|
|
294
|
+
/**
|
|
295
|
+
* A minimal model with one wall associated to one Uniclass-style
|
|
296
|
+
* classification reference, under a chosen identification code — for the
|
|
297
|
+
* classification oracle case (an `IfcRelAssociatesClassification` re-coding
|
|
298
|
+
* with no geometry, property or quantity edit).
|
|
299
|
+
*/
|
|
300
|
+
export function classificationModel(identification) {
|
|
301
|
+
return `ISO-10303-21;
|
|
302
|
+
HEADER;
|
|
303
|
+
FILE_DESCRIPTION((''),'2;1');
|
|
304
|
+
FILE_NAME('m','2026',(''),(''),'','','');
|
|
305
|
+
FILE_SCHEMA(('IFC4'));
|
|
306
|
+
ENDSEC;
|
|
307
|
+
DATA;
|
|
308
|
+
#1= IFCPROJECT('${guid('PROJ')}',$,'Proj',$,$,$,$,(#20),#30);
|
|
309
|
+
#20= IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-5,#21,$);
|
|
310
|
+
#21= IFCAXIS2PLACEMENT3D(#22,$,$);
|
|
311
|
+
#22= IFCCARTESIANPOINT((0.,0.,0.));
|
|
312
|
+
#30= IFCUNITASSIGNMENT((#31));
|
|
313
|
+
#31= IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.);
|
|
314
|
+
#40= IFCLOCALPLACEMENT($,#21);
|
|
315
|
+
#41= IFCBUILDINGSTOREY('${guid('STOR')}',$,'L01',$,$,#40,$,$,.ELEMENT.,0.);
|
|
316
|
+
#70= IFCWALL('${guid('WALL')}',$,'Wall A',$,$,#40,$,'tagA',$);
|
|
317
|
+
#90= IFCCLASSIFICATION('Uniclass2015',$,$,'Uniclass2015',$,$,$);
|
|
318
|
+
#91= IFCCLASSIFICATIONREFERENCE($,'${identification}','Timber wall',#90,$);
|
|
319
|
+
#92= IFCRELASSOCIATESCLASSIFICATION('${guid('RELA')}',$,$,$,(#70),#91);
|
|
320
|
+
#96= IFCRELCONTAINEDINSPATIALSTRUCTURE('${guid('RELC')}',$,$,$,(#70),#41);
|
|
321
|
+
ENDSEC;
|
|
322
|
+
END-ISO-10303-21;
|
|
323
|
+
`;
|
|
324
|
+
}
|
|
257
325
|
//# sourceMappingURL=diff-test-helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff-test-helpers.js","sourceRoot":"","sources":["../../src/commands/diff-test-helpers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"diff-test-helpers.js","sourceRoot":"","sources":["../../src/commands/diff-test-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One wall, same `GlobalId` throughout, carrying a `Pset_X.Width` typed as
|
|
3
|
+
* `IfcLengthMeasure` — for probing whether a diff scales a project-scoped
|
|
4
|
+
* measure PROPERTY the way it already scales a `Qto_` quantity. `unitDef` is
|
|
5
|
+
* the file's `IFCUNITASSIGNMENT` member (metre vs. millimetre `IFCSIUNIT`) and
|
|
6
|
+
* `widthValue` is the raw author-unit number stored in the STEP record.
|
|
7
|
+
*/
|
|
8
|
+
export declare function unitScaledPropertyModel(unitDef: string, widthValue: string): string;
|
|
9
|
+
/** `unitScaledPropertyModel`, declared in whole metres. */
|
|
10
|
+
export declare const UNIT_SCALE_METRE_MODEL: string;
|
|
11
|
+
/** Same wall, same physical width, re-authored in a millimetre-declared project. */
|
|
12
|
+
export declare const UNIT_SCALE_MILLIMETRE_MODEL: string;
|
|
13
|
+
/** Same millimetre project, but the width genuinely changed (2.5 m -> 3.0 m). */
|
|
14
|
+
export declare const UNIT_SCALE_MILLIMETRE_EDITED_MODEL: string;
|
|
15
|
+
/**
|
|
16
|
+
* One wall carrying BOTH a `Qto_` quantity (`quantitySiScale`'s path) and a
|
|
17
|
+
* `Pset_X.Width` measure property (`scaledPropertyValue`'s path) — the two
|
|
18
|
+
* scaling fixes model-diff applies before hashing, which a rebase combined
|
|
19
|
+
* into one shared `units` value (`buildDataInput`). Lets a test independently
|
|
20
|
+
* flip only the quantity or only the property and confirm each is scaled
|
|
21
|
+
* exactly once: a value scaled twice by an accidentally-chained path would
|
|
22
|
+
* report `unchanged` as `modified`, or vice versa, on re-export into a
|
|
23
|
+
* differently-unit-declared project.
|
|
24
|
+
*/
|
|
25
|
+
export declare function unitScaledCombinedModel(unitDef: string, qtyValue: string, widthValue: string): string;
|
|
26
|
+
/** `unitScaledCombinedModel`, declared in whole metres: quantity 4.0 m, width 2.5 m. */
|
|
27
|
+
export declare const UNIT_SCALE_COMBINED_METRE_MODEL: string;
|
|
28
|
+
/** Same wall, same physical quantity and width, re-authored in millimetres. */
|
|
29
|
+
export declare const UNIT_SCALE_COMBINED_MILLIMETRE_MODEL: string;
|
|
30
|
+
/** Millimetre re-export, but ONLY the quantity genuinely changed (4.0 m -> 5.0 m). */
|
|
31
|
+
export declare const UNIT_SCALE_COMBINED_QUANTITY_EDITED_MODEL: string;
|
|
32
|
+
/** Millimetre re-export, but ONLY the property genuinely changed (2.5 m -> 3.0 m). */
|
|
33
|
+
export declare const UNIT_SCALE_COMBINED_PROPERTY_EDITED_MODEL: string;
|
|
34
|
+
//# sourceMappingURL=diff-unit-scale-fixtures.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diff-unit-scale-fixtures.d.ts","sourceRoot":"","sources":["../../src/commands/diff-unit-scale-fixtures.ts"],"names":[],"mappings":"AAYA;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAwBnF;AAED,2DAA2D;AAC3D,eAAO,MAAM,sBAAsB,QAGlC,CAAC;AACF,oFAAoF;AACpF,eAAO,MAAM,2BAA2B,QAGvC,CAAC;AACF,iFAAiF;AACjF,eAAO,MAAM,kCAAkC,QAG9C,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CA2BrG;AAED,wFAAwF;AACxF,eAAO,MAAM,+BAA+B,QAI3C,CAAC;AACF,+EAA+E;AAC/E,eAAO,MAAM,oCAAoC,QAIhD,CAAC;AACF,sFAAsF;AACtF,eAAO,MAAM,yCAAyC,QAIrD,CAAC;AACF,sFAAsF;AACtF,eAAO,MAAM,yCAAyC,QAIrD,CAAC"}
|
|
@@ -0,0 +1,94 @@
|
|
|
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
|
+
* Unit-scale STEP fixtures for the `diff --by-content` measure/quantity
|
|
6
|
+
* scaling suites (split out of `diff-test-helpers.ts`, AGENTS.md's ~400-line
|
|
7
|
+
* module-size house rule).
|
|
8
|
+
*/
|
|
9
|
+
import { guid } from './diff-test-helpers.js';
|
|
10
|
+
/**
|
|
11
|
+
* One wall, same `GlobalId` throughout, carrying a `Pset_X.Width` typed as
|
|
12
|
+
* `IfcLengthMeasure` — for probing whether a diff scales a project-scoped
|
|
13
|
+
* measure PROPERTY the way it already scales a `Qto_` quantity. `unitDef` is
|
|
14
|
+
* the file's `IFCUNITASSIGNMENT` member (metre vs. millimetre `IFCSIUNIT`) and
|
|
15
|
+
* `widthValue` is the raw author-unit number stored in the STEP record.
|
|
16
|
+
*/
|
|
17
|
+
export function unitScaledPropertyModel(unitDef, widthValue) {
|
|
18
|
+
return `ISO-10303-21;
|
|
19
|
+
HEADER;
|
|
20
|
+
FILE_DESCRIPTION((''),'2;1');
|
|
21
|
+
FILE_NAME('m','2026',(''),(''),'','','');
|
|
22
|
+
FILE_SCHEMA(('IFC4'));
|
|
23
|
+
ENDSEC;
|
|
24
|
+
DATA;
|
|
25
|
+
#1= IFCPROJECT('${guid('PROJ')}',$,'Proj',$,$,$,$,(#20),#30);
|
|
26
|
+
#20= IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-5,#21,$);
|
|
27
|
+
#21= IFCAXIS2PLACEMENT3D(#22,$,$);
|
|
28
|
+
#22= IFCCARTESIANPOINT((0.,0.,0.));
|
|
29
|
+
#30= IFCUNITASSIGNMENT((#31));
|
|
30
|
+
${unitDef}
|
|
31
|
+
#40= IFCLOCALPLACEMENT($,#21);
|
|
32
|
+
#41= IFCBUILDINGSTOREY('${guid('STOR')}',$,'L01',$,$,#40,$,$,.ELEMENT.,0.);
|
|
33
|
+
#70= IFCWALL('${guid('WALL')}',$,'Wall A',$,$,#40,$,'tagA',$);
|
|
34
|
+
#81= IFCPROPERTYSET('${guid('PSET')}',$,'Pset_X',$,(#82));
|
|
35
|
+
#82= IFCPROPERTYSINGLEVALUE('Width',$,IFCLENGTHMEASURE(${widthValue}),$);
|
|
36
|
+
#83= IFCRELDEFINESBYPROPERTIES('${guid('RELP')}',$,$,$,(#70),#81);
|
|
37
|
+
#96= IFCRELCONTAINEDINSPATIALSTRUCTURE('${guid('RELC')}',$,$,$,(#70),#41);
|
|
38
|
+
ENDSEC;
|
|
39
|
+
END-ISO-10303-21;
|
|
40
|
+
`;
|
|
41
|
+
}
|
|
42
|
+
/** `unitScaledPropertyModel`, declared in whole metres. */
|
|
43
|
+
export const UNIT_SCALE_METRE_MODEL = unitScaledPropertyModel('#31= IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.);', '2.5');
|
|
44
|
+
/** Same wall, same physical width, re-authored in a millimetre-declared project. */
|
|
45
|
+
export const UNIT_SCALE_MILLIMETRE_MODEL = unitScaledPropertyModel('#31= IFCSIUNIT(*,.LENGTHUNIT.,.MILLI.,.METRE.);', '2500.');
|
|
46
|
+
/** Same millimetre project, but the width genuinely changed (2.5 m -> 3.0 m). */
|
|
47
|
+
export const UNIT_SCALE_MILLIMETRE_EDITED_MODEL = unitScaledPropertyModel('#31= IFCSIUNIT(*,.LENGTHUNIT.,.MILLI.,.METRE.);', '3000.');
|
|
48
|
+
/**
|
|
49
|
+
* One wall carrying BOTH a `Qto_` quantity (`quantitySiScale`'s path) and a
|
|
50
|
+
* `Pset_X.Width` measure property (`scaledPropertyValue`'s path) — the two
|
|
51
|
+
* scaling fixes model-diff applies before hashing, which a rebase combined
|
|
52
|
+
* into one shared `units` value (`buildDataInput`). Lets a test independently
|
|
53
|
+
* flip only the quantity or only the property and confirm each is scaled
|
|
54
|
+
* exactly once: a value scaled twice by an accidentally-chained path would
|
|
55
|
+
* report `unchanged` as `modified`, or vice versa, on re-export into a
|
|
56
|
+
* differently-unit-declared project.
|
|
57
|
+
*/
|
|
58
|
+
export function unitScaledCombinedModel(unitDef, qtyValue, widthValue) {
|
|
59
|
+
return `ISO-10303-21;
|
|
60
|
+
HEADER;
|
|
61
|
+
FILE_DESCRIPTION((''),'2;1');
|
|
62
|
+
FILE_NAME('m','2026',(''),(''),'','','');
|
|
63
|
+
FILE_SCHEMA(('IFC4'));
|
|
64
|
+
ENDSEC;
|
|
65
|
+
DATA;
|
|
66
|
+
#1= IFCPROJECT('${guid('PROJ')}',$,'Proj',$,$,$,$,(#20),#30);
|
|
67
|
+
#20= IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-5,#21,$);
|
|
68
|
+
#21= IFCAXIS2PLACEMENT3D(#22,$,$);
|
|
69
|
+
#22= IFCCARTESIANPOINT((0.,0.,0.));
|
|
70
|
+
#30= IFCUNITASSIGNMENT((#31));
|
|
71
|
+
${unitDef}
|
|
72
|
+
#40= IFCLOCALPLACEMENT($,#21);
|
|
73
|
+
#41= IFCBUILDINGSTOREY('${guid('STOR')}',$,'L01',$,$,#40,$,$,.ELEMENT.,0.);
|
|
74
|
+
#70= IFCWALL('${guid('WALL')}',$,'Wall A',$,$,#40,$,'tagA',$);
|
|
75
|
+
#80= IFCELEMENTQUANTITY('${guid('QSET')}',$,'Qto_WallBaseQuantities',$,$,(#81));
|
|
76
|
+
#81= IFCQUANTITYLENGTH('Length',$,$,${qtyValue});
|
|
77
|
+
#82= IFCRELDEFINESBYPROPERTIES('${guid('RELQ')}',$,$,$,(#70),#80);
|
|
78
|
+
#83= IFCPROPERTYSET('${guid('PSET')}',$,'Pset_X',$,(#84));
|
|
79
|
+
#84= IFCPROPERTYSINGLEVALUE('Width',$,IFCLENGTHMEASURE(${widthValue}),$);
|
|
80
|
+
#85= IFCRELDEFINESBYPROPERTIES('${guid('RELP')}',$,$,$,(#70),#83);
|
|
81
|
+
#96= IFCRELCONTAINEDINSPATIALSTRUCTURE('${guid('RELC')}',$,$,$,(#70),#41);
|
|
82
|
+
ENDSEC;
|
|
83
|
+
END-ISO-10303-21;
|
|
84
|
+
`;
|
|
85
|
+
}
|
|
86
|
+
/** `unitScaledCombinedModel`, declared in whole metres: quantity 4.0 m, width 2.5 m. */
|
|
87
|
+
export const UNIT_SCALE_COMBINED_METRE_MODEL = unitScaledCombinedModel('#31= IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.);', '4.0', '2.5');
|
|
88
|
+
/** Same wall, same physical quantity and width, re-authored in millimetres. */
|
|
89
|
+
export const UNIT_SCALE_COMBINED_MILLIMETRE_MODEL = unitScaledCombinedModel('#31= IFCSIUNIT(*,.LENGTHUNIT.,.MILLI.,.METRE.);', '4000.', '2500.');
|
|
90
|
+
/** Millimetre re-export, but ONLY the quantity genuinely changed (4.0 m -> 5.0 m). */
|
|
91
|
+
export const UNIT_SCALE_COMBINED_QUANTITY_EDITED_MODEL = unitScaledCombinedModel('#31= IFCSIUNIT(*,.LENGTHUNIT.,.MILLI.,.METRE.);', '5000.', '2500.');
|
|
92
|
+
/** Millimetre re-export, but ONLY the property genuinely changed (2.5 m -> 3.0 m). */
|
|
93
|
+
export const UNIT_SCALE_COMBINED_PROPERTY_EDITED_MODEL = unitScaledCombinedModel('#31= IFCSIUNIT(*,.LENGTHUNIT.,.MILLI.,.METRE.);', '4000.', '3000.');
|
|
94
|
+
//# sourceMappingURL=diff-unit-scale-fixtures.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diff-unit-scale-fixtures.js","sourceRoot":"","sources":["../../src/commands/diff-unit-scale-fixtures.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAE9C;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAe,EAAE,UAAkB;IACzE,OAAO;;;;;;;kBAOS,IAAI,CAAC,MAAM,CAAC;;;;;EAK5B,OAAO;;0BAEiB,IAAI,CAAC,MAAM,CAAC;gBACtB,IAAI,CAAC,MAAM,CAAC;uBACL,IAAI,CAAC,MAAM,CAAC;yDACsB,UAAU;kCACjC,IAAI,CAAC,MAAM,CAAC;0CACJ,IAAI,CAAC,MAAM,CAAC;;;CAGrD,CAAC;AACF,CAAC;AAED,2DAA2D;AAC3D,MAAM,CAAC,MAAM,sBAAsB,GAAG,uBAAuB,CAC3D,2CAA2C,EAC3C,KAAK,CACN,CAAC;AACF,oFAAoF;AACpF,MAAM,CAAC,MAAM,2BAA2B,GAAG,uBAAuB,CAChE,iDAAiD,EACjD,OAAO,CACR,CAAC;AACF,iFAAiF;AACjF,MAAM,CAAC,MAAM,kCAAkC,GAAG,uBAAuB,CACvE,iDAAiD,EACjD,OAAO,CACR,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAe,EAAE,QAAgB,EAAE,UAAkB;IAC3F,OAAO;;;;;;;kBAOS,IAAI,CAAC,MAAM,CAAC;;;;;EAK5B,OAAO;;0BAEiB,IAAI,CAAC,MAAM,CAAC;gBACtB,IAAI,CAAC,MAAM,CAAC;2BACD,IAAI,CAAC,MAAM,CAAC;sCACD,QAAQ;kCACZ,IAAI,CAAC,MAAM,CAAC;uBACvB,IAAI,CAAC,MAAM,CAAC;yDACsB,UAAU;kCACjC,IAAI,CAAC,MAAM,CAAC;0CACJ,IAAI,CAAC,MAAM,CAAC;;;CAGrD,CAAC;AACF,CAAC;AAED,wFAAwF;AACxF,MAAM,CAAC,MAAM,+BAA+B,GAAG,uBAAuB,CACpE,2CAA2C,EAC3C,KAAK,EACL,KAAK,CACN,CAAC;AACF,+EAA+E;AAC/E,MAAM,CAAC,MAAM,oCAAoC,GAAG,uBAAuB,CACzE,iDAAiD,EACjD,OAAO,EACP,OAAO,CACR,CAAC;AACF,sFAAsF;AACtF,MAAM,CAAC,MAAM,yCAAyC,GAAG,uBAAuB,CAC9E,iDAAiD,EACjD,OAAO,EACP,OAAO,CACR,CAAC;AACF,sFAAsF;AACtF,MAAM,CAAC,MAAM,yCAAyC,GAAG,uBAAuB,CAC9E,iDAAiD,EACjD,OAAO,EACP,OAAO,CACR,CAAC"}
|
|
@@ -1,2 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* B5: Resolve a column value from an entity, searching entity attributes,
|
|
3
|
+
* property sets, AND quantity sets (by bare quantity name or QsetName.QuantityName).
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Resolve a column value from an entity, returning the raw value
|
|
7
|
+
* (number, boolean, string, or null) to preserve types in JSON output.
|
|
8
|
+
*/
|
|
9
|
+
export declare function resolveColumnValue(entity: any, col: string, bim: any): unknown;
|
|
10
|
+
/** Stringify a column value for CSV output */
|
|
11
|
+
export declare function columnValueToCsv(value: unknown): string;
|
|
1
12
|
export declare function exportCommand(args: string[]): Promise<void>;
|
|
2
13
|
//# sourceMappingURL=export.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"AAgEA;;;GAGG;AACH;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CA2C9E;AAED,8CAA8C;AAC9C,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAGvD;AAsCD,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA+QjE"}
|
package/dist/commands/export.js
CHANGED
|
@@ -12,6 +12,7 @@ import { writeFile, readFile } from 'node:fs/promises';
|
|
|
12
12
|
import { basename } from 'node:path';
|
|
13
13
|
import { GeometryProcessor, isNoRenderGeometryError } from '@ifc-lite/geometry';
|
|
14
14
|
import { countGlbMeshes, escapeCsvCell } from '@ifc-lite/export';
|
|
15
|
+
import { findPropertyInSets, findQuantityInSets } from '@ifc-lite/query';
|
|
15
16
|
import { createHeadlessContext } from '../loader.js';
|
|
16
17
|
import { getFlag, hasFlag, fatal, writeOutput, validateLimit } from '../output.js';
|
|
17
18
|
import { logger } from '../logger.js';
|
|
@@ -59,7 +60,7 @@ function normalizeTypeName(typeStr) {
|
|
|
59
60
|
* Resolve a column value from an entity, returning the raw value
|
|
60
61
|
* (number, boolean, string, or null) to preserve types in JSON output.
|
|
61
62
|
*/
|
|
62
|
-
function resolveColumnValue(entity, col, bim) {
|
|
63
|
+
export function resolveColumnValue(entity, col, bim) {
|
|
63
64
|
// Native entity attributes
|
|
64
65
|
if (col === 'Name' || col === 'name')
|
|
65
66
|
return entity.name ?? null;
|
|
@@ -78,20 +79,14 @@ function resolveColumnValue(entity, col, bim) {
|
|
|
78
79
|
const valueName = col.slice(dotIdx + 1);
|
|
79
80
|
// Search property sets
|
|
80
81
|
const props = bim.properties(entity.ref);
|
|
81
|
-
const
|
|
82
|
-
if (
|
|
83
|
-
|
|
84
|
-
if (prop?.value != null)
|
|
85
|
-
return prop.value;
|
|
86
|
-
}
|
|
82
|
+
const prop = findPropertyInSets(props, setName, valueName);
|
|
83
|
+
if (prop?.value != null)
|
|
84
|
+
return prop.value;
|
|
87
85
|
// Search quantity sets
|
|
88
86
|
const qsets = bim.quantities(entity.ref);
|
|
89
|
-
const
|
|
90
|
-
if (
|
|
91
|
-
|
|
92
|
-
if (qty?.value != null)
|
|
93
|
-
return qty.value;
|
|
94
|
-
}
|
|
87
|
+
const qty = findQuantityInSets(qsets, setName, valueName);
|
|
88
|
+
if (qty?.value != null)
|
|
89
|
+
return qty.value;
|
|
95
90
|
return null;
|
|
96
91
|
}
|
|
97
92
|
// B5: Bare quantity name (e.g., "GrossSideArea") — search all quantity sets
|
|
@@ -113,7 +108,7 @@ function resolveColumnValue(entity, col, bim) {
|
|
|
113
108
|
return null;
|
|
114
109
|
}
|
|
115
110
|
/** Stringify a column value for CSV output */
|
|
116
|
-
function columnValueToCsv(value) {
|
|
111
|
+
export function columnValueToCsv(value) {
|
|
117
112
|
if (value == null)
|
|
118
113
|
return '';
|
|
119
114
|
return String(value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../src/commands/merge.ts"],"names":[],"mappings":"AA2BA,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../src/commands/merge.ts"],"names":[],"mappings":"AA2BA,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAkHhE"}
|
package/dist/commands/merge.js
CHANGED
|
@@ -58,6 +58,9 @@ export async function mergeCommand(args) {
|
|
|
58
58
|
if (mergeStoreysFlag !== undefined && !STOREY_MODES.includes(mergeStoreysFlag)) {
|
|
59
59
|
fatal(`--merge-storeys must be one of: ${STOREY_MODES.join(', ')}`);
|
|
60
60
|
}
|
|
61
|
+
// Leave out spatial containers the merge finds holding nothing — the step of
|
|
62
|
+
// the "Merge Projects" recipe the matching flags above do not cover (#3643).
|
|
63
|
+
const dropEmptyContainers = hasFlag(args, '--drop-empty-containers');
|
|
61
64
|
// Collect all positional args as input files
|
|
62
65
|
const files = [];
|
|
63
66
|
for (let i = 0; i < args.length; i++) {
|
|
@@ -91,6 +94,7 @@ export async function mergeCommand(args) {
|
|
|
91
94
|
mergeSites: mergeSitesFlag,
|
|
92
95
|
mergeBuildings: mergeBuildingsFlag,
|
|
93
96
|
mergeStoreys: mergeStoreysFlag,
|
|
97
|
+
dropEmptyContainers,
|
|
94
98
|
});
|
|
95
99
|
await writeFile(outPath, result.content, 'utf-8');
|
|
96
100
|
if (jsonOutput) {
|
|
@@ -101,6 +105,7 @@ export async function mergeCommand(args) {
|
|
|
101
105
|
fileSize: result.stats.fileSize,
|
|
102
106
|
federatedModelCount: result.stats.federatedModelCount,
|
|
103
107
|
normalizedModelCount: result.stats.normalizedModelCount,
|
|
108
|
+
droppedContainerCount: result.stats.droppedContainerCount,
|
|
104
109
|
warnings: result.stats.warnings,
|
|
105
110
|
});
|
|
106
111
|
}
|
|
@@ -109,6 +114,9 @@ export async function mergeCommand(args) {
|
|
|
109
114
|
if (result.stats.normalizedModelCount > 0) {
|
|
110
115
|
process.stderr.write(`Normalized ${result.stats.normalizedModelCount} model(s) into the first file's unit\n`);
|
|
111
116
|
}
|
|
117
|
+
if (result.stats.droppedContainerCount > 0) {
|
|
118
|
+
process.stderr.write(`Dropped ${result.stats.droppedContainerCount} empty spatial container(s)\n`);
|
|
119
|
+
}
|
|
112
120
|
for (const warning of result.stats.warnings) {
|
|
113
121
|
process.stderr.write(`Warning: ${warning}\n`);
|
|
114
122
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge.js","sourceRoot":"","sources":["../../src/commands/merge.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"merge.js","sourceRoot":"","sources":["../../src/commands/merge.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Aggregation utilities for query command — quantity lookup, sorting,
|
|
3
|
-
* and standard QTO maps.
|
|
4
|
-
*/
|
|
5
1
|
/**
|
|
6
2
|
* Standard IFC quantity set definitions — maps entity type to its standard Qto_ sets
|
|
7
3
|
* and the quantities within each set. Used for disambiguation warnings.
|
|
@@ -11,6 +7,33 @@ export declare const STANDARD_QTO_MAP: Record<string, Record<string, string[]>>;
|
|
|
11
7
|
* Helper: get a quantity value for an entity by name (searching all qsets).
|
|
12
8
|
*/
|
|
13
9
|
export declare function getQuantityValue(bim: any, ref: any, quantityName: string): number | null;
|
|
10
|
+
/** The numeric reductions `query --group-by`'s aggregation mode and `schedule --subtotals` share. */
|
|
11
|
+
export type NumericAggMode = 'sum' | 'avg' | 'min' | 'max';
|
|
12
|
+
/**
|
|
13
|
+
* Reduce a list of numbers to a single sum/avg/min/max, skipping every
|
|
14
|
+
* non-finite entry (`Infinity`, `-Infinity`, `NaN`) so one poisoned value can
|
|
15
|
+
* neither dominate a min/max nor turn a sum into `NaN`. Returns `null` when no
|
|
16
|
+
* finite value was seen (an empty list, or one that is all non-finite), which
|
|
17
|
+
* the caller renders as a blank cell / `null` rather than a fabricated `0`.
|
|
18
|
+
*
|
|
19
|
+
* This is the single numeric core `query --group-by`'s aggregation mode
|
|
20
|
+
* (`outputGroupBy` in `query-output.ts`) and `schedule --subtotals`
|
|
21
|
+
* (`schedule-aggregate.ts`) share, so the two cannot drift from each other.
|
|
22
|
+
*
|
|
23
|
+
* It is NOT what protects the flat, ungrouped `query --sum/--avg/--min/--max`
|
|
24
|
+
* (`outputSum`/`outputAggregation`) from a poisoned value — those read
|
|
25
|
+
* straight from `getQuantityValue`, which already substitutes `0` for a
|
|
26
|
+
* non-finite value at the source, before this function (or its caller) ever
|
|
27
|
+
* sees it. `outputGroupBy` calls `getQuantityValue` too, so by the time its
|
|
28
|
+
* values reach `aggregateFinite` here they have ALREADY been zeroed, not
|
|
29
|
+
* dropped. `schedule-aggregate.ts`'s `computeValues` pre-filters the same
|
|
30
|
+
* way with its own `cellToNumber` (also `Number.isFinite`-guarded) before
|
|
31
|
+
* ever building the array passed in here. In both of today's call sites
|
|
32
|
+
* this function's own `!Number.isFinite(v)` guard is consequently
|
|
33
|
+
* unreachable in practice — a defence in depth, exercised directly by this
|
|
34
|
+
* function's own unit tests, not currently by either caller's inputs.
|
|
35
|
+
*/
|
|
36
|
+
export declare function aggregateFinite(values: number[], mode: NumericAggMode): number | null;
|
|
14
37
|
/**
|
|
15
38
|
* F7: Sort entities by quantity, attribute, or property value.
|
|
16
39
|
* Supports: quantity names, entity attributes (name/type/globalId), PsetName.PropName
|