@ifc-lite/create 3.2.0 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -0
- package/dist/in-store/auto-space-detect.d.ts +1 -1
- package/dist/in-store/auto-space-detect.js +1 -1
- package/dist/in-store/beam.d.ts +10 -1
- package/dist/in-store/beam.d.ts.map +1 -1
- package/dist/in-store/beam.js +14 -25
- package/dist/in-store/beam.js.map +1 -1
- package/dist/in-store/column.d.ts +10 -1
- package/dist/in-store/column.d.ts.map +1 -1
- package/dist/in-store/column.js +23 -22
- package/dist/in-store/column.js.map +1 -1
- package/dist/in-store/copy-frame.d.ts +52 -0
- package/dist/in-store/copy-frame.d.ts.map +1 -0
- package/dist/in-store/copy-frame.js +99 -0
- package/dist/in-store/copy-frame.js.map +1 -0
- package/dist/in-store/copy-product.d.ts +96 -0
- package/dist/in-store/copy-product.d.ts.map +1 -0
- package/dist/in-store/copy-product.js +318 -0
- package/dist/in-store/copy-product.js.map +1 -0
- package/dist/in-store/curtain-wall.d.ts +87 -0
- package/dist/in-store/curtain-wall.d.ts.map +1 -0
- package/dist/in-store/curtain-wall.js +237 -0
- package/dist/in-store/curtain-wall.js.map +1 -0
- package/dist/in-store/extract-grids.d.ts +46 -0
- package/dist/in-store/extract-grids.d.ts.map +1 -0
- package/dist/in-store/extract-grids.js +211 -0
- package/dist/in-store/extract-grids.js.map +1 -0
- package/dist/in-store/extract-walls.d.ts +12 -23
- package/dist/in-store/extract-walls.d.ts.map +1 -1
- package/dist/in-store/extract-walls.js +6 -69
- package/dist/in-store/extract-walls.js.map +1 -1
- package/dist/in-store/generate-spaces.d.ts +1 -1
- package/dist/in-store/grid.d.ts +118 -0
- package/dist/in-store/grid.d.ts.map +1 -0
- package/dist/in-store/grid.js +194 -0
- package/dist/in-store/grid.js.map +1 -0
- package/dist/in-store/host-geometry-frame.d.ts +44 -0
- package/dist/in-store/host-geometry-frame.d.ts.map +1 -0
- package/dist/in-store/host-geometry-frame.js +146 -0
- package/dist/in-store/host-geometry-frame.js.map +1 -0
- package/dist/in-store/hosted-element-edit.d.ts +29 -0
- package/dist/in-store/hosted-element-edit.d.ts.map +1 -0
- package/dist/in-store/hosted-element-edit.js +120 -0
- package/dist/in-store/hosted-element-edit.js.map +1 -0
- package/dist/in-store/hosted-element.d.ts +41 -0
- package/dist/in-store/hosted-element.d.ts.map +1 -0
- package/dist/in-store/hosted-element.js +124 -0
- package/dist/in-store/hosted-element.js.map +1 -0
- package/dist/in-store/hosted-fill-read.d.ts +56 -0
- package/dist/in-store/hosted-fill-read.d.ts.map +1 -0
- package/dist/in-store/hosted-fill-read.js +197 -0
- package/dist/in-store/hosted-fill-read.js.map +1 -0
- package/dist/in-store/hosted-global-id.d.ts +8 -0
- package/dist/in-store/hosted-global-id.d.ts.map +1 -0
- package/dist/in-store/hosted-global-id.js +53 -0
- package/dist/in-store/hosted-global-id.js.map +1 -0
- package/dist/in-store/hosted-placement-edit.d.ts +30 -0
- package/dist/in-store/hosted-placement-edit.d.ts.map +1 -0
- package/dist/in-store/hosted-placement-edit.js +123 -0
- package/dist/in-store/hosted-placement-edit.js.map +1 -0
- package/dist/in-store/hosted-scale-chain.d.ts +12 -0
- package/dist/in-store/hosted-scale-chain.d.ts.map +1 -0
- package/dist/in-store/hosted-scale-chain.js +74 -0
- package/dist/in-store/hosted-scale-chain.js.map +1 -0
- package/dist/in-store/hosted-shape-edit.d.ts +9 -0
- package/dist/in-store/hosted-shape-edit.d.ts.map +1 -0
- package/dist/in-store/hosted-shape-edit.js +79 -0
- package/dist/in-store/hosted-shape-edit.js.map +1 -0
- package/dist/in-store/index.d.ts +59 -0
- package/dist/in-store/index.d.ts.map +1 -0
- package/dist/in-store/index.js +64 -0
- package/dist/in-store/index.js.map +1 -0
- package/dist/in-store/member.d.ts +8 -2
- package/dist/in-store/member.d.ts.map +1 -1
- package/dist/in-store/member.js +12 -14
- package/dist/in-store/member.js.map +1 -1
- package/dist/in-store/placement-frame.d.ts +9 -4
- package/dist/in-store/placement-frame.d.ts.map +1 -1
- package/dist/in-store/placement-frame.js +20 -35
- package/dist/in-store/placement-frame.js.map +1 -1
- package/dist/in-store/profile.d.ts +141 -0
- package/dist/in-store/profile.d.ts.map +1 -0
- package/dist/in-store/profile.js +174 -0
- package/dist/in-store/profile.js.map +1 -0
- package/dist/in-store/railing.d.ts +65 -0
- package/dist/in-store/railing.d.ts.map +1 -0
- package/dist/in-store/railing.js +112 -0
- package/dist/in-store/railing.js.map +1 -0
- package/dist/in-store/rel-connects-path.d.ts +43 -0
- package/dist/in-store/rel-connects-path.d.ts.map +1 -0
- package/dist/in-store/rel-connects-path.js +65 -0
- package/dist/in-store/rel-connects-path.js.map +1 -0
- package/dist/in-store/resolve-host.d.ts +12 -1
- package/dist/in-store/resolve-host.d.ts.map +1 -1
- package/dist/in-store/resolve-host.js +169 -85
- package/dist/in-store/resolve-host.js.map +1 -1
- package/dist/in-store/resolve-source.d.ts.map +1 -1
- package/dist/in-store/resolve-source.js +39 -59
- package/dist/in-store/resolve-source.js.map +1 -1
- package/dist/in-store/schema-attributes.d.ts +5 -0
- package/dist/in-store/schema-attributes.d.ts.map +1 -1
- package/dist/in-store/schema-attributes.js +9 -2
- package/dist/in-store/schema-attributes.js.map +1 -1
- package/dist/in-store/space-footprints.d.ts +55 -0
- package/dist/in-store/space-footprints.d.ts.map +1 -0
- package/dist/in-store/space-footprints.js +260 -0
- package/dist/in-store/space-footprints.js.map +1 -0
- package/dist/in-store/space.d.ts.map +1 -1
- package/dist/in-store/space.js +15 -3
- package/dist/in-store/space.js.map +1 -1
- package/dist/in-store/spatial-children.d.ts +1 -1
- package/dist/in-store/spatial-children.js +1 -1
- package/dist/in-store/stair-edit.d.ts +24 -0
- package/dist/in-store/stair-edit.d.ts.map +1 -0
- package/dist/in-store/stair-edit.js +190 -0
- package/dist/in-store/stair-edit.js.map +1 -0
- package/dist/in-store/stair.d.ts +58 -0
- package/dist/in-store/stair.d.ts.map +1 -0
- package/dist/in-store/stair.js +156 -0
- package/dist/in-store/stair.js.map +1 -0
- package/dist/in-store/wall-join-apply.d.ts +74 -0
- package/dist/in-store/wall-join-apply.d.ts.map +1 -0
- package/dist/in-store/wall-join-apply.js +137 -0
- package/dist/in-store/wall-join-apply.js.map +1 -0
- package/dist/in-store/wall-join-edit.d.ts +70 -0
- package/dist/in-store/wall-join-edit.d.ts.map +1 -0
- package/dist/in-store/wall-join-edit.js +217 -0
- package/dist/in-store/wall-join-edit.js.map +1 -0
- package/dist/in-store/wall-join-read.d.ts +60 -0
- package/dist/in-store/wall-join-read.d.ts.map +1 -0
- package/dist/in-store/wall-join-read.js +230 -0
- package/dist/in-store/wall-join-read.js.map +1 -0
- package/dist/in-store/wall-join.d.ts +122 -0
- package/dist/in-store/wall-join.d.ts.map +1 -0
- package/dist/in-store/wall-join.js +231 -0
- package/dist/in-store/wall-join.js.map +1 -0
- package/dist/in-store/wall-opening-fit.d.ts +11 -0
- package/dist/in-store/wall-opening-fit.d.ts.map +1 -0
- package/dist/in-store/wall-opening-fit.js +27 -0
- package/dist/in-store/wall-opening-fit.js.map +1 -0
- package/dist/in-store/wall.d.ts +32 -0
- package/dist/in-store/wall.d.ts.map +1 -1
- package/dist/in-store/wall.js +77 -13
- package/dist/in-store/wall.js.map +1 -1
- package/dist/index.d.ts +1 -38
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -40
- package/dist/index.js.map +1 -1
- package/package.json +6 -6
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** Hosted openings must fit both end faces after a wall join (#6232 D5).
|
|
2
|
+
* A wall axis can still span an opening when an oblique body face cuts it. */
|
|
3
|
+
import type { IfcDataStore } from '@ifc-lite/parser';
|
|
4
|
+
import type { MutablePropertyView } from '@ifc-lite/mutations';
|
|
5
|
+
import type { WallJoinTarget } from './wall-join-apply.js';
|
|
6
|
+
import { type WallJoinWall } from './wall-join.js';
|
|
7
|
+
/** Safe longitudinal interval in the ORIGINAL placement frame, in metres.
|
|
8
|
+
* Using both faces deliberately refuses a cut straddling an oblique end. */
|
|
9
|
+
export declare function wallOpeningBodySpan(original: WallJoinTarget, next: WallJoinWall): [number, number];
|
|
10
|
+
export declare function assertWallOpeningsFit(store: IfcDataStore, view: MutablePropertyView, original: WallJoinTarget, next: WallJoinWall, scale: number): void;
|
|
11
|
+
//# sourceMappingURL=wall-opening-fit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wall-opening-fit.d.ts","sourceRoot":"","sources":["../../src/in-store/wall-opening-fit.ts"],"names":[],"mappings":"AAIA;8EAC8E;AAC9E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGpE;4EAC4E;AAC5E,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,YAAY,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAOlG;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,GAC1G,IAAI,CASN"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
2
|
+
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
3
|
+
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
4
|
+
import { wallBodyOutline } from './wall-join.js';
|
|
5
|
+
import { readHostOpeningExtents } from './hosted-element.js';
|
|
6
|
+
/** Safe longitudinal interval in the ORIGINAL placement frame, in metres.
|
|
7
|
+
* Using both faces deliberately refuses a cut straddling an oblique end. */
|
|
8
|
+
export function wallOpeningBodySpan(original, next) {
|
|
9
|
+
const length = Math.hypot(original.wall.end[0] - original.wall.start[0], original.wall.end[1] - original.wall.start[1]);
|
|
10
|
+
const ux = (original.wall.end[0] - original.wall.start[0]) / length;
|
|
11
|
+
const uy = (original.wall.end[1] - original.wall.start[1]) / length;
|
|
12
|
+
const first = (next.start[0] - original.origin[0]) * ux + (next.start[1] - original.origin[1]) * uy;
|
|
13
|
+
const { corners } = wallBodyOutline(next);
|
|
14
|
+
return [first + Math.max(corners[0][0], corners[3][0]), first + Math.min(corners[1][0], corners[2][0])];
|
|
15
|
+
}
|
|
16
|
+
export function assertWallOpeningsFit(store, view, original, next, scale) {
|
|
17
|
+
const hosted = readHostOpeningExtents(store, original.wallId, view);
|
|
18
|
+
if (hosted.unreadable.length) {
|
|
19
|
+
throw new Error(`Wall #${original.wallId} has unreadable opening geometry ${hosted.unreadable.map(id => `#${id}`).join(', ')}; joining is refused`);
|
|
20
|
+
}
|
|
21
|
+
const [from, to] = wallOpeningBodySpan(original, next);
|
|
22
|
+
// The existing Trim/Extend contract allows 1 mm of modelling roundoff.
|
|
23
|
+
const outside = hosted.cuts.find(({ bounds }) => bounds.min[0] * scale < from - 1e-3 || bounds.max[0] * scale > to + 1e-3);
|
|
24
|
+
if (outside)
|
|
25
|
+
throw new Error(`Opening #${outside.openingId} would not fit between the joined end faces of wall #${original.wallId}`);
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=wall-opening-fit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wall-opening-fit.js","sourceRoot":"","sources":["../../src/in-store/wall-opening-fit.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAO/D,OAAO,EAAE,eAAe,EAAqB,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE7D;4EAC4E;AAC5E,MAAM,UAAU,mBAAmB,CAAC,QAAwB,EAAE,IAAkB;IAC9E,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACxH,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;IACpE,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;IACpE,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACpG,MAAM,EAAE,OAAO,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IAC1C,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1G,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,KAAmB,EAAE,IAAyB,EAAE,QAAwB,EAAE,IAAkB,EAAE,KAAa;IAE3G,MAAM,MAAM,GAAG,sBAAsB,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACpE,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,SAAS,QAAQ,CAAC,MAAM,oCAAoC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACtJ,CAAC;IACD,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACvD,uEAAuE;IACvE,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAC3H,IAAI,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,CAAC,SAAS,wDAAwD,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;AACvI,CAAC"}
|
package/dist/in-store/wall.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { StoreEditor } from '@ifc-lite/mutations';
|
|
2
2
|
import { type SpatialAnchor } from './anchor.js';
|
|
3
|
+
import { type WallAlignment, type WallEndCut, type WallJoinWall } from './wall-join.js';
|
|
3
4
|
export interface WallInStoreParams {
|
|
4
5
|
/** Start of the wall axis, in storey-local coordinates (metres). */
|
|
5
6
|
Start: [number, number, number];
|
|
@@ -15,15 +16,46 @@ export interface WallInStoreParams {
|
|
|
15
16
|
Tag?: string;
|
|
16
17
|
/** Explicit GlobalId (22-char IFC GUID); generated when omitted. */
|
|
17
18
|
GlobalId?: string;
|
|
19
|
+
/** Which face the axis runs along (`left`/`right` of Start -> End). Default `center`. */
|
|
20
|
+
Alignment?: WallAlignment;
|
|
21
|
+
/** Extra shift of the body across the axis, metres, positive to the left. Default 0. */
|
|
22
|
+
Offset?: number;
|
|
23
|
+
/** Body end at Start (metres past the axis end at each face). Default square at Start. */
|
|
24
|
+
StartCut?: WallEndCut;
|
|
25
|
+
/** Body end at End. Default square at End. */
|
|
26
|
+
EndCut?: WallEndCut;
|
|
27
|
+
/**
|
|
28
|
+
* Write an `Axis` representation beside the Body. Default true: it is the
|
|
29
|
+
* centreline other tools and `extractWallSegmentsForStorey` read, and a
|
|
30
|
+
* joined body no longer tells where the axis ends. The viewer's resize and
|
|
31
|
+
* joins keep it current. Pass false for a body-only wall.
|
|
32
|
+
*/
|
|
33
|
+
Axis?: boolean;
|
|
18
34
|
}
|
|
19
35
|
export interface WallBuildResult {
|
|
20
36
|
wallId: number;
|
|
21
37
|
placementId: number;
|
|
22
38
|
profileId: number;
|
|
23
39
|
solidId: number;
|
|
40
|
+
/** The `Body` IfcShapeRepresentation (first in the product shape). */
|
|
24
41
|
shapeRepId: number;
|
|
42
|
+
/** The `Axis` IfcShapeRepresentation (second in the product shape), or null with `Axis: false`. */
|
|
43
|
+
axisRepId: number | null;
|
|
25
44
|
productShapeId: number;
|
|
26
45
|
relContainedId: number;
|
|
27
46
|
}
|
|
47
|
+
/** The plan view of a wall's params, in metres, as `computeWallJoin` takes it. */
|
|
48
|
+
export declare function wallJoinWallFromParams(params: WallInStoreParams): WallJoinWall;
|
|
49
|
+
/**
|
|
50
|
+
* Emit the body profile of `wall` (metres) in a wall frame whose origin sits
|
|
51
|
+
* `startX` metres before the wall's Start along the axis (0 when the placement
|
|
52
|
+
* origin is Start). Coordinates are converted to the anchor's native unit.
|
|
53
|
+
*/
|
|
54
|
+
export declare function emitWallBodyProfile(editor: StoreEditor, anchor: Pick<SpatialAnchor, 'lengthUnitScale'>, wall: WallJoinWall, startX?: number): number;
|
|
55
|
+
/**
|
|
56
|
+
* Emit the `Axis` representation: a 2D IfcPolyline from `fromX` to `toX`
|
|
57
|
+
* (metres) along the wall frame's X.
|
|
58
|
+
*/
|
|
59
|
+
export declare function emitWallAxisRepresentation(editor: StoreEditor, anchor: Pick<SpatialAnchor, 'axisContextId' | 'lengthUnitScale'>, fromX: number, toX: number): number;
|
|
28
60
|
export declare function addWallToStore(editor: StoreEditor, anchor: SpatialAnchor, params: WallInStoreParams): WallBuildResult;
|
|
29
61
|
//# sourceMappingURL=wall.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wall.d.ts","sourceRoot":"","sources":["../../src/in-store/wall.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"wall.d.ts","sourceRoot":"","sources":["../../src/in-store/wall.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGvD,OAAO,EAAkC,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AASjF,OAAO,EAAmB,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEzG,MAAM,WAAW,iBAAiB;IAChC,oEAAoE;IACpE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,kEAAkE;IAClE,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yFAAyF;IACzF,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,wFAAwF;IACxF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,8CAA8C;IAC9C,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,sEAAsE;IACtE,UAAU,EAAE,MAAM,CAAC;IACnB,mGAAmG;IACnG,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB;AAOD,kFAAkF;AAClF,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,iBAAiB,GAAG,YAAY,CAU9E;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,iBAAiB,CAAC,EAC9C,IAAI,EAAE,YAAY,EAClB,MAAM,SAAI,GACT,MAAM,CAgBR;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,eAAe,GAAG,iBAAiB,CAAC,EAChE,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,GACV,MAAM,CAUR;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,iBAAiB,GACxB,eAAe,CAyHjB"}
|
package/dist/in-store/wall.js
CHANGED
|
@@ -12,13 +12,69 @@
|
|
|
12
12
|
* so the solid spans `Start → End` along local X and is centred
|
|
13
13
|
* on the thickness axis
|
|
14
14
|
* - extruded upward (local +Z) by `Height`
|
|
15
|
+
* - unless `Axis: false`, an `Axis` representation (`Curve2D` IfcPolyline,
|
|
16
|
+
* Start -> End in the wall's frame) beside the `Body`: the centreline
|
|
17
|
+
* other tools and `extractWallSegmentsForStorey` read
|
|
18
|
+
*
|
|
19
|
+
* `Alignment`/`Offset` shift the body across the axis, and `StartCut`/`EndCut`
|
|
20
|
+
* reach past or stop short of the axis ends (see `./wall-join.ts`). Square
|
|
21
|
+
* ends keep the rectangle profile; a slanted end, as a join at an angle other
|
|
22
|
+
* than 90 degrees leaves, needs a four-point IfcArbitraryClosedProfileDef.
|
|
15
23
|
*
|
|
16
24
|
* Pure: no I/O, no parser access — operates entirely through the editor.
|
|
17
25
|
*/
|
|
18
26
|
import { generateIfcGuid } from '@ifc-lite/encoding';
|
|
19
27
|
import { vecNorm, assertFinitePoint3 } from '../ifc-creator-math.js';
|
|
20
28
|
import { toNativeLength, toNativePoint3 } from './anchor.js';
|
|
21
|
-
import { assertPositiveFinite, emitLocalPlacement, ownerHistoryRef, productGuid } from './_emit-helpers.js';
|
|
29
|
+
import { assertPositiveFinite, emitLocalPlacement, emitPolygonProfile, emitRectangleProfile, ownerHistoryRef, productGuid, } from './_emit-helpers.js';
|
|
30
|
+
import { wallBodyOutline } from './wall-join.js';
|
|
31
|
+
/** Round away the float noise sums of metre values pick up (0.05 + 0.1 - 0.2 = -0.05000000000000001). */
|
|
32
|
+
function roundLength(v) {
|
|
33
|
+
return Math.round(v * 1e9) / 1e9;
|
|
34
|
+
}
|
|
35
|
+
/** The plan view of a wall's params, in metres, as `computeWallJoin` takes it. */
|
|
36
|
+
export function wallJoinWallFromParams(params) {
|
|
37
|
+
return {
|
|
38
|
+
start: [params.Start[0], params.Start[1]],
|
|
39
|
+
end: [params.End[0], params.End[1]],
|
|
40
|
+
thickness: params.Thickness,
|
|
41
|
+
alignment: params.Alignment,
|
|
42
|
+
offset: params.Offset,
|
|
43
|
+
startCut: params.StartCut,
|
|
44
|
+
endCut: params.EndCut,
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Emit the body profile of `wall` (metres) in a wall frame whose origin sits
|
|
49
|
+
* `startX` metres before the wall's Start along the axis (0 when the placement
|
|
50
|
+
* origin is Start). Coordinates are converted to the anchor's native unit.
|
|
51
|
+
*/
|
|
52
|
+
export function emitWallBodyProfile(editor, anchor, wall, startX = 0) {
|
|
53
|
+
const outline = wallBodyOutline(wall);
|
|
54
|
+
const native = (v) => roundLength(toNativeLength(anchor, v));
|
|
55
|
+
if (outline.rectangular) {
|
|
56
|
+
const [x0, y0] = outline.corners[0];
|
|
57
|
+
const [x1, y1] = outline.corners[2];
|
|
58
|
+
// YDim straight from the thickness: y1 - y0 can pick up float noise.
|
|
59
|
+
return emitRectangleProfile(editor, native(x1 - x0), native(wall.thickness), native(startX + (x0 + x1) / 2), native((y0 + y1) / 2));
|
|
60
|
+
}
|
|
61
|
+
return emitPolygonProfile(editor, outline.corners.map(([x, y]) => [native(startX + x), native(y)]));
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Emit the `Axis` representation: a 2D IfcPolyline from `fromX` to `toX`
|
|
65
|
+
* (metres) along the wall frame's X.
|
|
66
|
+
*/
|
|
67
|
+
export function emitWallAxisRepresentation(editor, anchor, fromX, toX) {
|
|
68
|
+
const from = editor.addEntity('IfcCartesianPoint', [[roundLength(toNativeLength(anchor, fromX)), 0]]).expressId;
|
|
69
|
+
const to = editor.addEntity('IfcCartesianPoint', [[roundLength(toNativeLength(anchor, toX)), 0]]).expressId;
|
|
70
|
+
const polyline = editor.addEntity('IfcPolyline', [[`#${from}`, `#${to}`]]).expressId;
|
|
71
|
+
return editor.addEntity('IfcShapeRepresentation', [
|
|
72
|
+
`#${anchor.axisContextId}`,
|
|
73
|
+
'Axis',
|
|
74
|
+
'Curve2D',
|
|
75
|
+
[`#${polyline}`],
|
|
76
|
+
]).expressId;
|
|
77
|
+
}
|
|
22
78
|
export function addWallToStore(editor, anchor, params) {
|
|
23
79
|
const { ownerHistoryId, bodyContextId, storeyId, storeyPlacementId } = anchor;
|
|
24
80
|
assertPositiveFinite([params.Thickness, params.Height], 'addWallToStore: Thickness and Height must be positive');
|
|
@@ -26,6 +82,15 @@ export function addWallToStore(editor, anchor, params) {
|
|
|
26
82
|
// `NaN <= 0` is false, so the distinct-points check below never fires.
|
|
27
83
|
// Validate the source coordinates instead of trusting the derived value.
|
|
28
84
|
assertFinitePoint3({ Start: params.Start, End: params.End }, 'addWallToStore');
|
|
85
|
+
const cuts = [params.Offset ?? 0, params.StartCut?.left ?? 0, params.StartCut?.right ?? 0, params.EndCut?.left ?? 0, params.EndCut?.right ?? 0];
|
|
86
|
+
if (cuts.some((v) => !Number.isFinite(v))) {
|
|
87
|
+
throw new Error('addWallToStore: Offset, StartCut and EndCut must be finite');
|
|
88
|
+
}
|
|
89
|
+
// The plan outline in metres, before the unit conversion below; throws when
|
|
90
|
+
// the cuts leave the body with no length.
|
|
91
|
+
const plan = wallJoinWallFromParams(params);
|
|
92
|
+
if (Math.hypot(plan.end[0] - plan.start[0], plan.end[1] - plan.start[1]) > 0)
|
|
93
|
+
wallBodyOutline(plan);
|
|
29
94
|
// Params are metres; convert dimensioned fields to the file's native
|
|
30
95
|
// length unit so the emitted STEP coordinates are correctly scaled
|
|
31
96
|
// (see SpatialAnchor.lengthUnitScale). Directions normalise the scale
|
|
@@ -55,17 +120,10 @@ export function addWallToStore(editor, anchor, params) {
|
|
|
55
120
|
// Placement at Start with local X = wall direction and local Z up. The
|
|
56
121
|
// Axis is written explicitly: IFC forbids a RefDirection without it (#5469).
|
|
57
122
|
const placementId = emitLocalPlacement(editor, storeyPlacementId, params.Start, undefined, dir);
|
|
58
|
-
//
|
|
59
|
-
// spans 0..wallLen along local X and
|
|
60
|
-
|
|
61
|
-
const
|
|
62
|
-
const profileId = editor.addEntity('IfcRectangleProfileDef', [
|
|
63
|
-
'.AREA.',
|
|
64
|
-
null,
|
|
65
|
-
`#${profilePos}`,
|
|
66
|
-
wallLen,
|
|
67
|
-
params.Thickness,
|
|
68
|
-
]).expressId;
|
|
123
|
+
// Body profile in the wall frame: by default a rectangle centred at
|
|
124
|
+
// (wallLen/2, 0), so the solid spans 0..wallLen along local X and
|
|
125
|
+
// -thickness/2..+thickness/2 on Y; alignment, offset and end cuts move it.
|
|
126
|
+
const profileId = emitWallBodyProfile(editor, anchor, plan);
|
|
69
127
|
// Extruded along +Z by Height.
|
|
70
128
|
const solidOriginPt = editor.addEntity('IfcCartesianPoint', [[0, 0, 0]]).expressId;
|
|
71
129
|
const solidAxis = editor.addEntity('IfcAxis2Placement3D', [`#${solidOriginPt}`, null, null]).expressId;
|
|
@@ -82,10 +140,15 @@ export function addWallToStore(editor, anchor, params) {
|
|
|
82
140
|
'SweptSolid',
|
|
83
141
|
[`#${solidId}`],
|
|
84
142
|
]).expressId;
|
|
143
|
+
// Axis in metres (the emitter converts): Start is the frame origin.
|
|
144
|
+
const axisRepId = params.Axis !== false
|
|
145
|
+
? emitWallAxisRepresentation(editor, anchor, 0, Math.hypot(plan.end[0] - plan.start[0], plan.end[1] - plan.start[1]))
|
|
146
|
+
: null;
|
|
147
|
+
// Body first: readers such as the viewer's wall edit take Representations[0] as the body.
|
|
85
148
|
const productShapeId = editor.addEntity('IfcProductDefinitionShape', [
|
|
86
149
|
null,
|
|
87
150
|
null,
|
|
88
|
-
[`#${shapeRepId}`],
|
|
151
|
+
axisRepId === null ? [`#${shapeRepId}`] : [`#${shapeRepId}`, `#${axisRepId}`],
|
|
89
152
|
]).expressId;
|
|
90
153
|
// `IfcWall.PredefinedType` only exists from IFC4 onward.
|
|
91
154
|
const wallAttrs = [
|
|
@@ -119,6 +182,7 @@ export function addWallToStore(editor, anchor, params) {
|
|
|
119
182
|
profileId,
|
|
120
183
|
solidId,
|
|
121
184
|
shapeRepId,
|
|
185
|
+
axisRepId,
|
|
122
186
|
productShapeId,
|
|
123
187
|
relContainedId,
|
|
124
188
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wall.js","sourceRoot":"","sources":["../../src/in-store/wall.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D
|
|
1
|
+
{"version":3,"file":"wall.js","sourceRoot":"","sources":["../../src/in-store/wall.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -33,44 +33,7 @@ export type { VerticalSegment, VerticalSegmentType } from './landxml/profile-geo
|
|
|
33
33
|
export type { StationEquationParams } from './ifc-creator-alignment-referents.js';
|
|
34
34
|
export type * from './landxml/source-types.js';
|
|
35
35
|
export type * from './landxml/result-types.js';
|
|
36
|
-
export
|
|
37
|
-
export { addWallToStore, type WallInStoreParams, type WallBuildResult } from './in-store/wall.js';
|
|
38
|
-
export { addSlabToStore, type SlabInStoreParams, type SlabRectangleParams, type SlabPolygonParams, type SlabBuildResult } from './in-store/slab.js';
|
|
39
|
-
export { addBeamToStore, type BeamInStoreParams, type BeamBuildResult } from './in-store/beam.js';
|
|
40
|
-
export { addDoorToStore, type DoorInStoreParams, type DoorBuildResult } from './in-store/door.js';
|
|
41
|
-
export { addWindowToStore, type WindowInStoreParams, type WindowBuildResult } from './in-store/window.js';
|
|
42
|
-
export { addOpeningToStore, type OpeningInStoreParams, type WallOpeningInStoreParams, type SlabOpeningInStoreParams, type OpeningBuildResult, } from './in-store/opening.js';
|
|
43
|
-
export { addHostedDoorToStore, addHostedWindowToStore, type HostedDoorInStoreParams, type HostedWindowInStoreParams, type HostedFillBuildResult, } from './in-store/hosted-fill.js';
|
|
44
|
-
export { addElementTypeToStore, assignTypeInStore, type AuthoringAnchor, type ElementTypeInStoreParams, type ElementTypeBuildResult, } from './in-store/element-type.js';
|
|
45
|
-
export { addMaterialToStore, addMaterialLayerSetToStore, addMaterialLayerSetUsageToStore, assignMaterialInStore, type MaterialInStoreParams, type MaterialLayerInStoreParams, type MaterialLayerSetInStoreParams, type MaterialLayerSetBuildResult, type MaterialLayerSetUsageInStoreParams, } from './in-store/material.js';
|
|
46
|
-
export type { OneToManyResult } from './in-store/relate.js';
|
|
47
|
-
export { resolveAuthoringAnchor, readRelatedLists, liveEntityType, liveEntityConforms } from './in-store/resolve-relations.js';
|
|
48
|
-
export { addSpaceToStore, type SpaceInStoreParams, type SpaceRectangleParams, type SpacePolygonParams, type SpaceBuildResult } from './in-store/space.js';
|
|
49
|
-
export { addSpatialZonesToStore, spatialZonesSupported, type SpatialZoneInput, type SpatialZoneInStoreParams, type SpatialZoneBuildResult, type SpatialZoneType, } from './in-store/spatial-zone.js';
|
|
50
|
-
export { applyStylesInStore, collectLeafRepresentationItems, type ApplyStyleOptions, type ApplyStyleResult, type StyleBatch, type SurfaceStyleColor, } from './in-store/apply-style.js';
|
|
51
|
-
export { addRoofToStore, type RoofInStoreParams, type RoofRectangleParams, type RoofPolygonParams, type RoofBuildResult } from './in-store/roof.js';
|
|
52
|
-
export { addPlateToStore, type PlateInStoreParams, type PlateRectangleParams, type PlatePolygonParams, type PlateBuildResult } from './in-store/plate.js';
|
|
53
|
-
export { addMemberToStore, type MemberInStoreParams, type MemberBuildResult } from './in-store/member.js';
|
|
54
|
-
export { addCostScheduleToStore, addCostItemToStore, addCostValueToStore, addCostQuantityToStore, nestCostItemsInStore, assignCostItemsToScheduleInStore, assignObjectsToCostItemInStore, attachCostValuesToItemInStore, type CostAnchor, type ExistingRelatedList, } from './in-store/cost.js';
|
|
55
|
-
export { removeCostEntityInStore, type CostRemovalReferrers } from './in-store/cost-removal.js';
|
|
56
|
-
export { resolveSpatialAnchor } from './in-store/resolve-anchor.js';
|
|
57
|
-
export { resolveHostAnchor } from './in-store/resolve-host.js';
|
|
58
|
-
export { toNativeLength, fromNativeLength } from './in-store/anchor.js';
|
|
59
|
-
export type { SpatialAnchor, HostAnchor, HostBounds, HostKind } from './in-store/anchor.js';
|
|
60
|
-
export { duplicateInStore, type SourceAttributes, type DuplicateInStoreOptions, type DuplicateBuildResult, type Vec3 as DuplicateVec3, } from './in-store/duplicate.js';
|
|
61
|
-
export { resolveDuplicateSource } from './in-store/resolve-source.js';
|
|
62
|
-
export { detectEnclosedAreas, type Vec2 as AutoSpaceVec2, type Segment as AutoSpaceSegment, type DetectedSpace, type DetectOptions as AutoSpaceDetectOptions, } from './in-store/auto-space-detect.js';
|
|
63
|
-
export { extractWallSegmentsForStorey, existingSpaceFootprintsByStorey, type OverlayWallReader, type WallExtractionResult, } from './in-store/extract-walls.js';
|
|
64
|
-
export { storeyPlanFrame, toStoreyLocal, fromStoreyLocal, type StoreyPlanFrame, } from './in-store/storey-plan-frame.js';
|
|
65
|
-
export { generateSpacesFromWalls, offsetRoomFootprint, GENERATED_SPACE_OBJECTTYPE, type GenerateSpacesOptions, type GenerateSpacesResult, type BoundaryMode, } from './in-store/generate-spaces.js';
|
|
66
|
-
export { generateSpaces, listStoreys, type GenerateSpacesAllOptions, type GenerateSpacesAllResult, type GenerateSpacesStoreyResult, type StoreyInfo, } from './in-store/generate-spaces-all.js';
|
|
67
|
-
export { addStructuralAnalysisModelToStore, type StructuralAnalysisModelInStoreParams, type StructuralAnalysisModelBuildResult, type StructuralAnalysisModelType, } from './in-store/structural-analysis-model.js';
|
|
68
|
-
export { addStructuralCurveMemberToStore, type StructuralCurveMemberInStoreParams, type StructuralCurveMemberBuildResult, type StructuralCurveMemberType, } from './in-store/structural-curve-member.js';
|
|
69
|
-
export { addStructuralPointConnectionToStore, type StructuralPointConnectionInStoreParams, type StructuralPointConnectionBuildResult, type StructuralBoundaryConditionParams, } from './in-store/structural-point-connection.js';
|
|
70
|
-
export { addStructuralLoadGroupToStore, type StructuralLoadGroupInStoreParams, type StructuralLoadGroupBuildResult, type StructuralLoadGroupType, type StructuralActionType, type StructuralActionSourceType, } from './in-store/structural-load-group.js';
|
|
71
|
-
export { addStructuralPointActionToStore, addStructuralLinearActionToStore, type StructuralPointActionInStoreParams, type StructuralPointActionBuildResult, type StructuralLinearActionInStoreParams, type StructuralLinearActionBuildResult, type StructuralGlobalOrLocal, } from './in-store/structural-action.js';
|
|
72
|
-
export { connectStructuralMemberToConnectionInStore, connectStructuralActivityToItemInStore, assignToStructuralGroupInStore, } from './in-store/structural-relationships.js';
|
|
73
|
-
export { addDrawingMarkupToStore, addMeasureMarkupToStore, addPolygonAreaMarkupToStore, addTextMarkupToStore, addCloudMarkupToStore, DRAWING_MARKUP_OBJECTTYPE, DRAWING_MARKUP_PSET_NAME, DRAWING_MARKUP_QSET_NAME, type DrawingMarkupObjectType, type MarkupAnchor, type MarkupPoint2D, type MeasureMarkupParams, type MeasureMarkupResult, type PolygonAreaMarkupParams, type PolygonAreaMarkupResult, type TextMarkupParams, type TextMarkupResult, type CloudMarkupParams, type CloudMarkupResult, type DrawingMarkupBatchInput, type DrawingMarkupBatchResult, } from './in-store/drawing-markup.js';
|
|
36
|
+
export * from './in-store/index.js';
|
|
74
37
|
export type { Point3D, Point2D, Placement3D, RectangleProfile, ArbitraryProfile, CircleProfile, CircleHollowProfile, IShapeProfile, LShapeProfile, TShapeProfile, UShapeProfile, CShapeProfile, RectangleHollowProfile, ProfileDef, RectangularOpening, GenericElementParams, AxisElementParams, ElementAttributes, WallParams, SlabParams, ColumnParams, BeamParams, StairParams, RoofParams, GableRoofParams, WallDoorParams, WallWindowParams, DoorParams, WindowParams, RampParams, RailingParams, PlateParams, MemberParams, FootingParams, PileParams, SpaceParams, CurtainWallParams, FurnishingParams, ProxyParams, PropertyType, PropertyMeasureType, PropertyDef, PropertySetDef, QuantityKind, QuantityDef, QuantitySetDef, MaterialLayerDef, MaterialDef, ProjectParams, SiteParams, BuildingParams, StoreyParams, IfcWorkScheduleParams, IfcWorkPlanParams, IfcTaskParams, IfcRelSequenceParams, IfcWorkCalendarParams, IfcWorkTimeParams, IfcRecurrencePatternParams, IfcTimePeriodParams, IfcWorkScheduleType, IfcTaskPredefinedType, IfcTaskDurationType, IfcRelSequenceType, IfcWorkCalendarType, IfcRecurrenceType, WorkScheduleParams, WorkPlanParams, TaskParams, SequenceParams, WorkCalendarParams, WorkTimeParams, RecurrencePatternParams, TimePeriodParams, WorkScheduleType, TaskPredefinedType, TaskDurationType, SequenceType, WorkCalendarType, RecurrenceType, CreatedEntity, CreateResult, } from './types.js';
|
|
75
38
|
export type { CostArithmeticOperator, CostItemParams, CostItemPredefinedType, CostMeasureType, CostQuantityKind, CostQuantityParams, CostScheduleParams, CostSchedulePredefinedType, CostSIUnitType, CostTypedValue, CostValueParams, SIUnitParams, } from './types-cost.js';
|
|
76
39
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAI9C,YAAY,EACV,oBAAoB,EAAE,iBAAiB,EAAE,uBAAuB,EAChE,oBAAoB,EAAE,oBAAoB,EAAE,aAAa,GAC1D,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,2BAA2B,EAAE,eAAe,EAAE,YAAY,EAAE,KAAK,iBAAiB,GACnF,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,0BAA0B,EAAE,oBAAoB,EAAE,KAAK,qBAAqB,GAC7E,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,kBAAkB,EAAE,uBAAuB,EAAE,eAAe,EAAE,iBAAiB,EAAE,aAAa,GAC/F,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,8BAA8B,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,aAAa,EACnF,KAAK,gBAAgB,EAAE,KAAK,iBAAiB,EAAE,KAAK,qBAAqB,EAAE,KAAK,eAAe,EAC/F,KAAK,aAAa,EAAE,KAAK,gBAAgB,GAC1C,MAAM,gCAAgC,CAAC;AACxC,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AACnF,YAAY,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AACnF,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAC1F,YAAY,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAClF,mBAAmB,2BAA2B,CAAC;AAC/C,mBAAmB,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAI9C,YAAY,EACV,oBAAoB,EAAE,iBAAiB,EAAE,uBAAuB,EAChE,oBAAoB,EAAE,oBAAoB,EAAE,aAAa,GAC1D,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,2BAA2B,EAAE,eAAe,EAAE,YAAY,EAAE,KAAK,iBAAiB,GACnF,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,0BAA0B,EAAE,oBAAoB,EAAE,KAAK,qBAAqB,GAC7E,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,kBAAkB,EAAE,uBAAuB,EAAE,eAAe,EAAE,iBAAiB,EAAE,aAAa,GAC/F,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,8BAA8B,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,aAAa,EACnF,KAAK,gBAAgB,EAAE,KAAK,iBAAiB,EAAE,KAAK,qBAAqB,EAAE,KAAK,eAAe,EAC/F,KAAK,aAAa,EAAE,KAAK,gBAAgB,GAC1C,MAAM,gCAAgC,CAAC;AACxC,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AACnF,YAAY,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AACnF,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAC1F,YAAY,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAClF,mBAAmB,2BAA2B,CAAC;AAC/C,mBAAmB,2BAA2B,CAAC;AAG/C,cAAc,qBAAqB,CAAC;AAEpC,YAAY,EAEV,OAAO,EACP,OAAO,EACP,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,EACb,sBAAsB,EACtB,UAAU,EACV,kBAAkB,EAGlB,oBAAoB,EACpB,iBAAiB,EAGjB,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,YAAY,EACZ,UAAU,EACV,WAAW,EACX,UAAU,EACV,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,YAAY,EACZ,UAAU,EACV,aAAa,EACb,WAAW,EACX,YAAY,EACZ,aAAa,EACb,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EAGX,YAAY,EACZ,mBAAmB,EACnB,WAAW,EACX,cAAc,EACd,YAAY,EACZ,WAAW,EACX,cAAc,EAGd,gBAAgB,EAChB,WAAW,EAGX,aAAa,EACb,UAAU,EACV,cAAc,EACd,YAAY,EAKZ,qBAAqB,EACrB,iBAAiB,EACjB,aAAa,EACb,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,0BAA0B,EAC1B,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,uBAAuB,EACvB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,cAAc,EAGd,aAAa,EACb,YAAY,GACb,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,sBAAsB,EACtB,cAAc,EACd,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,0BAA0B,EAC1B,cAAc,EACd,cAAc,EACd,eAAe,EACf,YAAY,GACb,MAAM,iBAAiB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -30,44 +30,6 @@ export { LANDXML_IFC_MAPPING_VERSION, landXmlGlobalId, landXmlToIfc, } from './l
|
|
|
30
30
|
export { TRANSVERSE_MERCATOR_BOUNDS, checkCoordinateOrder, } from './landxml/coordinate-plausibility.js';
|
|
31
31
|
export { alignmentMappingOf, alignmentRefusalMessage, collectRefusals, isMappableSurface, refusalReason, } from './landxml/refusals.js';
|
|
32
32
|
export { ALIGNMENT_POSITION_TOLERANCE_M, cogoPointResolver, isAlignmentRecord, mapAlignments, } from './landxml/alignment-mapping.js';
|
|
33
|
-
// In-store
|
|
34
|
-
|
|
35
|
-
export { addColumnToStore } from './in-store/column.js';
|
|
36
|
-
export { addWallToStore } from './in-store/wall.js';
|
|
37
|
-
export { addSlabToStore } from './in-store/slab.js';
|
|
38
|
-
export { addBeamToStore } from './in-store/beam.js';
|
|
39
|
-
export { addDoorToStore } from './in-store/door.js';
|
|
40
|
-
export { addWindowToStore } from './in-store/window.js';
|
|
41
|
-
export { addOpeningToStore, } from './in-store/opening.js';
|
|
42
|
-
export { addHostedDoorToStore, addHostedWindowToStore, } from './in-store/hosted-fill.js';
|
|
43
|
-
export { addElementTypeToStore, assignTypeInStore, } from './in-store/element-type.js';
|
|
44
|
-
export { addMaterialToStore, addMaterialLayerSetToStore, addMaterialLayerSetUsageToStore, assignMaterialInStore, } from './in-store/material.js';
|
|
45
|
-
export { resolveAuthoringAnchor, readRelatedLists, liveEntityType, liveEntityConforms } from './in-store/resolve-relations.js';
|
|
46
|
-
export { addSpaceToStore } from './in-store/space.js';
|
|
47
|
-
export { addSpatialZonesToStore, spatialZonesSupported, } from './in-store/spatial-zone.js';
|
|
48
|
-
export { applyStylesInStore, collectLeafRepresentationItems, } from './in-store/apply-style.js';
|
|
49
|
-
export { addRoofToStore } from './in-store/roof.js';
|
|
50
|
-
export { addPlateToStore } from './in-store/plate.js';
|
|
51
|
-
export { addMemberToStore } from './in-store/member.js';
|
|
52
|
-
export { addCostScheduleToStore, addCostItemToStore, addCostValueToStore, addCostQuantityToStore, nestCostItemsInStore, assignCostItemsToScheduleInStore, assignObjectsToCostItemInStore, attachCostValuesToItemInStore, } from './in-store/cost.js';
|
|
53
|
-
export { removeCostEntityInStore } from './in-store/cost-removal.js';
|
|
54
|
-
export { resolveSpatialAnchor } from './in-store/resolve-anchor.js';
|
|
55
|
-
export { resolveHostAnchor } from './in-store/resolve-host.js';
|
|
56
|
-
export { toNativeLength, fromNativeLength } from './in-store/anchor.js';
|
|
57
|
-
export { duplicateInStore, } from './in-store/duplicate.js';
|
|
58
|
-
export { resolveDuplicateSource } from './in-store/resolve-source.js';
|
|
59
|
-
export { detectEnclosedAreas, } from './in-store/auto-space-detect.js';
|
|
60
|
-
export { extractWallSegmentsForStorey, existingSpaceFootprintsByStorey, } from './in-store/extract-walls.js';
|
|
61
|
-
export { storeyPlanFrame, toStoreyLocal, fromStoreyLocal, } from './in-store/storey-plan-frame.js';
|
|
62
|
-
export { generateSpacesFromWalls, offsetRoomFootprint, GENERATED_SPACE_OBJECTTYPE, } from './in-store/generate-spaces.js';
|
|
63
|
-
export { generateSpaces, listStoreys, } from './in-store/generate-spaces-all.js';
|
|
64
|
-
// Structural analysis authoring (#5167 task S.1) — IfcStructuralAnalysisModel
|
|
65
|
-
// and its members/connections/loads/relationships.
|
|
66
|
-
export { addStructuralAnalysisModelToStore, } from './in-store/structural-analysis-model.js';
|
|
67
|
-
export { addStructuralCurveMemberToStore, } from './in-store/structural-curve-member.js';
|
|
68
|
-
export { addStructuralPointConnectionToStore, } from './in-store/structural-point-connection.js';
|
|
69
|
-
export { addStructuralLoadGroupToStore, } from './in-store/structural-load-group.js';
|
|
70
|
-
export { addStructuralPointActionToStore, addStructuralLinearActionToStore, } from './in-store/structural-action.js';
|
|
71
|
-
export { connectStructuralMemberToConnectionInStore, connectStructuralActivityToItemInStore, assignToStructuralGroupInStore, } from './in-store/structural-relationships.js';
|
|
72
|
-
export { addDrawingMarkupToStore, addMeasureMarkupToStore, addPolygonAreaMarkupToStore, addTextMarkupToStore, addCloudMarkupToStore, DRAWING_MARKUP_OBJECTTYPE, DRAWING_MARKUP_PSET_NAME, DRAWING_MARKUP_QSET_NAME, } from './in-store/drawing-markup.js';
|
|
33
|
+
// In-store authoring API, kept separate from create-from-scratch types.
|
|
34
|
+
export * from './in-store/index.js';
|
|
73
35
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAS9C,gFAAgF;AAChF,OAAO,EACL,2BAA2B,EAAE,eAAe,EAAE,YAAY,GAC3D,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,0BAA0B,EAAE,oBAAoB,GACjD,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,kBAAkB,EAAE,uBAAuB,EAAE,eAAe,EAAE,iBAAiB,EAAE,aAAa,GAC/F,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,8BAA8B,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,aAAa,GAGpF,MAAM,gCAAgC,CAAC;AAQxC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAS9C,gFAAgF;AAChF,OAAO,EACL,2BAA2B,EAAE,eAAe,EAAE,YAAY,GAC3D,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,0BAA0B,EAAE,oBAAoB,GACjD,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,kBAAkB,EAAE,uBAAuB,EAAE,eAAe,EAAE,iBAAiB,EAAE,aAAa,GAC/F,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,8BAA8B,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,aAAa,GAGpF,MAAM,gCAAgC,CAAC;AAQxC,wEAAwE;AACxE,cAAc,qBAAqB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ifc-lite/create",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.0",
|
|
4
4
|
"description": "IFC creation from scratch — walls, slabs, beams, columns, stairs, roofs with geometry, properties and quantities",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -14,15 +14,15 @@
|
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
16
|
"@ifc-lite/data": "^6.1.0",
|
|
17
|
-
"@ifc-lite/
|
|
18
|
-
"@ifc-lite/
|
|
19
|
-
"@ifc-lite/
|
|
17
|
+
"@ifc-lite/encoding": "^2.3.0",
|
|
18
|
+
"@ifc-lite/mutations": "^3.1.0",
|
|
19
|
+
"@ifc-lite/parser": "^9.2.0"
|
|
20
20
|
},
|
|
21
21
|
"devDependencies": {
|
|
22
22
|
"typescript": "^6.0.3",
|
|
23
23
|
"vitest": "^5.0.2",
|
|
24
|
-
"@ifc-lite/export": "^4.
|
|
25
|
-
"@ifc-lite/wasm": "^10.
|
|
24
|
+
"@ifc-lite/export": "^4.9.0",
|
|
25
|
+
"@ifc-lite/wasm": "^10.3.0"
|
|
26
26
|
},
|
|
27
27
|
"license": "MPL-2.0",
|
|
28
28
|
"author": "Louis True",
|