@ifc-lite/create 1.14.2 → 1.14.4
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/ifc-creator.d.ts +274 -10
- package/dist/ifc-creator.d.ts.map +1 -1
- package/dist/ifc-creator.js +1109 -44
- package/dist/ifc-creator.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/types.d.ts +364 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/ifc-creator.d.ts
CHANGED
|
@@ -13,12 +13,14 @@
|
|
|
13
13
|
*
|
|
14
14
|
* All values in metres unless LengthUnit is overridden.
|
|
15
15
|
*/
|
|
16
|
-
import type { WallParams, SlabParams, ColumnParams, BeamParams, StairParams, RoofParams, ProjectParams, StoreyParams, PropertySetDef, QuantitySetDef, MaterialDef, CreateResult } from './types.js';
|
|
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, CreateResult } from './types.js';
|
|
17
17
|
export declare class IfcCreator {
|
|
18
18
|
private nextId;
|
|
19
19
|
private lines;
|
|
20
20
|
private entities;
|
|
21
21
|
private schema;
|
|
22
|
+
/** Track generated GlobalIds to guarantee uniqueness per IfcCreator instance */
|
|
23
|
+
private usedGlobalIds;
|
|
22
24
|
private projectId;
|
|
23
25
|
private siteId;
|
|
24
26
|
private buildingId;
|
|
@@ -39,10 +41,22 @@ export declare class IfcCreator {
|
|
|
39
41
|
private elementMaterials;
|
|
40
42
|
private storeyIds;
|
|
41
43
|
private storeyElements;
|
|
44
|
+
/** Storey expressId → its IfcLocalPlacement id (at [0,0,elevation]) */
|
|
45
|
+
private storeyPlacements;
|
|
46
|
+
/** Element expressId → containing storey expressId */
|
|
47
|
+
private elementStoreys;
|
|
48
|
+
/** Wall expressId → wall local placement */
|
|
49
|
+
private wallPlacements;
|
|
50
|
+
/** Wall expressId → wall thickness */
|
|
51
|
+
private wallThicknesses;
|
|
42
52
|
private projectParams;
|
|
43
53
|
constructor(params?: ProjectParams);
|
|
54
|
+
/** Generate a 22-character IFC GlobalId (base64-ish) using crypto-strong randomness */
|
|
55
|
+
private newGlobalId;
|
|
44
56
|
/** Add a building storey. Returns the storey expressId for use with element creation. */
|
|
45
57
|
addIfcBuildingStorey(params: StoreyParams): number;
|
|
58
|
+
/** Get the IfcLocalPlacement for a storey (falls back to world if unknown) */
|
|
59
|
+
private getStoreyPlacement;
|
|
46
60
|
/**
|
|
47
61
|
* Create a wall from Start to End with given Thickness and Height.
|
|
48
62
|
*
|
|
@@ -73,11 +87,152 @@ export declare class IfcCreator {
|
|
|
73
87
|
*/
|
|
74
88
|
addIfcStair(storeyId: number, params: StairParams): number;
|
|
75
89
|
/**
|
|
76
|
-
* Create a roof. Position is the minimum corner.
|
|
77
|
-
* Width along +X, Depth along +Y, Thickness extruded
|
|
78
|
-
* Optional Slope
|
|
90
|
+
* Create a flat or mono-pitch roof slab. Position is the minimum corner.
|
|
91
|
+
* Width along +X, Depth along +Y, Thickness extruded normal to the slab.
|
|
92
|
+
* Optional Slope is in radians and creates a single slope along +X.
|
|
79
93
|
*/
|
|
80
94
|
addIfcRoof(storeyId: number, params: RoofParams): number;
|
|
95
|
+
/**
|
|
96
|
+
* Create a standard dual-pitch gable roof from a rectangular footprint.
|
|
97
|
+
* The ridge runs along the longer footprint dimension to keep the roof height reasonable.
|
|
98
|
+
*/
|
|
99
|
+
addIfcGableRoof(storeyId: number, params: GableRoofParams): number;
|
|
100
|
+
/**
|
|
101
|
+
* Create a door hosted in a wall opening and aligned to the host wall.
|
|
102
|
+
* Position is wall-local: [distance_along_wall, 0, base_height].
|
|
103
|
+
*/
|
|
104
|
+
addIfcWallDoor(wallId: number, params: WallDoorParams): number;
|
|
105
|
+
/**
|
|
106
|
+
* Create a window hosted in a wall opening and aligned to the host wall.
|
|
107
|
+
* Position is wall-local: [distance_along_wall, 0, sill_height].
|
|
108
|
+
*/
|
|
109
|
+
addIfcWallWindow(wallId: number, params: WallWindowParams): number;
|
|
110
|
+
/**
|
|
111
|
+
* Create a door element. Width × Height × Thickness panel.
|
|
112
|
+
*/
|
|
113
|
+
addIfcDoor(storeyId: number, params: DoorParams): number;
|
|
114
|
+
/**
|
|
115
|
+
* Create a window element. Width × Height × Thickness frame.
|
|
116
|
+
*/
|
|
117
|
+
addIfcWindow(storeyId: number, params: WindowParams): number;
|
|
118
|
+
/**
|
|
119
|
+
* Create a ramp. Position is the low end.
|
|
120
|
+
* Width along +Y, Length along +X, Rise optionally inclines the ramp.
|
|
121
|
+
*/
|
|
122
|
+
addIfcRamp(storeyId: number, params: RampParams): number;
|
|
123
|
+
/**
|
|
124
|
+
* Create a railing from Start to End with given Height.
|
|
125
|
+
*/
|
|
126
|
+
addIfcRailing(storeyId: number, params: RailingParams): number;
|
|
127
|
+
/**
|
|
128
|
+
* Create a plate (thin flat element, e.g. steel plate).
|
|
129
|
+
*/
|
|
130
|
+
addIfcPlate(storeyId: number, params: PlateParams): number;
|
|
131
|
+
/**
|
|
132
|
+
* Create a structural member (brace, strut, etc.) from Start to End.
|
|
133
|
+
*/
|
|
134
|
+
addIfcMember(storeyId: number, params: MemberParams): number;
|
|
135
|
+
/**
|
|
136
|
+
* Create a footing (foundation). Position is top centre, Height extends downward.
|
|
137
|
+
*/
|
|
138
|
+
addIfcFooting(storeyId: number, params: FootingParams): number;
|
|
139
|
+
/**
|
|
140
|
+
* Create a pile (deep foundation). Position is top, Length extends downward.
|
|
141
|
+
* Uses circular cross-section by default, rectangular if IsRectangular is set.
|
|
142
|
+
*/
|
|
143
|
+
addIfcPile(storeyId: number, params: PileParams): number;
|
|
144
|
+
/**
|
|
145
|
+
* Create a space (room volume).
|
|
146
|
+
*/
|
|
147
|
+
addIfcSpace(storeyId: number, params: SpaceParams): number;
|
|
148
|
+
/**
|
|
149
|
+
* Create a curtain wall. Thin panel from Start to End, extruded by Height.
|
|
150
|
+
*/
|
|
151
|
+
addIfcCurtainWall(storeyId: number, params: CurtainWallParams): number;
|
|
152
|
+
/**
|
|
153
|
+
* Create a furnishing element (furniture/equipment bounding box).
|
|
154
|
+
*/
|
|
155
|
+
addIfcFurnishingElement(storeyId: number, params: FurnishingParams): number;
|
|
156
|
+
/**
|
|
157
|
+
* Create a proxy element (generic element for custom/unclassified objects).
|
|
158
|
+
*/
|
|
159
|
+
addIfcBuildingElementProxy(storeyId: number, params: ProxyParams): number;
|
|
160
|
+
/**
|
|
161
|
+
* Create a column with circular cross-section.
|
|
162
|
+
*/
|
|
163
|
+
addIfcCircularColumn(storeyId: number, params: {
|
|
164
|
+
Position: Point3D;
|
|
165
|
+
Radius: number;
|
|
166
|
+
Height: number;
|
|
167
|
+
} & ElementAttributes): number;
|
|
168
|
+
/**
|
|
169
|
+
* Create a beam with I-shape (wide-flange/H-shape) cross-section.
|
|
170
|
+
*/
|
|
171
|
+
addIfcIShapeBeam(storeyId: number, params: {
|
|
172
|
+
Start: Point3D;
|
|
173
|
+
End: Point3D;
|
|
174
|
+
OverallWidth: number;
|
|
175
|
+
OverallDepth: number;
|
|
176
|
+
WebThickness: number;
|
|
177
|
+
FlangeThickness: number;
|
|
178
|
+
FilletRadius?: number;
|
|
179
|
+
} & ElementAttributes): number;
|
|
180
|
+
/**
|
|
181
|
+
* Create a member with L-shape (angle) cross-section.
|
|
182
|
+
*/
|
|
183
|
+
addIfcLShapeMember(storeyId: number, params: {
|
|
184
|
+
Start: Point3D;
|
|
185
|
+
End: Point3D;
|
|
186
|
+
Depth: number;
|
|
187
|
+
Width: number;
|
|
188
|
+
Thickness: number;
|
|
189
|
+
FilletRadius?: number;
|
|
190
|
+
} & ElementAttributes): number;
|
|
191
|
+
/**
|
|
192
|
+
* Create a member with T-shape cross-section.
|
|
193
|
+
*/
|
|
194
|
+
addIfcTShapeMember(storeyId: number, params: {
|
|
195
|
+
Start: Point3D;
|
|
196
|
+
End: Point3D;
|
|
197
|
+
FlangeWidth: number;
|
|
198
|
+
Depth: number;
|
|
199
|
+
WebThickness: number;
|
|
200
|
+
FlangeThickness: number;
|
|
201
|
+
FilletRadius?: number;
|
|
202
|
+
} & ElementAttributes): number;
|
|
203
|
+
/**
|
|
204
|
+
* Create a member with U-shape (channel) cross-section.
|
|
205
|
+
*/
|
|
206
|
+
addIfcUShapeMember(storeyId: number, params: {
|
|
207
|
+
Start: Point3D;
|
|
208
|
+
End: Point3D;
|
|
209
|
+
Depth: number;
|
|
210
|
+
FlangeWidth: number;
|
|
211
|
+
WebThickness: number;
|
|
212
|
+
FlangeThickness: number;
|
|
213
|
+
FilletRadius?: number;
|
|
214
|
+
} & ElementAttributes): number;
|
|
215
|
+
/**
|
|
216
|
+
* Create a column or pile with hollow circular cross-section.
|
|
217
|
+
*/
|
|
218
|
+
addIfcHollowCircularColumn(storeyId: number, params: {
|
|
219
|
+
Position: Point3D;
|
|
220
|
+
Radius: number;
|
|
221
|
+
WallThickness: number;
|
|
222
|
+
Height: number;
|
|
223
|
+
} & ElementAttributes): number;
|
|
224
|
+
/**
|
|
225
|
+
* Create a beam/column with hollow rectangular (tube) cross-section.
|
|
226
|
+
*/
|
|
227
|
+
addIfcRectangleHollowBeam(storeyId: number, params: {
|
|
228
|
+
Start: Point3D;
|
|
229
|
+
End: Point3D;
|
|
230
|
+
XDim: number;
|
|
231
|
+
YDim: number;
|
|
232
|
+
WallThickness: number;
|
|
233
|
+
InnerFilletRadius?: number;
|
|
234
|
+
OuterFilletRadius?: number;
|
|
235
|
+
} & ElementAttributes): number;
|
|
81
236
|
/** Attach a property set to an element */
|
|
82
237
|
addIfcPropertySet(elementId: number, pset: PropertySetDef): number;
|
|
83
238
|
/** Attach element quantities to an element */
|
|
@@ -118,18 +273,124 @@ export declare class IfcCreator {
|
|
|
118
273
|
private addCartesianPoint2D;
|
|
119
274
|
private addDirection;
|
|
120
275
|
private addAxis2Placement3D;
|
|
121
|
-
|
|
276
|
+
/**
|
|
277
|
+
* Create a local placement relative to the world coordinate system.
|
|
278
|
+
* @param relativeTo - Parent placement ID (use getWorldPlacementId() for world origin)
|
|
279
|
+
* @param placement - Location and optional axis/ref directions
|
|
280
|
+
*/
|
|
281
|
+
addLocalPlacement(relativeTo: number, placement: Placement3D): number;
|
|
122
282
|
/**
|
|
123
283
|
* Create a rectangle profile.
|
|
124
284
|
* @param xDim Width of rectangle
|
|
125
285
|
* @param yDim Height of rectangle
|
|
126
286
|
* @param center Optional 2D offset for the profile centre. Default [0,0] = centred at origin.
|
|
127
287
|
*/
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
288
|
+
addRectangleProfile(xDim: number, yDim: number, center?: Point2D): number;
|
|
289
|
+
/** Create a circle profile. */
|
|
290
|
+
addCircleProfile(radius: number): number;
|
|
291
|
+
/** Create a hollow circle profile (pipe section). */
|
|
292
|
+
addCircleHollowProfile(radius: number, wallThickness: number): number;
|
|
293
|
+
/** Create an I-shape (wide-flange / H-beam) profile. */
|
|
294
|
+
addIShapeProfile(overallWidth: number, overallDepth: number, webThickness: number, flangeThickness: number, filletRadius?: number): number;
|
|
295
|
+
/** Create an L-shape (angle section) profile. */
|
|
296
|
+
addLShapeProfile(depth: number, width: number, thickness: number, filletRadius?: number): number;
|
|
297
|
+
/** Create a T-shape (tee section) profile. */
|
|
298
|
+
addTShapeProfile(flangeWidth: number, depth: number, webThickness: number, flangeThickness: number, filletRadius?: number): number;
|
|
299
|
+
/** Create a U-shape (channel section) profile. */
|
|
300
|
+
addUShapeProfile(depth: number, flangeWidth: number, webThickness: number, flangeThickness: number, filletRadius?: number): number;
|
|
301
|
+
/** Create a C-shape (cold-formed channel) profile. */
|
|
302
|
+
addCShapeProfile(depth: number, width: number, wallThickness: number, girth: number): number;
|
|
303
|
+
/** Create a hollow rectangle (tube section) profile. */
|
|
304
|
+
addRectangleHollowProfile(xDim: number, yDim: number, wallThickness: number, innerFilletRadius?: number, outerFilletRadius?: number): number;
|
|
305
|
+
/** Create an arbitrary closed profile from a polyline. Points are auto-closed. */
|
|
306
|
+
addArbitraryProfile(points: Point2D[]): number;
|
|
307
|
+
/**
|
|
308
|
+
* Create an extruded area solid from a profile.
|
|
309
|
+
* @param profileId - ID returned by any addXxxProfile() method
|
|
310
|
+
* @param depth - Extrusion depth
|
|
311
|
+
* @param extrusionDir - Optional direction ID (default: Z-up)
|
|
312
|
+
* @param positionId - Optional local solid placement (default: origin, world axes)
|
|
313
|
+
*/
|
|
314
|
+
addExtrudedAreaSolid(profileId: number, depth: number, extrusionDir?: number, positionId?: number): number;
|
|
315
|
+
/**
|
|
316
|
+
* Create a shape representation from solid IDs.
|
|
317
|
+
* @param repType - 'Body' or 'Axis'
|
|
318
|
+
* @param itemIds - Array of solid IDs (from addExtrudedAreaSolid, etc.)
|
|
319
|
+
*/
|
|
320
|
+
addShapeRepresentation(repType: string, itemIds: number[]): number;
|
|
321
|
+
/** Wrap shape representations into a product definition shape. */
|
|
322
|
+
addProductDefinitionShape(repIds: number[]): number;
|
|
323
|
+
/** Get the world placement ID (use as relativeTo for addLocalPlacement). */
|
|
324
|
+
getWorldPlacementId(): number;
|
|
325
|
+
/** Create a direction entity. Returns the direction ID. */
|
|
326
|
+
addDirection3D(d: Point3D): number;
|
|
327
|
+
/**
|
|
328
|
+
* Create a profile from a ProfileDef union type.
|
|
329
|
+
* This is the high-level entry point for profile creation — it dispatches
|
|
330
|
+
* to the appropriate addXxxProfile() method based on the shape.
|
|
331
|
+
*
|
|
332
|
+
* ```ts
|
|
333
|
+
* const profileId = creator.createProfile({
|
|
334
|
+
* ProfileType: 'AREA',
|
|
335
|
+
* Radius: 0.15,
|
|
336
|
+
* }); // Creates a circle profile
|
|
337
|
+
* ```
|
|
338
|
+
*/
|
|
339
|
+
createProfile(profile: ProfileDef): number;
|
|
340
|
+
/**
|
|
341
|
+
* Create ANY IFC element type with an extruded profile at a placement.
|
|
342
|
+
*
|
|
343
|
+
* This is the low-level foundation that all high-level methods (addIfcWall,
|
|
344
|
+
* addIfcBeam, etc.) are built on. Use it when you need an IFC type that
|
|
345
|
+
* doesn't have a dedicated method, or when you need full control.
|
|
346
|
+
*
|
|
347
|
+
* ```ts
|
|
348
|
+
* // Pipe segment with circular profile
|
|
349
|
+
* creator.addElement(storeyId, {
|
|
350
|
+
* IfcType: 'IFCFLOWSEGMENT',
|
|
351
|
+
* Placement: { Location: [0, 0, 3] },
|
|
352
|
+
* Profile: { ProfileType: 'AREA', Radius: 0.05 },
|
|
353
|
+
* Depth: 5,
|
|
354
|
+
* PredefinedType: '.RIGIDSEGMENT.',
|
|
355
|
+
* Name: 'Pipe-001',
|
|
356
|
+
* });
|
|
357
|
+
*
|
|
358
|
+
* // Distribution element with L-profile
|
|
359
|
+
* creator.addElement(storeyId, {
|
|
360
|
+
* IfcType: 'IFCDISTRIBUTIONELEMENT',
|
|
361
|
+
* Placement: { Location: [2, 0, 0], Axis: [0, 0, 1], RefDirection: [1, 0, 0] },
|
|
362
|
+
* Profile: { ProfileType: 'AREA', Depth: 0.1, Width: 0.1, Thickness: 0.01 },
|
|
363
|
+
* Depth: 3,
|
|
364
|
+
* });
|
|
365
|
+
* ```
|
|
366
|
+
*/
|
|
367
|
+
addElement(storeyId: number, params: GenericElementParams): number;
|
|
368
|
+
/**
|
|
369
|
+
* Create ANY IFC element type extruded along an axis (Start → End).
|
|
370
|
+
*
|
|
371
|
+
* The profile is placed at Start and extruded along the direction to End.
|
|
372
|
+
* The extrusion length equals the distance between Start and End.
|
|
373
|
+
*
|
|
374
|
+
* ```ts
|
|
375
|
+
* // Pipe segment along an axis
|
|
376
|
+
* creator.addAxisElement(storeyId, {
|
|
377
|
+
* IfcType: 'IFCPIPESEGMENT',
|
|
378
|
+
* Start: [0, 0, 3],
|
|
379
|
+
* End: [5, 0, 3],
|
|
380
|
+
* Profile: { ProfileType: 'AREA', Radius: 0.05 },
|
|
381
|
+
* Name: 'Pipe-001',
|
|
382
|
+
* });
|
|
383
|
+
*
|
|
384
|
+
* // Cable tray with rectangle profile
|
|
385
|
+
* creator.addAxisElement(storeyId, {
|
|
386
|
+
* IfcType: 'IFCCABLETRAYSEGMENT',
|
|
387
|
+
* Start: [0, 0, 2.5],
|
|
388
|
+
* End: [10, 0, 2.5],
|
|
389
|
+
* Profile: { ProfileType: 'AREA', XDim: 0.3, YDim: 0.1 },
|
|
390
|
+
* });
|
|
391
|
+
* ```
|
|
392
|
+
*/
|
|
393
|
+
addAxisElement(storeyId: number, params: AxisElementParams): number;
|
|
133
394
|
/**
|
|
134
395
|
* Add an opening in a wall.
|
|
135
396
|
* Opening Position: [distance_along_wall, 0, sill_height]
|
|
@@ -147,8 +408,11 @@ export declare class IfcCreator {
|
|
|
147
408
|
private finalizeRelationships;
|
|
148
409
|
private addIfcRelAggregates;
|
|
149
410
|
private addIfcRelContainedInSpatialStructure;
|
|
411
|
+
private addIfcRelFillsElement;
|
|
150
412
|
private id;
|
|
151
413
|
private line;
|
|
414
|
+
private getHostedWallInfo;
|
|
415
|
+
private addHostedWallFillPlacement;
|
|
152
416
|
private trackElement;
|
|
153
417
|
/** Compute a stable RefDirection perpendicular to a given Axis */
|
|
154
418
|
private computeRefDirection;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ifc-creator.d.ts","sourceRoot":"","sources":["../src/ifc-creator.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"ifc-creator.d.ts","sourceRoot":"","sources":["../src/ifc-creator.ts"],"names":[],"mappings":"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"}
|