@ifc-lite/create 2.8.0 → 2.9.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -0
- package/dist/ifc-creator-alignment.d.ts +30 -0
- package/dist/ifc-creator-alignment.d.ts.map +1 -0
- package/dist/ifc-creator-alignment.js +174 -0
- package/dist/ifc-creator-alignment.js.map +1 -0
- package/dist/ifc-creator-header.d.ts +2 -0
- package/dist/ifc-creator-header.d.ts.map +1 -0
- package/dist/ifc-creator-header.js +22 -0
- package/dist/ifc-creator-header.js.map +1 -0
- package/dist/ifc-creator-math.d.ts +15 -5
- package/dist/ifc-creator-math.d.ts.map +1 -1
- package/dist/ifc-creator-math.js +25 -2
- package/dist/ifc-creator-math.js.map +1 -1
- package/dist/ifc-creator-relationships.d.ts +43 -0
- package/dist/ifc-creator-relationships.d.ts.map +1 -0
- package/dist/ifc-creator-relationships.js +38 -0
- package/dist/ifc-creator-relationships.js.map +1 -0
- package/dist/ifc-creator-styles.d.ts +22 -0
- package/dist/ifc-creator-styles.d.ts.map +1 -0
- package/dist/ifc-creator-styles.js +50 -0
- package/dist/ifc-creator-styles.js.map +1 -0
- package/dist/ifc-creator-terrain.d.ts +170 -0
- package/dist/ifc-creator-terrain.d.ts.map +1 -0
- package/dist/ifc-creator-terrain.js +180 -0
- package/dist/ifc-creator-terrain.js.map +1 -0
- package/dist/ifc-creator.d.ts +21 -7
- package/dist/ifc-creator.d.ts.map +1 -1
- package/dist/ifc-creator.js +95 -95
- package/dist/ifc-creator.js.map +1 -1
- package/dist/in-store/anchor.d.ts +2 -0
- package/dist/in-store/anchor.d.ts.map +1 -1
- package/dist/in-store/anchor.js.map +1 -1
- package/dist/in-store/apply-style.d.ts +3 -6
- package/dist/in-store/apply-style.d.ts.map +1 -1
- package/dist/in-store/apply-style.js +3 -77
- package/dist/in-store/apply-style.js.map +1 -1
- package/dist/in-store/column.d.ts.map +1 -1
- package/dist/in-store/column.js +2 -0
- package/dist/in-store/column.js.map +1 -1
- package/dist/in-store/door.d.ts.map +1 -1
- package/dist/in-store/door.js +2 -0
- package/dist/in-store/door.js.map +1 -1
- package/dist/in-store/extract-walls.d.ts +1 -1
- package/dist/in-store/extract-walls.d.ts.map +1 -1
- package/dist/in-store/extract-walls.js +28 -54
- package/dist/in-store/extract-walls.js.map +1 -1
- package/dist/in-store/generate-spaces-all.d.ts +6 -2
- package/dist/in-store/generate-spaces-all.d.ts.map +1 -1
- package/dist/in-store/generate-spaces-all.js +33 -9
- package/dist/in-store/generate-spaces-all.js.map +1 -1
- package/dist/in-store/generate-spaces.js +1 -1
- package/dist/in-store/generate-spaces.js.map +1 -1
- package/dist/in-store/placement-frame.d.ts +8 -0
- package/dist/in-store/placement-frame.d.ts.map +1 -1
- package/dist/in-store/placement-frame.js.map +1 -1
- package/dist/in-store/plate.d.ts.map +1 -1
- package/dist/in-store/plate.js +4 -0
- package/dist/in-store/plate.js.map +1 -1
- package/dist/in-store/resolve-anchor.d.ts +4 -2
- package/dist/in-store/resolve-anchor.d.ts.map +1 -1
- package/dist/in-store/resolve-anchor.js +79 -92
- package/dist/in-store/resolve-anchor.js.map +1 -1
- package/dist/in-store/resolve-source.d.ts +2 -1
- package/dist/in-store/resolve-source.d.ts.map +1 -1
- package/dist/in-store/resolve-source.js +49 -49
- package/dist/in-store/resolve-source.js.map +1 -1
- package/dist/in-store/roof.d.ts.map +1 -1
- package/dist/in-store/roof.js +4 -0
- package/dist/in-store/roof.js.map +1 -1
- package/dist/in-store/slab.d.ts.map +1 -1
- package/dist/in-store/slab.js +4 -0
- package/dist/in-store/slab.js.map +1 -1
- package/dist/in-store/space.d.ts.map +1 -1
- package/dist/in-store/space.js +4 -0
- package/dist/in-store/space.js.map +1 -1
- package/dist/in-store/spatial-children.d.ts +52 -0
- package/dist/in-store/spatial-children.d.ts.map +1 -0
- package/dist/in-store/spatial-children.js +112 -0
- package/dist/in-store/spatial-children.js.map +1 -0
- package/dist/in-store/style-entity-reader.d.ts +14 -0
- package/dist/in-store/style-entity-reader.d.ts.map +1 -0
- package/dist/in-store/style-entity-reader.js +58 -0
- package/dist/in-store/style-entity-reader.js.map +1 -0
- package/dist/in-store/window.d.ts.map +1 -1
- package/dist/in-store/window.js +2 -0
- package/dist/in-store/window.js.map +1 -1
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/landxml/alignment-mapping.d.ts +98 -0
- package/dist/landxml/alignment-mapping.d.ts.map +1 -0
- package/dist/landxml/alignment-mapping.js +282 -0
- package/dist/landxml/alignment-mapping.js.map +1 -0
- package/dist/landxml/alignment-record.d.ts +18 -0
- package/dist/landxml/alignment-record.d.ts.map +1 -0
- package/dist/landxml/alignment-record.js +63 -0
- package/dist/landxml/alignment-record.js.map +1 -0
- package/dist/landxml/coordinate-plausibility.d.ts +54 -0
- package/dist/landxml/coordinate-plausibility.d.ts.map +1 -0
- package/dist/landxml/coordinate-plausibility.js +59 -0
- package/dist/landxml/coordinate-plausibility.js.map +1 -0
- package/dist/landxml/landxml-to-ifc.d.ts +45 -0
- package/dist/landxml/landxml-to-ifc.d.ts.map +1 -0
- package/dist/landxml/landxml-to-ifc.js +197 -0
- package/dist/landxml/landxml-to-ifc.js.map +1 -0
- package/dist/landxml/refusals.d.ts +41 -0
- package/dist/landxml/refusals.d.ts.map +1 -0
- package/dist/landxml/refusals.js +118 -0
- package/dist/landxml/refusals.js.map +1 -0
- package/dist/landxml/result-types.d.ts +73 -0
- package/dist/landxml/result-types.d.ts.map +1 -0
- package/dist/landxml/result-types.js +5 -0
- package/dist/landxml/result-types.js.map +1 -0
- package/dist/landxml/source-types.d.ts +169 -0
- package/dist/landxml/source-types.d.ts.map +1 -0
- package/dist/landxml/source-types.js +5 -0
- package/dist/landxml/source-types.js.map +1 -0
- package/dist/landxml/writers.d.ts +31 -0
- package/dist/landxml/writers.d.ts.map +1 -0
- package/dist/landxml/writers.js +143 -0
- package/dist/landxml/writers.js.map +1 -0
- package/dist/types.d.ts +7 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +6 -6
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
import { type AlignmentParams, type AlignmentResult } from './ifc-creator-alignment.js';
|
|
2
|
+
/** The creator hooks these emitters need. */
|
|
3
|
+
export interface TerrainContext {
|
|
4
|
+
/** Allocate an express id, write its STEP line, return the id. */
|
|
5
|
+
emit: (type: string, attrs: string) => number;
|
|
6
|
+
newGlobalId: () => string;
|
|
7
|
+
/** `#<id>` of the shared `IfcOwnerHistory`. */
|
|
8
|
+
ownerRef: string;
|
|
9
|
+
/** `#<id>` of the `IfcGeometricRepresentationContext` ('Model'). */
|
|
10
|
+
modelContextRef: string;
|
|
11
|
+
/** `#<id>` of the 'Body' subcontext. */
|
|
12
|
+
bodyContextRef: string;
|
|
13
|
+
/** `#<id>` of the 'Axis' subcontext — an alignment's representation lives there. */
|
|
14
|
+
axisContextRef: string;
|
|
15
|
+
/** `#<id>` of the placement products of the site hang from. */
|
|
16
|
+
sitePlacementRef: string;
|
|
17
|
+
/** Reject anything this schema cannot express. */
|
|
18
|
+
assertSchema: (feature: string) => void;
|
|
19
|
+
}
|
|
20
|
+
/** A single terrain surface: a TIN and the element that carries it. */
|
|
21
|
+
export interface TerrainSurfaceParams {
|
|
22
|
+
Name: string;
|
|
23
|
+
Description?: string | null;
|
|
24
|
+
/** Supply to make the GlobalId a function of the source id (§4.3). */
|
|
25
|
+
GlobalId?: string;
|
|
26
|
+
/** `(easting, northing, elevation)` per vertex, in the file's length unit. */
|
|
27
|
+
Coordinates: ReadonlyArray<readonly [number, number, number]>;
|
|
28
|
+
/** **1-based** triples indexing `Coordinates`, per `IfcTriangulatedFaceSet`. */
|
|
29
|
+
Triangles: ReadonlyArray<readonly [number, number, number]>;
|
|
30
|
+
/**
|
|
31
|
+
* `IfcTriangulatedIrregularNetwork.Flags` — mandatory and non-empty, unlike
|
|
32
|
+
* most IFC list attributes. Defaults to a single `0` (no flag set).
|
|
33
|
+
*/
|
|
34
|
+
Flags?: readonly number[];
|
|
35
|
+
}
|
|
36
|
+
export interface TerrainSurfaceResult {
|
|
37
|
+
elementId: number;
|
|
38
|
+
/** The `IfcTriangulatedIrregularNetwork`, so a caller can assert on it directly. */
|
|
39
|
+
tinId: number;
|
|
40
|
+
coordinateListId: number;
|
|
41
|
+
}
|
|
42
|
+
/** One survey point, shaped like the IfcOpenShell control in §8.2 of the mapping. */
|
|
43
|
+
export interface SurveyPointParams {
|
|
44
|
+
Name?: string | null;
|
|
45
|
+
Description?: string | null;
|
|
46
|
+
GlobalId?: string;
|
|
47
|
+
/** `(easting, northing, elevation)` in the file's length unit. */
|
|
48
|
+
Location: readonly [number, number, number];
|
|
49
|
+
}
|
|
50
|
+
/** A `Pset`-style bag attached to one product. Values are written as IFCLABEL. */
|
|
51
|
+
export interface SurveyPropertySetParams {
|
|
52
|
+
Name: string;
|
|
53
|
+
GlobalId?: string;
|
|
54
|
+
Properties: ReadonlyArray<{
|
|
55
|
+
Name: string;
|
|
56
|
+
Value: string;
|
|
57
|
+
}>;
|
|
58
|
+
}
|
|
59
|
+
export interface GeoreferencingParams {
|
|
60
|
+
/** `IfcProjectedCRS.Name` — required in practice by the `NameOrWKT` rule. */
|
|
61
|
+
Name: string;
|
|
62
|
+
Description?: string | null;
|
|
63
|
+
GeodeticDatum?: string | null;
|
|
64
|
+
VerticalDatum?: string | null;
|
|
65
|
+
MapProjection?: string | null;
|
|
66
|
+
MapZone?: string | null;
|
|
67
|
+
/** `#<id>` of a length `IfcNamedUnit`, or omit for `$`. */
|
|
68
|
+
MapUnitRef?: string;
|
|
69
|
+
Eastings?: number;
|
|
70
|
+
Northings?: number;
|
|
71
|
+
OrthogonalHeight?: number;
|
|
72
|
+
XAxisAbscissa?: number;
|
|
73
|
+
XAxisOrdinate?: number;
|
|
74
|
+
Scale?: number;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Write a terrain surface: `IfcCartesianPointList3D` → `IfcTriangulatedIrregularNetwork`
|
|
78
|
+
* → `IfcShapeRepresentation` → `IfcGeographicElement`/`.TERRAIN.`.
|
|
79
|
+
*
|
|
80
|
+
* The `IfcTriangulatedIrregularNetwork` constraints in §4.1 are enforced here
|
|
81
|
+
* rather than assumed, because both fail open in a STEP file: `Closed` omitted
|
|
82
|
+
* as `$` does not satisfy `NotClosed : Closed = FALSE`, and an empty `Flags`
|
|
83
|
+
* violates `LIST [1:?]`. Neither shows up as a parse error downstream.
|
|
84
|
+
*/
|
|
85
|
+
export declare function emitTerrainSurface(params: TerrainSurfaceParams, ctx: TerrainContext): TerrainSurfaceResult;
|
|
86
|
+
/**
|
|
87
|
+
* Write one survey point as `IfcAnnotation`/`.SURVEY.`.
|
|
88
|
+
*
|
|
89
|
+
* The position lives in the `IfcLocalPlacement`, and the representation is an
|
|
90
|
+
* `IfcCartesianPoint` at the LOCAL origin — not a second copy of the
|
|
91
|
+
* coordinate. That split is deliberate: it is the shape the IfcOpenShell
|
|
92
|
+
* control in §8.2 writes, which is what makes our output comparable to
|
|
93
|
+
* something produced outside this repo, and it keeps one authoritative
|
|
94
|
+
* location per point instead of two that can disagree.
|
|
95
|
+
*/
|
|
96
|
+
export declare function emitSurveyPoint(params: SurveyPointParams, ctx: TerrainContext): number;
|
|
97
|
+
/**
|
|
98
|
+
* Attach a property set to one product. Values are written as `IFCLABEL`
|
|
99
|
+
* regardless of how numeric they look: a LandXML attribute is text, and
|
|
100
|
+
* promoting `'00123'` to a number would lose a leading zero that identifies
|
|
101
|
+
* the point.
|
|
102
|
+
*/
|
|
103
|
+
export declare function emitSurveyPropertySet(productId: number, params: SurveyPropertySetParams, ctx: TerrainContext): number;
|
|
104
|
+
/**
|
|
105
|
+
* Write `IfcProjectedCRS` + `IfcMapConversion`.
|
|
106
|
+
*
|
|
107
|
+
* `SourceCRS` is the model `IfcGeometricRepresentationContext` and `TargetCRS`
|
|
108
|
+
* the projected CRS, which is what `TargetCRSOnlyProjected` requires. Callers
|
|
109
|
+
* emit this only where the source actually declares a coordinate system —
|
|
110
|
+
* §4.2 forbids a placeholder CRS, because a wrong CRS is worse than none.
|
|
111
|
+
*/
|
|
112
|
+
export declare function emitGeoreferencing(params: GeoreferencingParams, ctx: TerrainContext): {
|
|
113
|
+
crsId: number;
|
|
114
|
+
mapConversionId: number;
|
|
115
|
+
};
|
|
116
|
+
/** The creator state a `TerrainWriter` mutates, kept behind functions. */
|
|
117
|
+
export interface TerrainWriterHost {
|
|
118
|
+
/** Record a product as contained in the site and as a created entity. */
|
|
119
|
+
trackSiteProduct: (expressId: number, type: string, name: string | undefined) => void;
|
|
120
|
+
/** `#<id>` of the length unit `IfcProjectedCRS.MapUnit` defaults to. */
|
|
121
|
+
lengthUnitRef: () => string;
|
|
122
|
+
/** Throws if georeferencing was already declared for this file. */
|
|
123
|
+
claimGeoreferencing: () => void;
|
|
124
|
+
/** The `IfcSite` every terrain product is contained in. */
|
|
125
|
+
siteId: () => number;
|
|
126
|
+
/** Record a product the PROJECT aggregates directly (an `IfcAlignment`). */
|
|
127
|
+
trackProjectProduct: (expressId: number, type: string, name: string | undefined) => void;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Terrain/survey authoring, reached through `IfcCreator.terrain()`.
|
|
131
|
+
*
|
|
132
|
+
* Every product this writes is contained in the **site**, not a storey.
|
|
133
|
+
* Terrain and survey points have no storey, and inventing one would place them
|
|
134
|
+
* on a datum the LandXML source never declared — the storey's `Elevation` is
|
|
135
|
+
* applied to its children, so a fabricated storey silently shifts every
|
|
136
|
+
* coordinate.
|
|
137
|
+
*/
|
|
138
|
+
export interface TerrainWriter {
|
|
139
|
+
/**
|
|
140
|
+
* The `IfcSite` these products are contained in — the anchor for a
|
|
141
|
+
* file-level property set such as the conversion's provenance.
|
|
142
|
+
*/
|
|
143
|
+
readonly siteId: number;
|
|
144
|
+
/**
|
|
145
|
+
* Add one terrain surface: `IfcGeographicElement`/`.TERRAIN.` carrying an
|
|
146
|
+
* `IfcTriangulatedIrregularNetwork`. `Coordinates` are
|
|
147
|
+
* `(easting, northing, elevation)` in this file's length unit; `Triangles`
|
|
148
|
+
* are 1-based.
|
|
149
|
+
*/
|
|
150
|
+
addSurface(params: TerrainSurfaceParams): TerrainSurfaceResult;
|
|
151
|
+
/** Add one survey point as `IfcAnnotation`/`.SURVEY.`. */
|
|
152
|
+
addSurveyPoint(params: SurveyPointParams): number;
|
|
153
|
+
/** Attach a text-valued property set to any product. */
|
|
154
|
+
addPropertySet(productId: number, params: SurveyPropertySetParams): number;
|
|
155
|
+
/**
|
|
156
|
+
* Declare the projected CRS and the map conversion from it to this file's
|
|
157
|
+
* engineering coordinates. At most once per file.
|
|
158
|
+
*/
|
|
159
|
+
setGeoreferencing(params: GeoreferencingParams): {
|
|
160
|
+
crsId: number;
|
|
161
|
+
mapConversionId: number;
|
|
162
|
+
};
|
|
163
|
+
/**
|
|
164
|
+
* Add a horizontal alignment — `IfcAlignment` with its semantic layout and
|
|
165
|
+
* its composite-curve geometry, aggregated by the project (mapping spec §11).
|
|
166
|
+
*/
|
|
167
|
+
addAlignment(params: AlignmentParams): AlignmentResult;
|
|
168
|
+
}
|
|
169
|
+
export declare function createTerrainWriter(ctx: TerrainContext, host: TerrainWriterHost): TerrainWriter;
|
|
170
|
+
//# sourceMappingURL=ifc-creator-terrain.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ifc-creator-terrain.d.ts","sourceRoot":"","sources":["../src/ifc-creator-terrain.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,180 @@
|
|
|
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
|
+
* Survey/terrain emitters for `IfcCreator` — the IFC4X3 entities the
|
|
6
|
+
* LandXML→IFC v1 mapping needs and no building element does.
|
|
7
|
+
*
|
|
8
|
+
* Split out of `ifc-creator.ts` the same way `ifc-creator-definitions.ts` and
|
|
9
|
+
* `ifc-creator-scheduling.ts` are: the creator keeps the spatial spine, the id
|
|
10
|
+
* allocator and the STEP writer, and hands this module the one `emit` hook.
|
|
11
|
+
*
|
|
12
|
+
* Coordinate contract, and it is the whole reason this file is reviewed
|
|
13
|
+
* carefully: every `Coordinates`/`Location` triple here is
|
|
14
|
+
* **(X, Y, Z) = (easting, northing, elevation)**, already in the file's length
|
|
15
|
+
* unit. LandXML's own `<P>`/`<CgPoint>` text order is *northing easting
|
|
16
|
+
* elevation*; transposing it is silent — a transpose is a reflection, so the
|
|
17
|
+
* mesh is still well-formed and every count assertion still passes. Callers
|
|
18
|
+
* convert; this module never reorders, and never guesses from magnitude.
|
|
19
|
+
*
|
|
20
|
+
* See `docs/architecture/landxml-to-ifc-mapping.md` §2.2 and §4.1.
|
|
21
|
+
*/
|
|
22
|
+
import { esc, num } from './ifc-creator-math.js';
|
|
23
|
+
import { emitAlignment } from './ifc-creator-alignment.js';
|
|
24
|
+
function assertFiniteTriple(triple, what) {
|
|
25
|
+
for (let axis = 0; axis < 3; axis += 1) {
|
|
26
|
+
if (!Number.isFinite(triple[axis])) {
|
|
27
|
+
throw new Error(`${what}: coordinate ${axis} is ${String(triple[axis])} — every coordinate must be finite`);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
function optText(value) {
|
|
32
|
+
return value === null || value === undefined || value === '' ? '$' : `'${esc(value)}'`;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Write a terrain surface: `IfcCartesianPointList3D` → `IfcTriangulatedIrregularNetwork`
|
|
36
|
+
* → `IfcShapeRepresentation` → `IfcGeographicElement`/`.TERRAIN.`.
|
|
37
|
+
*
|
|
38
|
+
* The `IfcTriangulatedIrregularNetwork` constraints in §4.1 are enforced here
|
|
39
|
+
* rather than assumed, because both fail open in a STEP file: `Closed` omitted
|
|
40
|
+
* as `$` does not satisfy `NotClosed : Closed = FALSE`, and an empty `Flags`
|
|
41
|
+
* violates `LIST [1:?]`. Neither shows up as a parse error downstream.
|
|
42
|
+
*/
|
|
43
|
+
export function emitTerrainSurface(params, ctx) {
|
|
44
|
+
ctx.assertSchema('addIfcTerrainSurface');
|
|
45
|
+
const vertexCount = params.Coordinates.length;
|
|
46
|
+
if (vertexCount === 0) {
|
|
47
|
+
throw new Error('addIfcTerrainSurface: Coordinates is empty — IfcCartesianPointList3D.CoordList is LIST [1:?]');
|
|
48
|
+
}
|
|
49
|
+
if (params.Triangles.length === 0) {
|
|
50
|
+
throw new Error('addIfcTerrainSurface: Triangles is empty — IfcTriangulatedFaceSet.CoordIndex is LIST [1:?]');
|
|
51
|
+
}
|
|
52
|
+
const flags = params.Flags ?? [0];
|
|
53
|
+
if (flags.length === 0) {
|
|
54
|
+
throw new Error('addIfcTerrainSurface: Flags is empty — IfcTriangulatedIrregularNetwork.Flags is LIST [1:?] and is not optional');
|
|
55
|
+
}
|
|
56
|
+
for (const flag of flags) {
|
|
57
|
+
if (!Number.isInteger(flag)) {
|
|
58
|
+
throw new Error(`addIfcTerrainSurface: Flags entry ${String(flag)} is not an integer — Flags is LIST OF IfcInteger`);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
params.Coordinates.forEach((point, index) => {
|
|
62
|
+
assertFiniteTriple(point, `addIfcTerrainSurface: vertex ${index}`);
|
|
63
|
+
});
|
|
64
|
+
params.Triangles.forEach((triangle, index) => {
|
|
65
|
+
for (const vertexIndex of triangle) {
|
|
66
|
+
if (!Number.isInteger(vertexIndex) || vertexIndex < 1 || vertexIndex > vertexCount) {
|
|
67
|
+
throw new Error(`addIfcTerrainSurface: triangle ${index} references vertex ${String(vertexIndex)}, `
|
|
68
|
+
+ `outside the 1-based range 1..${vertexCount} — CoordIndex is LIST OF IfcPositiveInteger`);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
const coordList = params.Coordinates
|
|
73
|
+
.map(([x, y, z]) => `(${num(x)},${num(y)},${num(z)})`)
|
|
74
|
+
.join(',');
|
|
75
|
+
const coordinateListId = ctx.emit('IFCCARTESIANPOINTLIST3D', `(${coordList}),$`);
|
|
76
|
+
const coordIndex = params.Triangles.map(([a, b, c]) => `(${a},${b},${c})`).join(',');
|
|
77
|
+
// Attribute order: Coordinates, Normals, Closed, CoordIndex, PnIndex, Flags.
|
|
78
|
+
// `Closed` is written `.F.` explicitly — `$` fails the NotClosed rule.
|
|
79
|
+
const tinId = ctx.emit('IFCTRIANGULATEDIRREGULARNETWORK', `#${coordinateListId},$,.F.,(${coordIndex}),$,(${flags.join(',')})`);
|
|
80
|
+
const representationId = ctx.emit('IFCSHAPEREPRESENTATION', `${ctx.bodyContextRef},'Body','Tessellation',(#${tinId})`);
|
|
81
|
+
const shapeId = ctx.emit('IFCPRODUCTDEFINITIONSHAPE', `$,$,(#${representationId})`);
|
|
82
|
+
const globalId = params.GlobalId ?? ctx.newGlobalId();
|
|
83
|
+
const elementId = ctx.emit('IFCGEOGRAPHICELEMENT', `'${globalId}',${ctx.ownerRef},'${esc(params.Name)}',${optText(params.Description)},$,`
|
|
84
|
+
+ `${ctx.sitePlacementRef},#${shapeId},$,.TERRAIN.`);
|
|
85
|
+
return { elementId, tinId, coordinateListId };
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Write one survey point as `IfcAnnotation`/`.SURVEY.`.
|
|
89
|
+
*
|
|
90
|
+
* The position lives in the `IfcLocalPlacement`, and the representation is an
|
|
91
|
+
* `IfcCartesianPoint` at the LOCAL origin — not a second copy of the
|
|
92
|
+
* coordinate. That split is deliberate: it is the shape the IfcOpenShell
|
|
93
|
+
* control in §8.2 writes, which is what makes our output comparable to
|
|
94
|
+
* something produced outside this repo, and it keeps one authoritative
|
|
95
|
+
* location per point instead of two that can disagree.
|
|
96
|
+
*/
|
|
97
|
+
export function emitSurveyPoint(params, ctx) {
|
|
98
|
+
ctx.assertSchema('addIfcSurveyPoint');
|
|
99
|
+
assertFiniteTriple(params.Location, 'addIfcSurveyPoint');
|
|
100
|
+
const localOriginId = ctx.emit('IFCCARTESIANPOINT', '(0.,0.,0.)');
|
|
101
|
+
const representationId = ctx.emit('IFCSHAPEREPRESENTATION', `${ctx.modelContextRef},'Point','Point',(#${localOriginId})`);
|
|
102
|
+
const shapeId = ctx.emit('IFCPRODUCTDEFINITIONSHAPE', `$,$,(#${representationId})`);
|
|
103
|
+
const [easting, northing, elevation] = params.Location;
|
|
104
|
+
const pointId = ctx.emit('IFCCARTESIANPOINT', `(${num(easting)},${num(northing)},${num(elevation)})`);
|
|
105
|
+
const axisId = ctx.emit('IFCAXIS2PLACEMENT3D', `#${pointId},$,$`);
|
|
106
|
+
const placementId = ctx.emit('IFCLOCALPLACEMENT', `${ctx.sitePlacementRef},#${axisId}`);
|
|
107
|
+
const globalId = params.GlobalId ?? ctx.newGlobalId();
|
|
108
|
+
return ctx.emit('IFCANNOTATION', `'${globalId}',${ctx.ownerRef},${optText(params.Name)},${optText(params.Description)},$,`
|
|
109
|
+
+ `#${placementId},#${shapeId},.SURVEY.`);
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Attach a property set to one product. Values are written as `IFCLABEL`
|
|
113
|
+
* regardless of how numeric they look: a LandXML attribute is text, and
|
|
114
|
+
* promoting `'00123'` to a number would lose a leading zero that identifies
|
|
115
|
+
* the point.
|
|
116
|
+
*/
|
|
117
|
+
export function emitSurveyPropertySet(productId, params, ctx) {
|
|
118
|
+
if (params.Properties.length === 0) {
|
|
119
|
+
throw new Error('addIfcSurveyPropertySet: Properties is empty — IfcPropertySet.HasProperties is SET [1:?]');
|
|
120
|
+
}
|
|
121
|
+
const propertyIds = params.Properties.map(({ Name, Value }) => ctx.emit('IFCPROPERTYSINGLEVALUE', `'${esc(Name)}',$,IFCLABEL('${esc(Value)}'),$`));
|
|
122
|
+
const setId = ctx.emit('IFCPROPERTYSET', `'${params.GlobalId ?? ctx.newGlobalId()}',${ctx.ownerRef},'${esc(params.Name)}',$,`
|
|
123
|
+
+ `(${propertyIds.map((id) => `#${id}`).join(',')})`);
|
|
124
|
+
ctx.emit('IFCRELDEFINESBYPROPERTIES', `'${ctx.newGlobalId()}',${ctx.ownerRef},$,$,(#${productId}),#${setId}`);
|
|
125
|
+
return setId;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Write `IfcProjectedCRS` + `IfcMapConversion`.
|
|
129
|
+
*
|
|
130
|
+
* `SourceCRS` is the model `IfcGeometricRepresentationContext` and `TargetCRS`
|
|
131
|
+
* the projected CRS, which is what `TargetCRSOnlyProjected` requires. Callers
|
|
132
|
+
* emit this only where the source actually declares a coordinate system —
|
|
133
|
+
* §4.2 forbids a placeholder CRS, because a wrong CRS is worse than none.
|
|
134
|
+
*/
|
|
135
|
+
export function emitGeoreferencing(params, ctx) {
|
|
136
|
+
ctx.assertSchema('setGeoreferencing');
|
|
137
|
+
if (params.Name === '') {
|
|
138
|
+
throw new Error('setGeoreferencing: Name is empty — IfcCoordinateReferenceSystem.NameOrWKT requires a Name when there is no WellKnownText');
|
|
139
|
+
}
|
|
140
|
+
const crsId = ctx.emit('IFCPROJECTEDCRS', `'${esc(params.Name)}',${optText(params.Description)},${optText(params.GeodeticDatum)},`
|
|
141
|
+
+ `${optText(params.VerticalDatum)},${optText(params.MapProjection)},${optText(params.MapZone)},`
|
|
142
|
+
+ `${params.MapUnitRef ?? '$'}`);
|
|
143
|
+
const optNum = (value) => (value === undefined ? '$' : num(value));
|
|
144
|
+
const mapConversionId = ctx.emit('IFCMAPCONVERSION', `${ctx.modelContextRef},#${crsId},${num(params.Eastings ?? 0)},${num(params.Northings ?? 0)},`
|
|
145
|
+
+ `${num(params.OrthogonalHeight ?? 0)},${optNum(params.XAxisAbscissa)},${optNum(params.XAxisOrdinate)},`
|
|
146
|
+
+ `${optNum(params.Scale)}`);
|
|
147
|
+
return { crsId, mapConversionId };
|
|
148
|
+
}
|
|
149
|
+
export function createTerrainWriter(ctx, host) {
|
|
150
|
+
return {
|
|
151
|
+
siteId: host.siteId(),
|
|
152
|
+
addSurface(params) {
|
|
153
|
+
const result = emitTerrainSurface(params, ctx);
|
|
154
|
+
host.trackSiteProduct(result.elementId, 'IfcGeographicElement', params.Name);
|
|
155
|
+
return result;
|
|
156
|
+
},
|
|
157
|
+
addSurveyPoint(params) {
|
|
158
|
+
const id = emitSurveyPoint(params, ctx);
|
|
159
|
+
host.trackSiteProduct(id, 'IfcAnnotation', params.Name ?? undefined);
|
|
160
|
+
return id;
|
|
161
|
+
},
|
|
162
|
+
addPropertySet(productId, params) {
|
|
163
|
+
return emitSurveyPropertySet(productId, params, ctx);
|
|
164
|
+
},
|
|
165
|
+
setGeoreferencing(params) {
|
|
166
|
+
host.claimGeoreferencing();
|
|
167
|
+
return emitGeoreferencing({ ...params, MapUnitRef: params.MapUnitRef ?? host.lengthUnitRef() }, ctx);
|
|
168
|
+
},
|
|
169
|
+
addAlignment(params) {
|
|
170
|
+
ctx.assertSchema('addAlignment');
|
|
171
|
+
const result = emitAlignment(params, {
|
|
172
|
+
emit: ctx.emit, newGlobalId: ctx.newGlobalId, ownerRef: ctx.ownerRef,
|
|
173
|
+
axisContextRef: ctx.axisContextRef, placementRef: ctx.sitePlacementRef,
|
|
174
|
+
});
|
|
175
|
+
host.trackProjectProduct(result.alignmentId, 'IfcAlignment', params.Name);
|
|
176
|
+
return result;
|
|
177
|
+
},
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
//# sourceMappingURL=ifc-creator-terrain.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ifc-creator-terrain.js","sourceRoot":"","sources":["../src/ifc-creator-terrain.ts"],"names":[],"mappings":"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"}
|
package/dist/ifc-creator.d.ts
CHANGED
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import type { Point3D, Point2D, Placement3D, ElementAttributes, ProfileDef, GenericElementParams, AxisElementParams, WallParams, SlabParams, ColumnParams, BeamParams, StairParams, RoofParams, GableRoofParams, WallDoorParams, WallWindowParams, DoorParams, WindowParams, RampParams, RailingParams, PlateParams, MemberParams, FootingParams, PileParams, SpaceParams, CurtainWallParams, FurnishingParams, ProxyParams, ProjectParams, StoreyParams, PropertySetDef, QuantitySetDef, MaterialDef, WorkScheduleParams, WorkPlanParams, TaskParams, SequenceParams, WorkCalendarParams, CreateResult } from './types.js';
|
|
17
17
|
import type { CostItemParams, CostQuantityParams, CostScheduleParams, CostTypedValue, CostValueParams, SIUnitParams } from './types-cost.js';
|
|
18
|
+
import { type TerrainWriter } from './ifc-creator-terrain.js';
|
|
18
19
|
/**
|
|
19
20
|
* PLACEMENT CONTRACT
|
|
20
21
|
*
|
|
@@ -55,6 +56,12 @@ export declare class IfcCreator {
|
|
|
55
56
|
private dirX;
|
|
56
57
|
private worldPlacementId;
|
|
57
58
|
private unitAssignmentId;
|
|
59
|
+
private siteElements;
|
|
60
|
+
/** Products aggregated by the project itself — `IfcAlignment` (§11 of the LandXML mapping). */
|
|
61
|
+
private projectElements;
|
|
62
|
+
private georeferenced;
|
|
63
|
+
/** The length `IfcNamedUnit` `IfcProjectedCRS.MapUnit` points at. */
|
|
64
|
+
private lengthUnitId;
|
|
58
65
|
private finalized;
|
|
59
66
|
private defaultStyleId;
|
|
60
67
|
private elementSolids;
|
|
@@ -288,6 +295,16 @@ export declare class IfcCreator {
|
|
|
288
295
|
InnerFilletRadius?: number;
|
|
289
296
|
OuterFilletRadius?: number;
|
|
290
297
|
} & ElementAttributes): number;
|
|
298
|
+
/**
|
|
299
|
+
* The terrain/survey authoring surface: TIN surfaces, survey points, their
|
|
300
|
+
* property sets and the file's georeferencing.
|
|
301
|
+
*
|
|
302
|
+
* One accessor rather than four methods: each needs the same creator
|
|
303
|
+
* internals and nothing else. `ifc-creator-terrain.ts` documents each call.
|
|
304
|
+
*/
|
|
305
|
+
terrain(): TerrainWriter;
|
|
306
|
+
/** The creator hooks `ifc-creator-terrain.ts`'s emitters need. */
|
|
307
|
+
private terrainContext;
|
|
291
308
|
/** Attach a property set to an element */
|
|
292
309
|
addIfcPropertySet(elementId: number, pset: PropertySetDef): number;
|
|
293
310
|
/** Attach element quantities to an element */
|
|
@@ -415,12 +432,11 @@ export declare class IfcCreator {
|
|
|
415
432
|
private buildHeader;
|
|
416
433
|
private buildPreamble;
|
|
417
434
|
private buildUnits;
|
|
418
|
-
/**
|
|
419
|
-
|
|
420
|
-
|
|
435
|
+
/**
|
|
436
|
+
* Create all `IfcStyledItem` rows — a custom colour where one was assigned,
|
|
437
|
+
* the default grey otherwise. See `ifc-creator-styles.ts`.
|
|
438
|
+
*/
|
|
421
439
|
private finalizeStyles;
|
|
422
|
-
/** Create a named IfcSurfaceStyle with the given RGB colour */
|
|
423
|
-
private buildColorStyle;
|
|
424
440
|
/** Get or create a shared IfcMaterial entity (IFC4: Name, Description, Category) */
|
|
425
441
|
private getOrCreateMaterial;
|
|
426
442
|
/** Create IfcRelAssociatesMaterial entities — one per unique material ref (batched) */
|
|
@@ -561,8 +577,6 @@ export declare class IfcCreator {
|
|
|
561
577
|
private addSlabOpening;
|
|
562
578
|
private ifc4Only;
|
|
563
579
|
private finalizeRelationships;
|
|
564
|
-
private addIfcRelAggregates;
|
|
565
|
-
private addIfcRelContainedInSpatialStructure;
|
|
566
580
|
private addIfcRelFillsElement;
|
|
567
581
|
private id;
|
|
568
582
|
private line;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ifc-creator.d.ts","sourceRoot":"","sources":["../src/ifc-creator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ifc-creator.d.ts","sourceRoot":"","sources":["../src/ifc-creator.ts"],"names":[],"mappings":"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"}
|