@bitbybit-dev/ifc 0.0.0-stage → 1.5.0-rc.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/LICENSE +21 -0
- package/NOTICE +42 -0
- package/README.md +92 -2
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/lib/api/dto-registry.d.ts +8 -0
- package/lib/api/dto-registry.js +109 -0
- package/lib/api/ifc-service.d.ts +109 -0
- package/lib/api/ifc-service.js +55 -0
- package/lib/api/inputs/base-inputs.d.ts +5 -0
- package/lib/api/inputs/base-inputs.js +5 -0
- package/lib/api/inputs/ifc-inputs.d.ts +2727 -0
- package/lib/api/inputs/ifc-inputs.js +2498 -0
- package/lib/api/inputs/index.d.ts +3 -0
- package/lib/api/inputs/index.js +3 -0
- package/lib/api/resolved-inputs/index.d.ts +70 -0
- package/lib/api/resolved-inputs/index.js +1 -0
- package/lib/api/services/assemblies.d.ts +28 -0
- package/lib/api/services/assemblies.js +49 -0
- package/lib/api/services/beams.d.ts +33 -0
- package/lib/api/services/beams.js +59 -0
- package/lib/api/services/columns.d.ts +26 -0
- package/lib/api/services/columns.js +56 -0
- package/lib/api/services/defaults.constants.d.ts +44 -0
- package/lib/api/services/defaults.constants.js +44 -0
- package/lib/api/services/doors.d.ts +45 -0
- package/lib/api/services/doors.js +94 -0
- package/lib/api/services/geometry.d.ts +51 -0
- package/lib/api/services/geometry.js +87 -0
- package/lib/api/services/index.d.ts +17 -0
- package/lib/api/services/index.js +17 -0
- package/lib/api/services/materials.d.ts +46 -0
- package/lib/api/services/materials.js +86 -0
- package/lib/api/services/member-support.d.ts +7 -0
- package/lib/api/services/member-support.js +29 -0
- package/lib/api/services/members.d.ts +24 -0
- package/lib/api/services/members.js +51 -0
- package/lib/api/services/model.d.ts +244 -0
- package/lib/api/services/model.js +409 -0
- package/lib/api/services/openings.d.ts +57 -0
- package/lib/api/services/openings.js +102 -0
- package/lib/api/services/properties.d.ts +89 -0
- package/lib/api/services/properties.js +142 -0
- package/lib/api/services/quantities.d.ts +38 -0
- package/lib/api/services/quantities.js +51 -0
- package/lib/api/services/roofs.d.ts +24 -0
- package/lib/api/services/roofs.js +52 -0
- package/lib/api/services/service-support.d.ts +8 -0
- package/lib/api/services/service-support.js +37 -0
- package/lib/api/services/service-types.d.ts +3 -0
- package/lib/api/services/service-types.js +1 -0
- package/lib/api/services/site.d.ts +37 -0
- package/lib/api/services/site.js +80 -0
- package/lib/api/services/slabs.d.ts +31 -0
- package/lib/api/services/slabs.js +59 -0
- package/lib/api/services/spaces.d.ts +36 -0
- package/lib/api/services/spaces.js +64 -0
- package/lib/api/services/spatial.d.ts +54 -0
- package/lib/api/services/spatial.js +75 -0
- package/lib/api/services/walls.d.ts +140 -0
- package/lib/api/services/walls.js +268 -0
- package/lib/api/services/windows.d.ts +46 -0
- package/lib/api/services/windows.js +76 -0
- package/lib/build/assemblies.d.ts +4 -0
- package/lib/build/assemblies.js +45 -0
- package/lib/build/build-types.d.ts +345 -0
- package/lib/build/build-types.js +1 -0
- package/lib/build/checks.d.ts +6 -0
- package/lib/build/checks.js +32 -0
- package/lib/build/constants.d.ts +27 -0
- package/lib/build/constants.js +43 -0
- package/lib/build/contexts.d.ts +9 -0
- package/lib/build/contexts.js +52 -0
- package/lib/build/curves.d.ts +3 -0
- package/lib/build/curves.js +23 -0
- package/lib/build/entity-writer.d.ts +23 -0
- package/lib/build/entity-writer.js +97 -0
- package/lib/build/fillings.d.ts +7 -0
- package/lib/build/fillings.js +182 -0
- package/lib/build/georeference.d.ts +5 -0
- package/lib/build/georeference.js +44 -0
- package/lib/build/materials.d.ts +18 -0
- package/lib/build/materials.js +166 -0
- package/lib/build/math.d.ts +10 -0
- package/lib/build/math.js +47 -0
- package/lib/build/measure.d.ts +9 -0
- package/lib/build/measure.js +195 -0
- package/lib/build/moving.d.ts +4 -0
- package/lib/build/moving.js +61 -0
- package/lib/build/openings.d.ts +12 -0
- package/lib/build/openings.js +156 -0
- package/lib/build/outlines.d.ts +4 -0
- package/lib/build/outlines.js +40 -0
- package/lib/build/placement.d.ts +16 -0
- package/lib/build/placement.js +106 -0
- package/lib/build/profiles.d.ts +4 -0
- package/lib/build/profiles.js +35 -0
- package/lib/build/project.d.ts +11 -0
- package/lib/build/project.js +134 -0
- package/lib/build/properties.d.ts +10 -0
- package/lib/build/properties.js +182 -0
- package/lib/build/quantities.d.ts +7 -0
- package/lib/build/quantities.js +262 -0
- package/lib/build/relationships.d.ts +9 -0
- package/lib/build/relationships.js +67 -0
- package/lib/build/removal.d.ts +3 -0
- package/lib/build/removal.js +106 -0
- package/lib/build/representations.d.ts +6 -0
- package/lib/build/representations.js +46 -0
- package/lib/build/roof-clipping.d.ts +5 -0
- package/lib/build/roof-clipping.js +79 -0
- package/lib/build/roofs.d.ts +4 -0
- package/lib/build/roofs.js +131 -0
- package/lib/build/site.d.ts +7 -0
- package/lib/build/site.js +112 -0
- package/lib/build/slab-openings.d.ts +4 -0
- package/lib/build/slab-openings.js +71 -0
- package/lib/build/slabs-columns-beams.d.ts +8 -0
- package/lib/build/slabs-columns-beams.js +73 -0
- package/lib/build/solids.d.ts +5 -0
- package/lib/build/solids.js +33 -0
- package/lib/build/spaces.d.ts +6 -0
- package/lib/build/spaces.js +55 -0
- package/lib/build/spatial.d.ts +17 -0
- package/lib/build/spatial.js +111 -0
- package/lib/build/type-objects.d.ts +4 -0
- package/lib/build/type-objects.js +9 -0
- package/lib/build/wall-edits.d.ts +5 -0
- package/lib/build/wall-edits.js +138 -0
- package/lib/build/wall-geometry.d.ts +15 -0
- package/lib/build/wall-geometry.js +159 -0
- package/lib/build/wall-parameters.d.ts +3 -0
- package/lib/build/wall-parameters.js +47 -0
- package/lib/build/walls.d.ts +12 -0
- package/lib/build/walls.js +238 -0
- package/lib/geometry/advanced.d.ts +27 -0
- package/lib/geometry/advanced.js +292 -0
- package/lib/geometry/colours.d.ts +3 -0
- package/lib/geometry/colours.js +109 -0
- package/lib/geometry/curves.d.ts +32 -0
- package/lib/geometry/curves.js +370 -0
- package/lib/geometry/edges.constants.d.ts +5 -0
- package/lib/geometry/edges.constants.js +5 -0
- package/lib/geometry/edges.d.ts +21 -0
- package/lib/geometry/edges.js +164 -0
- package/lib/geometry/elements.d.ts +3 -0
- package/lib/geometry/elements.js +152 -0
- package/lib/geometry/errors.d.ts +3 -0
- package/lib/geometry/errors.js +6 -0
- package/lib/geometry/faceted.d.ts +31 -0
- package/lib/geometry/faceted.js +214 -0
- package/lib/geometry/geometry-types.d.ts +103 -0
- package/lib/geometry/geometry-types.js +1 -0
- package/lib/geometry/groups.d.ts +21 -0
- package/lib/geometry/groups.js +106 -0
- package/lib/geometry/items.d.ts +34 -0
- package/lib/geometry/items.js +313 -0
- package/lib/geometry/operators.d.ts +3 -0
- package/lib/geometry/operators.js +65 -0
- package/lib/geometry/profiles.d.ts +4 -0
- package/lib/geometry/profiles.js +277 -0
- package/lib/geometry/recipe-builder.d.ts +14 -0
- package/lib/geometry/recipe-builder.js +48 -0
- package/lib/geometry/references.d.ts +4 -0
- package/lib/geometry/references.js +17 -0
- package/lib/geometry/regions.d.ts +4 -0
- package/lib/geometry/regions.js +26 -0
- package/lib/geometry/surfaces.constants.d.ts +17 -0
- package/lib/geometry/surfaces.constants.js +17 -0
- package/lib/geometry/surfaces.d.ts +6 -0
- package/lib/geometry/surfaces.js +306 -0
- package/lib/geometry/swept-solids.constants.d.ts +7 -0
- package/lib/geometry/swept-solids.constants.js +6 -0
- package/lib/geometry/swept-solids.d.ts +25 -0
- package/lib/geometry/swept-solids.js +243 -0
- package/lib/index.d.ts +6 -0
- package/lib/index.js +6 -0
- package/lib/model/constants.d.ts +30 -0
- package/lib/model/constants.js +30 -0
- package/lib/model/entity-lookup.d.ts +9 -0
- package/lib/model/entity-lookup.js +20 -0
- package/lib/model/guid.d.ts +7 -0
- package/lib/model/guid.js +60 -0
- package/lib/model/id-map.d.ts +10 -0
- package/lib/model/id-map.js +80 -0
- package/lib/model/index.d.ts +4 -0
- package/lib/model/index.js +2 -0
- package/lib/model/io.d.ts +6 -0
- package/lib/model/io.js +136 -0
- package/lib/model/is-model.d.ts +9 -0
- package/lib/model/is-model.js +11 -0
- package/lib/model/model-types.d.ts +111 -0
- package/lib/model/model-types.js +1 -0
- package/lib/model/overlay-indexes.d.ts +17 -0
- package/lib/model/overlay-indexes.js +69 -0
- package/lib/model/references.d.ts +2 -0
- package/lib/model/references.js +51 -0
- package/lib/model/rows-by-id.d.ts +8 -0
- package/lib/model/rows-by-id.js +39 -0
- package/lib/model/snapshot.d.ts +36 -0
- package/lib/model/snapshot.js +144 -0
- package/lib/model/source.d.ts +29 -0
- package/lib/model/source.js +172 -0
- package/lib/model/transaction.d.ts +39 -0
- package/lib/model/transaction.js +250 -0
- package/lib/model/upgrade.d.ts +2 -0
- package/lib/model/upgrade.js +78 -0
- package/lib/schema/constants.d.ts +3 -0
- package/lib/schema/constants.js +3 -0
- package/lib/schema/generated/ifc4.d.ts +2 -0
- package/lib/schema/generated/ifc4.js +1204 -0
- package/lib/schema/generated/ifc4x3.d.ts +2 -0
- package/lib/schema/generated/ifc4x3.js +1325 -0
- package/lib/schema/registry.d.ts +7 -0
- package/lib/schema/registry.js +37 -0
- package/lib/schema/schema-types.d.ts +45 -0
- package/lib/schema/schema-types.js +1 -0
- package/lib/schema/schema.d.ts +23 -0
- package/lib/schema/schema.js +136 -0
- package/lib/step/constants.d.ts +48 -0
- package/lib/step/constants.js +48 -0
- package/lib/step/encoder.d.ts +21 -0
- package/lib/step/encoder.js +321 -0
- package/lib/step/errors.d.ts +39 -0
- package/lib/step/errors.js +45 -0
- package/lib/step/file-index.d.ts +2 -0
- package/lib/step/file-index.js +221 -0
- package/lib/step/header.d.ts +4 -0
- package/lib/step/header.js +52 -0
- package/lib/step/numbers.d.ts +3 -0
- package/lib/step/numbers.js +73 -0
- package/lib/step/reader.d.ts +2 -0
- package/lib/step/reader.js +160 -0
- package/lib/step/scanner.d.ts +13 -0
- package/lib/step/scanner.js +203 -0
- package/lib/step/step-types.d.ts +170 -0
- package/lib/step/step-types.js +1 -0
- package/lib/step/strings.d.ts +2 -0
- package/lib/step/strings.js +150 -0
- package/lib/step/values.d.ts +13 -0
- package/lib/step/values.js +51 -0
- package/package.json +51 -5
|
@@ -0,0 +1,2727 @@
|
|
|
1
|
+
import { Base } from "./base-inputs";
|
|
2
|
+
import type { IfcValue } from "../../step/step-types";
|
|
3
|
+
/**
|
|
4
|
+
* Every parameter object the IFC library accepts. IFC is the open BIM exchange format: a model is a
|
|
5
|
+
* graph of building elements, the storeys that contain them, their materials, types and properties,
|
|
6
|
+
* with geometry kept as parametric extrusions and clippings.
|
|
7
|
+
*
|
|
8
|
+
* Every method that changes a model takes one and returns a new one, leaving the one it was given
|
|
9
|
+
* as it was, so keep the result and pass it on. Lengths are in the model's length unit, millimetres
|
|
10
|
+
* unless the model was created with another; positions on a storey are in its plan, X and Y, with Z
|
|
11
|
+
* up from the storey's elevation. Experimental, as the IFC library is.
|
|
12
|
+
* @beta
|
|
13
|
+
*/
|
|
14
|
+
export declare namespace IFC {
|
|
15
|
+
/**
|
|
16
|
+
* A handle to an IFC model held by the library, not the model's data itself. Pass it to the next
|
|
17
|
+
* call that reads or changes the model; a change returns a new handle and leaves this one as it was.
|
|
18
|
+
*/
|
|
19
|
+
type IfcModelPointer = {
|
|
20
|
+
hash: number;
|
|
21
|
+
type: "ifc-model";
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* One attribute value as a model holds it, as `model.getAttribute` returns it: a text, a number,
|
|
25
|
+
* true or false, `null` when the attribute is unset, `{ enum }` for an enumeration value,
|
|
26
|
+
* `{ type, value }` for a typed value, `{ ref }` for a reference to another entity, or a list of
|
|
27
|
+
* these.
|
|
28
|
+
*/
|
|
29
|
+
type IfcAttributeValue = IfcValue;
|
|
30
|
+
/**
|
|
31
|
+
* The length unit a new model is written in. Every length a method takes or returns is in this unit.
|
|
32
|
+
*/
|
|
33
|
+
enum lengthUnitEnum {
|
|
34
|
+
/**
|
|
35
|
+
* Lengths in millimetres, as most building models are written.
|
|
36
|
+
*/
|
|
37
|
+
millimetre = "millimetre",
|
|
38
|
+
/**
|
|
39
|
+
* Lengths in centimetres.
|
|
40
|
+
*/
|
|
41
|
+
centimetre = "centimetre",
|
|
42
|
+
/**
|
|
43
|
+
* Lengths in metres.
|
|
44
|
+
*/
|
|
45
|
+
metre = "metre"
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Which side of its axis a wall's layers lie on, looking from the wall's start to its end: centred on
|
|
49
|
+
* the axis, to its left, or to its right.
|
|
50
|
+
*/
|
|
51
|
+
enum wallAlignmentEnum {
|
|
52
|
+
/**
|
|
53
|
+
* The layers are centred on the axis.
|
|
54
|
+
*/
|
|
55
|
+
center = "center",
|
|
56
|
+
/**
|
|
57
|
+
* The layers lie to the left of the axis.
|
|
58
|
+
*/
|
|
59
|
+
left = "left",
|
|
60
|
+
/**
|
|
61
|
+
* The layers lie to the right of the axis.
|
|
62
|
+
*/
|
|
63
|
+
right = "right"
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Where on a wall another wall meets it: at its start, at its end, or somewhere along its length.
|
|
67
|
+
*/
|
|
68
|
+
enum wallEndEnum {
|
|
69
|
+
/**
|
|
70
|
+
* At the start of its axis.
|
|
71
|
+
*/
|
|
72
|
+
start = "start",
|
|
73
|
+
/**
|
|
74
|
+
* At the end of its axis.
|
|
75
|
+
*/
|
|
76
|
+
end = "end",
|
|
77
|
+
/**
|
|
78
|
+
* Somewhere along its length, as the stem of a T meets the wall it ends against.
|
|
79
|
+
*/
|
|
80
|
+
along = "along"
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* What kind of wall it is, as IFC classifies walls.
|
|
84
|
+
*/
|
|
85
|
+
enum wallPredefinedTypeEnum {
|
|
86
|
+
/**
|
|
87
|
+
* A straight wall of constant thickness, the common case.
|
|
88
|
+
*/
|
|
89
|
+
standard = "STANDARD",
|
|
90
|
+
/**
|
|
91
|
+
* A wall of solid construction, such as masonry.
|
|
92
|
+
*/
|
|
93
|
+
solidWall = "SOLIDWALL",
|
|
94
|
+
/**
|
|
95
|
+
* A wall that divides a space without carrying load.
|
|
96
|
+
*/
|
|
97
|
+
partitioning = "PARTITIONING",
|
|
98
|
+
/**
|
|
99
|
+
* A wall that resists lateral forces.
|
|
100
|
+
*/
|
|
101
|
+
shear = "SHEAR",
|
|
102
|
+
/**
|
|
103
|
+
* A low wall along the edge of a roof or balcony.
|
|
104
|
+
*/
|
|
105
|
+
parapet = "PARAPET",
|
|
106
|
+
/**
|
|
107
|
+
* A wall that can be moved, such as a folding partition.
|
|
108
|
+
*/
|
|
109
|
+
movable = "MOVABLE",
|
|
110
|
+
/**
|
|
111
|
+
* A wall that carries pipes, such as a service wall.
|
|
112
|
+
*/
|
|
113
|
+
plumbingWall = "PLUMBINGWALL",
|
|
114
|
+
/**
|
|
115
|
+
* No kind is given.
|
|
116
|
+
*/
|
|
117
|
+
notDefined = "NOTDEFINED"
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* The shape of a roof over a rectangle: flat, sloping one way, two slopes meeting at a ridge, or four
|
|
121
|
+
* slopes meeting at a ridge or a point.
|
|
122
|
+
*/
|
|
123
|
+
enum roofKindEnum {
|
|
124
|
+
/**
|
|
125
|
+
* Flat, one level slab.
|
|
126
|
+
*/
|
|
127
|
+
flat = "flat",
|
|
128
|
+
/**
|
|
129
|
+
* One slope, rising from the outline's first side to the opposite side.
|
|
130
|
+
*/
|
|
131
|
+
monoPitch = "monoPitch",
|
|
132
|
+
/**
|
|
133
|
+
* Two slopes rising from the first side and the opposite side to a ridge between them.
|
|
134
|
+
*/
|
|
135
|
+
gable = "gable",
|
|
136
|
+
/**
|
|
137
|
+
* Four slopes rising from every side, to a ridge along the longer sides or, over a square, to a
|
|
138
|
+
* point.
|
|
139
|
+
*/
|
|
140
|
+
hip = "hip"
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* What kind of member it is, as IFC classifies the linear parts of frames, roofs and facades.
|
|
144
|
+
*/
|
|
145
|
+
enum memberPredefinedTypeEnum {
|
|
146
|
+
/**
|
|
147
|
+
* A diagonal that stiffens a frame.
|
|
148
|
+
*/
|
|
149
|
+
brace = "BRACE",
|
|
150
|
+
/**
|
|
151
|
+
* The top or bottom edge of a truss.
|
|
152
|
+
*/
|
|
153
|
+
chord = "CHORD",
|
|
154
|
+
/**
|
|
155
|
+
* A horizontal tie between two rafters.
|
|
156
|
+
*/
|
|
157
|
+
collar = "COLLAR",
|
|
158
|
+
/**
|
|
159
|
+
* A member of no more particular kind.
|
|
160
|
+
*/
|
|
161
|
+
member = "MEMBER",
|
|
162
|
+
/**
|
|
163
|
+
* A vertical between panes of a window or a curtain wall.
|
|
164
|
+
*/
|
|
165
|
+
mullion = "MULLION",
|
|
166
|
+
/**
|
|
167
|
+
* A flat member, such as a gusset.
|
|
168
|
+
*/
|
|
169
|
+
plate = "PLATE",
|
|
170
|
+
/**
|
|
171
|
+
* A vertical support, such as a fence post.
|
|
172
|
+
*/
|
|
173
|
+
post = "POST",
|
|
174
|
+
/**
|
|
175
|
+
* A horizontal member that carries roof covering across rafters.
|
|
176
|
+
*/
|
|
177
|
+
purlin = "PURLIN",
|
|
178
|
+
/**
|
|
179
|
+
* A sloping member that carries a roof.
|
|
180
|
+
*/
|
|
181
|
+
rafter = "RAFTER",
|
|
182
|
+
/**
|
|
183
|
+
* A sloping member that carries the treads of a stair.
|
|
184
|
+
*/
|
|
185
|
+
stringer = "STRINGER",
|
|
186
|
+
/**
|
|
187
|
+
* A member that takes compression along its length.
|
|
188
|
+
*/
|
|
189
|
+
strut = "STRUT",
|
|
190
|
+
/**
|
|
191
|
+
* A vertical member of a framed wall.
|
|
192
|
+
*/
|
|
193
|
+
stud = "STUD",
|
|
194
|
+
/**
|
|
195
|
+
* Not said.
|
|
196
|
+
*/
|
|
197
|
+
notDefined = "NOTDEFINED"
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* What kind of assembly it is, as IFC classifies elements made of other elements.
|
|
201
|
+
*/
|
|
202
|
+
enum elementAssemblyPredefinedTypeEnum {
|
|
203
|
+
/**
|
|
204
|
+
* Parts that support or connect others, such as a bracket with its fixings.
|
|
205
|
+
*/
|
|
206
|
+
accessoryAssembly = "ACCESSORY_ASSEMBLY",
|
|
207
|
+
/**
|
|
208
|
+
* An arch.
|
|
209
|
+
*/
|
|
210
|
+
arch = "ARCH",
|
|
211
|
+
/**
|
|
212
|
+
* Beams laid in a grid.
|
|
213
|
+
*/
|
|
214
|
+
beamGrid = "BEAM_GRID",
|
|
215
|
+
/**
|
|
216
|
+
* A frame stiffened by diagonal braces.
|
|
217
|
+
*/
|
|
218
|
+
bracedFrame = "BRACED_FRAME",
|
|
219
|
+
/**
|
|
220
|
+
* A girder built up of plates and members.
|
|
221
|
+
*/
|
|
222
|
+
girder = "GIRDER",
|
|
223
|
+
/**
|
|
224
|
+
* A cage of reinforcing bars placed as one.
|
|
225
|
+
*/
|
|
226
|
+
reinforcementUnit = "REINFORCEMENT_UNIT",
|
|
227
|
+
/**
|
|
228
|
+
* A frame whose joints hold it rigid without braces.
|
|
229
|
+
*/
|
|
230
|
+
rigidFrame = "RIGID_FRAME",
|
|
231
|
+
/**
|
|
232
|
+
* A field of slabs laid together.
|
|
233
|
+
*/
|
|
234
|
+
slabField = "SLAB_FIELD",
|
|
235
|
+
/**
|
|
236
|
+
* A truss.
|
|
237
|
+
*/
|
|
238
|
+
truss = "TRUSS",
|
|
239
|
+
/**
|
|
240
|
+
* A kind IFC does not name, such as a cladding of boards; `objectType` says what it is.
|
|
241
|
+
*/
|
|
242
|
+
userDefined = "USERDEFINED",
|
|
243
|
+
/**
|
|
244
|
+
* An assembly of no particular kind.
|
|
245
|
+
*/
|
|
246
|
+
notDefined = "NOTDEFINED"
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* What kind of space it is, as IFC classifies spaces.
|
|
250
|
+
*/
|
|
251
|
+
enum spacePredefinedTypeEnum {
|
|
252
|
+
/**
|
|
253
|
+
* A room or an area of a storey.
|
|
254
|
+
*/
|
|
255
|
+
space = "SPACE",
|
|
256
|
+
/**
|
|
257
|
+
* A parking bay.
|
|
258
|
+
*/
|
|
259
|
+
parking = "PARKING",
|
|
260
|
+
/**
|
|
261
|
+
* The gross floor area of a storey, measured around its outside.
|
|
262
|
+
*/
|
|
263
|
+
gfa = "GFA",
|
|
264
|
+
/**
|
|
265
|
+
* An enclosed space inside the building.
|
|
266
|
+
*/
|
|
267
|
+
internal = "INTERNAL",
|
|
268
|
+
/**
|
|
269
|
+
* A space outside the building, such as a terrace.
|
|
270
|
+
*/
|
|
271
|
+
external = "EXTERNAL",
|
|
272
|
+
/**
|
|
273
|
+
* Not said.
|
|
274
|
+
*/
|
|
275
|
+
notDefined = "NOTDEFINED"
|
|
276
|
+
}
|
|
277
|
+
/**
|
|
278
|
+
* What kind of slab it is, as IFC classifies slabs.
|
|
279
|
+
*/
|
|
280
|
+
enum slabPredefinedTypeEnum {
|
|
281
|
+
/**
|
|
282
|
+
* A floor slab.
|
|
283
|
+
*/
|
|
284
|
+
floor = "FLOOR",
|
|
285
|
+
/**
|
|
286
|
+
* A roof slab.
|
|
287
|
+
*/
|
|
288
|
+
roof = "ROOF",
|
|
289
|
+
/**
|
|
290
|
+
* A landing of a stair.
|
|
291
|
+
*/
|
|
292
|
+
landing = "LANDING",
|
|
293
|
+
/**
|
|
294
|
+
* A slab on the ground, at the base of the building.
|
|
295
|
+
*/
|
|
296
|
+
baseSlab = "BASESLAB",
|
|
297
|
+
/**
|
|
298
|
+
* No kind is given.
|
|
299
|
+
*/
|
|
300
|
+
notDefined = "NOTDEFINED"
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
* How a single-panel door opens, as IFC names its operation types. The door's geometry is the same
|
|
304
|
+
* panel for each; the operation is what other tools read to draw its swing. Left and right are as IFC
|
|
305
|
+
* defines them, seen looking along the door's Y axis, which points to its wall's left: standing on the
|
|
306
|
+
* wall's right side, with the wall's start on your left, a left door is hinged toward the wall's start
|
|
307
|
+
* and a right door toward its end. The handle is on the other edge.
|
|
308
|
+
*/
|
|
309
|
+
enum doorOperationEnum {
|
|
310
|
+
/**
|
|
311
|
+
* One panel swinging, hinged on the left.
|
|
312
|
+
*/
|
|
313
|
+
singleSwingLeft = "SINGLE_SWING_LEFT",
|
|
314
|
+
/**
|
|
315
|
+
* One panel swinging, hinged on the right.
|
|
316
|
+
*/
|
|
317
|
+
singleSwingRight = "SINGLE_SWING_RIGHT",
|
|
318
|
+
/**
|
|
319
|
+
* One panel swinging both ways, hinged on the left.
|
|
320
|
+
*/
|
|
321
|
+
doubleSwingLeft = "DOUBLE_SWING_LEFT",
|
|
322
|
+
/**
|
|
323
|
+
* One panel swinging both ways, hinged on the right.
|
|
324
|
+
*/
|
|
325
|
+
doubleSwingRight = "DOUBLE_SWING_RIGHT",
|
|
326
|
+
/**
|
|
327
|
+
* One panel sliding to the left.
|
|
328
|
+
*/
|
|
329
|
+
slidingToLeft = "SLIDING_TO_LEFT",
|
|
330
|
+
/**
|
|
331
|
+
* One panel sliding to the right.
|
|
332
|
+
*/
|
|
333
|
+
slidingToRight = "SLIDING_TO_RIGHT",
|
|
334
|
+
/**
|
|
335
|
+
* One panel folding to the left.
|
|
336
|
+
*/
|
|
337
|
+
foldingToLeft = "FOLDING_TO_LEFT",
|
|
338
|
+
/**
|
|
339
|
+
* One panel folding to the right.
|
|
340
|
+
*/
|
|
341
|
+
foldingToRight = "FOLDING_TO_RIGHT",
|
|
342
|
+
/**
|
|
343
|
+
* A revolving door.
|
|
344
|
+
*/
|
|
345
|
+
revolving = "REVOLVING",
|
|
346
|
+
/**
|
|
347
|
+
* A door that rolls up.
|
|
348
|
+
*/
|
|
349
|
+
rollingUp = "ROLLINGUP",
|
|
350
|
+
/**
|
|
351
|
+
* No kind is given.
|
|
352
|
+
*/
|
|
353
|
+
notDefined = "NOTDEFINED"
|
|
354
|
+
}
|
|
355
|
+
/**
|
|
356
|
+
* The handle a door type carries on both faces of its panel, on the side away from its hinges.
|
|
357
|
+
*/
|
|
358
|
+
enum doorHandleEnum {
|
|
359
|
+
/**
|
|
360
|
+
* No handle.
|
|
361
|
+
*/
|
|
362
|
+
none = "none",
|
|
363
|
+
/**
|
|
364
|
+
* A lever handle at hand height.
|
|
365
|
+
*/
|
|
366
|
+
lever = "lever",
|
|
367
|
+
/**
|
|
368
|
+
* A long upright pull bar, as on an entrance door.
|
|
369
|
+
*/
|
|
370
|
+
pullBar = "pullBar"
|
|
371
|
+
}
|
|
372
|
+
/**
|
|
373
|
+
* The shape of the section a column or beam is extruded from: a rectangle, a circle or an I section.
|
|
374
|
+
*/
|
|
375
|
+
enum profileKindEnum {
|
|
376
|
+
/**
|
|
377
|
+
* A rectangle of `width` by `depth`.
|
|
378
|
+
*/
|
|
379
|
+
rectangle = "rectangle",
|
|
380
|
+
/**
|
|
381
|
+
* A circle of `radius`.
|
|
382
|
+
*/
|
|
383
|
+
circle = "circle",
|
|
384
|
+
/**
|
|
385
|
+
* An I section of `width` and `depth`, with `webThickness` and `flangeThickness`.
|
|
386
|
+
*/
|
|
387
|
+
iShape = "iShape"
|
|
388
|
+
}
|
|
389
|
+
/**
|
|
390
|
+
* A model to read, for the methods that only look at it, such as `model.summary` and
|
|
391
|
+
* `spatial.storeys`.
|
|
392
|
+
*/
|
|
393
|
+
class ModelDto<T> {
|
|
394
|
+
constructor(model?: T);
|
|
395
|
+
/**
|
|
396
|
+
* The model to read, as `model.create` or `model.read` returned it.
|
|
397
|
+
* @default undefined
|
|
398
|
+
*/
|
|
399
|
+
model: T;
|
|
400
|
+
}
|
|
401
|
+
/**
|
|
402
|
+
* What `model.create` starts a new model with: a project, its site and one building, in the length
|
|
403
|
+
* unit every later length is given in.
|
|
404
|
+
*/
|
|
405
|
+
class CreateModelDto {
|
|
406
|
+
constructor(name?: string, siteName?: string, buildingName?: string, lengthUnit?: lengthUnitEnum, seed?: string, author?: string, organization?: string);
|
|
407
|
+
/**
|
|
408
|
+
* The project's name.
|
|
409
|
+
* @default Project
|
|
410
|
+
*/
|
|
411
|
+
name?: string | undefined;
|
|
412
|
+
/**
|
|
413
|
+
* The site's name.
|
|
414
|
+
* @default Site
|
|
415
|
+
*/
|
|
416
|
+
siteName?: string | undefined;
|
|
417
|
+
/**
|
|
418
|
+
* What the one building the model starts with is called.
|
|
419
|
+
* @default Building
|
|
420
|
+
*/
|
|
421
|
+
buildingName?: string | undefined;
|
|
422
|
+
/**
|
|
423
|
+
* The unit every length of the model is given and written in.
|
|
424
|
+
* @default millimetre
|
|
425
|
+
*/
|
|
426
|
+
lengthUnit?: lengthUnitEnum | undefined;
|
|
427
|
+
/**
|
|
428
|
+
* Any text the model's GlobalIds are derived from, so running the same calls again writes the
|
|
429
|
+
* same file. Leave it out for random GlobalIds, unique to this model.
|
|
430
|
+
* @default undefined
|
|
431
|
+
* @optional true
|
|
432
|
+
*/
|
|
433
|
+
seed?: string | undefined;
|
|
434
|
+
/**
|
|
435
|
+
* Who the file's header names as its author.
|
|
436
|
+
* @default undefined
|
|
437
|
+
* @optional true
|
|
438
|
+
*/
|
|
439
|
+
author?: string | undefined;
|
|
440
|
+
/**
|
|
441
|
+
* The organization the file's header names.
|
|
442
|
+
* @default undefined
|
|
443
|
+
* @optional true
|
|
444
|
+
*/
|
|
445
|
+
organization?: string | undefined;
|
|
446
|
+
}
|
|
447
|
+
/**
|
|
448
|
+
* The contents of an IFC file for `model.read`, as text or bytes.
|
|
449
|
+
*/
|
|
450
|
+
class ReadModelDto {
|
|
451
|
+
constructor(data?: string | Uint8Array | ArrayBuffer);
|
|
452
|
+
/**
|
|
453
|
+
* The file's contents: the text of an `.ifc` file, or the bytes of an `.ifc` or `.ifczip`
|
|
454
|
+
* file, such as what `await file.arrayBuffer()` gives for a file a user picked.
|
|
455
|
+
* @default undefined
|
|
456
|
+
*/
|
|
457
|
+
data: string | Uint8Array | ArrayBuffer;
|
|
458
|
+
}
|
|
459
|
+
/**
|
|
460
|
+
* A model to write for `model.write`, with the file name and time its header records.
|
|
461
|
+
*/
|
|
462
|
+
class WriteModelDto<T> {
|
|
463
|
+
constructor(model?: T, fileName?: string, timeStamp?: string);
|
|
464
|
+
/**
|
|
465
|
+
* The model whose entities the file holds.
|
|
466
|
+
* @default undefined
|
|
467
|
+
*/
|
|
468
|
+
model: T;
|
|
469
|
+
/**
|
|
470
|
+
* The file name the header records.
|
|
471
|
+
* @default model.ifc
|
|
472
|
+
*/
|
|
473
|
+
fileName?: string | undefined;
|
|
474
|
+
/**
|
|
475
|
+
* When the file was written, as ISO 8601 such as `2026-10-06T12:00:00`. Left out, the current
|
|
476
|
+
* time; give one to write the same file every time.
|
|
477
|
+
* @default undefined
|
|
478
|
+
* @optional true
|
|
479
|
+
*/
|
|
480
|
+
timeStamp?: string | undefined;
|
|
481
|
+
}
|
|
482
|
+
/**
|
|
483
|
+
* A model and a filter for `model.elements`, which lists the elements of one type, optionally on one
|
|
484
|
+
* storey.
|
|
485
|
+
*/
|
|
486
|
+
class ElementsDto<T> {
|
|
487
|
+
constructor(model?: T, type?: string, storey?: string);
|
|
488
|
+
/**
|
|
489
|
+
* The model to list from.
|
|
490
|
+
* @default undefined
|
|
491
|
+
*/
|
|
492
|
+
model: T;
|
|
493
|
+
/**
|
|
494
|
+
* The IFC type to list, its subtypes included, such as `IfcWall`, `IfcBuildingElement` for walls,
|
|
495
|
+
* slabs, doors and the like, or `IfcElement` for every element, openings included.
|
|
496
|
+
* @default IfcElement
|
|
497
|
+
*/
|
|
498
|
+
type?: string | undefined;
|
|
499
|
+
/**
|
|
500
|
+
* Only the elements standing in this storey or other spatial element, by GlobalId or by the id
|
|
501
|
+
* it was added with. Leave it out for every one.
|
|
502
|
+
* @default undefined
|
|
503
|
+
* @optional true
|
|
504
|
+
*/
|
|
505
|
+
storey?: string | undefined;
|
|
506
|
+
}
|
|
507
|
+
/**
|
|
508
|
+
* A model and one of its objects, by GlobalId or by the id it was added with, for `model.element`,
|
|
509
|
+
* `model.remove`, `properties.getSets` and `quantities.get`.
|
|
510
|
+
*/
|
|
511
|
+
class ElementDto<T> {
|
|
512
|
+
constructor(model?: T, element?: string);
|
|
513
|
+
/**
|
|
514
|
+
* The model the object is in.
|
|
515
|
+
* @default undefined
|
|
516
|
+
*/
|
|
517
|
+
model: T;
|
|
518
|
+
/**
|
|
519
|
+
* The object, by GlobalId or by the id it was added with.
|
|
520
|
+
* @default undefined
|
|
521
|
+
*/
|
|
522
|
+
element: string;
|
|
523
|
+
}
|
|
524
|
+
/**
|
|
525
|
+
* One attribute of an object to set for `model.setAttribute`, such as a wall's `Name` or `Tag`.
|
|
526
|
+
*/
|
|
527
|
+
class SetAttributeDto<T> {
|
|
528
|
+
constructor(model?: T, element?: string, attribute?: string, value?: string | number | boolean);
|
|
529
|
+
/**
|
|
530
|
+
* The model the object is in.
|
|
531
|
+
* @default undefined
|
|
532
|
+
*/
|
|
533
|
+
model: T;
|
|
534
|
+
/**
|
|
535
|
+
* The object, by GlobalId or by the id it was added with.
|
|
536
|
+
* @default undefined
|
|
537
|
+
*/
|
|
538
|
+
element: string;
|
|
539
|
+
/**
|
|
540
|
+
* The attribute's name, as the IFC schema spells it, such as `Name`, `Description` or `Tag`.
|
|
541
|
+
* @default Name
|
|
542
|
+
*/
|
|
543
|
+
attribute?: string | undefined;
|
|
544
|
+
/**
|
|
545
|
+
* The new value: a text, a number, true or false, or the name of an enumeration value for an
|
|
546
|
+
* attribute that takes one.
|
|
547
|
+
* @default undefined
|
|
548
|
+
*/
|
|
549
|
+
value: string | number | boolean;
|
|
550
|
+
}
|
|
551
|
+
/**
|
|
552
|
+
* An object's attribute to read for `model.getAttribute`.
|
|
553
|
+
*/
|
|
554
|
+
class GetAttributeDto<T> {
|
|
555
|
+
constructor(model?: T, element?: string, attribute?: string);
|
|
556
|
+
/**
|
|
557
|
+
* The model the object is in.
|
|
558
|
+
* @default undefined
|
|
559
|
+
*/
|
|
560
|
+
model: T;
|
|
561
|
+
/**
|
|
562
|
+
* The object, by GlobalId or by the id it was added with.
|
|
563
|
+
* @default undefined
|
|
564
|
+
*/
|
|
565
|
+
element: string;
|
|
566
|
+
/**
|
|
567
|
+
* The attribute's name, as the IFC schema spells it, such as `Name`, `Description` or `Tag`.
|
|
568
|
+
* @default Name
|
|
569
|
+
*/
|
|
570
|
+
attribute?: string | undefined;
|
|
571
|
+
}
|
|
572
|
+
/**
|
|
573
|
+
* A model and an id for `model.globalIdOf`, which says which GlobalId the id stands for.
|
|
574
|
+
*/
|
|
575
|
+
class GlobalIdOfDto<T> {
|
|
576
|
+
constructor(model?: T, id?: string);
|
|
577
|
+
/**
|
|
578
|
+
* The model the id belongs to; ids of different models stand for different GlobalIds.
|
|
579
|
+
* @default undefined
|
|
580
|
+
*/
|
|
581
|
+
model: T;
|
|
582
|
+
/**
|
|
583
|
+
* Any text used as an id, or a GlobalId, which stands for itself.
|
|
584
|
+
* @default undefined
|
|
585
|
+
*/
|
|
586
|
+
id: string;
|
|
587
|
+
}
|
|
588
|
+
/**
|
|
589
|
+
* How far to move an element and how far to turn it, for `model.move`.
|
|
590
|
+
*/
|
|
591
|
+
class MoveElementDto<T> {
|
|
592
|
+
constructor(model?: T, element?: string, translation?: Base.Vector3, rotation?: number);
|
|
593
|
+
/**
|
|
594
|
+
* The model to change; it stays as it was, and the call returns the changed model.
|
|
595
|
+
* @default undefined
|
|
596
|
+
*/
|
|
597
|
+
model: T;
|
|
598
|
+
/**
|
|
599
|
+
* The element or space, by GlobalId or by the id it was added with.
|
|
600
|
+
* @default undefined
|
|
601
|
+
*/
|
|
602
|
+
element: string;
|
|
603
|
+
/**
|
|
604
|
+
* How far to move it, as `[x, y, z]` in the plan of its storey: X and Y in plan, Z up.
|
|
605
|
+
* @default [0, 0, 0]
|
|
606
|
+
*/
|
|
607
|
+
translation?: Base.Vector3 | undefined;
|
|
608
|
+
/**
|
|
609
|
+
* How far to turn it, in degrees counterclockwise seen from above, about the vertical through
|
|
610
|
+
* its own origin; it turns before it moves.
|
|
611
|
+
* @default 0
|
|
612
|
+
* @minimum -Infinity
|
|
613
|
+
* @maximum Infinity
|
|
614
|
+
*/
|
|
615
|
+
rotation?: number | undefined;
|
|
616
|
+
}
|
|
617
|
+
/**
|
|
618
|
+
* A storey to add to the model's building for `spatial.addStorey`, at its elevation above the
|
|
619
|
+
* building's origin.
|
|
620
|
+
*/
|
|
621
|
+
class AddStoreyDto<T> {
|
|
622
|
+
constructor(model?: T, id?: string, name?: string, elevation?: number);
|
|
623
|
+
/**
|
|
624
|
+
* The model to change, which must have exactly one building; it stays as it was, and the call
|
|
625
|
+
* returns the changed model.
|
|
626
|
+
* @default undefined
|
|
627
|
+
*/
|
|
628
|
+
model: T;
|
|
629
|
+
/**
|
|
630
|
+
* An id of your own, such as `ground`, by which later calls refer to the storey; the model turns
|
|
631
|
+
* it into a GlobalId. Left out, one is generated.
|
|
632
|
+
* @default undefined
|
|
633
|
+
* @optional true
|
|
634
|
+
*/
|
|
635
|
+
id?: string | undefined;
|
|
636
|
+
/**
|
|
637
|
+
* What the storey is called, such as `Ground floor`.
|
|
638
|
+
* @default Storey
|
|
639
|
+
*/
|
|
640
|
+
name?: string | undefined;
|
|
641
|
+
/**
|
|
642
|
+
* How high the storey's floor is above the building's origin.
|
|
643
|
+
* @default 0
|
|
644
|
+
* @minimum -Infinity
|
|
645
|
+
* @maximum Infinity
|
|
646
|
+
*/
|
|
647
|
+
elevation?: number | undefined;
|
|
648
|
+
}
|
|
649
|
+
/**
|
|
650
|
+
* A material to add for `materials.add`, which layer sets, columns and beams then name.
|
|
651
|
+
*/
|
|
652
|
+
class AddMaterialDto<T> {
|
|
653
|
+
constructor(model?: T, name?: string, category?: string, color?: string, transparency?: number);
|
|
654
|
+
/**
|
|
655
|
+
* The model to change; it stays as it was, and the call returns the changed model.
|
|
656
|
+
* @default undefined
|
|
657
|
+
*/
|
|
658
|
+
model: T;
|
|
659
|
+
/**
|
|
660
|
+
* The material's name, unique in the model, by which layer sets and members refer to it.
|
|
661
|
+
* @default Material
|
|
662
|
+
*/
|
|
663
|
+
name?: string | undefined;
|
|
664
|
+
/**
|
|
665
|
+
* A broad category such as `concrete`, `steel`, `brick` or `timber`.
|
|
666
|
+
* @default undefined
|
|
667
|
+
* @optional true
|
|
668
|
+
*/
|
|
669
|
+
category?: string | undefined;
|
|
670
|
+
/**
|
|
671
|
+
* The colour the material is shown with, as hex such as `#b5651d`. Leave it out for none.
|
|
672
|
+
* @default undefined
|
|
673
|
+
* @optional true
|
|
674
|
+
*/
|
|
675
|
+
color?: string | undefined;
|
|
676
|
+
/**
|
|
677
|
+
* How see-through the material is shown, from 0 for opaque to 1 for invisible; used with
|
|
678
|
+
* `color`.
|
|
679
|
+
* @default 0
|
|
680
|
+
* @minimum 0
|
|
681
|
+
* @maximum 1
|
|
682
|
+
*/
|
|
683
|
+
transparency?: number | undefined;
|
|
684
|
+
}
|
|
685
|
+
/**
|
|
686
|
+
* One layer of a layer set: its material, by name, and its thickness. Used by `materials.addLayerSet`.
|
|
687
|
+
*/
|
|
688
|
+
class MaterialLayerDto {
|
|
689
|
+
constructor(material?: string, thickness?: number, name?: string);
|
|
690
|
+
/**
|
|
691
|
+
* The name of the layer's material, added before with `materials.add`. Leave it out for a layer
|
|
692
|
+
* without one.
|
|
693
|
+
* @default undefined
|
|
694
|
+
* @optional true
|
|
695
|
+
*/
|
|
696
|
+
material?: string | undefined;
|
|
697
|
+
/**
|
|
698
|
+
* How thick the layer is, across the wall or down through the slab. Left out, 100 mm, in the model's length unit.
|
|
699
|
+
* @default undefined
|
|
700
|
+
* @optional true
|
|
701
|
+
* @minimum 0
|
|
702
|
+
* @maximum Infinity
|
|
703
|
+
*/
|
|
704
|
+
thickness?: number | undefined;
|
|
705
|
+
/**
|
|
706
|
+
* The layer's own name, such as `Insulation`.
|
|
707
|
+
* @default undefined
|
|
708
|
+
* @optional true
|
|
709
|
+
*/
|
|
710
|
+
name?: string | undefined;
|
|
711
|
+
}
|
|
712
|
+
/**
|
|
713
|
+
* A named stack of material layers for `materials.addLayerSet`, which walls, slabs and roofs are made
|
|
714
|
+
* of; a wall's first layer is on its right face, looking from start to end, a slab's or roof's at its
|
|
715
|
+
* top.
|
|
716
|
+
*/
|
|
717
|
+
class AddLayerSetDto<T> {
|
|
718
|
+
constructor(model?: T, name?: string, layers?: MaterialLayerDto[]);
|
|
719
|
+
/**
|
|
720
|
+
* The model to change; it stays as it was, and the call returns the changed model.
|
|
721
|
+
* @default undefined
|
|
722
|
+
*/
|
|
723
|
+
model: T;
|
|
724
|
+
/**
|
|
725
|
+
* The layer set's name, unique in the model, by which walls, wall types and slabs refer to it.
|
|
726
|
+
* @default Layers
|
|
727
|
+
*/
|
|
728
|
+
name?: string | undefined;
|
|
729
|
+
/**
|
|
730
|
+
* The layers, in order; their thicknesses add up to the thickness of what is made of them.
|
|
731
|
+
* @default undefined
|
|
732
|
+
*/
|
|
733
|
+
layers: MaterialLayerDto[];
|
|
734
|
+
}
|
|
735
|
+
/**
|
|
736
|
+
* A storey as `spatial.storeys` and `model.summary` list it: its GlobalId, name and elevation.
|
|
737
|
+
*/
|
|
738
|
+
class StoreyInfoDto {
|
|
739
|
+
/**
|
|
740
|
+
* The GlobalId that identifies the storey.
|
|
741
|
+
* @default ""
|
|
742
|
+
*/
|
|
743
|
+
globalId: string;
|
|
744
|
+
/**
|
|
745
|
+
* What the storey is called.
|
|
746
|
+
* @default ""
|
|
747
|
+
*/
|
|
748
|
+
name: string;
|
|
749
|
+
/**
|
|
750
|
+
* How high its floor is above the building's origin, in the model's length unit.
|
|
751
|
+
* @default 0
|
|
752
|
+
*/
|
|
753
|
+
elevation: number;
|
|
754
|
+
}
|
|
755
|
+
/**
|
|
756
|
+
* A storey and its new elevation for `spatial.setElevation`.
|
|
757
|
+
*/
|
|
758
|
+
class SetStoreyElevationDto<T> {
|
|
759
|
+
constructor(model?: T, storey?: string, elevation?: number);
|
|
760
|
+
/**
|
|
761
|
+
* The model to change; it stays as it was, and the call returns the changed model.
|
|
762
|
+
* @default undefined
|
|
763
|
+
*/
|
|
764
|
+
model: T;
|
|
765
|
+
/**
|
|
766
|
+
* The storey, by GlobalId or by the id it was added with.
|
|
767
|
+
* @default undefined
|
|
768
|
+
*/
|
|
769
|
+
storey: string;
|
|
770
|
+
/**
|
|
771
|
+
* How high its floor is now above the building's origin; everything on the storey moves with it.
|
|
772
|
+
* @default 0
|
|
773
|
+
* @minimum -Infinity
|
|
774
|
+
* @maximum Infinity
|
|
775
|
+
*/
|
|
776
|
+
elevation?: number | undefined;
|
|
777
|
+
}
|
|
778
|
+
/**
|
|
779
|
+
* A space to add for `spaces.add`: a room or an area of a storey, an outline in the storey's plan
|
|
780
|
+
* extruded up to its height.
|
|
781
|
+
*/
|
|
782
|
+
class AddSpaceDto<T> {
|
|
783
|
+
constructor(model?: T, storey?: string, id?: string, name?: string, longName?: string, outline?: Base.Point2[], height?: number, baseOffset?: number, predefinedType?: spacePredefinedTypeEnum);
|
|
784
|
+
/**
|
|
785
|
+
* The model to change; it stays as it was, and the call returns the changed model.
|
|
786
|
+
* @default undefined
|
|
787
|
+
*/
|
|
788
|
+
model: T;
|
|
789
|
+
/**
|
|
790
|
+
* The storey the space belongs to, by GlobalId or by the id it was added with.
|
|
791
|
+
* @default undefined
|
|
792
|
+
*/
|
|
793
|
+
storey: string;
|
|
794
|
+
/**
|
|
795
|
+
* An id of your own for the space. Leave it out for a generated one.
|
|
796
|
+
* @default undefined
|
|
797
|
+
* @optional true
|
|
798
|
+
*/
|
|
799
|
+
id?: string | undefined;
|
|
800
|
+
/**
|
|
801
|
+
* The space's short name or number, such as `1.04`.
|
|
802
|
+
* @default undefined
|
|
803
|
+
* @optional true
|
|
804
|
+
*/
|
|
805
|
+
name?: string | undefined;
|
|
806
|
+
/**
|
|
807
|
+
* The space's full name, such as `Kitchen`.
|
|
808
|
+
* @default undefined
|
|
809
|
+
* @optional true
|
|
810
|
+
*/
|
|
811
|
+
longName?: string | undefined;
|
|
812
|
+
/**
|
|
813
|
+
* The outline, as `[x, y]` points in the storey's plan, without the first repeated at the end;
|
|
814
|
+
* either winding works.
|
|
815
|
+
* @default undefined
|
|
816
|
+
*/
|
|
817
|
+
outline: Base.Point2[];
|
|
818
|
+
/**
|
|
819
|
+
* How high the space reaches, up from its base. Left out, 3 m, in the model's length unit.
|
|
820
|
+
* @default undefined
|
|
821
|
+
* @optional true
|
|
822
|
+
* @minimum 0
|
|
823
|
+
* @maximum Infinity
|
|
824
|
+
* @exclusiveMinimum true
|
|
825
|
+
*/
|
|
826
|
+
height?: number | undefined;
|
|
827
|
+
/**
|
|
828
|
+
* How far above the storey's floor the space starts.
|
|
829
|
+
* @default 0
|
|
830
|
+
* @minimum -Infinity
|
|
831
|
+
* @maximum Infinity
|
|
832
|
+
*/
|
|
833
|
+
baseOffset?: number | undefined;
|
|
834
|
+
/**
|
|
835
|
+
* What kind of space it is.
|
|
836
|
+
* @default space
|
|
837
|
+
*/
|
|
838
|
+
predefinedType?: spacePredefinedTypeEnum | undefined;
|
|
839
|
+
}
|
|
840
|
+
/**
|
|
841
|
+
* A model and, optionally, a storey, for `spaces.list`.
|
|
842
|
+
*/
|
|
843
|
+
class SpacesDto<T> {
|
|
844
|
+
constructor(model?: T, storey?: string);
|
|
845
|
+
/**
|
|
846
|
+
* The model to list the spaces of.
|
|
847
|
+
* @default undefined
|
|
848
|
+
*/
|
|
849
|
+
model: T;
|
|
850
|
+
/**
|
|
851
|
+
* Only the spaces of this storey, by GlobalId or by the id it was added with. Leave it out for
|
|
852
|
+
* every storey.
|
|
853
|
+
* @default undefined
|
|
854
|
+
* @optional true
|
|
855
|
+
*/
|
|
856
|
+
storey?: string | undefined;
|
|
857
|
+
}
|
|
858
|
+
/**
|
|
859
|
+
* A space as `spaces.list` describes it: its number and name, its storey, and its area and height.
|
|
860
|
+
*/
|
|
861
|
+
class SpaceInfoDto {
|
|
862
|
+
/**
|
|
863
|
+
* The GlobalId that identifies the space.
|
|
864
|
+
* @default ""
|
|
865
|
+
*/
|
|
866
|
+
globalId: string;
|
|
867
|
+
/**
|
|
868
|
+
* Its short name or number, or an empty text when it has none.
|
|
869
|
+
* @default ""
|
|
870
|
+
*/
|
|
871
|
+
name: string;
|
|
872
|
+
/**
|
|
873
|
+
* Its full name, or an empty text when it has none.
|
|
874
|
+
* @default ""
|
|
875
|
+
*/
|
|
876
|
+
longName: string;
|
|
877
|
+
/**
|
|
878
|
+
* The GlobalId of the storey it belongs to, or an empty text when it belongs to none.
|
|
879
|
+
* @default ""
|
|
880
|
+
*/
|
|
881
|
+
storey: string;
|
|
882
|
+
/**
|
|
883
|
+
* The area of its outline, in the square of the model's length unit, so square millimetres in a
|
|
884
|
+
* millimetre model; 0 when its body is not an outline extruded up.
|
|
885
|
+
* @default 0
|
|
886
|
+
*/
|
|
887
|
+
area: number;
|
|
888
|
+
/**
|
|
889
|
+
* How high it reaches; 0 when its body is not an outline extruded up.
|
|
890
|
+
* @default 0
|
|
891
|
+
*/
|
|
892
|
+
height: number;
|
|
893
|
+
}
|
|
894
|
+
/**
|
|
895
|
+
* An element as `model.elements` and `model.element` describe it.
|
|
896
|
+
*/
|
|
897
|
+
class ElementInfoDto {
|
|
898
|
+
/**
|
|
899
|
+
* The GlobalId that identifies the element.
|
|
900
|
+
* @default ""
|
|
901
|
+
*/
|
|
902
|
+
globalId: string;
|
|
903
|
+
/**
|
|
904
|
+
* Its IFC type, such as `IfcWall`.
|
|
905
|
+
* @default ""
|
|
906
|
+
*/
|
|
907
|
+
type: string;
|
|
908
|
+
/**
|
|
909
|
+
* Its name, or an empty text when it has none.
|
|
910
|
+
* @default ""
|
|
911
|
+
*/
|
|
912
|
+
name: string;
|
|
913
|
+
/**
|
|
914
|
+
* The GlobalId of the spatial element it stands in: its storey, or a space, road, bridge or
|
|
915
|
+
* other facility part; an empty text when none contains it.
|
|
916
|
+
* @default ""
|
|
917
|
+
*/
|
|
918
|
+
storey: string;
|
|
919
|
+
}
|
|
920
|
+
/**
|
|
921
|
+
* Where a model sits on the Earth, as `model.georeference` reads it: its map conversion and its
|
|
922
|
+
* site's reference latitude, longitude and elevation.
|
|
923
|
+
*/
|
|
924
|
+
class GeoreferenceDto {
|
|
925
|
+
/**
|
|
926
|
+
* Whether the model holds a map conversion; when it does not, the map fields keep their defaults.
|
|
927
|
+
* @default false
|
|
928
|
+
*/
|
|
929
|
+
mapped: boolean;
|
|
930
|
+
/**
|
|
931
|
+
* The name of the projected coordinate reference system the map conversion targets, such as
|
|
932
|
+
* `EPSG:3301`.
|
|
933
|
+
* @default ""
|
|
934
|
+
*/
|
|
935
|
+
crs: string;
|
|
936
|
+
/**
|
|
937
|
+
* How far east of the map's origin the model's origin lies, in the map's unit.
|
|
938
|
+
* @default 0
|
|
939
|
+
*/
|
|
940
|
+
eastings: number;
|
|
941
|
+
/**
|
|
942
|
+
* How far north of the map's origin the model's origin lies, in the map's unit.
|
|
943
|
+
* @default 0
|
|
944
|
+
*/
|
|
945
|
+
northings: number;
|
|
946
|
+
/**
|
|
947
|
+
* The height of the model's origin above the vertical datum, in the map's unit.
|
|
948
|
+
* @default 0
|
|
949
|
+
*/
|
|
950
|
+
orthogonalHeight: number;
|
|
951
|
+
/**
|
|
952
|
+
* The first map coordinate of the direction the model's X axis points in.
|
|
953
|
+
* @default 1
|
|
954
|
+
*/
|
|
955
|
+
xAxisAbscissa: number;
|
|
956
|
+
/**
|
|
957
|
+
* The second map coordinate of the direction the model's X axis points in.
|
|
958
|
+
* @default 0
|
|
959
|
+
*/
|
|
960
|
+
xAxisOrdinate: number;
|
|
961
|
+
/**
|
|
962
|
+
* The scale from the model's lengths to the map's.
|
|
963
|
+
* @default 1
|
|
964
|
+
*/
|
|
965
|
+
scale: number;
|
|
966
|
+
/**
|
|
967
|
+
* Whether the site records a latitude and a longitude.
|
|
968
|
+
* @default false
|
|
969
|
+
*/
|
|
970
|
+
located: boolean;
|
|
971
|
+
/**
|
|
972
|
+
* The site's reference latitude in decimal degrees, negative to the south.
|
|
973
|
+
* @default 0
|
|
974
|
+
*/
|
|
975
|
+
latitude: number;
|
|
976
|
+
/**
|
|
977
|
+
* The site's reference longitude in decimal degrees, negative to the west.
|
|
978
|
+
* @default 0
|
|
979
|
+
*/
|
|
980
|
+
longitude: number;
|
|
981
|
+
/**
|
|
982
|
+
* The site's reference elevation above sea level, in the model's length unit.
|
|
983
|
+
* @default 0
|
|
984
|
+
*/
|
|
985
|
+
elevation: number;
|
|
986
|
+
}
|
|
987
|
+
/**
|
|
988
|
+
* What a model holds, as `model.summary` describes it.
|
|
989
|
+
*/
|
|
990
|
+
class ModelSummaryDto {
|
|
991
|
+
/**
|
|
992
|
+
* The schema the model's file names, such as `IFC4`.
|
|
993
|
+
* @default ""
|
|
994
|
+
*/
|
|
995
|
+
schema: string;
|
|
996
|
+
/**
|
|
997
|
+
* Whether the model can be changed: false for an `IFC2X3` file, which is read through `IFC4`
|
|
998
|
+
* to be shown and queried.
|
|
999
|
+
* @default true
|
|
1000
|
+
*/
|
|
1001
|
+
editable: boolean;
|
|
1002
|
+
/**
|
|
1003
|
+
* What the project is called.
|
|
1004
|
+
* @default ""
|
|
1005
|
+
*/
|
|
1006
|
+
project: string;
|
|
1007
|
+
/**
|
|
1008
|
+
* How many millimetres one length unit of the model is.
|
|
1009
|
+
* @default 1
|
|
1010
|
+
*/
|
|
1011
|
+
millimetresPerUnit: number;
|
|
1012
|
+
/**
|
|
1013
|
+
* How many entities the model holds, geometry and relationships included.
|
|
1014
|
+
* @default 0
|
|
1015
|
+
*/
|
|
1016
|
+
entities: number;
|
|
1017
|
+
/**
|
|
1018
|
+
* The storeys, lowest first.
|
|
1019
|
+
* @default []
|
|
1020
|
+
*/
|
|
1021
|
+
storeys: StoreyInfoDto[];
|
|
1022
|
+
/**
|
|
1023
|
+
* How many elements of each IFC type the model holds, such as `{ IfcWall: 8 }`.
|
|
1024
|
+
* @default {}
|
|
1025
|
+
*/
|
|
1026
|
+
elementCounts: Record<string, number>;
|
|
1027
|
+
}
|
|
1028
|
+
/**
|
|
1029
|
+
* A straight wall to add for `walls.add`: an axis from `start` to `end` on a storey, a height, and
|
|
1030
|
+
* either a `thickness` or the layer set it is made of.
|
|
1031
|
+
*/
|
|
1032
|
+
class AddWallDto<T> {
|
|
1033
|
+
constructor(model?: T, storey?: string, id?: string, name?: string, start?: Base.Point2, end?: Base.Point2, height?: number, thickness?: number, layerSet?: string, alignment?: wallAlignmentEnum, baseOffset?: number, wallType?: string, predefinedType?: wallPredefinedTypeEnum);
|
|
1034
|
+
/**
|
|
1035
|
+
* The model to change; it stays as it was, and the call returns the changed model.
|
|
1036
|
+
* @default undefined
|
|
1037
|
+
*/
|
|
1038
|
+
model: T;
|
|
1039
|
+
/**
|
|
1040
|
+
* The storey the wall stands on, by GlobalId or by the id it was added with.
|
|
1041
|
+
* @default undefined
|
|
1042
|
+
*/
|
|
1043
|
+
storey: string;
|
|
1044
|
+
/**
|
|
1045
|
+
* An id of your own, such as `north-wall`, by which later calls refer to the wall; the model
|
|
1046
|
+
* turns it into a GlobalId. Left out, one is generated.
|
|
1047
|
+
* @default undefined
|
|
1048
|
+
* @optional true
|
|
1049
|
+
*/
|
|
1050
|
+
id?: string | undefined;
|
|
1051
|
+
/**
|
|
1052
|
+
* A name for the wall, which other tools show; it need not be unique.
|
|
1053
|
+
* @default undefined
|
|
1054
|
+
* @optional true
|
|
1055
|
+
*/
|
|
1056
|
+
name?: string | undefined;
|
|
1057
|
+
/**
|
|
1058
|
+
* The start of the wall's axis, as `[x, y]` in the storey's plan.
|
|
1059
|
+
* @default undefined
|
|
1060
|
+
*/
|
|
1061
|
+
start: Base.Point2;
|
|
1062
|
+
/**
|
|
1063
|
+
* The end of the wall's axis, as `[x, y]` in the storey's plan.
|
|
1064
|
+
* @default undefined
|
|
1065
|
+
*/
|
|
1066
|
+
end: Base.Point2;
|
|
1067
|
+
/**
|
|
1068
|
+
* The wall's height, up from its base. Left out, 3 m, in the model's length unit.
|
|
1069
|
+
* @default undefined
|
|
1070
|
+
* @optional true
|
|
1071
|
+
* @minimum 0
|
|
1072
|
+
* @maximum Infinity
|
|
1073
|
+
* @exclusiveMinimum true
|
|
1074
|
+
*/
|
|
1075
|
+
height?: number | undefined;
|
|
1076
|
+
/**
|
|
1077
|
+
* The wall's thickness, used when no `layerSet` is given; the wall is then one layer without a
|
|
1078
|
+
* material. Left out, 200 mm, in the model's length unit.
|
|
1079
|
+
* @default undefined
|
|
1080
|
+
* @optional true
|
|
1081
|
+
* @minimum 0
|
|
1082
|
+
* @maximum Infinity
|
|
1083
|
+
* @exclusiveMinimum true
|
|
1084
|
+
*/
|
|
1085
|
+
thickness?: number | undefined;
|
|
1086
|
+
/**
|
|
1087
|
+
* The name of the layer set the wall is made of, added before with `materials.addLayerSet`; its
|
|
1088
|
+
* layers set the thickness.
|
|
1089
|
+
* @default undefined
|
|
1090
|
+
* @optional true
|
|
1091
|
+
*/
|
|
1092
|
+
layerSet?: string | undefined;
|
|
1093
|
+
/**
|
|
1094
|
+
* Which side of the axis the wall's layers lie on, looking from `start` to `end`. Walls drawn
|
|
1095
|
+
* counterclockwise around a plan with `right` stand outside the outline.
|
|
1096
|
+
* @default center
|
|
1097
|
+
*/
|
|
1098
|
+
alignment?: wallAlignmentEnum | undefined;
|
|
1099
|
+
/**
|
|
1100
|
+
* How far above the storey's floor the wall starts.
|
|
1101
|
+
* @default 0
|
|
1102
|
+
* @minimum -Infinity
|
|
1103
|
+
* @maximum Infinity
|
|
1104
|
+
*/
|
|
1105
|
+
baseOffset?: number | undefined;
|
|
1106
|
+
/**
|
|
1107
|
+
* The wall type the wall is an occurrence of, by GlobalId or by the id it was added with.
|
|
1108
|
+
* @default undefined
|
|
1109
|
+
* @optional true
|
|
1110
|
+
*/
|
|
1111
|
+
wallType?: string | undefined;
|
|
1112
|
+
/**
|
|
1113
|
+
* What kind of wall it is, for a wall without a `wallType`; a wall of a type is the kind its
|
|
1114
|
+
* type says.
|
|
1115
|
+
* @default standard
|
|
1116
|
+
*/
|
|
1117
|
+
predefinedType?: wallPredefinedTypeEnum | undefined;
|
|
1118
|
+
}
|
|
1119
|
+
/**
|
|
1120
|
+
* Two walls for `walls.connect`, which works out where they meet and trims both, or for
|
|
1121
|
+
* `walls.disconnect`, which takes the join away.
|
|
1122
|
+
*/
|
|
1123
|
+
class ConnectWallsDto<T> {
|
|
1124
|
+
constructor(model?: T, wall?: string, other?: string);
|
|
1125
|
+
/**
|
|
1126
|
+
* The model to change; it stays as it was, and the call returns the changed model.
|
|
1127
|
+
* @default undefined
|
|
1128
|
+
*/
|
|
1129
|
+
model: T;
|
|
1130
|
+
/**
|
|
1131
|
+
* One wall, by GlobalId or by the id it was added with.
|
|
1132
|
+
* @default undefined
|
|
1133
|
+
*/
|
|
1134
|
+
wall: string;
|
|
1135
|
+
/**
|
|
1136
|
+
* The other wall, by GlobalId or by the id it was added with.
|
|
1137
|
+
* @default undefined
|
|
1138
|
+
*/
|
|
1139
|
+
other: string;
|
|
1140
|
+
}
|
|
1141
|
+
/**
|
|
1142
|
+
* A wall and a plane to clip it with for `walls.clipByPlane`, which removes the part of the wall on
|
|
1143
|
+
* the side the plane's normal points to.
|
|
1144
|
+
*/
|
|
1145
|
+
class ClipWallDto<T> {
|
|
1146
|
+
constructor(model?: T, wall?: string, origin?: Base.Point3, normal?: Base.Vector3);
|
|
1147
|
+
/**
|
|
1148
|
+
* The model to change; it stays as it was, and the call returns the changed model.
|
|
1149
|
+
* @default undefined
|
|
1150
|
+
*/
|
|
1151
|
+
model: T;
|
|
1152
|
+
/**
|
|
1153
|
+
* The wall, by GlobalId or by the id it was added with.
|
|
1154
|
+
* @default undefined
|
|
1155
|
+
*/
|
|
1156
|
+
wall: string;
|
|
1157
|
+
/**
|
|
1158
|
+
* A point on the plane, as `[x, y, z]` in the wall's storey: X and Y in plan, Z up from the
|
|
1159
|
+
* storey's floor.
|
|
1160
|
+
* @default undefined
|
|
1161
|
+
*/
|
|
1162
|
+
origin: Base.Point3;
|
|
1163
|
+
/**
|
|
1164
|
+
* The plane's normal, pointing to the side that is removed; `[0, 0, 1]` cuts the top off level.
|
|
1165
|
+
* @default [0, 0, 1]
|
|
1166
|
+
*/
|
|
1167
|
+
normal?: Base.Vector3 | undefined;
|
|
1168
|
+
}
|
|
1169
|
+
/**
|
|
1170
|
+
* A wall and a roof to clip it under, for `walls.clipByRoof`.
|
|
1171
|
+
*/
|
|
1172
|
+
class ClipWallByRoofDto<T> {
|
|
1173
|
+
constructor(model?: T, wall?: string, roof?: string);
|
|
1174
|
+
/**
|
|
1175
|
+
* The model to change; it stays as it was, and the call returns the changed model.
|
|
1176
|
+
* @default undefined
|
|
1177
|
+
*/
|
|
1178
|
+
model: T;
|
|
1179
|
+
/**
|
|
1180
|
+
* The wall, by GlobalId or by the id it was added with.
|
|
1181
|
+
* @default undefined
|
|
1182
|
+
*/
|
|
1183
|
+
wall: string;
|
|
1184
|
+
/**
|
|
1185
|
+
* The roof, by GlobalId or by the id it was added with.
|
|
1186
|
+
* @default undefined
|
|
1187
|
+
*/
|
|
1188
|
+
roof: string;
|
|
1189
|
+
}
|
|
1190
|
+
/**
|
|
1191
|
+
* A wall type to add for `walls.addType`: a named kind of wall made of a layer set, which walls are
|
|
1192
|
+
* then occurrences of.
|
|
1193
|
+
*/
|
|
1194
|
+
class AddWallTypeDto<T> {
|
|
1195
|
+
constructor(model?: T, id?: string, name?: string, layerSet?: string, predefinedType?: wallPredefinedTypeEnum);
|
|
1196
|
+
/**
|
|
1197
|
+
* The model to change; it stays as it was, and the call returns the changed model.
|
|
1198
|
+
* @default undefined
|
|
1199
|
+
*/
|
|
1200
|
+
model: T;
|
|
1201
|
+
/**
|
|
1202
|
+
* An id of your own for the type, by which walls refer to it. Leave it out for a generated one.
|
|
1203
|
+
* @default undefined
|
|
1204
|
+
* @optional true
|
|
1205
|
+
*/
|
|
1206
|
+
id?: string | undefined;
|
|
1207
|
+
/**
|
|
1208
|
+
* The type's name.
|
|
1209
|
+
* @default Wall type
|
|
1210
|
+
*/
|
|
1211
|
+
name?: string | undefined;
|
|
1212
|
+
/**
|
|
1213
|
+
* The name of the layer set walls of this type are made of.
|
|
1214
|
+
* @default undefined
|
|
1215
|
+
*/
|
|
1216
|
+
layerSet: string;
|
|
1217
|
+
/**
|
|
1218
|
+
* What kind of wall the type is.
|
|
1219
|
+
* @default standard
|
|
1220
|
+
*/
|
|
1221
|
+
predefinedType?: wallPredefinedTypeEnum | undefined;
|
|
1222
|
+
}
|
|
1223
|
+
/**
|
|
1224
|
+
* A wall of a model, for `walls.parameters`.
|
|
1225
|
+
*/
|
|
1226
|
+
class WallDto<T> {
|
|
1227
|
+
constructor(model?: T, wall?: string);
|
|
1228
|
+
/**
|
|
1229
|
+
* The model to read the wall from.
|
|
1230
|
+
* @default undefined
|
|
1231
|
+
*/
|
|
1232
|
+
model: T;
|
|
1233
|
+
/**
|
|
1234
|
+
* The wall, by GlobalId or by the id it was added with.
|
|
1235
|
+
* @default undefined
|
|
1236
|
+
*/
|
|
1237
|
+
wall: string;
|
|
1238
|
+
}
|
|
1239
|
+
/**
|
|
1240
|
+
* What to change about a wall for `walls.edit`. Everything left out stays as it is.
|
|
1241
|
+
*/
|
|
1242
|
+
class EditWallDto<T> {
|
|
1243
|
+
constructor(model?: T, wall?: string, start?: Base.Point2, end?: Base.Point2, height?: number, baseOffset?: number, thickness?: number, layerSet?: string, alignment?: wallAlignmentEnum);
|
|
1244
|
+
/**
|
|
1245
|
+
* The model to change; it stays as it was, and the call returns the changed model.
|
|
1246
|
+
* @default undefined
|
|
1247
|
+
*/
|
|
1248
|
+
model: T;
|
|
1249
|
+
/**
|
|
1250
|
+
* The wall, by GlobalId or by the id it was added with.
|
|
1251
|
+
* @default undefined
|
|
1252
|
+
*/
|
|
1253
|
+
wall: string;
|
|
1254
|
+
/**
|
|
1255
|
+
* The new start of the wall's axis, as `[x, y]` in its storey's plan. Openings keep their offset
|
|
1256
|
+
* from the start.
|
|
1257
|
+
* @default undefined
|
|
1258
|
+
* @optional true
|
|
1259
|
+
*/
|
|
1260
|
+
start?: Base.Point2 | undefined;
|
|
1261
|
+
/**
|
|
1262
|
+
* The new end of the wall's axis, as `[x, y]` in its storey's plan.
|
|
1263
|
+
* @default undefined
|
|
1264
|
+
* @optional true
|
|
1265
|
+
*/
|
|
1266
|
+
end?: Base.Point2 | undefined;
|
|
1267
|
+
/**
|
|
1268
|
+
* The new height, up from the wall's base.
|
|
1269
|
+
* @default undefined
|
|
1270
|
+
* @optional true
|
|
1271
|
+
* @minimum 0
|
|
1272
|
+
* @maximum Infinity
|
|
1273
|
+
* @exclusiveMinimum true
|
|
1274
|
+
*/
|
|
1275
|
+
height?: number | undefined;
|
|
1276
|
+
/**
|
|
1277
|
+
* How far above its storey's floor the wall now starts; openings keep their sill above the
|
|
1278
|
+
* wall's base.
|
|
1279
|
+
* @default undefined
|
|
1280
|
+
* @optional true
|
|
1281
|
+
* @minimum -Infinity
|
|
1282
|
+
* @maximum Infinity
|
|
1283
|
+
*/
|
|
1284
|
+
baseOffset?: number | undefined;
|
|
1285
|
+
/**
|
|
1286
|
+
* A new thickness, as one layer without a material; used when no `layerSet` is given.
|
|
1287
|
+
* @default undefined
|
|
1288
|
+
* @optional true
|
|
1289
|
+
* @minimum 0
|
|
1290
|
+
* @maximum Infinity
|
|
1291
|
+
* @exclusiveMinimum true
|
|
1292
|
+
*/
|
|
1293
|
+
thickness?: number | undefined;
|
|
1294
|
+
/**
|
|
1295
|
+
* The name of the layer set the wall is now made of. A wall of a type keeps its type's layers.
|
|
1296
|
+
* @default undefined
|
|
1297
|
+
* @optional true
|
|
1298
|
+
*/
|
|
1299
|
+
layerSet?: string | undefined;
|
|
1300
|
+
/**
|
|
1301
|
+
* Which side of the axis the layers now lie on. Left out, a wall keeps its side as its thickness
|
|
1302
|
+
* changes: a wall aligned right stays aligned right.
|
|
1303
|
+
* @default undefined
|
|
1304
|
+
* @optional true
|
|
1305
|
+
*/
|
|
1306
|
+
alignment?: wallAlignmentEnum | undefined;
|
|
1307
|
+
}
|
|
1308
|
+
/**
|
|
1309
|
+
* One join of a wall, as `walls.parameters` lists it.
|
|
1310
|
+
*/
|
|
1311
|
+
class WallJoinInfoDto {
|
|
1312
|
+
/**
|
|
1313
|
+
* The GlobalId of the wall it is joined to.
|
|
1314
|
+
* @default ""
|
|
1315
|
+
*/
|
|
1316
|
+
other: string;
|
|
1317
|
+
/**
|
|
1318
|
+
* Where on this wall the join is.
|
|
1319
|
+
* @default start
|
|
1320
|
+
*/
|
|
1321
|
+
at: wallEndEnum;
|
|
1322
|
+
/**
|
|
1323
|
+
* Where on the other wall the join is.
|
|
1324
|
+
* @default start
|
|
1325
|
+
*/
|
|
1326
|
+
otherAt: wallEndEnum;
|
|
1327
|
+
}
|
|
1328
|
+
/**
|
|
1329
|
+
* A wall's parameters as `walls.parameters` reads them back from the model, whichever tool wrote it.
|
|
1330
|
+
* Lengths are in the model's length unit, and points in the plan of the wall's storey.
|
|
1331
|
+
*/
|
|
1332
|
+
class WallParametersDto {
|
|
1333
|
+
/**
|
|
1334
|
+
* The GlobalId that identifies the wall.
|
|
1335
|
+
* @default ""
|
|
1336
|
+
*/
|
|
1337
|
+
globalId: string;
|
|
1338
|
+
/**
|
|
1339
|
+
* The wall's name, or an empty text when it has none.
|
|
1340
|
+
* @default ""
|
|
1341
|
+
*/
|
|
1342
|
+
name: string;
|
|
1343
|
+
/**
|
|
1344
|
+
* The GlobalId of the storey that contains the wall, or an empty text when none does.
|
|
1345
|
+
* @default ""
|
|
1346
|
+
*/
|
|
1347
|
+
storey: string;
|
|
1348
|
+
/**
|
|
1349
|
+
* The start of the wall's axis, as `[x, y]`.
|
|
1350
|
+
* @default [0, 0]
|
|
1351
|
+
*/
|
|
1352
|
+
start: Base.Point2;
|
|
1353
|
+
/**
|
|
1354
|
+
* The end of the wall's axis, as `[x, y]`.
|
|
1355
|
+
* @default [0, 0]
|
|
1356
|
+
*/
|
|
1357
|
+
end: Base.Point2;
|
|
1358
|
+
/**
|
|
1359
|
+
* The wall's height, up from its base.
|
|
1360
|
+
* @default 0
|
|
1361
|
+
*/
|
|
1362
|
+
height: number;
|
|
1363
|
+
/**
|
|
1364
|
+
* How far above its storey's floor the wall starts.
|
|
1365
|
+
* @default 0
|
|
1366
|
+
*/
|
|
1367
|
+
baseOffset: number;
|
|
1368
|
+
/**
|
|
1369
|
+
* The wall's thickness, all its layers together.
|
|
1370
|
+
* @default 0
|
|
1371
|
+
*/
|
|
1372
|
+
thickness: number;
|
|
1373
|
+
/**
|
|
1374
|
+
* How far the layers' first face lies left of the axis, looking from start to end: 0 aligned left,
|
|
1375
|
+
* minus the thickness aligned right.
|
|
1376
|
+
* @default 0
|
|
1377
|
+
*/
|
|
1378
|
+
offset: number;
|
|
1379
|
+
/**
|
|
1380
|
+
* Which side of the axis the layers lie on, or an empty text when they lie at an offset none of
|
|
1381
|
+
* the alignments describe.
|
|
1382
|
+
* @default ""
|
|
1383
|
+
*/
|
|
1384
|
+
alignment: wallAlignmentEnum | "";
|
|
1385
|
+
/**
|
|
1386
|
+
* The name of the layer set the wall is made of.
|
|
1387
|
+
* @default ""
|
|
1388
|
+
*/
|
|
1389
|
+
layerSet: string;
|
|
1390
|
+
/**
|
|
1391
|
+
* The GlobalId of the wall's type, or an empty text when it has none.
|
|
1392
|
+
* @default ""
|
|
1393
|
+
*/
|
|
1394
|
+
wallType: string;
|
|
1395
|
+
/**
|
|
1396
|
+
* Each join of the wall: the other wall, and where on each wall the join is.
|
|
1397
|
+
* @default []
|
|
1398
|
+
*/
|
|
1399
|
+
joins: WallJoinInfoDto[];
|
|
1400
|
+
/**
|
|
1401
|
+
* The GlobalIds of the openings cut through it, filled or not.
|
|
1402
|
+
* @default []
|
|
1403
|
+
*/
|
|
1404
|
+
openings: string[];
|
|
1405
|
+
/**
|
|
1406
|
+
* How many planes clip the wall.
|
|
1407
|
+
* @default 0
|
|
1408
|
+
*/
|
|
1409
|
+
clippings: number;
|
|
1410
|
+
}
|
|
1411
|
+
/**
|
|
1412
|
+
* A rectangular opening to cut through a wall for `openings.add`, measured along the wall from
|
|
1413
|
+
* its start.
|
|
1414
|
+
*/
|
|
1415
|
+
class AddOpeningDto<T> {
|
|
1416
|
+
constructor(model?: T, wall?: string, id?: string, name?: string, offset?: number, sill?: number, width?: number, height?: number);
|
|
1417
|
+
/**
|
|
1418
|
+
* The model the wall is in.
|
|
1419
|
+
* @default undefined
|
|
1420
|
+
*/
|
|
1421
|
+
model: T;
|
|
1422
|
+
/**
|
|
1423
|
+
* The wall to cut, by GlobalId or by the id it was added with.
|
|
1424
|
+
* @default undefined
|
|
1425
|
+
*/
|
|
1426
|
+
wall: string;
|
|
1427
|
+
/**
|
|
1428
|
+
* An id of your own for the opening. Leave it out for a generated one.
|
|
1429
|
+
* @default undefined
|
|
1430
|
+
* @optional true
|
|
1431
|
+
*/
|
|
1432
|
+
id?: string | undefined;
|
|
1433
|
+
/**
|
|
1434
|
+
* A name for the opening, which other tools show; it need not be unique.
|
|
1435
|
+
* @default undefined
|
|
1436
|
+
* @optional true
|
|
1437
|
+
*/
|
|
1438
|
+
name?: string | undefined;
|
|
1439
|
+
/**
|
|
1440
|
+
* How far along the wall's axis, from its start, the opening begins. Left out, 1 m, in the model's length unit.
|
|
1441
|
+
* @default undefined
|
|
1442
|
+
* @optional true
|
|
1443
|
+
* @minimum 0
|
|
1444
|
+
* @maximum Infinity
|
|
1445
|
+
*/
|
|
1446
|
+
offset?: number | undefined;
|
|
1447
|
+
/**
|
|
1448
|
+
* How high above the wall's base the opening's bottom is.
|
|
1449
|
+
* @default 0
|
|
1450
|
+
* @minimum -Infinity
|
|
1451
|
+
* @maximum Infinity
|
|
1452
|
+
*/
|
|
1453
|
+
sill?: number | undefined;
|
|
1454
|
+
/**
|
|
1455
|
+
* The opening's width, along the wall. Left out, 1 m, in the model's length unit.
|
|
1456
|
+
* @default undefined
|
|
1457
|
+
* @optional true
|
|
1458
|
+
* @minimum 0
|
|
1459
|
+
* @maximum Infinity
|
|
1460
|
+
* @exclusiveMinimum true
|
|
1461
|
+
*/
|
|
1462
|
+
width?: number | undefined;
|
|
1463
|
+
/**
|
|
1464
|
+
* How high the opening is, from its sill up. Left out, 2 m, in the model's length unit.
|
|
1465
|
+
* @default undefined
|
|
1466
|
+
* @optional true
|
|
1467
|
+
* @minimum 0
|
|
1468
|
+
* @maximum Infinity
|
|
1469
|
+
* @exclusiveMinimum true
|
|
1470
|
+
*/
|
|
1471
|
+
height?: number | undefined;
|
|
1472
|
+
}
|
|
1473
|
+
/**
|
|
1474
|
+
* Where to move an opening to, or what size to make it, for `openings.edit`. Everything left out stays
|
|
1475
|
+
* as it is.
|
|
1476
|
+
*/
|
|
1477
|
+
class EditOpeningDto<T> {
|
|
1478
|
+
constructor(model?: T, opening?: string, offset?: number, sill?: number, width?: number, height?: number);
|
|
1479
|
+
/**
|
|
1480
|
+
* The model to change; it stays as it was, and the call returns the changed model.
|
|
1481
|
+
* @default undefined
|
|
1482
|
+
*/
|
|
1483
|
+
model: T;
|
|
1484
|
+
/**
|
|
1485
|
+
* The opening, or the door or window in it, by GlobalId or by the id it was added with.
|
|
1486
|
+
* @default undefined
|
|
1487
|
+
*/
|
|
1488
|
+
opening: string;
|
|
1489
|
+
/**
|
|
1490
|
+
* How far along the wall's axis, from its start, the opening now begins.
|
|
1491
|
+
* @default undefined
|
|
1492
|
+
* @optional true
|
|
1493
|
+
* @minimum 0
|
|
1494
|
+
* @maximum Infinity
|
|
1495
|
+
*/
|
|
1496
|
+
offset?: number | undefined;
|
|
1497
|
+
/**
|
|
1498
|
+
* How high above the wall's base the opening's bottom now is.
|
|
1499
|
+
* @default undefined
|
|
1500
|
+
* @optional true
|
|
1501
|
+
* @minimum -Infinity
|
|
1502
|
+
* @maximum Infinity
|
|
1503
|
+
*/
|
|
1504
|
+
sill?: number | undefined;
|
|
1505
|
+
/**
|
|
1506
|
+
* The opening's new width, along the wall; an opening with a door or window in it keeps their size.
|
|
1507
|
+
* @default undefined
|
|
1508
|
+
* @optional true
|
|
1509
|
+
* @minimum 0
|
|
1510
|
+
* @maximum Infinity
|
|
1511
|
+
* @exclusiveMinimum true
|
|
1512
|
+
*/
|
|
1513
|
+
width?: number | undefined;
|
|
1514
|
+
/**
|
|
1515
|
+
* The opening's new height; an opening with a door or window in it keeps their size.
|
|
1516
|
+
* @default undefined
|
|
1517
|
+
* @optional true
|
|
1518
|
+
* @minimum 0
|
|
1519
|
+
* @maximum Infinity
|
|
1520
|
+
* @exclusiveMinimum true
|
|
1521
|
+
*/
|
|
1522
|
+
height?: number | undefined;
|
|
1523
|
+
}
|
|
1524
|
+
/**
|
|
1525
|
+
* An opening to cut through a slab for `openings.addInSlab`: an outline in the plan of the slab's
|
|
1526
|
+
* storey, cut through the slab's whole thickness.
|
|
1527
|
+
*/
|
|
1528
|
+
class AddSlabOpeningDto<T> {
|
|
1529
|
+
constructor(model?: T, slab?: string, id?: string, name?: string, outline?: Base.Point2[]);
|
|
1530
|
+
/**
|
|
1531
|
+
* The model to change; it stays as it was, and the call returns the changed model.
|
|
1532
|
+
* @default undefined
|
|
1533
|
+
*/
|
|
1534
|
+
model: T;
|
|
1535
|
+
/**
|
|
1536
|
+
* The slab to cut, by GlobalId or by the id it was added with.
|
|
1537
|
+
* @default undefined
|
|
1538
|
+
*/
|
|
1539
|
+
slab: string;
|
|
1540
|
+
/**
|
|
1541
|
+
* An id of your own for the opening. Leave it out for a generated one.
|
|
1542
|
+
* @default undefined
|
|
1543
|
+
* @optional true
|
|
1544
|
+
*/
|
|
1545
|
+
id?: string | undefined;
|
|
1546
|
+
/**
|
|
1547
|
+
* A name for the opening, which other tools show; it need not be unique.
|
|
1548
|
+
* @default undefined
|
|
1549
|
+
* @optional true
|
|
1550
|
+
*/
|
|
1551
|
+
name?: string | undefined;
|
|
1552
|
+
/**
|
|
1553
|
+
* The opening's outline, as `[x, y]` points in the storey's plan, inside the slab's outline or on
|
|
1554
|
+
* it; either winding works.
|
|
1555
|
+
* @default undefined
|
|
1556
|
+
*/
|
|
1557
|
+
outline: Base.Point2[];
|
|
1558
|
+
}
|
|
1559
|
+
/**
|
|
1560
|
+
* A door type to add for `doors.addType`: a lining around one panel, which every door of the type
|
|
1561
|
+
* shares, so the geometry is written once however many doors there are.
|
|
1562
|
+
*/
|
|
1563
|
+
class AddDoorTypeDto<T> {
|
|
1564
|
+
constructor(model?: T, id?: string, name?: string, width?: number, height?: number, liningThickness?: number, liningDepth?: number, panelThickness?: number, operation?: doorOperationEnum, liningMaterial?: string, panelMaterial?: string, handle?: doorHandleEnum, handleMaterial?: string);
|
|
1565
|
+
/**
|
|
1566
|
+
* The model to change; it stays as it was, and the call returns the changed model.
|
|
1567
|
+
* @default undefined
|
|
1568
|
+
*/
|
|
1569
|
+
model: T;
|
|
1570
|
+
/**
|
|
1571
|
+
* An id of your own for the type, by which doors refer to it. Leave it out for a generated one.
|
|
1572
|
+
* @default undefined
|
|
1573
|
+
* @optional true
|
|
1574
|
+
*/
|
|
1575
|
+
id?: string | undefined;
|
|
1576
|
+
/**
|
|
1577
|
+
* The type's name.
|
|
1578
|
+
* @default Door
|
|
1579
|
+
*/
|
|
1580
|
+
name?: string | undefined;
|
|
1581
|
+
/**
|
|
1582
|
+
* The overall width, lining included; the opening a door of this type cuts is this wide. Left out, 900 mm, in the model's length unit.
|
|
1583
|
+
* @default undefined
|
|
1584
|
+
* @optional true
|
|
1585
|
+
* @minimum 0
|
|
1586
|
+
* @maximum Infinity
|
|
1587
|
+
* @exclusiveMinimum true
|
|
1588
|
+
*/
|
|
1589
|
+
width?: number | undefined;
|
|
1590
|
+
/**
|
|
1591
|
+
* The overall height, lining included. Left out, 2.1 m, in the model's length unit.
|
|
1592
|
+
* @default undefined
|
|
1593
|
+
* @optional true
|
|
1594
|
+
* @minimum 0
|
|
1595
|
+
* @maximum Infinity
|
|
1596
|
+
* @exclusiveMinimum true
|
|
1597
|
+
*/
|
|
1598
|
+
height?: number | undefined;
|
|
1599
|
+
/**
|
|
1600
|
+
* The width of the lining's sides and head; twice it must be less than `width`. Left out, 50 mm, in the model's length unit.
|
|
1601
|
+
* @default undefined
|
|
1602
|
+
* @optional true
|
|
1603
|
+
* @minimum 0
|
|
1604
|
+
* @maximum Infinity
|
|
1605
|
+
* @exclusiveMinimum true
|
|
1606
|
+
*/
|
|
1607
|
+
liningThickness?: number | undefined;
|
|
1608
|
+
/**
|
|
1609
|
+
* How deep the lining is, across the wall; the door is centred in the wall's thickness. Left out, 100 mm, in the model's length unit.
|
|
1610
|
+
* @default undefined
|
|
1611
|
+
* @optional true
|
|
1612
|
+
* @minimum 0
|
|
1613
|
+
* @maximum Infinity
|
|
1614
|
+
* @exclusiveMinimum true
|
|
1615
|
+
*/
|
|
1616
|
+
liningDepth?: number | undefined;
|
|
1617
|
+
/**
|
|
1618
|
+
* The panel's thickness, no more than `liningDepth`. Left out, 40 mm, in the model's length unit.
|
|
1619
|
+
* @default undefined
|
|
1620
|
+
* @optional true
|
|
1621
|
+
* @minimum 0
|
|
1622
|
+
* @maximum Infinity
|
|
1623
|
+
* @exclusiveMinimum true
|
|
1624
|
+
*/
|
|
1625
|
+
panelThickness?: number | undefined;
|
|
1626
|
+
/**
|
|
1627
|
+
* How the door opens, recorded for other tools to draw its swing.
|
|
1628
|
+
* @default singleSwingLeft
|
|
1629
|
+
*/
|
|
1630
|
+
operation?: doorOperationEnum | undefined;
|
|
1631
|
+
/**
|
|
1632
|
+
* The material the lining is made of, added before with `materials.add`; the lining shows its
|
|
1633
|
+
* colour.
|
|
1634
|
+
* @default undefined
|
|
1635
|
+
* @optional true
|
|
1636
|
+
*/
|
|
1637
|
+
liningMaterial?: string | undefined;
|
|
1638
|
+
/**
|
|
1639
|
+
* The material the panel is made of, added before with `materials.add`, such as glass for a
|
|
1640
|
+
* sliding glass door; the panel shows its colour.
|
|
1641
|
+
* @default undefined
|
|
1642
|
+
* @optional true
|
|
1643
|
+
*/
|
|
1644
|
+
panelMaterial?: string | undefined;
|
|
1645
|
+
/**
|
|
1646
|
+
* The handle on both faces of the panel, near the edge away from the hinges that `operation`
|
|
1647
|
+
* names.
|
|
1648
|
+
* @default none
|
|
1649
|
+
*/
|
|
1650
|
+
handle?: doorHandleEnum | undefined;
|
|
1651
|
+
/**
|
|
1652
|
+
* The material the handle is made of, added before with `materials.add`; the handle shows its
|
|
1653
|
+
* colour.
|
|
1654
|
+
* @default undefined
|
|
1655
|
+
* @optional true
|
|
1656
|
+
*/
|
|
1657
|
+
handleMaterial?: string | undefined;
|
|
1658
|
+
}
|
|
1659
|
+
/**
|
|
1660
|
+
* A window type to add for `windows.addType`: a frame around one pane of glass, which every window
|
|
1661
|
+
* of the type shares.
|
|
1662
|
+
*/
|
|
1663
|
+
class AddWindowTypeDto<T> {
|
|
1664
|
+
constructor(model?: T, id?: string, name?: string, width?: number, height?: number, frameThickness?: number, frameDepth?: number, glassThickness?: number, frameMaterial?: string, glassMaterial?: string);
|
|
1665
|
+
/**
|
|
1666
|
+
* The model to change; it stays as it was, and the call returns the changed model.
|
|
1667
|
+
* @default undefined
|
|
1668
|
+
*/
|
|
1669
|
+
model: T;
|
|
1670
|
+
/**
|
|
1671
|
+
* An id of your own for the type, by which windows refer to it. Leave it out for a generated one.
|
|
1672
|
+
* @default undefined
|
|
1673
|
+
* @optional true
|
|
1674
|
+
*/
|
|
1675
|
+
id?: string | undefined;
|
|
1676
|
+
/**
|
|
1677
|
+
* The type's name.
|
|
1678
|
+
* @default Window
|
|
1679
|
+
*/
|
|
1680
|
+
name?: string | undefined;
|
|
1681
|
+
/**
|
|
1682
|
+
* The overall width, frame included; the opening a window of this type cuts is this wide. Left out, 1.2 m, in the model's length unit.
|
|
1683
|
+
* @default undefined
|
|
1684
|
+
* @optional true
|
|
1685
|
+
* @minimum 0
|
|
1686
|
+
* @maximum Infinity
|
|
1687
|
+
* @exclusiveMinimum true
|
|
1688
|
+
*/
|
|
1689
|
+
width?: number | undefined;
|
|
1690
|
+
/**
|
|
1691
|
+
* The overall height, frame included. Left out, 1.2 m, in the model's length unit.
|
|
1692
|
+
* @default undefined
|
|
1693
|
+
* @optional true
|
|
1694
|
+
* @minimum 0
|
|
1695
|
+
* @maximum Infinity
|
|
1696
|
+
* @exclusiveMinimum true
|
|
1697
|
+
*/
|
|
1698
|
+
height?: number | undefined;
|
|
1699
|
+
/**
|
|
1700
|
+
* The width of the frame's members; twice it must be less than both `width` and `height`. Left out, 60 mm, in the model's length unit.
|
|
1701
|
+
* @default undefined
|
|
1702
|
+
* @optional true
|
|
1703
|
+
* @minimum 0
|
|
1704
|
+
* @maximum Infinity
|
|
1705
|
+
* @exclusiveMinimum true
|
|
1706
|
+
*/
|
|
1707
|
+
frameThickness?: number | undefined;
|
|
1708
|
+
/**
|
|
1709
|
+
* How deep the frame is, across the wall; the window is centred in the wall's thickness. Left out, 80 mm, in the model's length unit.
|
|
1710
|
+
* @default undefined
|
|
1711
|
+
* @optional true
|
|
1712
|
+
* @minimum 0
|
|
1713
|
+
* @maximum Infinity
|
|
1714
|
+
* @exclusiveMinimum true
|
|
1715
|
+
*/
|
|
1716
|
+
frameDepth?: number | undefined;
|
|
1717
|
+
/**
|
|
1718
|
+
* The thickness of the glass, no more than `frameDepth`. Left out, 24 mm, in the model's length unit.
|
|
1719
|
+
* @default undefined
|
|
1720
|
+
* @optional true
|
|
1721
|
+
* @minimum 0
|
|
1722
|
+
* @maximum Infinity
|
|
1723
|
+
* @exclusiveMinimum true
|
|
1724
|
+
*/
|
|
1725
|
+
glassThickness?: number | undefined;
|
|
1726
|
+
/**
|
|
1727
|
+
* The material the frame is made of, added before with `materials.add`; the frame shows its
|
|
1728
|
+
* colour.
|
|
1729
|
+
* @default undefined
|
|
1730
|
+
* @optional true
|
|
1731
|
+
*/
|
|
1732
|
+
frameMaterial?: string | undefined;
|
|
1733
|
+
/**
|
|
1734
|
+
* The material of the glass, added before with `materials.add`, usually with a `transparency`;
|
|
1735
|
+
* the glass shows its colour.
|
|
1736
|
+
* @default undefined
|
|
1737
|
+
* @optional true
|
|
1738
|
+
*/
|
|
1739
|
+
glassMaterial?: string | undefined;
|
|
1740
|
+
}
|
|
1741
|
+
/**
|
|
1742
|
+
* A door to place in a wall for `doors.add`: a door type and where along the wall it goes. The door
|
|
1743
|
+
* cuts its own opening, as wide and high as its type.
|
|
1744
|
+
*/
|
|
1745
|
+
class AddDoorDto<T> {
|
|
1746
|
+
constructor(model?: T, wall?: string, doorType?: string, id?: string, name?: string, offset?: number, sill?: number);
|
|
1747
|
+
/**
|
|
1748
|
+
* The model the wall is in.
|
|
1749
|
+
* @default undefined
|
|
1750
|
+
*/
|
|
1751
|
+
model: T;
|
|
1752
|
+
/**
|
|
1753
|
+
* The wall the door goes into, by GlobalId or by the id it was added with.
|
|
1754
|
+
* @default undefined
|
|
1755
|
+
*/
|
|
1756
|
+
wall: string;
|
|
1757
|
+
/**
|
|
1758
|
+
* The door type, added before with `doors.addType`, by GlobalId or by its id.
|
|
1759
|
+
* @default undefined
|
|
1760
|
+
*/
|
|
1761
|
+
doorType: string;
|
|
1762
|
+
/**
|
|
1763
|
+
* An id of your own for the door. Leave it out for a generated one.
|
|
1764
|
+
* @default undefined
|
|
1765
|
+
* @optional true
|
|
1766
|
+
*/
|
|
1767
|
+
id?: string | undefined;
|
|
1768
|
+
/**
|
|
1769
|
+
* A name for the door, which other tools show; it need not be unique.
|
|
1770
|
+
* @default undefined
|
|
1771
|
+
* @optional true
|
|
1772
|
+
*/
|
|
1773
|
+
name?: string | undefined;
|
|
1774
|
+
/**
|
|
1775
|
+
* How far along the wall's axis, from its start, the door begins. Left out, 1 m, in the model's length unit.
|
|
1776
|
+
* @default undefined
|
|
1777
|
+
* @optional true
|
|
1778
|
+
* @minimum 0
|
|
1779
|
+
* @maximum Infinity
|
|
1780
|
+
*/
|
|
1781
|
+
offset?: number | undefined;
|
|
1782
|
+
/**
|
|
1783
|
+
* How high above the wall's base the door's bottom is.
|
|
1784
|
+
* @default 0
|
|
1785
|
+
* @minimum -Infinity
|
|
1786
|
+
* @maximum Infinity
|
|
1787
|
+
*/
|
|
1788
|
+
sill?: number | undefined;
|
|
1789
|
+
}
|
|
1790
|
+
/**
|
|
1791
|
+
* A window to place in a wall for `windows.add`: a window type and where along the wall it goes.
|
|
1792
|
+
* The window cuts its own opening, as wide and high as its type.
|
|
1793
|
+
*/
|
|
1794
|
+
class AddWindowDto<T> {
|
|
1795
|
+
constructor(model?: T, wall?: string, windowType?: string, id?: string, name?: string, offset?: number, sill?: number);
|
|
1796
|
+
/**
|
|
1797
|
+
* The model the wall is in.
|
|
1798
|
+
* @default undefined
|
|
1799
|
+
*/
|
|
1800
|
+
model: T;
|
|
1801
|
+
/**
|
|
1802
|
+
* The wall the window goes into, by GlobalId or by the id it was added with.
|
|
1803
|
+
* @default undefined
|
|
1804
|
+
*/
|
|
1805
|
+
wall: string;
|
|
1806
|
+
/**
|
|
1807
|
+
* The window type, added before with `windows.addType`, by GlobalId or by its id.
|
|
1808
|
+
* @default undefined
|
|
1809
|
+
*/
|
|
1810
|
+
windowType: string;
|
|
1811
|
+
/**
|
|
1812
|
+
* An id of your own for the window. Leave it out for a generated one.
|
|
1813
|
+
* @default undefined
|
|
1814
|
+
* @optional true
|
|
1815
|
+
*/
|
|
1816
|
+
id?: string | undefined;
|
|
1817
|
+
/**
|
|
1818
|
+
* A name for the window, which other tools show; it need not be unique.
|
|
1819
|
+
* @default undefined
|
|
1820
|
+
* @optional true
|
|
1821
|
+
*/
|
|
1822
|
+
name?: string | undefined;
|
|
1823
|
+
/**
|
|
1824
|
+
* How far along the wall's axis, from its start, the window begins. Left out, 1 m, in the model's length unit.
|
|
1825
|
+
* @default undefined
|
|
1826
|
+
* @optional true
|
|
1827
|
+
* @minimum 0
|
|
1828
|
+
* @maximum Infinity
|
|
1829
|
+
*/
|
|
1830
|
+
offset?: number | undefined;
|
|
1831
|
+
/**
|
|
1832
|
+
* How high above the wall's base the window's bottom is. Left out, 900 mm, in the model's length unit.
|
|
1833
|
+
* @default undefined
|
|
1834
|
+
* @optional true
|
|
1835
|
+
* @minimum -Infinity
|
|
1836
|
+
* @maximum Infinity
|
|
1837
|
+
*/
|
|
1838
|
+
sill?: number | undefined;
|
|
1839
|
+
}
|
|
1840
|
+
/**
|
|
1841
|
+
* A slab to add for `slabs.add`: an outline in a storey's plan, with optional holes, extruded down
|
|
1842
|
+
* from its top by its thickness.
|
|
1843
|
+
*/
|
|
1844
|
+
class AddSlabDto<T> {
|
|
1845
|
+
constructor(model?: T, storey?: string, id?: string, name?: string, outline?: Base.Point2[], holes?: Base.Point2[][], thickness?: number, layerSet?: string, topOffset?: number, predefinedType?: slabPredefinedTypeEnum);
|
|
1846
|
+
/**
|
|
1847
|
+
* The model to change; it stays as it was, and the call returns the changed model.
|
|
1848
|
+
* @default undefined
|
|
1849
|
+
*/
|
|
1850
|
+
model: T;
|
|
1851
|
+
/**
|
|
1852
|
+
* The storey the slab belongs to, by GlobalId or by the id it was added with.
|
|
1853
|
+
* @default undefined
|
|
1854
|
+
*/
|
|
1855
|
+
storey: string;
|
|
1856
|
+
/**
|
|
1857
|
+
* An id of your own for the slab. Leave it out for a generated one.
|
|
1858
|
+
* @default undefined
|
|
1859
|
+
* @optional true
|
|
1860
|
+
*/
|
|
1861
|
+
id?: string | undefined;
|
|
1862
|
+
/**
|
|
1863
|
+
* A name for the slab, which other tools show; it need not be unique.
|
|
1864
|
+
* @default undefined
|
|
1865
|
+
* @optional true
|
|
1866
|
+
*/
|
|
1867
|
+
name?: string | undefined;
|
|
1868
|
+
/**
|
|
1869
|
+
* The outline, as `[x, y]` points in the storey's plan, without the first repeated at the end;
|
|
1870
|
+
* either winding works.
|
|
1871
|
+
* @default undefined
|
|
1872
|
+
*/
|
|
1873
|
+
outline: Base.Point2[];
|
|
1874
|
+
/**
|
|
1875
|
+
* Holes through the slab, each an outline like `outline`, inside it.
|
|
1876
|
+
* @default undefined
|
|
1877
|
+
* @optional true
|
|
1878
|
+
*/
|
|
1879
|
+
holes?: Base.Point2[][] | undefined;
|
|
1880
|
+
/**
|
|
1881
|
+
* The slab's thickness, used when no `layerSet` is given. Left out, 200 mm, in the model's length unit.
|
|
1882
|
+
* @default undefined
|
|
1883
|
+
* @optional true
|
|
1884
|
+
* @minimum 0
|
|
1885
|
+
* @maximum Infinity
|
|
1886
|
+
* @exclusiveMinimum true
|
|
1887
|
+
*/
|
|
1888
|
+
thickness?: number | undefined;
|
|
1889
|
+
/**
|
|
1890
|
+
* The name of the layer set the slab is made of, its first layer at the top; its layers set the
|
|
1891
|
+
* thickness.
|
|
1892
|
+
* @default undefined
|
|
1893
|
+
* @optional true
|
|
1894
|
+
*/
|
|
1895
|
+
layerSet?: string | undefined;
|
|
1896
|
+
/**
|
|
1897
|
+
* How high the slab's top is above the storey's floor.
|
|
1898
|
+
* @default 0
|
|
1899
|
+
* @minimum -Infinity
|
|
1900
|
+
* @maximum Infinity
|
|
1901
|
+
*/
|
|
1902
|
+
topOffset?: number | undefined;
|
|
1903
|
+
/**
|
|
1904
|
+
* What kind of slab it is.
|
|
1905
|
+
* @default floor
|
|
1906
|
+
*/
|
|
1907
|
+
predefinedType?: slabPredefinedTypeEnum | undefined;
|
|
1908
|
+
}
|
|
1909
|
+
/**
|
|
1910
|
+
* The section shared by `columns.add`, `beams.add` and `members.add`: its kind and the sizes that kind reads, a
|
|
1911
|
+
* rectangle's `width` and `depth`, a circle's `radius`, or an I section's `width`, `depth`,
|
|
1912
|
+
* `webThickness` and `flangeThickness`.
|
|
1913
|
+
*/
|
|
1914
|
+
abstract class MemberSharedDto<T> {
|
|
1915
|
+
/**
|
|
1916
|
+
* The model to change; it stays as it was, and the call returns the changed model.
|
|
1917
|
+
* @default undefined
|
|
1918
|
+
*/
|
|
1919
|
+
model: T;
|
|
1920
|
+
/**
|
|
1921
|
+
* The storey the member belongs to, by GlobalId or by the id it was added with.
|
|
1922
|
+
* @default undefined
|
|
1923
|
+
*/
|
|
1924
|
+
storey: string;
|
|
1925
|
+
/**
|
|
1926
|
+
* An id of your own for the member. Leave it out for a generated one.
|
|
1927
|
+
* @default undefined
|
|
1928
|
+
* @optional true
|
|
1929
|
+
*/
|
|
1930
|
+
id?: string | undefined;
|
|
1931
|
+
/**
|
|
1932
|
+
* A name for the column, beam or member, which other tools show; it need not be unique.
|
|
1933
|
+
* @default undefined
|
|
1934
|
+
* @optional true
|
|
1935
|
+
*/
|
|
1936
|
+
name?: string | undefined;
|
|
1937
|
+
/**
|
|
1938
|
+
* The section's shape.
|
|
1939
|
+
* @default rectangle
|
|
1940
|
+
*/
|
|
1941
|
+
profile?: profileKindEnum | undefined;
|
|
1942
|
+
/**
|
|
1943
|
+
* The section's size along its X: a rectangle's width, or an I section's flange width. Left out, 300 mm, in the model's length unit.
|
|
1944
|
+
* @default undefined
|
|
1945
|
+
* @optional true
|
|
1946
|
+
* @minimum 0
|
|
1947
|
+
* @maximum Infinity
|
|
1948
|
+
* @exclusiveMinimum true
|
|
1949
|
+
*/
|
|
1950
|
+
width?: number | undefined;
|
|
1951
|
+
/**
|
|
1952
|
+
* The section's size along its Y: a rectangle's depth, or an I section's overall depth. Left out, 300 mm, in the model's length unit.
|
|
1953
|
+
* @default undefined
|
|
1954
|
+
* @optional true
|
|
1955
|
+
* @minimum 0
|
|
1956
|
+
* @maximum Infinity
|
|
1957
|
+
* @exclusiveMinimum true
|
|
1958
|
+
*/
|
|
1959
|
+
depth?: number | undefined;
|
|
1960
|
+
/**
|
|
1961
|
+
* A circular section's radius. Left out, 150 mm, in the model's length unit.
|
|
1962
|
+
* @default undefined
|
|
1963
|
+
* @optional true
|
|
1964
|
+
* @minimum 0
|
|
1965
|
+
* @maximum Infinity
|
|
1966
|
+
* @exclusiveMinimum true
|
|
1967
|
+
*/
|
|
1968
|
+
radius?: number | undefined;
|
|
1969
|
+
/**
|
|
1970
|
+
* An I section's web thickness. Left out, 10 mm, in the model's length unit.
|
|
1971
|
+
* @default undefined
|
|
1972
|
+
* @optional true
|
|
1973
|
+
* @minimum 0
|
|
1974
|
+
* @maximum Infinity
|
|
1975
|
+
* @exclusiveMinimum true
|
|
1976
|
+
*/
|
|
1977
|
+
webThickness?: number | undefined;
|
|
1978
|
+
/**
|
|
1979
|
+
* An I section's flange thickness. Left out, 15 mm, in the model's length unit.
|
|
1980
|
+
* @default undefined
|
|
1981
|
+
* @optional true
|
|
1982
|
+
* @minimum 0
|
|
1983
|
+
* @maximum Infinity
|
|
1984
|
+
* @exclusiveMinimum true
|
|
1985
|
+
*/
|
|
1986
|
+
flangeThickness?: number | undefined;
|
|
1987
|
+
/**
|
|
1988
|
+
* How far the section turns about the member's own axis, in degrees.
|
|
1989
|
+
* @default 0
|
|
1990
|
+
* @minimum -Infinity
|
|
1991
|
+
* @maximum Infinity
|
|
1992
|
+
*/
|
|
1993
|
+
rotation?: number | undefined;
|
|
1994
|
+
/**
|
|
1995
|
+
* The name of the member's material, added before with `materials.add`.
|
|
1996
|
+
* @default undefined
|
|
1997
|
+
* @optional true
|
|
1998
|
+
*/
|
|
1999
|
+
material?: string | undefined;
|
|
2000
|
+
}
|
|
2001
|
+
/**
|
|
2002
|
+
* A column to add for `columns.add`: a section standing upright on a point of a storey's plan.
|
|
2003
|
+
*/
|
|
2004
|
+
class AddColumnDto<T> extends MemberSharedDto<T> {
|
|
2005
|
+
constructor(model?: T, storey?: string, position?: Base.Point2, height?: number, baseOffset?: number, id?: string, name?: string, profile?: profileKindEnum, width?: number, depth?: number, radius?: number, webThickness?: number, flangeThickness?: number, rotation?: number, material?: string);
|
|
2006
|
+
/**
|
|
2007
|
+
* Where the column stands, as `[x, y]` in the storey's plan; the section is centred on it.
|
|
2008
|
+
* @default [0, 0]
|
|
2009
|
+
*/
|
|
2010
|
+
position?: Base.Point2 | undefined;
|
|
2011
|
+
/**
|
|
2012
|
+
* How tall the column is, from its base up. Left out, 3 m, in the model's length unit.
|
|
2013
|
+
* @default undefined
|
|
2014
|
+
* @optional true
|
|
2015
|
+
* @minimum 0
|
|
2016
|
+
* @maximum Infinity
|
|
2017
|
+
* @exclusiveMinimum true
|
|
2018
|
+
*/
|
|
2019
|
+
height?: number | undefined;
|
|
2020
|
+
/**
|
|
2021
|
+
* How far above the storey's floor the column starts.
|
|
2022
|
+
* @default 0
|
|
2023
|
+
* @minimum -Infinity
|
|
2024
|
+
* @maximum Infinity
|
|
2025
|
+
*/
|
|
2026
|
+
baseOffset?: number | undefined;
|
|
2027
|
+
}
|
|
2028
|
+
/**
|
|
2029
|
+
* A beam to add for `beams.add`: a section swept straight from `start` to `end`, centred on that
|
|
2030
|
+
* line, with its Y up when the beam is not vertical.
|
|
2031
|
+
*/
|
|
2032
|
+
class AddBeamDto<T> extends MemberSharedDto<T> {
|
|
2033
|
+
constructor(model?: T, storey?: string, start?: Base.Point3, end?: Base.Point3, id?: string, name?: string, profile?: profileKindEnum, width?: number, depth?: number, radius?: number, webThickness?: number, flangeThickness?: number, rotation?: number, material?: string);
|
|
2034
|
+
/**
|
|
2035
|
+
* Where the beam's axis starts, as `[x, y, z]` in the storey: X and Y in plan, Z up from the
|
|
2036
|
+
* storey's floor.
|
|
2037
|
+
* @default undefined
|
|
2038
|
+
*/
|
|
2039
|
+
start: Base.Point3;
|
|
2040
|
+
/**
|
|
2041
|
+
* Where the beam's axis ends.
|
|
2042
|
+
* @default undefined
|
|
2043
|
+
*/
|
|
2044
|
+
end: Base.Point3;
|
|
2045
|
+
}
|
|
2046
|
+
/**
|
|
2047
|
+
* A member to add for `members.add`: a section swept straight from `start` to `end`, such as a brace,
|
|
2048
|
+
* a rafter, a stud or a mullion.
|
|
2049
|
+
*/
|
|
2050
|
+
class AddMemberDto<T> extends MemberSharedDto<T> {
|
|
2051
|
+
constructor(model?: T, storey?: string, start?: Base.Point3, end?: Base.Point3, id?: string, name?: string, profile?: profileKindEnum, width?: number, depth?: number, radius?: number, webThickness?: number, flangeThickness?: number, rotation?: number, material?: string, predefinedType?: memberPredefinedTypeEnum);
|
|
2052
|
+
/**
|
|
2053
|
+
* Where the member's axis starts, as `[x, y, z]` in the storey: X and Y in plan, Z up from the
|
|
2054
|
+
* storey's floor.
|
|
2055
|
+
* @default undefined
|
|
2056
|
+
*/
|
|
2057
|
+
start: Base.Point3;
|
|
2058
|
+
/**
|
|
2059
|
+
* Where the member's axis ends.
|
|
2060
|
+
* @default undefined
|
|
2061
|
+
*/
|
|
2062
|
+
end: Base.Point3;
|
|
2063
|
+
/**
|
|
2064
|
+
* What kind of member it is.
|
|
2065
|
+
* @default member
|
|
2066
|
+
*/
|
|
2067
|
+
predefinedType?: memberPredefinedTypeEnum | undefined;
|
|
2068
|
+
}
|
|
2069
|
+
/**
|
|
2070
|
+
* A roof to add for `roofs.add`: a flat, mono-pitch, gable or hip roof over a rectangle in a storey's
|
|
2071
|
+
* plan, written as an `IfcRoof` whose parts are sloping slabs.
|
|
2072
|
+
*/
|
|
2073
|
+
class AddRoofDto<T> {
|
|
2074
|
+
constructor(model?: T, storey?: string, id?: string, name?: string, outline?: Base.Point2[], kind?: roofKindEnum, pitch?: number, thickness?: number, layerSet?: string, overhang?: number, baseOffset?: number);
|
|
2075
|
+
/**
|
|
2076
|
+
* The model to change; it stays as it was, and the call returns the changed model.
|
|
2077
|
+
* @default undefined
|
|
2078
|
+
*/
|
|
2079
|
+
model: T;
|
|
2080
|
+
/**
|
|
2081
|
+
* The storey the roof stands on, by GlobalId or by the id it was added with.
|
|
2082
|
+
* @default undefined
|
|
2083
|
+
*/
|
|
2084
|
+
storey: string;
|
|
2085
|
+
/**
|
|
2086
|
+
* An id of your own for the roof. Leave it out for a generated one.
|
|
2087
|
+
* @default undefined
|
|
2088
|
+
* @optional true
|
|
2089
|
+
*/
|
|
2090
|
+
id?: string | undefined;
|
|
2091
|
+
/**
|
|
2092
|
+
* A name for the roof, which other tools show; it need not be unique.
|
|
2093
|
+
* @default undefined
|
|
2094
|
+
* @optional true
|
|
2095
|
+
*/
|
|
2096
|
+
name?: string | undefined;
|
|
2097
|
+
/**
|
|
2098
|
+
* The rectangle's four corners in the storey's plan, such as the walls' outer faces. A mono-pitch
|
|
2099
|
+
* roof rises from the first side; a gable's ridge runs along it.
|
|
2100
|
+
* @default undefined
|
|
2101
|
+
*/
|
|
2102
|
+
outline: Base.Point2[];
|
|
2103
|
+
/**
|
|
2104
|
+
* The roof's shape.
|
|
2105
|
+
* @default gable
|
|
2106
|
+
*/
|
|
2107
|
+
kind?: roofKindEnum | undefined;
|
|
2108
|
+
/**
|
|
2109
|
+
* The slope of a sloping roof, in degrees from level, more than 0 and at most 89.
|
|
2110
|
+
* @default 30
|
|
2111
|
+
* @minimum 0
|
|
2112
|
+
* @maximum 89
|
|
2113
|
+
*/
|
|
2114
|
+
pitch?: number | undefined;
|
|
2115
|
+
/**
|
|
2116
|
+
* The roof's thickness, used when no `layerSet` is given. Left out, 200 mm, in the model's length unit.
|
|
2117
|
+
* @default undefined
|
|
2118
|
+
* @optional true
|
|
2119
|
+
* @minimum 0
|
|
2120
|
+
* @maximum Infinity
|
|
2121
|
+
* @exclusiveMinimum true
|
|
2122
|
+
*/
|
|
2123
|
+
thickness?: number | undefined;
|
|
2124
|
+
/**
|
|
2125
|
+
* The name of the layer set the roof is made of, its first layer at the top, as a slab's is; its
|
|
2126
|
+
* layers set the thickness.
|
|
2127
|
+
* @default undefined
|
|
2128
|
+
* @optional true
|
|
2129
|
+
*/
|
|
2130
|
+
layerSet?: string | undefined;
|
|
2131
|
+
/**
|
|
2132
|
+
* How far the roof reaches past the outline on every side, measured level.
|
|
2133
|
+
* @default 0
|
|
2134
|
+
* @minimum 0
|
|
2135
|
+
* @maximum Infinity
|
|
2136
|
+
*/
|
|
2137
|
+
overhang?: number | undefined;
|
|
2138
|
+
/**
|
|
2139
|
+
* How high above the storey's floor the roof's underside meets the outline, such as the height of
|
|
2140
|
+
* the walls under it.
|
|
2141
|
+
* @default 0
|
|
2142
|
+
* @minimum -Infinity
|
|
2143
|
+
* @maximum Infinity
|
|
2144
|
+
*/
|
|
2145
|
+
baseOffset?: number | undefined;
|
|
2146
|
+
}
|
|
2147
|
+
/**
|
|
2148
|
+
* An assembly to make for `assemblies.add`: an element made of other elements of the model, such as
|
|
2149
|
+
* a facade's cladding boards or a truss's members, which then stand in the model through it.
|
|
2150
|
+
*/
|
|
2151
|
+
class AddAssemblyDto<T> {
|
|
2152
|
+
constructor(model?: T, parts?: string[], id?: string, name?: string, predefinedType?: elementAssemblyPredefinedTypeEnum, objectType?: string);
|
|
2153
|
+
/**
|
|
2154
|
+
* The model to change; it stays as it was, and the call returns the changed model.
|
|
2155
|
+
* @default undefined
|
|
2156
|
+
*/
|
|
2157
|
+
model: T;
|
|
2158
|
+
/**
|
|
2159
|
+
* The elements the assembly is made of, by GlobalId or id. They must stand in one storey, or
|
|
2160
|
+
* other part of the structure, and belong to no other assembly.
|
|
2161
|
+
* @default undefined
|
|
2162
|
+
*/
|
|
2163
|
+
parts: string[];
|
|
2164
|
+
/**
|
|
2165
|
+
* An id of your own for the assembly. Leave it out for a generated one.
|
|
2166
|
+
* @default undefined
|
|
2167
|
+
* @optional true
|
|
2168
|
+
*/
|
|
2169
|
+
id?: string | undefined;
|
|
2170
|
+
/**
|
|
2171
|
+
* A name for the assembly, which other tools show; it need not be unique.
|
|
2172
|
+
* @default undefined
|
|
2173
|
+
* @optional true
|
|
2174
|
+
*/
|
|
2175
|
+
name?: string | undefined;
|
|
2176
|
+
/**
|
|
2177
|
+
* The kind of assembly, as IFC classifies them; `userDefined` for a kind it does not name, which
|
|
2178
|
+
* `objectType` then says.
|
|
2179
|
+
* @default notDefined
|
|
2180
|
+
*/
|
|
2181
|
+
predefinedType?: elementAssemblyPredefinedTypeEnum | undefined;
|
|
2182
|
+
/**
|
|
2183
|
+
* What kind of assembly it is, in words, such as `Cladding`. Required when `predefinedType` is
|
|
2184
|
+
* `userDefined`.
|
|
2185
|
+
* @default undefined
|
|
2186
|
+
* @optional true
|
|
2187
|
+
*/
|
|
2188
|
+
objectType?: string | undefined;
|
|
2189
|
+
}
|
|
2190
|
+
/**
|
|
2191
|
+
* Terrain to add for `site.addTerrain`: the ground of the site as an outline in the site's plan, with
|
|
2192
|
+
* holes where a building or paving meets it, its top at `elevation` and reaching `depth` down.
|
|
2193
|
+
*/
|
|
2194
|
+
class AddTerrainDto<T> {
|
|
2195
|
+
constructor(model?: T, id?: string, name?: string, outline?: Base.Point2[], holes?: Base.Point2[][], depth?: number, elevation?: number, material?: string);
|
|
2196
|
+
/**
|
|
2197
|
+
* The model to change; it stays as it was, and the call returns the changed model.
|
|
2198
|
+
* @default undefined
|
|
2199
|
+
*/
|
|
2200
|
+
model: T;
|
|
2201
|
+
/**
|
|
2202
|
+
* An id of your own for the terrain. Leave it out for a generated one.
|
|
2203
|
+
* @default undefined
|
|
2204
|
+
* @optional true
|
|
2205
|
+
*/
|
|
2206
|
+
id?: string | undefined;
|
|
2207
|
+
/**
|
|
2208
|
+
* A name for the terrain, which other tools show.
|
|
2209
|
+
* @default Terrain
|
|
2210
|
+
*/
|
|
2211
|
+
name?: string | undefined;
|
|
2212
|
+
/**
|
|
2213
|
+
* The outline, as `[x, y]` points in the site's plan, without the first repeated at the end;
|
|
2214
|
+
* either winding works.
|
|
2215
|
+
* @default undefined
|
|
2216
|
+
*/
|
|
2217
|
+
outline: Base.Point2[];
|
|
2218
|
+
/**
|
|
2219
|
+
* Holes in the ground, each an outline like `outline`, inside it, such as a building's footprint
|
|
2220
|
+
* or paving that lies flush with the ground.
|
|
2221
|
+
* @default undefined
|
|
2222
|
+
* @optional true
|
|
2223
|
+
*/
|
|
2224
|
+
holes?: Base.Point2[][] | undefined;
|
|
2225
|
+
/**
|
|
2226
|
+
* How far the ground reaches down from its top. Left out, 1 m, in the model's length unit.
|
|
2227
|
+
* @default undefined
|
|
2228
|
+
* @optional true
|
|
2229
|
+
* @minimum 0
|
|
2230
|
+
* @maximum Infinity
|
|
2231
|
+
* @exclusiveMinimum true
|
|
2232
|
+
*/
|
|
2233
|
+
depth?: number | undefined;
|
|
2234
|
+
/**
|
|
2235
|
+
* How high the ground's top is above the site's origin.
|
|
2236
|
+
* @default 0
|
|
2237
|
+
*/
|
|
2238
|
+
elevation?: number | undefined;
|
|
2239
|
+
/**
|
|
2240
|
+
* The material of the ground, added before with `materials.add`, such as lawn or soil.
|
|
2241
|
+
* @default undefined
|
|
2242
|
+
* @optional true
|
|
2243
|
+
*/
|
|
2244
|
+
material?: string | undefined;
|
|
2245
|
+
}
|
|
2246
|
+
/**
|
|
2247
|
+
* A tree to add for `site.addTree`: a trunk and a rounded crown standing on the site at `position`,
|
|
2248
|
+
* `height` tall overall, written as a geographic element of the site.
|
|
2249
|
+
*/
|
|
2250
|
+
class AddTreeDto<T> {
|
|
2251
|
+
constructor(model?: T, id?: string, name?: string, species?: string, position?: Base.Point2, elevation?: number, height?: number, crownRadius?: number, trunkRadius?: number, crownMaterial?: string, trunkMaterial?: string);
|
|
2252
|
+
/**
|
|
2253
|
+
* The model to change; it stays as it was, and the call returns the changed model.
|
|
2254
|
+
* @default undefined
|
|
2255
|
+
*/
|
|
2256
|
+
model: T;
|
|
2257
|
+
/**
|
|
2258
|
+
* An id of your own for the tree. Leave it out for a generated one.
|
|
2259
|
+
* @default undefined
|
|
2260
|
+
* @optional true
|
|
2261
|
+
*/
|
|
2262
|
+
id?: string | undefined;
|
|
2263
|
+
/**
|
|
2264
|
+
* A name for the tree, which other tools show.
|
|
2265
|
+
* @default Tree
|
|
2266
|
+
*/
|
|
2267
|
+
name?: string | undefined;
|
|
2268
|
+
/**
|
|
2269
|
+
* What kind of tree it is, such as `Silver birch`, written as the element's object type.
|
|
2270
|
+
* @default Tree
|
|
2271
|
+
*/
|
|
2272
|
+
species?: string | undefined;
|
|
2273
|
+
/**
|
|
2274
|
+
* Where the trunk stands, as `[x, y]` in the site's plan.
|
|
2275
|
+
* @default [0, 0]
|
|
2276
|
+
*/
|
|
2277
|
+
position?: Base.Point2 | undefined;
|
|
2278
|
+
/**
|
|
2279
|
+
* How high above the site's origin the trunk stands.
|
|
2280
|
+
* @default 0
|
|
2281
|
+
*/
|
|
2282
|
+
elevation?: number | undefined;
|
|
2283
|
+
/**
|
|
2284
|
+
* The tree's height from the ground to the top of its crown. Left out, 8 m, in the model's length unit.
|
|
2285
|
+
* @default undefined
|
|
2286
|
+
* @optional true
|
|
2287
|
+
* @minimum 0
|
|
2288
|
+
* @maximum Infinity
|
|
2289
|
+
* @exclusiveMinimum true
|
|
2290
|
+
*/
|
|
2291
|
+
height?: number | undefined;
|
|
2292
|
+
/**
|
|
2293
|
+
* How far the crown spreads from the trunk. Left out, 2.5 m, in the model's length unit.
|
|
2294
|
+
* @default undefined
|
|
2295
|
+
* @optional true
|
|
2296
|
+
* @minimum 0
|
|
2297
|
+
* @maximum Infinity
|
|
2298
|
+
* @exclusiveMinimum true
|
|
2299
|
+
*/
|
|
2300
|
+
crownRadius?: number | undefined;
|
|
2301
|
+
/**
|
|
2302
|
+
* The trunk's radius at the ground; it narrows towards the crown. Left out, 150 mm, in the model's length unit.
|
|
2303
|
+
* @default undefined
|
|
2304
|
+
* @optional true
|
|
2305
|
+
* @minimum 0
|
|
2306
|
+
* @maximum Infinity
|
|
2307
|
+
* @exclusiveMinimum true
|
|
2308
|
+
*/
|
|
2309
|
+
trunkRadius?: number | undefined;
|
|
2310
|
+
/**
|
|
2311
|
+
* The material of the crown, added before with `materials.add`.
|
|
2312
|
+
* @default undefined
|
|
2313
|
+
* @optional true
|
|
2314
|
+
*/
|
|
2315
|
+
crownMaterial?: string | undefined;
|
|
2316
|
+
/**
|
|
2317
|
+
* The material of the trunk, added before with `materials.add`.
|
|
2318
|
+
* @default undefined
|
|
2319
|
+
* @optional true
|
|
2320
|
+
*/
|
|
2321
|
+
trunkMaterial?: string | undefined;
|
|
2322
|
+
}
|
|
2323
|
+
/**
|
|
2324
|
+
* One property of a property set: its name, its value and, when the value needs one, its IFC type.
|
|
2325
|
+
* Used by `properties.addSet` and `properties.setValues`. A type outside `IfcValue`, or a value it
|
|
2326
|
+
* cannot hold, is refused.
|
|
2327
|
+
*/
|
|
2328
|
+
class PropertyDto {
|
|
2329
|
+
constructor(name?: string, value?: string | number | boolean, type?: string);
|
|
2330
|
+
/**
|
|
2331
|
+
* The property's name, such as `IsExternal` or `FireRating`.
|
|
2332
|
+
* @default Property
|
|
2333
|
+
*/
|
|
2334
|
+
name?: string | undefined;
|
|
2335
|
+
/**
|
|
2336
|
+
* The property's value: a text, a number, or true or false.
|
|
2337
|
+
* @default undefined
|
|
2338
|
+
*/
|
|
2339
|
+
value: string | number | boolean;
|
|
2340
|
+
/**
|
|
2341
|
+
* The IFC type of the value, any in IFC4's `IfcValue` select, such as `IfcText` or
|
|
2342
|
+
* `IfcThermalTransmittanceMeasure`. Left out, a label, boolean, integer or real, as the value is.
|
|
2343
|
+
* @default undefined
|
|
2344
|
+
* @optional true
|
|
2345
|
+
*/
|
|
2346
|
+
type?: string | undefined;
|
|
2347
|
+
}
|
|
2348
|
+
/**
|
|
2349
|
+
* A property set to attach to elements for `properties.addSet`, such as `Pset_WallCommon` with its
|
|
2350
|
+
* `IsExternal` and `LoadBearing`.
|
|
2351
|
+
*/
|
|
2352
|
+
class AddPropertySetDto<T> {
|
|
2353
|
+
constructor(model?: T, elements?: string[], name?: string, properties?: PropertyDto[]);
|
|
2354
|
+
/**
|
|
2355
|
+
* The model the elements are in.
|
|
2356
|
+
* @default undefined
|
|
2357
|
+
*/
|
|
2358
|
+
model: T;
|
|
2359
|
+
/**
|
|
2360
|
+
* The elements, types or other objects the set describes, each by GlobalId or by the id it was
|
|
2361
|
+
* added with; one set is shared by all of them.
|
|
2362
|
+
* @default undefined
|
|
2363
|
+
*/
|
|
2364
|
+
elements: string[];
|
|
2365
|
+
/**
|
|
2366
|
+
* The set's name. Names starting with `Pset_` are reserved for the sets the IFC standard defines.
|
|
2367
|
+
* @default Properties
|
|
2368
|
+
*/
|
|
2369
|
+
name?: string | undefined;
|
|
2370
|
+
/**
|
|
2371
|
+
* The properties, each name once.
|
|
2372
|
+
* @default undefined
|
|
2373
|
+
*/
|
|
2374
|
+
properties: PropertyDto[];
|
|
2375
|
+
}
|
|
2376
|
+
/**
|
|
2377
|
+
* Values to set in one property set of one object for `properties.setValues`; the set is made when
|
|
2378
|
+
* the object has none of that name.
|
|
2379
|
+
*/
|
|
2380
|
+
class SetPropertyValuesDto<T> {
|
|
2381
|
+
constructor(model?: T, element?: string, name?: string, properties?: PropertyDto[]);
|
|
2382
|
+
/**
|
|
2383
|
+
* The model to change; it stays as it was, and the call returns the changed model.
|
|
2384
|
+
* @default undefined
|
|
2385
|
+
*/
|
|
2386
|
+
model: T;
|
|
2387
|
+
/**
|
|
2388
|
+
* The element, type or other object, by GlobalId or by the id it was added with.
|
|
2389
|
+
* @default undefined
|
|
2390
|
+
*/
|
|
2391
|
+
element: string;
|
|
2392
|
+
/**
|
|
2393
|
+
* The name of the property set, such as `Pset_WallCommon`.
|
|
2394
|
+
* @default Properties
|
|
2395
|
+
*/
|
|
2396
|
+
name?: string | undefined;
|
|
2397
|
+
/**
|
|
2398
|
+
* The properties to set, each name once; a property the set already holds takes the new value.
|
|
2399
|
+
* @default undefined
|
|
2400
|
+
*/
|
|
2401
|
+
properties: PropertyDto[];
|
|
2402
|
+
}
|
|
2403
|
+
/**
|
|
2404
|
+
* Properties to take out of one property set of one object for `properties.removeValues`.
|
|
2405
|
+
*/
|
|
2406
|
+
class RemovePropertyValuesDto<T> {
|
|
2407
|
+
constructor(model?: T, element?: string, name?: string, names?: string[]);
|
|
2408
|
+
/**
|
|
2409
|
+
* The model to change; it stays as it was, and the call returns the changed model.
|
|
2410
|
+
* @default undefined
|
|
2411
|
+
*/
|
|
2412
|
+
model: T;
|
|
2413
|
+
/**
|
|
2414
|
+
* The element, type or other object, by GlobalId or by the id it was added with.
|
|
2415
|
+
* @default undefined
|
|
2416
|
+
*/
|
|
2417
|
+
element: string;
|
|
2418
|
+
/**
|
|
2419
|
+
* The name of the property set, such as `Pset_WallCommon`.
|
|
2420
|
+
* @default Properties
|
|
2421
|
+
*/
|
|
2422
|
+
name?: string | undefined;
|
|
2423
|
+
/**
|
|
2424
|
+
* The names of the properties to take out; the set goes when none are left.
|
|
2425
|
+
* @default undefined
|
|
2426
|
+
*/
|
|
2427
|
+
names: string[];
|
|
2428
|
+
}
|
|
2429
|
+
/**
|
|
2430
|
+
* One property set of one object to take away, for `properties.removeSet`.
|
|
2431
|
+
*/
|
|
2432
|
+
class RemovePropertySetDto<T> {
|
|
2433
|
+
constructor(model?: T, element?: string, name?: string);
|
|
2434
|
+
/**
|
|
2435
|
+
* The model to change; it stays as it was, and the call returns the changed model.
|
|
2436
|
+
* @default undefined
|
|
2437
|
+
*/
|
|
2438
|
+
model: T;
|
|
2439
|
+
/**
|
|
2440
|
+
* The element, type or other object, by GlobalId or by the id it was added with.
|
|
2441
|
+
* @default undefined
|
|
2442
|
+
*/
|
|
2443
|
+
element: string;
|
|
2444
|
+
/**
|
|
2445
|
+
* The name of the property set, such as `Pset_WallCommon`.
|
|
2446
|
+
* @default Properties
|
|
2447
|
+
*/
|
|
2448
|
+
name?: string | undefined;
|
|
2449
|
+
}
|
|
2450
|
+
/**
|
|
2451
|
+
* A property set as `properties.getSets` reads it back.
|
|
2452
|
+
*/
|
|
2453
|
+
class PropertySetInfoDto {
|
|
2454
|
+
/**
|
|
2455
|
+
* What the set is called, such as `Pset_WallCommon`.
|
|
2456
|
+
* @default ""
|
|
2457
|
+
*/
|
|
2458
|
+
name: string;
|
|
2459
|
+
/**
|
|
2460
|
+
* Its single values by property name, such as `{ IsExternal: true }`.
|
|
2461
|
+
* @default {}
|
|
2462
|
+
*/
|
|
2463
|
+
properties: Record<string, string | number | boolean>;
|
|
2464
|
+
}
|
|
2465
|
+
/**
|
|
2466
|
+
* The model and the elements to measure for `quantities.compute`, every one it can when left out.
|
|
2467
|
+
*/
|
|
2468
|
+
class ComputeQuantitiesDto<T> {
|
|
2469
|
+
constructor(model?: T, elements?: string[]);
|
|
2470
|
+
/**
|
|
2471
|
+
* The model to change; it stays as it was, and the call returns the changed model.
|
|
2472
|
+
* @default undefined
|
|
2473
|
+
*/
|
|
2474
|
+
model: T;
|
|
2475
|
+
/**
|
|
2476
|
+
* The elements to measure, each by GlobalId or by the id it was added with. Left out, every element
|
|
2477
|
+
* of a kind this library measures.
|
|
2478
|
+
* @default undefined
|
|
2479
|
+
* @optional true
|
|
2480
|
+
*/
|
|
2481
|
+
elements?: string[] | undefined;
|
|
2482
|
+
}
|
|
2483
|
+
/**
|
|
2484
|
+
* A quantity set as `quantities.get` reads it back: its name and each quantity's value by name.
|
|
2485
|
+
* Areas and volumes are in the model's area and volume units, square and cubic metres in a model
|
|
2486
|
+
* `model.create` made.
|
|
2487
|
+
*/
|
|
2488
|
+
class QuantitySetInfoDto {
|
|
2489
|
+
/**
|
|
2490
|
+
* What the set is called, such as `Qto_WallBaseQuantities`.
|
|
2491
|
+
* @default ""
|
|
2492
|
+
*/
|
|
2493
|
+
name: string;
|
|
2494
|
+
/**
|
|
2495
|
+
* Each quantity's value by its name, such as `{ NetVolume: 5.2 }`: lengths in the model's length
|
|
2496
|
+
* unit, areas and volumes in its area and volume units.
|
|
2497
|
+
* @default {}
|
|
2498
|
+
*/
|
|
2499
|
+
quantities: Record<string, number>;
|
|
2500
|
+
}
|
|
2501
|
+
/**
|
|
2502
|
+
* A model, the elements to describe and how to group them for `geometry.recipe`.
|
|
2503
|
+
*/
|
|
2504
|
+
class GeometryDto<T> {
|
|
2505
|
+
constructor(model?: T, elements?: string[], groupByClass?: boolean);
|
|
2506
|
+
/**
|
|
2507
|
+
* The model whose elements are described.
|
|
2508
|
+
* @default undefined
|
|
2509
|
+
*/
|
|
2510
|
+
model: T;
|
|
2511
|
+
/**
|
|
2512
|
+
* The elements to describe, each by GlobalId or by the id it was added with. Leave it out for
|
|
2513
|
+
* every element with a body.
|
|
2514
|
+
* @default undefined
|
|
2515
|
+
* @optional true
|
|
2516
|
+
*/
|
|
2517
|
+
elements?: string[] | undefined;
|
|
2518
|
+
/**
|
|
2519
|
+
* When true, the elements of each storey, or other part of the structure, are grouped by IFC
|
|
2520
|
+
* class, such as `Walls`; when false they lie in the structure's group.
|
|
2521
|
+
* @default true
|
|
2522
|
+
*/
|
|
2523
|
+
groupByClass?: boolean | undefined;
|
|
2524
|
+
}
|
|
2525
|
+
/**
|
|
2526
|
+
* A model and the elements to check for `geometry.unsupported`.
|
|
2527
|
+
*/
|
|
2528
|
+
class GeometryElementsDto<T> {
|
|
2529
|
+
constructor(model?: T, elements?: string[]);
|
|
2530
|
+
/**
|
|
2531
|
+
* The model whose elements are checked.
|
|
2532
|
+
* @default undefined
|
|
2533
|
+
*/
|
|
2534
|
+
model: T;
|
|
2535
|
+
/**
|
|
2536
|
+
* The elements to check, each by GlobalId or by the id it was added with. Leave it out for
|
|
2537
|
+
* every element with a body.
|
|
2538
|
+
* @default undefined
|
|
2539
|
+
* @optional true
|
|
2540
|
+
*/
|
|
2541
|
+
elements?: string[] | undefined;
|
|
2542
|
+
}
|
|
2543
|
+
/**
|
|
2544
|
+
* A model, the elements to build, and how to build them for `geometry.toShapes`, which builds the
|
|
2545
|
+
* model's recipe as OpenCascade shapes.
|
|
2546
|
+
*/
|
|
2547
|
+
class GeometryToShapesDto<T> {
|
|
2548
|
+
constructor(model?: T, elements?: string[], adjustZtoY?: boolean, emptyWhenFailed?: boolean, facetedMeshes?: boolean, maxTriangles?: number);
|
|
2549
|
+
/**
|
|
2550
|
+
* The model whose elements are built.
|
|
2551
|
+
* @default undefined
|
|
2552
|
+
*/
|
|
2553
|
+
model: T;
|
|
2554
|
+
/**
|
|
2555
|
+
* The elements to build, each by GlobalId or by the id it was added with. Leave it out for
|
|
2556
|
+
* every element with a body.
|
|
2557
|
+
* @default undefined
|
|
2558
|
+
* @optional true
|
|
2559
|
+
*/
|
|
2560
|
+
elements?: string[] | undefined;
|
|
2561
|
+
/**
|
|
2562
|
+
* When true, the shapes turn a quarter turn about X so the model's Z points along Y, which is up
|
|
2563
|
+
* when drawn: `(x, y, z)` becomes `(x, z, -y)`.
|
|
2564
|
+
* @default true
|
|
2565
|
+
*/
|
|
2566
|
+
adjustZtoY?: boolean | undefined;
|
|
2567
|
+
/**
|
|
2568
|
+
* When true, an element that cannot be built comes back as an empty compound and the others are
|
|
2569
|
+
* built; when false, it stops the build.
|
|
2570
|
+
* @default true
|
|
2571
|
+
*/
|
|
2572
|
+
emptyWhenFailed?: boolean | undefined;
|
|
2573
|
+
/**
|
|
2574
|
+
* When true, elements stored as triangle meshes become faceted solids that cut and fillet like
|
|
2575
|
+
* any shape; when false they keep their triangles, which draw and export faster.
|
|
2576
|
+
* @default false
|
|
2577
|
+
*/
|
|
2578
|
+
facetedMeshes?: boolean | undefined;
|
|
2579
|
+
/**
|
|
2580
|
+
* The most triangles a mesh built as a faceted solid may hold; a larger one is not built and
|
|
2581
|
+
* counts as an element that failed.
|
|
2582
|
+
* @default 100000
|
|
2583
|
+
* @minimum 0
|
|
2584
|
+
* @maximum Infinity
|
|
2585
|
+
* @step 10000
|
|
2586
|
+
*/
|
|
2587
|
+
maxTriangles?: number | undefined;
|
|
2588
|
+
}
|
|
2589
|
+
/**
|
|
2590
|
+
* A model, the elements to build, and how to build them for `geometry.toDocument`, which builds the
|
|
2591
|
+
* model's recipe into an OpenCascade assembly document.
|
|
2592
|
+
*/
|
|
2593
|
+
class GeometryToDocumentDto<T> {
|
|
2594
|
+
constructor(model?: T, elements?: string[], name?: string, emptyWhenFailed?: boolean, facetedMeshes?: boolean, maxTriangles?: number, groupByClass?: boolean);
|
|
2595
|
+
/**
|
|
2596
|
+
* The model whose elements are built.
|
|
2597
|
+
* @default undefined
|
|
2598
|
+
*/
|
|
2599
|
+
model: T;
|
|
2600
|
+
/**
|
|
2601
|
+
* The elements to build, each by GlobalId or by the id it was added with. Leave it out for
|
|
2602
|
+
* every element with a body.
|
|
2603
|
+
* @default undefined
|
|
2604
|
+
* @optional true
|
|
2605
|
+
*/
|
|
2606
|
+
elements?: string[] | undefined;
|
|
2607
|
+
/**
|
|
2608
|
+
* The name of the assembly at the top of the document, which holds every element.
|
|
2609
|
+
* @default Model
|
|
2610
|
+
*/
|
|
2611
|
+
name?: string | undefined;
|
|
2612
|
+
/**
|
|
2613
|
+
* When true, an element that cannot be built is left out of the document and the others are
|
|
2614
|
+
* built; when false, it stops the build.
|
|
2615
|
+
* @default true
|
|
2616
|
+
*/
|
|
2617
|
+
emptyWhenFailed?: boolean | undefined;
|
|
2618
|
+
/**
|
|
2619
|
+
* When true, elements stored as triangle meshes become faceted solids that cut and fillet like
|
|
2620
|
+
* any shape; when false STEP carries their triangles as tessellated geometry, smaller and faster.
|
|
2621
|
+
* @default false
|
|
2622
|
+
*/
|
|
2623
|
+
facetedMeshes?: boolean | undefined;
|
|
2624
|
+
/**
|
|
2625
|
+
* The most triangles a mesh built as a faceted solid may hold; a larger one is not built and
|
|
2626
|
+
* counts as an element that failed.
|
|
2627
|
+
* @default 100000
|
|
2628
|
+
* @minimum 0
|
|
2629
|
+
* @maximum Infinity
|
|
2630
|
+
* @step 10000
|
|
2631
|
+
*/
|
|
2632
|
+
maxTriangles?: number | undefined;
|
|
2633
|
+
/**
|
|
2634
|
+
* When true, each storey's elements are gathered in assemblies by IFC class, such as `Walls`
|
|
2635
|
+
* and `Slabs`; when false they lie in the storey's assembly directly.
|
|
2636
|
+
* @default true
|
|
2637
|
+
*/
|
|
2638
|
+
groupByClass?: boolean | undefined;
|
|
2639
|
+
}
|
|
2640
|
+
/**
|
|
2641
|
+
* A model, the elements to write, and the file options for `geometry.toStep`, which writes the
|
|
2642
|
+
* model's elements as a STEP file of OpenCascade shapes.
|
|
2643
|
+
*/
|
|
2644
|
+
class GeometryToStepDto<T> {
|
|
2645
|
+
constructor(model?: T, elements?: string[], name?: string, fileName?: string, emptyWhenFailed?: boolean, facetedMeshes?: boolean, maxTriangles?: number, compress?: boolean, tryDownload?: boolean, groupByClass?: boolean);
|
|
2646
|
+
/**
|
|
2647
|
+
* The model whose elements are written.
|
|
2648
|
+
* @default undefined
|
|
2649
|
+
*/
|
|
2650
|
+
model: T;
|
|
2651
|
+
/**
|
|
2652
|
+
* The elements to write, each by GlobalId or by the id it was added with. Leave it out for
|
|
2653
|
+
* every element with a body.
|
|
2654
|
+
* @default undefined
|
|
2655
|
+
* @optional true
|
|
2656
|
+
*/
|
|
2657
|
+
elements?: string[] | undefined;
|
|
2658
|
+
/**
|
|
2659
|
+
* The name of the assembly at the top of the file, which holds every element.
|
|
2660
|
+
* @default Model
|
|
2661
|
+
*/
|
|
2662
|
+
name?: string | undefined;
|
|
2663
|
+
/**
|
|
2664
|
+
* The file name, used for the download and written into the file's header.
|
|
2665
|
+
* @default model.step
|
|
2666
|
+
*/
|
|
2667
|
+
fileName?: string | undefined;
|
|
2668
|
+
/**
|
|
2669
|
+
* When true, an element that cannot be built is left out of the file and the others are
|
|
2670
|
+
* written; when false, it stops the export.
|
|
2671
|
+
* @default true
|
|
2672
|
+
*/
|
|
2673
|
+
emptyWhenFailed?: boolean | undefined;
|
|
2674
|
+
/**
|
|
2675
|
+
* When true, elements stored as triangle meshes are written as faceted solids; when false they
|
|
2676
|
+
* are written as tessellated geometry, which is faster and smaller.
|
|
2677
|
+
* @default false
|
|
2678
|
+
*/
|
|
2679
|
+
facetedMeshes?: boolean | undefined;
|
|
2680
|
+
/**
|
|
2681
|
+
* The most triangles a mesh built as a faceted solid may hold; a larger one is not built and
|
|
2682
|
+
* counts as an element that failed.
|
|
2683
|
+
* @default 100000
|
|
2684
|
+
* @minimum 0
|
|
2685
|
+
* @maximum Infinity
|
|
2686
|
+
* @step 10000
|
|
2687
|
+
*/
|
|
2688
|
+
maxTriangles?: number | undefined;
|
|
2689
|
+
/**
|
|
2690
|
+
* When true, the file is written as gzip-compressed STEP-Z.
|
|
2691
|
+
* @default false
|
|
2692
|
+
*/
|
|
2693
|
+
compress?: boolean | undefined;
|
|
2694
|
+
/**
|
|
2695
|
+
* When true, a browser download of the file is started where that is possible; the bytes are
|
|
2696
|
+
* returned either way.
|
|
2697
|
+
* @default false
|
|
2698
|
+
*/
|
|
2699
|
+
tryDownload?: boolean | undefined;
|
|
2700
|
+
/**
|
|
2701
|
+
* When true, each storey's elements are gathered in assemblies by IFC class, such as `Walls`
|
|
2702
|
+
* and `Slabs`; when false they lie in the storey's assembly directly.
|
|
2703
|
+
* @default true
|
|
2704
|
+
*/
|
|
2705
|
+
groupByClass?: boolean | undefined;
|
|
2706
|
+
}
|
|
2707
|
+
/**
|
|
2708
|
+
* An element `geometry.recipe` had to leave out, as `geometry.unsupported` lists it.
|
|
2709
|
+
*/
|
|
2710
|
+
class GeometryProblemDto {
|
|
2711
|
+
/**
|
|
2712
|
+
* The GlobalId of the element left out.
|
|
2713
|
+
* @default ""
|
|
2714
|
+
*/
|
|
2715
|
+
globalId: string;
|
|
2716
|
+
/**
|
|
2717
|
+
* Its IFC type, such as `IfcWall`.
|
|
2718
|
+
* @default ""
|
|
2719
|
+
*/
|
|
2720
|
+
type: string;
|
|
2721
|
+
/**
|
|
2722
|
+
* What could not be described, in a sentence.
|
|
2723
|
+
* @default ""
|
|
2724
|
+
*/
|
|
2725
|
+
message: string;
|
|
2726
|
+
}
|
|
2727
|
+
}
|