@ifc-lite/export 2.9.4 → 3.0.1
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/csv-cell.d.ts +101 -0
- package/dist/csv-cell.d.ts.map +1 -0
- package/dist/csv-cell.js +90 -0
- package/dist/csv-cell.js.map +1 -0
- package/dist/declared-property-type.d.ts +19 -8
- package/dist/declared-property-type.d.ts.map +1 -1
- package/dist/declared-property-type.js +31 -9
- package/dist/declared-property-type.js.map +1 -1
- package/dist/demesh-session.d.ts.map +1 -1
- package/dist/demesh-session.js +2 -1
- package/dist/demesh-session.js.map +1 -1
- package/dist/effective-index.js +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -1
- package/dist/lod1-generator.d.ts +0 -2
- package/dist/lod1-generator.d.ts.map +1 -1
- package/dist/lod1-generator.js +1 -1
- package/dist/lod1-generator.js.map +1 -1
- package/dist/merged-exporter.d.ts +19 -0
- package/dist/merged-exporter.d.ts.map +1 -1
- package/dist/merged-exporter.js +23 -41
- package/dist/merged-exporter.js.map +1 -1
- package/dist/parquet-exporter.d.ts +1 -3
- package/dist/parquet-exporter.d.ts.map +1 -1
- package/dist/parquet-exporter.js +1 -0
- package/dist/parquet-exporter.js.map +1 -1
- package/dist/property-value-serialization.d.ts +54 -0
- package/dist/property-value-serialization.d.ts.map +1 -0
- package/dist/property-value-serialization.js +134 -0
- package/dist/property-value-serialization.js.map +1 -0
- package/dist/reference-collector.d.ts +20 -0
- package/dist/reference-collector.d.ts.map +1 -1
- package/dist/reference-collector.js +46 -113
- package/dist/reference-collector.js.map +1 -1
- package/dist/schema-converter.d.ts.map +1 -1
- package/dist/schema-converter.js +46 -96
- package/dist/schema-converter.js.map +1 -1
- package/dist/source-ref-bounds.d.ts +3 -3
- package/dist/source-ref-bounds.js +3 -3
- package/dist/step-attribute-mutations.d.ts +49 -0
- package/dist/step-attribute-mutations.d.ts.map +1 -0
- package/dist/step-attribute-mutations.js +172 -0
- package/dist/step-attribute-mutations.js.map +1 -0
- package/dist/step-attribute-serializers.d.ts +41 -0
- package/dist/step-attribute-serializers.d.ts.map +1 -0
- package/dist/step-attribute-serializers.js +74 -0
- package/dist/step-attribute-serializers.js.map +1 -0
- package/dist/step-collection.d.ts +55 -0
- package/dist/step-collection.d.ts.map +1 -0
- package/dist/step-collection.js +126 -0
- package/dist/step-collection.js.map +1 -0
- package/dist/step-export-contexts.d.ts +61 -0
- package/dist/step-export-contexts.d.ts.map +1 -0
- package/dist/step-export-contexts.js +50 -0
- package/dist/step-export-contexts.js.map +1 -0
- package/dist/step-export-types.d.ts +262 -0
- package/dist/step-export-types.d.ts.map +1 -0
- package/dist/step-export-types.js +22 -0
- package/dist/step-export-types.js.map +1 -0
- package/dist/step-exporter.d.ts +23 -354
- package/dist/step-exporter.d.ts.map +1 -1
- package/dist/step-exporter.js +76 -1260
- package/dist/step-exporter.js.map +1 -1
- package/dist/step-geometry-types.d.ts +3 -0
- package/dist/step-geometry-types.d.ts.map +1 -0
- package/dist/step-geometry-types.js +73 -0
- package/dist/step-geometry-types.js.map +1 -0
- package/dist/step-georeferencing.d.ts +0 -10
- package/dist/step-georeferencing.d.ts.map +1 -1
- package/dist/step-georeferencing.js +46 -94
- package/dist/step-georeferencing.js.map +1 -1
- package/dist/step-header.d.ts +53 -0
- package/dist/step-header.d.ts.map +1 -0
- package/dist/step-header.js +63 -0
- package/dist/step-header.js.map +1 -0
- package/dist/step-map-unit.d.ts +90 -0
- package/dist/step-map-unit.d.ts.map +1 -0
- package/dist/step-map-unit.js +277 -0
- package/dist/step-map-unit.js.map +1 -0
- package/dist/step-omission-predicates.d.ts +51 -0
- package/dist/step-omission-predicates.d.ts.map +1 -0
- package/dist/step-omission-predicates.js +268 -0
- package/dist/step-omission-predicates.js.map +1 -0
- package/dist/step-overlay-attribute-overrides.d.ts +32 -0
- package/dist/step-overlay-attribute-overrides.d.ts.map +1 -0
- package/dist/step-overlay-attribute-overrides.js +83 -0
- package/dist/step-overlay-attribute-overrides.js.map +1 -0
- package/dist/step-overlay-entities.d.ts +64 -0
- package/dist/step-overlay-entities.d.ts.map +1 -0
- package/dist/step-overlay-entities.js +119 -0
- package/dist/step-overlay-entities.js.map +1 -0
- package/dist/step-pass-builder.d.ts +45 -0
- package/dist/step-pass-builder.d.ts.map +1 -0
- package/dist/step-pass-builder.js +249 -0
- package/dist/step-pass-builder.js.map +1 -0
- package/dist/step-property-set-collection.d.ts +24 -0
- package/dist/step-property-set-collection.d.ts.map +1 -0
- package/dist/step-property-set-collection.js +286 -0
- package/dist/step-property-set-collection.js.map +1 -0
- package/dist/step-property-set-generators.d.ts +20 -0
- package/dist/step-property-set-generators.d.ts.map +1 -0
- package/dist/step-property-set-generators.js +98 -0
- package/dist/step-property-set-generators.js.map +1 -0
- package/dist/step-property-set-index.d.ts +25 -0
- package/dist/step-property-set-index.d.ts.map +1 -0
- package/dist/step-property-set-index.js +69 -0
- package/dist/step-property-set-index.js.map +1 -0
- package/dist/step-property-set-readers.d.ts +158 -0
- package/dist/step-property-set-readers.d.ts.map +1 -0
- package/dist/step-property-set-readers.js +251 -0
- package/dist/step-property-set-readers.js.map +1 -0
- package/dist/step-property-sets.d.ts +2 -184
- package/dist/step-property-sets.d.ts.map +1 -1
- package/dist/step-property-sets.js +22 -674
- package/dist/step-property-sets.js.map +1 -1
- package/dist/step-serialization.d.ts +33 -52
- package/dist/step-serialization.d.ts.map +1 -1
- package/dist/step-serialization.js +69 -131
- package/dist/step-serialization.js.map +1 -1
- package/dist/step-source-iteration.d.ts +97 -0
- package/dist/step-source-iteration.d.ts.map +1 -0
- package/dist/step-source-iteration.js +178 -0
- package/dist/step-source-iteration.js.map +1 -0
- package/package.json +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-property-sets.js","sourceRoot":"","sources":["../src/step-property-sets.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"step-property-sets.js","sourceRoot":"","sources":["../src/step-property-sets.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,16 +4,20 @@
|
|
|
4
4
|
* All functions in this module are pure (no side-effects, no external state)
|
|
5
5
|
* and deal exclusively with converting data to ISO 10303-21 STEP format strings.
|
|
6
6
|
*
|
|
7
|
-
*
|
|
8
|
-
* a token and
|
|
7
|
+
* Three neighbours are deliberately NOT here, because none turns a value into
|
|
8
|
+
* a token and each has rules of its own worth finding on its own:
|
|
9
9
|
* - `step-argument-parser.ts` reads a record's arguments back OUT of a line
|
|
10
10
|
* and writes one slot by index (`splitTopLevelArgs`, `replaceStepArgument`,
|
|
11
11
|
* `splitTopLevelStepArguments`);
|
|
12
12
|
* - `step-file-assembly.ts` joins a finished header and finished entity lines
|
|
13
|
-
* into the delivered file (`assembleStepBytes`, `assembleStepBlob`)
|
|
13
|
+
* into the delivered file (`assembleStepBytes`, `assembleStepBlob`);
|
|
14
|
+
* - `property-value-serialization.ts` (split out by #3184) is the IFC
|
|
15
|
+
* property `NominalValue` token for a `PropertyValueType`
|
|
16
|
+
* (`serializePropertyValue`) — the property-TYPE-NAME mapping table, not a
|
|
17
|
+
* generic STEP token, and worth reading on its own.
|
|
14
18
|
*/
|
|
15
19
|
import { type IfcAttributeValue } from '@ifc-lite/parser';
|
|
16
|
-
import {
|
|
20
|
+
import { QuantityType } from '@ifc-lite/data';
|
|
17
21
|
/**
|
|
18
22
|
* Resolve an IFC defined type (`IfcLengthMeasure`, `IfcPositiveLengthMeasure`,
|
|
19
23
|
* `IfcBoolean`, …) to its underlying EXPRESS primitive (`REAL`, `BOOLEAN`, …)
|
|
@@ -29,11 +33,32 @@ export declare function resolveExpressBase(typeName: string): string | null;
|
|
|
29
33
|
*/
|
|
30
34
|
export declare function serializeTypedMarker(type: string, value: string | number | boolean): string;
|
|
31
35
|
/**
|
|
32
|
-
* Escape a string for STEP format
|
|
36
|
+
* Escape a string for STEP format: backslash and single-quote doubling, plus
|
|
37
|
+
* non-ASCII directive encoding.
|
|
33
38
|
*
|
|
34
|
-
* Control characters (CR/LF and other C0 codes) are
|
|
35
|
-
* space
|
|
36
|
-
*
|
|
39
|
+
* Control characters (CR/LF and other C0 codes, plus DEL) are each replaced by
|
|
40
|
+
* ONE space — a run of n control characters becomes n spaces, not one — so
|
|
41
|
+
* every generated STEP entity stays on one physical line and round-trips
|
|
42
|
+
* through the line-oriented merge/convert paths without losing length.
|
|
43
|
+
* Collapsing a run (`/[...]+/`, which this did until #3284) disagreed with
|
|
44
|
+
* `ifc_lite_export::step_text::escape`, which has always mapped each control
|
|
45
|
+
* character to its own space: the same value written by the two halves came
|
|
46
|
+
* out different. ISO 10303-21 6.3.3.4 mandates neither, but preserving the
|
|
47
|
+
* count loses no information.
|
|
48
|
+
*
|
|
49
|
+
* ISO 10303-21 6.3.3.4 restricts a string literal's plain-text bytes to the
|
|
50
|
+
* "basic graphic" range 32-126; every other character is a control directive
|
|
51
|
+
* (`\X\HH`, `\X2\HHHH\X0\`, `\X4\HHHHHHHH\X0\`), never a raw byte — and
|
|
52
|
+
* buildingSMART's IFC string-encoding guidance states the same for the
|
|
53
|
+
* IFC2X3/IFC4/IFC4X3 schemas this exporter targets: characters outside
|
|
54
|
+
* decimal 32-126 "have to be encoded" (e.g. 'Ä' as `\X2\00C4\X0\`). A reader
|
|
55
|
+
* that treats the file's bytes as ISO-8859-1 — the byte encoding the base
|
|
56
|
+
* standard and most real consumers assume for these schemas — turns a raw
|
|
57
|
+
* UTF-8 multi-byte sequence into mojibake or a broken parse; this exact
|
|
58
|
+
* writer shape is a reported, reproduced defect in real IFC tooling
|
|
59
|
+
* (IfcOpenShell#699/#1016; files rejected by Solibri). Encoded one character
|
|
60
|
+
* at a time (never batching a run into one `\X2\...\X0\` block) to keep the
|
|
61
|
+
* encoder trivially correct; ISO 10303-21 allows either.
|
|
37
62
|
*/
|
|
38
63
|
export declare function escapeStepString(str: string): string;
|
|
39
64
|
/**
|
|
@@ -49,50 +74,6 @@ export declare function toStepReal(v: number): string;
|
|
|
49
74
|
* Map QuantityType enum to IFC STEP entity type name.
|
|
50
75
|
*/
|
|
51
76
|
export declare function quantityTypeToIfcType(type: QuantityType): string;
|
|
52
|
-
/**
|
|
53
|
-
* Serialize a property value to STEP format (e.g. IFCLABEL, IFCREAL, etc.).
|
|
54
|
-
*
|
|
55
|
-
* The token this writes is the property's DECLARED TYPE in the exported file, so
|
|
56
|
-
* every member below has to name the IFC primitive the value was authored as —
|
|
57
|
-
* not merely one that can hold the characters. Two did not (#2472):
|
|
58
|
-
*
|
|
59
|
-
* - `Text` was written as `IFCLABEL`. `IfcLabel` is a bounded, name-like
|
|
60
|
-
* string; `IfcText` is unbounded prose. A consumer read a different type
|
|
61
|
-
* than the property was created with, and a long value exceeded what
|
|
62
|
-
* `IfcLabel` is specified to carry.
|
|
63
|
-
* - `Logical` was written as `IFCBOOLEAN` for its two definite states.
|
|
64
|
-
* `IfcBoolean` has two values; `IfcLogical` has three, and `.U.` is the
|
|
65
|
-
* reason a property is Logical rather than Boolean in the first place.
|
|
66
|
-
*
|
|
67
|
-
* Neither could be caught by a value-level round-trip: the extractor collapses
|
|
68
|
-
* every string-valued token (`IFCLABEL`, `IFCTEXT`, `IFCIDENTIFIER`) to
|
|
69
|
-
* `PropertyValueType.String` and keeps the token name only in `dataType`, so
|
|
70
|
-
* the VALUE survives export/re-import through the wrong wrapper unchanged. Only
|
|
71
|
-
* an assertion on the emitted token sees the difference — which is what
|
|
72
|
-
* `property-value-serialization.test.ts` makes.
|
|
73
|
-
*
|
|
74
|
-
* `@ifc-lite/collab`'s `PROPERTY_TYPE_NAMES` is the same table for a different
|
|
75
|
-
* transport, and it already named `Text` and `Logical` correctly — so on THOSE
|
|
76
|
-
* TWO MEMBERS the two agree now. Not on the table as a whole, and this pass does
|
|
77
|
-
* not make them agree:
|
|
78
|
-
*
|
|
79
|
-
* - `String`: collab says `IfcText`, this says `IFCLABEL`. Both are guesses
|
|
80
|
-
* about a token the extractor did not keep, and they guess in opposite
|
|
81
|
-
* directions (unbounded prose vs the conservative bounded name). Changing
|
|
82
|
-
* either is a behaviour change to the OTHER transport's payload, out of
|
|
83
|
-
* #2472's scope, and it needs the argument about which guess is right made
|
|
84
|
-
* first — not a silent alignment.
|
|
85
|
-
* - `List`: collab says `IfcText`; this writes a STEP aggregate `(...)` of
|
|
86
|
-
* `IFCLABEL` items, which is not a NominalValue token at all.
|
|
87
|
-
*
|
|
88
|
-
* `Enum` was the third disagreement — collab said `IfcLabel`, this wrote a bare
|
|
89
|
-
* `.TOKEN.` — and #2488 settled it on collab's side, for the reason the case
|
|
90
|
-
* below states: the bare token is not a member of the SELECT at all.
|
|
91
|
-
*
|
|
92
|
-
* `Label`, `Identifier`, `Real`, `Integer`, `Boolean`, `Text`, `Logical`, `Enum`
|
|
93
|
-
* and `Reference` agree.
|
|
94
|
-
*/
|
|
95
|
-
export declare function serializePropertyValue(value: unknown, type: PropertyValueType): string;
|
|
96
77
|
/**
|
|
97
78
|
* True when a STEP source token is a REAL literal — a numeric token carrying a
|
|
98
79
|
* decimal point or an exponent (`0.4`, `+0.4`, `1.5E-7`, `4.`). Used to
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-serialization.d.ts","sourceRoot":"","sources":["../src/step-serialization.ts"],"names":[],"mappings":"AAIA
|
|
1
|
+
{"version":3,"file":"step-serialization.d.ts","sourceRoot":"","sources":["../src/step-serialization.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAmC,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC3F,OAAO,EAAE,YAAY,EAAkB,MAAM,gBAAgB,CAAC;AAK9D;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAqBlE;AAiDD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAI3F;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAOpD;AAwBD;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAG5C;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAWhE;AAGD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAGzD;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAsCnF;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,EAAE,SAAS,UAAQ,GAAG,MAAM,CA0BtF;AAED,+EAA+E;AAC/E,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAExD"}
|
|
@@ -7,16 +7,20 @@
|
|
|
7
7
|
* All functions in this module are pure (no side-effects, no external state)
|
|
8
8
|
* and deal exclusively with converting data to ISO 10303-21 STEP format strings.
|
|
9
9
|
*
|
|
10
|
-
*
|
|
11
|
-
* a token and
|
|
10
|
+
* Three neighbours are deliberately NOT here, because none turns a value into
|
|
11
|
+
* a token and each has rules of its own worth finding on its own:
|
|
12
12
|
* - `step-argument-parser.ts` reads a record's arguments back OUT of a line
|
|
13
13
|
* and writes one slot by index (`splitTopLevelArgs`, `replaceStepArgument`,
|
|
14
14
|
* `splitTopLevelStepArguments`);
|
|
15
15
|
* - `step-file-assembly.ts` joins a finished header and finished entity lines
|
|
16
|
-
* into the delivered file (`assembleStepBytes`, `assembleStepBlob`)
|
|
16
|
+
* into the delivered file (`assembleStepBytes`, `assembleStepBlob`);
|
|
17
|
+
* - `property-value-serialization.ts` (split out by #3184) is the IFC
|
|
18
|
+
* property `NominalValue` token for a `PropertyValueType`
|
|
19
|
+
* (`serializePropertyValue`) — the property-TYPE-NAME mapping table, not a
|
|
20
|
+
* generic STEP token, and worth reading on its own.
|
|
17
21
|
*/
|
|
18
22
|
import { serializeValue, SCHEMA_REGISTRY } from '@ifc-lite/parser';
|
|
19
|
-
import {
|
|
23
|
+
import { QuantityType, formatStepReal } from '@ifc-lite/data';
|
|
20
24
|
/** EXPRESS base primitives a defined type ultimately resolves to. */
|
|
21
25
|
const EXPRESS_PRIMITIVES = new Set(['BOOLEAN', 'LOGICAL', 'INTEGER', 'REAL', 'NUMBER', 'STRING', 'BINARY']);
|
|
22
26
|
/**
|
|
@@ -30,7 +34,15 @@ export function resolveExpressBase(typeName) {
|
|
|
30
34
|
const seen = new Set();
|
|
31
35
|
while (cursor && !seen.has(cursor)) {
|
|
32
36
|
seen.add(cursor);
|
|
33
|
-
|
|
37
|
+
// Own-property, not bare bracket access: SCHEMA_REGISTRY.types is a plain
|
|
38
|
+
// object literal, so `types['constructor']` reaches Object.prototype and
|
|
39
|
+
// hands back the Object CONSTRUCTOR. That is truthy, so the `!underlying`
|
|
40
|
+
// check below passes it through and `.replace()` on the next line throws
|
|
41
|
+
// `TypeError: underlying.replace is not a function` from a function whose
|
|
42
|
+
// contract is to return null for a type it does not know. Sibling of #3063.
|
|
43
|
+
const underlying = Object.prototype.hasOwnProperty.call(SCHEMA_REGISTRY.types, cursor)
|
|
44
|
+
? SCHEMA_REGISTRY.types[cursor]
|
|
45
|
+
: undefined;
|
|
34
46
|
if (!underlying)
|
|
35
47
|
return null;
|
|
36
48
|
// Strip width qualifiers like `STRING(255)` before the primitive test.
|
|
@@ -105,18 +117,63 @@ export function serializeTypedMarker(type, value) {
|
|
|
105
117
|
return `${token}(${serializeInnerByBase(value, resolveExpressBase(type))})`;
|
|
106
118
|
}
|
|
107
119
|
/**
|
|
108
|
-
* Escape a string for STEP format
|
|
120
|
+
* Escape a string for STEP format: backslash and single-quote doubling, plus
|
|
121
|
+
* non-ASCII directive encoding.
|
|
109
122
|
*
|
|
110
|
-
* Control characters (CR/LF and other C0 codes) are
|
|
111
|
-
* space
|
|
112
|
-
*
|
|
123
|
+
* Control characters (CR/LF and other C0 codes, plus DEL) are each replaced by
|
|
124
|
+
* ONE space — a run of n control characters becomes n spaces, not one — so
|
|
125
|
+
* every generated STEP entity stays on one physical line and round-trips
|
|
126
|
+
* through the line-oriented merge/convert paths without losing length.
|
|
127
|
+
* Collapsing a run (`/[...]+/`, which this did until #3284) disagreed with
|
|
128
|
+
* `ifc_lite_export::step_text::escape`, which has always mapped each control
|
|
129
|
+
* character to its own space: the same value written by the two halves came
|
|
130
|
+
* out different. ISO 10303-21 6.3.3.4 mandates neither, but preserving the
|
|
131
|
+
* count loses no information.
|
|
132
|
+
*
|
|
133
|
+
* ISO 10303-21 6.3.3.4 restricts a string literal's plain-text bytes to the
|
|
134
|
+
* "basic graphic" range 32-126; every other character is a control directive
|
|
135
|
+
* (`\X\HH`, `\X2\HHHH\X0\`, `\X4\HHHHHHHH\X0\`), never a raw byte — and
|
|
136
|
+
* buildingSMART's IFC string-encoding guidance states the same for the
|
|
137
|
+
* IFC2X3/IFC4/IFC4X3 schemas this exporter targets: characters outside
|
|
138
|
+
* decimal 32-126 "have to be encoded" (e.g. 'Ä' as `\X2\00C4\X0\`). A reader
|
|
139
|
+
* that treats the file's bytes as ISO-8859-1 — the byte encoding the base
|
|
140
|
+
* standard and most real consumers assume for these schemas — turns a raw
|
|
141
|
+
* UTF-8 multi-byte sequence into mojibake or a broken parse; this exact
|
|
142
|
+
* writer shape is a reported, reproduced defect in real IFC tooling
|
|
143
|
+
* (IfcOpenShell#699/#1016; files rejected by Solibri). Encoded one character
|
|
144
|
+
* at a time (never batching a run into one `\X2\...\X0\` block) to keep the
|
|
145
|
+
* encoder trivially correct; ISO 10303-21 allows either.
|
|
113
146
|
*/
|
|
114
147
|
export function escapeStepString(str) {
|
|
115
|
-
|
|
148
|
+
const escaped = str
|
|
116
149
|
.replace(/\\/g, '\\\\')
|
|
117
150
|
.replace(/'/g, "''")
|
|
118
151
|
// eslint-disable-next-line no-control-regex
|
|
119
|
-
.replace(/[\x00-\x1F\x7F]
|
|
152
|
+
.replace(/[\x00-\x1F\x7F]/g, ' ');
|
|
153
|
+
return encodeNonAsciiStepDirectives(escaped);
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Replace every character outside the STEP "basic graphic" range (32-126)
|
|
157
|
+
* with its `\X2\`/`\X4\` directive. Must run AFTER backslash-doubling: the
|
|
158
|
+
* directive's own backslashes are literal syntax the reader expects
|
|
159
|
+
* undoubled, so escaping non-ASCII first would corrupt them when the
|
|
160
|
+
* backslash-doubling pass ran afterward.
|
|
161
|
+
*/
|
|
162
|
+
function encodeNonAsciiStepDirectives(str) {
|
|
163
|
+
let out = '';
|
|
164
|
+
for (const ch of str) {
|
|
165
|
+
const cp = ch.codePointAt(0);
|
|
166
|
+
if (cp >= 32 && cp <= 126) {
|
|
167
|
+
out += ch;
|
|
168
|
+
}
|
|
169
|
+
else if (cp <= 0xFFFF) {
|
|
170
|
+
out += `\\X2\\${cp.toString(16).toUpperCase().padStart(4, '0')}\\X0\\`;
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
out += `\\X4\\${cp.toString(16).toUpperCase().padStart(8, '0')}\\X0\\`;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
return out;
|
|
120
177
|
}
|
|
121
178
|
/**
|
|
122
179
|
* Convert a number to a valid STEP REAL literal.
|
|
@@ -142,129 +199,10 @@ export function quantityTypeToIfcType(type) {
|
|
|
142
199
|
case QuantityType.Count: return 'IFCQUANTITYCOUNT';
|
|
143
200
|
case QuantityType.Weight: return 'IFCQUANTITYWEIGHT';
|
|
144
201
|
case QuantityType.Time: return 'IFCQUANTITYTIME';
|
|
202
|
+
case QuantityType.Number: return 'IFCQUANTITYNUMBER';
|
|
145
203
|
default: return 'IFCQUANTITYCOUNT';
|
|
146
204
|
}
|
|
147
205
|
}
|
|
148
|
-
/**
|
|
149
|
-
* Serialize a property value to STEP format (e.g. IFCLABEL, IFCREAL, etc.).
|
|
150
|
-
*
|
|
151
|
-
* The token this writes is the property's DECLARED TYPE in the exported file, so
|
|
152
|
-
* every member below has to name the IFC primitive the value was authored as —
|
|
153
|
-
* not merely one that can hold the characters. Two did not (#2472):
|
|
154
|
-
*
|
|
155
|
-
* - `Text` was written as `IFCLABEL`. `IfcLabel` is a bounded, name-like
|
|
156
|
-
* string; `IfcText` is unbounded prose. A consumer read a different type
|
|
157
|
-
* than the property was created with, and a long value exceeded what
|
|
158
|
-
* `IfcLabel` is specified to carry.
|
|
159
|
-
* - `Logical` was written as `IFCBOOLEAN` for its two definite states.
|
|
160
|
-
* `IfcBoolean` has two values; `IfcLogical` has three, and `.U.` is the
|
|
161
|
-
* reason a property is Logical rather than Boolean in the first place.
|
|
162
|
-
*
|
|
163
|
-
* Neither could be caught by a value-level round-trip: the extractor collapses
|
|
164
|
-
* every string-valued token (`IFCLABEL`, `IFCTEXT`, `IFCIDENTIFIER`) to
|
|
165
|
-
* `PropertyValueType.String` and keeps the token name only in `dataType`, so
|
|
166
|
-
* the VALUE survives export/re-import through the wrong wrapper unchanged. Only
|
|
167
|
-
* an assertion on the emitted token sees the difference — which is what
|
|
168
|
-
* `property-value-serialization.test.ts` makes.
|
|
169
|
-
*
|
|
170
|
-
* `@ifc-lite/collab`'s `PROPERTY_TYPE_NAMES` is the same table for a different
|
|
171
|
-
* transport, and it already named `Text` and `Logical` correctly — so on THOSE
|
|
172
|
-
* TWO MEMBERS the two agree now. Not on the table as a whole, and this pass does
|
|
173
|
-
* not make them agree:
|
|
174
|
-
*
|
|
175
|
-
* - `String`: collab says `IfcText`, this says `IFCLABEL`. Both are guesses
|
|
176
|
-
* about a token the extractor did not keep, and they guess in opposite
|
|
177
|
-
* directions (unbounded prose vs the conservative bounded name). Changing
|
|
178
|
-
* either is a behaviour change to the OTHER transport's payload, out of
|
|
179
|
-
* #2472's scope, and it needs the argument about which guess is right made
|
|
180
|
-
* first — not a silent alignment.
|
|
181
|
-
* - `List`: collab says `IfcText`; this writes a STEP aggregate `(...)` of
|
|
182
|
-
* `IFCLABEL` items, which is not a NominalValue token at all.
|
|
183
|
-
*
|
|
184
|
-
* `Enum` was the third disagreement — collab said `IfcLabel`, this wrote a bare
|
|
185
|
-
* `.TOKEN.` — and #2488 settled it on collab's side, for the reason the case
|
|
186
|
-
* below states: the bare token is not a member of the SELECT at all.
|
|
187
|
-
*
|
|
188
|
-
* `Label`, `Identifier`, `Real`, `Integer`, `Boolean`, `Text`, `Logical`, `Enum`
|
|
189
|
-
* and `Reference` agree.
|
|
190
|
-
*/
|
|
191
|
-
export function serializePropertyValue(value, type) {
|
|
192
|
-
if (value === null || value === undefined) {
|
|
193
|
-
// `Logical` is the one member with a value FOR "no value": the extractor
|
|
194
|
-
// reads `.U.` / `.X.` back as a null-valued Logical, so `$` here would
|
|
195
|
-
// turn an explicit unknown into an omitted attribute on re-export.
|
|
196
|
-
if (type === PropertyValueType.Logical)
|
|
197
|
-
return `IFCLOGICAL(.U.)`;
|
|
198
|
-
return '$';
|
|
199
|
-
}
|
|
200
|
-
switch (type) {
|
|
201
|
-
// `String` is the extractor's catch-all for any string-valued token whose
|
|
202
|
-
// declared type it did not keep, so it stays the bounded `IfcLabel`: the
|
|
203
|
-
// conservative direction for an unknown short string, and what
|
|
204
|
-
// `PROPERTY_TYPE_NAMES` calls `Enum` and `Reference` too.
|
|
205
|
-
case PropertyValueType.String:
|
|
206
|
-
case PropertyValueType.Label:
|
|
207
|
-
return `IFCLABEL('${escapeStepString(String(value))}')`;
|
|
208
|
-
case PropertyValueType.Text:
|
|
209
|
-
return `IFCTEXT('${escapeStepString(String(value))}')`;
|
|
210
|
-
case PropertyValueType.Identifier:
|
|
211
|
-
return `IFCIDENTIFIER('${escapeStepString(String(value))}')`;
|
|
212
|
-
case PropertyValueType.Real: {
|
|
213
|
-
const num = Number(value);
|
|
214
|
-
if (!Number.isFinite(num))
|
|
215
|
-
return '$';
|
|
216
|
-
return `IFCREAL(${formatStepReal(num)})`;
|
|
217
|
-
}
|
|
218
|
-
case PropertyValueType.Integer:
|
|
219
|
-
return `IFCINTEGER(${Math.round(Number(value))})`;
|
|
220
|
-
case PropertyValueType.Boolean:
|
|
221
|
-
if (value === true)
|
|
222
|
-
return `IFCBOOLEAN(.T.)`;
|
|
223
|
-
if (value === false)
|
|
224
|
-
return `IFCBOOLEAN(.F.)`;
|
|
225
|
-
// A Boolean whose value is neither: no `IfcBoolean` literal says that, and
|
|
226
|
-
// `.U.` is not in its domain, so the three-state primitive is the only
|
|
227
|
-
// thing that can carry it. Unchanged from before #2472 — the Logical case
|
|
228
|
-
// below is what stopped borrowing IfcBoolean's name for it.
|
|
229
|
-
return `IFCLOGICAL(.U.)`;
|
|
230
|
-
case PropertyValueType.Logical:
|
|
231
|
-
if (value === true)
|
|
232
|
-
return `IFCLOGICAL(.T.)`;
|
|
233
|
-
if (value === false)
|
|
234
|
-
return `IFCLOGICAL(.F.)`;
|
|
235
|
-
return `IFCLOGICAL(.U.)`;
|
|
236
|
-
// `NominalValue` is declared `IfcValue`, and `IfcValue` has no ENUMERATION
|
|
237
|
-
// leaf in any schema this exporter targets (IFC2X3 / IFC4 / IFC4X3 all
|
|
238
|
-
// resolve it to IfcMeasureValue | IfcSimpleValue | IfcDerivedMeasureValue).
|
|
239
|
-
// So there is no wrapper for an enumeration token and a bare `.EXTERNAL.`
|
|
240
|
-
// is not a member of the SELECT at all — this was the one branch writing an
|
|
241
|
-
// unqualified token into a slot every other branch type-qualifies (#2488).
|
|
242
|
-
// `IfcLabel` is what the value can be expressed as, and what
|
|
243
|
-
// `@ifc-lite/collab`'s `PROPERTY_TYPE_NAMES` has always called this member.
|
|
244
|
-
//
|
|
245
|
-
// No `.toUpperCase()`: it existed to build an EXPRESS enumeration name,
|
|
246
|
-
// which is upper-case by construction. A label is not, and folding the case
|
|
247
|
-
// means an authored `'external'` reads back as `'EXTERNAL'`. Nothing
|
|
248
|
-
// EXTRACTS an `Enum` (the extractor collapses every string-valued token to
|
|
249
|
-
// `String`), so this branch only ever serializes a value a session authored
|
|
250
|
-
// through `setProperty(…, PropertyValueType.Enum)` — the value the caller
|
|
251
|
-
// wrote is the one to keep.
|
|
252
|
-
case PropertyValueType.Enum:
|
|
253
|
-
return `IFCLABEL('${escapeStepString(String(value))}')`;
|
|
254
|
-
case PropertyValueType.List:
|
|
255
|
-
if (Array.isArray(value)) {
|
|
256
|
-
const items = value.map(v => serializePropertyValue(v, PropertyValueType.String));
|
|
257
|
-
return `(${items.join(',')})`;
|
|
258
|
-
}
|
|
259
|
-
return '$';
|
|
260
|
-
// Includes `Reference`, which no extraction path produces (an
|
|
261
|
-
// `IfcPropertyReferenceValue` comes back as a String holding `#id`) and
|
|
262
|
-
// which this function could not express anyway: an entity reference is a
|
|
263
|
-
// different property CLASS, not a different `NominalValue` token.
|
|
264
|
-
default:
|
|
265
|
-
return `IFCLABEL('${escapeStepString(String(value))}')`;
|
|
266
|
-
}
|
|
267
|
-
}
|
|
268
206
|
/**
|
|
269
207
|
* True when a STEP source token is a REAL literal — a numeric token carrying a
|
|
270
208
|
* decimal point or an exponent (`0.4`, `+0.4`, `1.5E-7`, `4.`). Used to
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-serialization.js","sourceRoot":"","sources":["../src/step-serialization.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D
|
|
1
|
+
{"version":3,"file":"step-serialization.js","sourceRoot":"","sources":["../src/step-serialization.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The source-iteration phase of `StepExporter.export()` (#2475 step 2d): the
|
|
3
|
+
* pass that writes one line per record the SOURCE file already holds, plus the
|
|
4
|
+
* shared-atom retention that has to run before it decides what to skip.
|
|
5
|
+
*
|
|
6
|
+
* This phase reads more of the export's shared state than any other — 16 of
|
|
7
|
+
* {@link ExportPass}'s members — and it consumes what three earlier phases
|
|
8
|
+
* wrote: `modifiedAttributes` and `inPlaceNominees.georeferencing` from the
|
|
9
|
+
* georeferencing phase (`step-georeferencing.ts`), and `rewrittenEntityIds` /
|
|
10
|
+
* `skipPropertySetIds` / `allowedEntityIds` from the collection and setup
|
|
11
|
+
* phases. It writes `pass.entities`, which `assembleStepBytes` turns into
|
|
12
|
+
* bytes at the end of `export()`, and `pass.modifications`, which `settle()`
|
|
13
|
+
* reads. Nothing pulls the other way, which is why it moves last.
|
|
14
|
+
*
|
|
15
|
+
* What is injected rather than moved, and why: the
|
|
16
|
+
* `applySourceLineMutations` pipeline (and its `applyAttributeMutations` /
|
|
17
|
+
* `applyPositionalMutations` — free functions in `step-attribute-
|
|
18
|
+
* mutations.ts`, with the two per-slot serialize helpers they share with the
|
|
19
|
+
* overlay-created path in `step-attribute-serializers.ts` — #2475's
|
|
20
|
+
* "remaining private helpers" step, split further by #3184) is shared
|
|
21
|
+
* verbatim with the type-object `HasPropertySets` rewrite in
|
|
22
|
+
* `step-property-sets.ts` and with `step-overlay-entities.ts`, so it belongs
|
|
23
|
+
* to no single phase; `isGeometryEntity` is likewise read by the setup
|
|
24
|
+
* closure and by that module. `applyOverlayEntityOverrides` is NOT a
|
|
25
|
+
* dependency of this phase at all — it is reached only from
|
|
26
|
+
* `step-overlay-entities.ts` — and is injected there instead, though it too
|
|
27
|
+
* now lives in its own file, `step-overlay-attribute-overrides.ts`.
|
|
28
|
+
*
|
|
29
|
+
* Unlike `step-georeferencing.ts` this phase needs no `allocateExpressId`
|
|
30
|
+
* callback: it never allocates an id, it only rewrites lines that already have
|
|
31
|
+
* one.
|
|
32
|
+
*
|
|
33
|
+
* No test file travelled with this module, and that is a measured result, not
|
|
34
|
+
* an omission. Disabling the loop at its call site kills 106 tests across 22
|
|
35
|
+
* files — but that is the count of tests that need SOME source-backed line to
|
|
36
|
+
* exist for their assertion to mean anything, not the count of tests of this
|
|
37
|
+
* phase's logic (8 of them are in `step-georeferencing.test.ts`, a phase
|
|
38
|
+
* already extracted). Mutating each of the phase's 27 individual sites instead
|
|
39
|
+
* puts every narrow kill set in a file whose name already points at the code:
|
|
40
|
+
* `shared-atom` for the retention pass, `source-ref-bounds` for the unreadable
|
|
41
|
+
* ref guard, `includegeometry-header-count` for the geometry skip,
|
|
42
|
+
* `visible-only-dangling-refs` for the relationship-ref filter,
|
|
43
|
+
* `rewritten-type-line-attributes` for the rewritten-entity skip,
|
|
44
|
+
* `overlay-effective-model` for the effective-type classification and
|
|
45
|
+
* `delta-modification-count` for the two ledger writes. Every test file in this
|
|
46
|
+
* package lives in one flat directory, so those names need no move — and unlike
|
|
47
|
+
* step 2b/2c, `step-exporter.test.ts` holds no test that dies to a NARROW site
|
|
48
|
+
* here, only ones that die because the file would otherwise be empty.
|
|
49
|
+
*/
|
|
50
|
+
import type { IfcDataStore } from '@ifc-lite/parser';
|
|
51
|
+
import { type IfcSchemaVersion } from './schema-converter.js';
|
|
52
|
+
import { type PropertySetContext } from './step-property-set-readers.js';
|
|
53
|
+
import type { ExportPass, SourceLineMutations, StepExportOptions } from './step-exporter.js';
|
|
54
|
+
/**
|
|
55
|
+
* The exporter state this phase cannot read off the {@link ExportPass}.
|
|
56
|
+
*
|
|
57
|
+
* `propertySetContext` is a thunk rather than a value because
|
|
58
|
+
* {@link retainSharedAtoms} returns before it needs one when nothing is being
|
|
59
|
+
* skipped, and because the exporter rebuilds that context per call — hoisting
|
|
60
|
+
* a built one here would change when it is constructed, not merely where it is
|
|
61
|
+
* named.
|
|
62
|
+
*/
|
|
63
|
+
export interface SourceIterationContext {
|
|
64
|
+
readonly dataStore: IfcDataStore;
|
|
65
|
+
/** `step-attribute-mutations.ts`'s `applySourceLineMutations`: the ONE
|
|
66
|
+
* pipeline this pass and the type-object rewrite share, so it belongs to
|
|
67
|
+
* neither and is injected. */
|
|
68
|
+
readonly applySourceLineMutations: (expressId: number, entityText: string, recordType: string, attributeMutations: Map<string, string> | undefined, sourceSchema: IfcSchemaVersion, overlayActive: boolean, onRejected?: (attrName: string, value: string) => void) => SourceLineMutations;
|
|
69
|
+
/** `isGeometryEntity` (`step-geometry-types.ts`), also read by the setup closure and by
|
|
70
|
+
* the overlay-created-entities block. */
|
|
71
|
+
readonly isGeometryEntity: (type: string) => boolean;
|
|
72
|
+
/** `StepExporter.propertySetContext`, for the byte readers
|
|
73
|
+
* {@link retainSharedAtoms} reaches through `getPropertyIdsInSet`. */
|
|
74
|
+
readonly propertySetContext: () => PropertySetContext;
|
|
75
|
+
/** The `relationshipWithheldWarning` message builder (`step-exporter.ts`):
|
|
76
|
+
* a pure string formatter with no pass dependency, but a second reader —
|
|
77
|
+
* the still-inline overlay-created-entities / type-rewrite block — so it
|
|
78
|
+
* is injected here rather than duplicated or moved. */
|
|
79
|
+
readonly relationshipWithheldWarning: (expressId: number, type: string) => string;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Write every source-backed record this export keeps, into `pass.entities`.
|
|
83
|
+
*
|
|
84
|
+
* Mutates the pass in place and returns nothing: three later readers take its
|
|
85
|
+
* output at a distance — the assembly step reads `pass.entities`, `settle()`
|
|
86
|
+
* reads `pass.modifications`, and the header count reads both.
|
|
87
|
+
*
|
|
88
|
+
* `mayNameOmittedRefs` is passed rather than read off the pass because it is
|
|
89
|
+
* deliberately not a pass member: it folds in `hiddenProductIds`, which the
|
|
90
|
+
* visible-only closure walk only assigns after the pass is constructed, so
|
|
91
|
+
* hoisting it would change what it computes rather than where it is named. The
|
|
92
|
+
* overlay-created-entities block reads the same local. `isOmittedFromOutput`
|
|
93
|
+
* is passed alongside it for the same reason — it closes over `pass` but is
|
|
94
|
+
* built once by the caller (`step-exporter.ts`), not re-derived here.
|
|
95
|
+
*/
|
|
96
|
+
export declare function writeSourceEntityLines(pass: ExportPass, options: StepExportOptions, mayNameOmittedRefs: boolean, isOmittedFromOutput: (id: number) => boolean, ctx: SourceIterationContext): void;
|
|
97
|
+
//# sourceMappingURL=step-source-iteration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"step-source-iteration.d.ts","sourceRoot":"","sources":["../src/step-source-iteration.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAAmB,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAG/E,OAAO,EAAuB,KAAK,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAC9F,OAAO,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE7F;;;;;;;;GAQG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IACjC;;mCAE+B;IAC/B,QAAQ,CAAC,wBAAwB,EAAE,CACjC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EACnD,YAAY,EAAE,gBAAgB,EAC9B,aAAa,EAAE,OAAO,EACtB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,KACnD,mBAAmB,CAAC;IACzB;8CAC0C;IAC1C,QAAQ,CAAC,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACrD;2EACuE;IACvE,QAAQ,CAAC,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;IACtD;;;4DAGwD;IACxD,QAAQ,CAAC,2BAA2B,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CACnF;AA0CD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,iBAAiB,EAC1B,kBAAkB,EAAE,OAAO,EAC3B,mBAAmB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,EAC5C,GAAG,EAAE,sBAAsB,GAC1B,IAAI,CAwIN"}
|