@snaptrude/plugin-core 0.7.1 → 0.9.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/CHANGELOG.md +29 -0
- package/api-manifest.full.json +7703 -0
- package/api-manifest.json +2946 -259
- package/dist/api/analysis/daylight.d.ts +603 -0
- package/dist/api/analysis/daylight.d.ts.map +1 -0
- package/dist/api/analysis/heatmaps.d.ts +438 -14
- package/dist/api/analysis/heatmaps.d.ts.map +1 -1
- package/dist/api/analysis/index.d.ts +15 -0
- package/dist/api/analysis/index.d.ts.map +1 -1
- package/dist/api/analysis/solar.d.ts +249 -0
- package/dist/api/analysis/solar.d.ts.map +1 -0
- package/dist/api/analysis/weather.d.ts +193 -0
- package/dist/api/analysis/weather.d.ts.map +1 -0
- package/dist/api/core/camera/index.d.ts +245 -0
- package/dist/api/core/camera/index.d.ts.map +1 -0
- package/dist/api/core/comment/index.d.ts +105 -2
- package/dist/api/core/comment/index.d.ts.map +1 -1
- package/dist/api/core/geom/create/index.d.ts +331 -14
- package/dist/api/core/geom/create/index.d.ts.map +1 -1
- package/dist/api/core/geom/delete/index.d.ts +8 -2
- package/dist/api/core/geom/delete/index.d.ts.map +1 -1
- package/dist/api/core/geom/query/arc.d.ts +5 -5
- package/dist/api/core/geom/query/brep.d.ts +18 -18
- package/dist/api/core/geom/query/circle.d.ts +18 -18
- package/dist/api/core/geom/query/contour.d.ts +20 -20
- package/dist/api/core/geom/query/curve.d.ts +49 -49
- package/dist/api/core/geom/query/edge.d.ts +5 -5
- package/dist/api/core/geom/query/face.d.ts +16 -16
- package/dist/api/core/geom/query/halfedge.d.ts +8 -8
- package/dist/api/core/geom/query/profile.d.ts +19 -19
- package/dist/api/core/geom/query/vertex.d.ts +8 -8
- package/dist/api/core/geom/update/contour.d.ts +14 -14
- package/dist/api/core/geom/update/curve.d.ts +7 -7
- package/dist/api/core/geom/update/profile.d.ts +16 -16
- package/dist/api/core/handles/index.d.ts +210 -0
- package/dist/api/core/handles/index.d.ts.map +1 -0
- package/dist/api/core/index.d.ts +24 -0
- package/dist/api/core/index.d.ts.map +1 -1
- package/dist/api/core/io/export/index.d.ts +134 -0
- package/dist/api/core/io/export/index.d.ts.map +1 -0
- package/dist/api/core/io/import/index.d.ts +62 -1
- package/dist/api/core/io/import/index.d.ts.map +1 -1
- package/dist/api/core/io/index.d.ts +5 -0
- package/dist/api/core/io/index.d.ts.map +1 -1
- package/dist/api/core/layers.d.ts +7 -7
- package/dist/api/core/mode/index.d.ts +99 -0
- package/dist/api/core/mode/index.d.ts.map +1 -0
- package/dist/api/core/proposals/index.d.ts +65 -9
- package/dist/api/core/proposals/index.d.ts.map +1 -1
- package/dist/api/core/storeys/index.d.ts +251 -0
- package/dist/api/core/storeys/index.d.ts.map +1 -0
- package/dist/api/core/tags.d.ts +24 -0
- package/dist/api/core/tags.d.ts.map +1 -1
- package/dist/api/core/user.d.ts +44 -0
- package/dist/api/core/user.d.ts.map +1 -0
- package/dist/api/core/zoom/index.d.ts +4 -0
- package/dist/api/core/zoom/index.d.ts.map +1 -1
- package/dist/api/design/boolean/index.d.ts +4 -4
- package/dist/api/design/create/index.d.ts +253 -47
- package/dist/api/design/create/index.d.ts.map +1 -1
- package/dist/api/design/delete/index.d.ts +3 -0
- package/dist/api/design/delete/index.d.ts.map +1 -1
- package/dist/api/design/doors/index.d.ts +36 -0
- package/dist/api/design/doors/index.d.ts.map +1 -1
- package/dist/api/design/edit/index.d.ts +1 -1
- package/dist/api/design/erase/index.d.ts +2 -2
- package/dist/api/design/furniture/index.d.ts +114 -3
- package/dist/api/design/furniture/index.d.ts.map +1 -1
- package/dist/api/design/index.d.ts +10 -0
- package/dist/api/design/index.d.ts.map +1 -1
- package/dist/api/design/materials/index.d.ts +111 -14
- package/dist/api/design/materials/index.d.ts.map +1 -1
- package/dist/api/design/query/geometry/index.d.ts +112 -0
- package/dist/api/design/query/geometry/index.d.ts.map +1 -1
- package/dist/api/design/query/index.d.ts +35 -1
- package/dist/api/design/query/index.d.ts.map +1 -1
- package/dist/api/design/query/referenceLines.d.ts +45 -0
- package/dist/api/design/query/referenceLines.d.ts.map +1 -0
- package/dist/api/design/query/spaces.d.ts +178 -5
- package/dist/api/design/query/spaces.d.ts.map +1 -1
- package/dist/api/design/transform/index.d.ts +95 -14
- package/dist/api/design/transform/index.d.ts.map +1 -1
- package/dist/api/design/types/index.d.ts +181 -0
- package/dist/api/design/types/index.d.ts.map +1 -0
- package/dist/api/design/update/index.d.ts +385 -2
- package/dist/api/design/update/index.d.ts.map +1 -1
- package/dist/api/design/visibility.d.ts +98 -0
- package/dist/api/design/visibility.d.ts.map +1 -0
- package/dist/api/entity/buildableEnvelope.d.ts +4 -0
- package/dist/api/entity/buildableEnvelope.d.ts.map +1 -1
- package/dist/api/entity/referenceLine.d.ts +10 -2
- package/dist/api/entity/referenceLine.d.ts.map +1 -1
- package/dist/api/entity/space.d.ts +19 -19
- package/dist/api/entity/story.d.ts +148 -15
- package/dist/api/entity/story.d.ts.map +1 -1
- package/dist/api/index.d.ts +5 -0
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/presentation/annotate.d.ts +448 -0
- package/dist/api/presentation/annotate.d.ts.map +1 -0
- package/dist/api/presentation/diagrams.d.ts +49 -8
- package/dist/api/presentation/diagrams.d.ts.map +1 -1
- package/dist/api/presentation/export.d.ts +108 -0
- package/dist/api/presentation/export.d.ts.map +1 -0
- package/dist/api/presentation/import.d.ts +6 -0
- package/dist/api/presentation/import.d.ts.map +1 -1
- package/dist/api/presentation/index.d.ts +47 -0
- package/dist/api/presentation/index.d.ts.map +1 -1
- package/dist/api/presentation/placedViews.d.ts +370 -0
- package/dist/api/presentation/placedViews.d.ts.map +1 -0
- package/dist/api/presentation/shapes.d.ts +481 -0
- package/dist/api/presentation/shapes.d.ts.map +1 -0
- package/dist/api/presentation/sheets.d.ts +410 -13
- package/dist/api/presentation/sheets.d.ts.map +1 -1
- package/dist/api/presentation/views.d.ts +165 -10
- package/dist/api/presentation/views.d.ts.map +1 -1
- package/dist/api/program/areas.d.ts +63 -3
- package/dist/api/program/areas.d.ts.map +1 -1
- package/dist/api/program/cores.d.ts +3 -99
- package/dist/api/program/cores.d.ts.map +1 -1
- package/dist/api/program/index.d.ts +2 -2
- package/dist/api/program/index.d.ts.map +1 -1
- package/dist/api/program/layout.d.ts +172 -12
- package/dist/api/program/layout.d.ts.map +1 -1
- package/dist/api/program/site.d.ts +105 -8
- package/dist/api/program/site.d.ts.map +1 -1
- package/dist/api/program/spreadsheet.d.ts +365 -41
- package/dist/api/program/spreadsheet.d.ts.map +1 -1
- package/dist/api/workspace/index.d.ts +460 -0
- package/dist/api/workspace/index.d.ts.map +1 -0
- package/dist/handles.d.ts +64 -25
- package/dist/handles.d.ts.map +1 -1
- package/dist/index.cjs +3210 -1671
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +3008 -1666
- package/dist/index.js.map +1 -1
- package/package.json +3 -2
- package/scripts/generate-manifest.mjs +45 -0
- package/src/api/analysis/daylight.ts +470 -0
- package/src/api/analysis/heatmaps.ts +444 -17
- package/src/api/analysis/index.ts +15 -0
- package/src/api/analysis/solar.ts +237 -0
- package/src/api/analysis/weather.ts +179 -0
- package/src/api/core/camera/index.ts +251 -0
- package/src/api/core/comment/index.ts +120 -2
- package/src/api/core/geom/create/index.ts +344 -1
- package/src/api/core/geom/delete/index.ts +6 -0
- package/src/api/core/handles/index.ts +233 -0
- package/src/api/core/index.ts +24 -0
- package/src/api/core/io/export/index.ts +126 -0
- package/src/api/core/io/import/index.ts +64 -0
- package/src/api/core/io/index.ts +5 -0
- package/src/api/core/mode/index.ts +96 -0
- package/src/api/core/proposals/index.ts +71 -11
- package/src/api/core/storeys/index.ts +279 -0
- package/src/api/core/tags.ts +27 -0
- package/src/api/core/user.ts +46 -0
- package/src/api/core/zoom/index.ts +4 -0
- package/src/api/design/create/index.ts +303 -36
- package/src/api/design/delete/index.ts +3 -0
- package/src/api/design/doors/index.ts +40 -0
- package/src/api/design/furniture/index.ts +127 -3
- package/src/api/design/index.ts +10 -0
- package/src/api/design/materials/index.ts +157 -30
- package/src/api/design/query/geometry/index.ts +125 -3
- package/src/api/design/query/index.ts +37 -7
- package/src/api/design/query/referenceLines.ts +52 -0
- package/src/api/design/query/spaces.ts +143 -0
- package/src/api/design/transform/index.ts +101 -12
- package/src/api/design/types/index.ts +156 -0
- package/src/api/design/update/index.ts +467 -6
- package/src/api/design/visibility.ts +109 -0
- package/src/api/entity/buildableEnvelope.ts +4 -0
- package/src/api/entity/referenceLine.ts +8 -0
- package/src/api/entity/story.ts +161 -15
- package/src/api/index.ts +5 -0
- package/src/api/presentation/annotate.ts +360 -0
- package/src/api/presentation/diagrams.ts +53 -8
- package/src/api/presentation/export.ts +108 -0
- package/src/api/presentation/import.ts +6 -0
- package/src/api/presentation/index.ts +55 -0
- package/src/api/presentation/placedViews.ts +363 -0
- package/src/api/presentation/shapes.ts +274 -0
- package/src/api/presentation/sheets.ts +346 -13
- package/src/api/presentation/views.ts +164 -12
- package/src/api/program/areas.ts +57 -6
- package/src/api/program/cores.ts +3 -91
- package/src/api/program/index.ts +2 -2
- package/src/api/program/layout.ts +182 -12
- package/src/api/program/site.ts +106 -8
- package/src/api/program/spreadsheet.ts +376 -35
- package/src/api/workspace/index.ts +516 -0
- package/src/handles.ts +77 -13
- package/tsconfig.json +7 -2
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import * as z from "zod";
|
|
2
2
|
import { PluginApiReturn } from "../../../types";
|
|
3
|
-
import { ComponentHandle, ContourHandle, ProfileHandle, Vec3Handle } from "../../../handles";
|
|
3
|
+
import { BrepHandle, ComponentHandle, ContourHandle, ProfileHandle, Vec3Handle } from "../../../handles";
|
|
4
4
|
import { PluginSpaceType, PluginMassType, PluginDepartmentId } from "../../entity/space";
|
|
5
|
+
import { PluginBuildableEnvelopePolygonVertex, PluginBuildableEnvelopeSetbackTier, PluginBuildableEnvelopeVerticalCap, PluginBuildableEnvelopeCreateResult } from "../../entity/buildableEnvelope";
|
|
5
6
|
/**
|
|
6
7
|
* `design.create.*` — author new scene-committed BIM entities.
|
|
7
8
|
*
|
|
@@ -39,14 +40,25 @@ export declare abstract class PluginDesignCreateApi {
|
|
|
39
40
|
* @param spaceType - Space-type classification (default `Room`)
|
|
40
41
|
* @param massType - Mass-type classification (default `Room`)
|
|
41
42
|
* @param departmentId - Department assignment (default department)
|
|
43
|
+
* @param storey - Target storey number to place the space on — the same integer
|
|
44
|
+
* `entity.story` uses (`1` ground, `2` first floor, `-1` basement). Default:
|
|
45
|
+
* the active storey. Folds a `core.storeys.setActive` call into the create,
|
|
46
|
+
* placing the space at that storey's floor elevation (any `position` offset is
|
|
47
|
+
* applied on top). Throws if no storey has that value.
|
|
42
48
|
* @returns the {@linkcode ComponentHandle} of the created space
|
|
43
|
-
* @throws if the contour is invalid
|
|
49
|
+
* @throws if the contour is invalid, the height is not positive, or the target
|
|
50
|
+
* storey does not exist
|
|
44
51
|
*
|
|
45
52
|
* @examplePrompt Create a room called Living Room that's 3m tall from this outline
|
|
46
53
|
* @examplePrompt Add a new space on the current storey using this footprint
|
|
47
54
|
* @examplePrompt Make a bedroom here and assign it to the Residential department
|
|
48
55
|
* @examplePrompt Extrude this closed outline into a 10 foot high room
|
|
49
56
|
* @examplePrompt Can you create a Kitchen space from the sketch I just drew?
|
|
57
|
+
* @examplePrompt Create a bedroom on the second floor from this outline
|
|
58
|
+
*
|
|
59
|
+
* @performance For MORE THAN ONE space, call `design.create.spaces(items[])` — the whole
|
|
60
|
+
* batch is one host round-trip. Looping this single-space creator is N round-trips (slow,
|
|
61
|
+
* and a large loop can trip the plugin rate limit).
|
|
50
62
|
*
|
|
51
63
|
* # Example
|
|
52
64
|
* ```ts
|
|
@@ -59,9 +71,13 @@ export declare abstract class PluginDesignCreateApi {
|
|
|
59
71
|
* ])
|
|
60
72
|
* const contour = await snaptrude.core.geom.create.contourFromProfile(outer)
|
|
61
73
|
* const space = await snaptrude.design.create.space(contour, 3, "Living")
|
|
74
|
+
* // …place one directly on the second floor (no setActive dance):
|
|
75
|
+
* const upstairs = await snaptrude.design.create.space(
|
|
76
|
+
* contour, 3, "Bedroom", undefined, undefined, undefined, undefined, 2,
|
|
77
|
+
* )
|
|
62
78
|
* ```
|
|
63
79
|
*/
|
|
64
|
-
abstract space(contour: ContourHandle, height: number, label?: string, position?: Vec3Handle, spaceType?: PluginSpaceType, massType?: PluginMassType, departmentId?: PluginDepartmentId): PluginApiReturn<ComponentHandle>;
|
|
80
|
+
abstract space(contour: ContourHandle, height: number, label?: string, position?: Vec3Handle, spaceType?: PluginSpaceType, massType?: PluginMassType, departmentId?: PluginDepartmentId, storey?: number): PluginApiReturn<ComponentHandle>;
|
|
65
81
|
/**
|
|
66
82
|
* Create a **mass** — a generic extruded prism (default `massType` "Generic mass").
|
|
67
83
|
* Same footprint-extrude path as {@linkcode PluginDesignCreateApi.space}.
|
|
@@ -87,6 +103,47 @@ export declare abstract class PluginDesignCreateApi {
|
|
|
87
103
|
* ```
|
|
88
104
|
*/
|
|
89
105
|
abstract mass(contour: ContourHandle, height: number, label?: string, position?: Vec3Handle, massType?: PluginMassType): PluginApiReturn<ComponentHandle>;
|
|
106
|
+
/**
|
|
107
|
+
* Create a **mass** from a custom solid built with a `core.geom.create` brep
|
|
108
|
+
* constructor (`brepFromFaces`, `brepFromExtrusion`, `brepFromLoft`,
|
|
109
|
+
* `brepFromMesh`, or a brep boolean) — the free-form counterpart of
|
|
110
|
+
* {@linkcode PluginDesignCreateApi.mass}, for solids that are not simple
|
|
111
|
+
* footprint extrusions (pyramids, wedges, faceted volumes).
|
|
112
|
+
*
|
|
113
|
+
* Only accepts breps **minted by a `core.geom.create` brep constructor** —
|
|
114
|
+
* scene-derived breps from `design.query.geometry.getBrep` are read-only and
|
|
115
|
+
* throw. The mass is created as a generic mass (`massType` "Generic mass") at
|
|
116
|
+
* the exact coordinates the solid was authored in, committed as a single
|
|
117
|
+
* undo step, and synced to collaborators like any other creator.
|
|
118
|
+
*
|
|
119
|
+
* @param brep - A solid from a `core.geom.create` brep constructor
|
|
120
|
+
* @param label - Label (maps to `room_type`)
|
|
121
|
+
* @returns the {@linkcode ComponentHandle} of the created mass
|
|
122
|
+
* @throws if the brep handle is invalid, or the brep was not created by a
|
|
123
|
+
* `core.geom.create` brep constructor
|
|
124
|
+
*
|
|
125
|
+
* @examplePrompt Create a mass from these faces
|
|
126
|
+
* @examplePrompt Turn this custom brep into a scene mass
|
|
127
|
+
* @examplePrompt Add a pyramid-shaped mass to the model
|
|
128
|
+
*
|
|
129
|
+
* # Example
|
|
130
|
+
* ```ts
|
|
131
|
+
* const apex = { x: 0, y: 4, z: 0 }
|
|
132
|
+
* const a = { x: -2, y: 0, z: -2 }
|
|
133
|
+
* const b = { x: 2, y: 0, z: -2 }
|
|
134
|
+
* const c = { x: 2, y: 0, z: 2 }
|
|
135
|
+
* const d = { x: -2, y: 0, z: 2 }
|
|
136
|
+
* const brep = await snaptrude.core.geom.create.brepFromFaces([
|
|
137
|
+
* [a, d, c, b],
|
|
138
|
+
* [a, b, apex],
|
|
139
|
+
* [b, c, apex],
|
|
140
|
+
* [c, d, apex],
|
|
141
|
+
* [d, a, apex],
|
|
142
|
+
* ])
|
|
143
|
+
* const pyramid = await snaptrude.design.create.massFromBrep(brep, "Pavilion")
|
|
144
|
+
* ```
|
|
145
|
+
*/
|
|
146
|
+
abstract massFromBrep(brep: BrepHandle, label?: string): PluginApiReturn<ComponentHandle>;
|
|
90
147
|
/**
|
|
91
148
|
* Create a **slab** by extruding a footprint contour by `thickness`
|
|
92
149
|
* (default direction: down).
|
|
@@ -182,14 +239,17 @@ export declare abstract class PluginDesignCreateApi {
|
|
|
182
239
|
abstract ceiling(contour: ContourHandle, thickness: number, heightFromFloor?: number): PluginApiReturn<ComponentHandle>;
|
|
183
240
|
/**
|
|
184
241
|
* Create a **column** by extruding a cross-section contour upward by `height`
|
|
185
|
-
* from a base `position`.
|
|
242
|
+
* from a base `position`. The column is built to EXACTLY `height` — unlike
|
|
243
|
+
* the interactive draw tool, no slab-thickness deduction is applied.
|
|
186
244
|
*
|
|
187
245
|
* @param position - Base point
|
|
188
246
|
* @param crossSection - Column cross-section footprint
|
|
189
|
-
* @param height - Column height (> 0)
|
|
190
|
-
* @param directionUp - Up axis (default world up)
|
|
247
|
+
* @param height - Column height (> 0), built exactly
|
|
248
|
+
* @param directionUp - Up axis (default world up); normalized by the host, so
|
|
249
|
+
* magnitude does not scale the height
|
|
191
250
|
* @returns the {@linkcode ComponentHandle} of the created column
|
|
192
|
-
* @throws if the cross-section is invalid
|
|
251
|
+
* @throws if the cross-section is invalid, the height is not positive, or the
|
|
252
|
+
* direction is zero / lies in the cross-section plane (degenerate extrusion)
|
|
193
253
|
*
|
|
194
254
|
* @examplePrompt Add a 3m tall column at this point
|
|
195
255
|
* @examplePrompt Place a column at the grid intersection
|
|
@@ -207,13 +267,30 @@ export declare abstract class PluginDesignCreateApi {
|
|
|
207
267
|
abstract column(position: Vec3Handle, crossSection: ContourHandle, height: number, directionUp?: Vec3Handle): PluginApiReturn<ComponentHandle>;
|
|
208
268
|
/**
|
|
209
269
|
* Create a **beam** by extruding a cross-section contour along `direction` by
|
|
210
|
-
* `length`.
|
|
270
|
+
* `length`. Matches the Snaptrude beam tool's semantics: the beam body hangs
|
|
271
|
+
* BELOW the plane the section is authored on.
|
|
272
|
+
*
|
|
273
|
+
* For a **horizontal** `direction` (the common spanning beam), author the
|
|
274
|
+
* section as an axis-aligned plan rectangle: its X extent is the beam's
|
|
275
|
+
* width, its Z extent is the beam's depth (the vertical drop). The beam runs
|
|
276
|
+
* `length` along `direction` starting at the section's centre, hanging below
|
|
277
|
+
* the authoring plane by its depth — exactly like an interactively drawn
|
|
278
|
+
* beam. Only axis-aligned rectangular sections are supported horizontally.
|
|
211
279
|
*
|
|
212
|
-
*
|
|
213
|
-
*
|
|
214
|
-
*
|
|
280
|
+
* For a **vertical** `direction` (the default), the section itself is
|
|
281
|
+
* extruded by `length`, again hanging below the authoring plane. Diagonal
|
|
282
|
+
* directions are rejected.
|
|
283
|
+
*
|
|
284
|
+
* @param section - Beam cross-section, an axis-aligned rectangle in plan
|
|
285
|
+
* (X extent = width, Z extent = depth)
|
|
286
|
+
* @param length - Beam length along `direction` (> 0); direction is
|
|
287
|
+
* normalized by the host, so magnitude does not scale the length
|
|
288
|
+
* @param direction - Beam axis: horizontal for a spanning beam, or vertical
|
|
289
|
+
* (default world up). Diagonal directions throw.
|
|
215
290
|
* @returns the {@linkcode ComponentHandle} of the created beam
|
|
216
|
-
* @throws if the section is invalid
|
|
291
|
+
* @throws if the section is invalid (horizontal beams: not an axis-aligned
|
|
292
|
+
* plan rectangle), the length is not positive, or the direction is zero or
|
|
293
|
+
* diagonal
|
|
217
294
|
*
|
|
218
295
|
* @examplePrompt Add a beam spanning 6 metres between the columns
|
|
219
296
|
* @examplePrompt Create a horizontal beam along the X axis
|
|
@@ -235,15 +312,25 @@ export declare abstract class PluginDesignCreateApi {
|
|
|
235
312
|
*
|
|
236
313
|
* @param profile - Ordered curve chain (wall centerlines)
|
|
237
314
|
* @param height - Wall height (default engine default)
|
|
238
|
-
* @param thickness - Wall thickness (default
|
|
315
|
+
* @param thickness - Wall thickness (default: the `wallType`'s total layer
|
|
316
|
+
* thickness when `wallType` is given, else the engine default)
|
|
317
|
+
* @param wallType - Wall type to build with — the same searchable list the
|
|
318
|
+
* Draw tab's Wall Type dropdown offers. Pass a name from
|
|
319
|
+
* `design.types.list("wall")` (the summary's `label`, or its `"wall:…"` id).
|
|
320
|
+
* Drives the wall's construction layers and default material, and — when
|
|
321
|
+
* `thickness` is omitted — its total layer thickness. Default: the engine's
|
|
322
|
+
* generic wall.
|
|
239
323
|
* @returns a {@linkcode ComponentHandle}`[]` (one per wall), in profile order
|
|
240
|
-
* @throws if the profile is empty
|
|
324
|
+
* @throws if the profile is empty, `wallType` names no wall type in the
|
|
325
|
+
* project, or wall creation fails
|
|
241
326
|
*
|
|
242
327
|
* @examplePrompt Draw walls along this centerline
|
|
243
328
|
* @examplePrompt Create 3m high, 200mm thick walls from these points
|
|
244
329
|
* @examplePrompt Build a wall run around the room outline
|
|
245
330
|
* @examplePrompt Turn this polyline sketch into walls
|
|
246
331
|
* @examplePrompt Add walls with mitred corners along the path
|
|
332
|
+
* @examplePrompt Draw brick walls with plaster along this outline
|
|
333
|
+
* @examplePrompt Build the perimeter in exposed concrete walls
|
|
247
334
|
*
|
|
248
335
|
* # Example
|
|
249
336
|
* ```ts
|
|
@@ -254,9 +341,14 @@ export declare abstract class PluginDesignCreateApi {
|
|
|
254
341
|
* await v.new(8, 0, 6),
|
|
255
342
|
* ])
|
|
256
343
|
* const walls = await snaptrude.design.create.walls(centerlines, 3, 0.2)
|
|
344
|
+
* // …built as a specific wall type (layers/material/thickness from the type):
|
|
345
|
+
* const [brick] = await snaptrude.design.types.list("wall")
|
|
346
|
+
* const brickWalls = await snaptrude.design.create.walls(
|
|
347
|
+
* centerlines, 3, undefined, brick.label,
|
|
348
|
+
* )
|
|
257
349
|
* ```
|
|
258
350
|
*/
|
|
259
|
-
abstract walls(profile: ProfileHandle, height?: number, thickness?: number): PluginApiReturn<ComponentHandle[]>;
|
|
351
|
+
abstract walls(profile: ProfileHandle, height?: number, thickness?: number, wallType?: string): PluginApiReturn<ComponentHandle[]>;
|
|
260
352
|
/**
|
|
261
353
|
* Create a **staircase** from a parametric preset, placed at a point.
|
|
262
354
|
*
|
|
@@ -331,14 +423,19 @@ export declare abstract class PluginDesignCreateApi {
|
|
|
331
423
|
* with {@linkcode PluginDesignFurnitureApi.listCatalog}. Placement is asynchronous
|
|
332
424
|
* (the source mesh is fetched if not cached) and creates one undo entry.
|
|
333
425
|
*
|
|
334
|
-
* Placed at the item's default rotation
|
|
335
|
-
*
|
|
426
|
+
* Placed at the item's default rotation unless `angleInDegrees` is given, which
|
|
427
|
+
* rotates it about the vertical axis at creation time (baked into the same undo
|
|
428
|
+
* entry). To rotate an existing instance instead, use `design.transform.rotate`.
|
|
336
429
|
*
|
|
337
430
|
* @param catalogId - Library id: team `_id` or general `fullName`
|
|
338
431
|
* @param position - Absolute world placement point
|
|
339
432
|
* @param options - Optional placement options: `label` — instance name
|
|
340
433
|
* (default auto `${name}Ins${n}`); `createNewSourceMesh` — emit a
|
|
341
434
|
* source-mesh creation command (default `true`)
|
|
435
|
+
* @param angleInDegrees - Optional signed rotation about the vertical axis, in
|
|
436
|
+
* degrees (same convention as {@linkcode PluginDesignTransformApi.rotate}).
|
|
437
|
+
* Applied at creation time so it is part of the placement's single undo entry.
|
|
438
|
+
* Default: the item's own (unrotated) orientation.
|
|
342
439
|
* @returns the {@linkcode ComponentHandle} of the placed furniture instance
|
|
343
440
|
* @throws if the catalog id is unknown, the source mesh fails to load, or placement fails
|
|
344
441
|
*
|
|
@@ -347,6 +444,7 @@ export declare abstract class PluginDesignCreateApi {
|
|
|
347
444
|
* @examplePrompt Drop a desk into the scene at 3, 0, 5
|
|
348
445
|
* @examplePrompt Insert the uploaded bed model in the bedroom
|
|
349
446
|
* @examplePrompt Put a table from my project library here and name it Table-01
|
|
447
|
+
* @examplePrompt Place a chair here rotated 90 degrees
|
|
350
448
|
*
|
|
351
449
|
* # Example
|
|
352
450
|
* ```ts
|
|
@@ -355,12 +453,19 @@ export declare abstract class PluginDesignCreateApi {
|
|
|
355
453
|
* await snaptrude.core.math.vec3.new(3, 0, 5),
|
|
356
454
|
* { label: "Chair-01" },
|
|
357
455
|
* )
|
|
456
|
+
* // …placed already turned 90° about the vertical axis:
|
|
457
|
+
* const turned = await snaptrude.design.create.furniture(
|
|
458
|
+
* "6620f1a…",
|
|
459
|
+
* await snaptrude.core.math.vec3.new(3, 0, 5),
|
|
460
|
+
* undefined,
|
|
461
|
+
* 90,
|
|
462
|
+
* )
|
|
358
463
|
* ```
|
|
359
464
|
*/
|
|
360
465
|
abstract furniture(catalogId: string, position: Vec3Handle, options?: {
|
|
361
466
|
label?: string;
|
|
362
467
|
createNewSourceMesh?: boolean;
|
|
363
|
-
}): PluginApiReturn<ComponentHandle>;
|
|
468
|
+
}, angleInDegrees?: number): PluginApiReturn<ComponentHandle>;
|
|
364
469
|
/**
|
|
365
470
|
* Place a **door** from the catalog into a host wall.
|
|
366
471
|
*
|
|
@@ -375,6 +480,11 @@ export declare abstract class PluginDesignCreateApi {
|
|
|
375
480
|
* @param hostWall - The wall to host the door
|
|
376
481
|
* @param position - World point projected onto the wall to locate the opening
|
|
377
482
|
* @param options - Optional placement options: `label` — instance name
|
|
483
|
+
* @param facing - World point selecting which side of the wall the door faces
|
|
484
|
+
* (the room it opens into) — the same convention as approaching the wall
|
|
485
|
+
* from that side with the cursor in the interactive tool. Any point clearly
|
|
486
|
+
* on that side works (e.g. the room's center). Default: the engine picks a
|
|
487
|
+
* side (nondeterministic when `position` sits on the wall centerline).
|
|
378
488
|
* @returns the {@linkcode ComponentHandle} of the placed door
|
|
379
489
|
* @throws if the catalog id is unknown, the host is not a wall, the source
|
|
380
490
|
* mesh fails to load, or the projected point falls **outside** the host wall
|
|
@@ -384,6 +494,7 @@ export declare abstract class PluginDesignCreateApi {
|
|
|
384
494
|
* @examplePrompt Put a door from the catalog at this point on the wall
|
|
385
495
|
* @examplePrompt Insert the entrance door into this wall
|
|
386
496
|
* @examplePrompt Add a door to the wall and call it Entry-01
|
|
497
|
+
* @examplePrompt Add a door that opens into the living room
|
|
387
498
|
*
|
|
388
499
|
* # Example
|
|
389
500
|
* ```ts
|
|
@@ -395,11 +506,19 @@ export declare abstract class PluginDesignCreateApi {
|
|
|
395
506
|
* await snaptrude.core.math.vec3.new(3, 0, 5),
|
|
396
507
|
* { label: "Entry-01" },
|
|
397
508
|
* )
|
|
509
|
+
* // …facing a specific side of the wall (pass a point inside that room):
|
|
510
|
+
* const intoKitchen = await snaptrude.design.create.door(
|
|
511
|
+
* entry.id,
|
|
512
|
+
* wall,
|
|
513
|
+
* await snaptrude.core.math.vec3.new(3, 0, 5),
|
|
514
|
+
* undefined,
|
|
515
|
+
* await snaptrude.core.math.vec3.new(3, 0, 9),
|
|
516
|
+
* )
|
|
398
517
|
* ```
|
|
399
518
|
*/
|
|
400
519
|
abstract door(catalogId: string, hostWall: ComponentHandle, position: Vec3Handle, options?: {
|
|
401
520
|
label?: string;
|
|
402
|
-
}): PluginApiReturn<ComponentHandle>;
|
|
521
|
+
}, facing?: Vec3Handle): PluginApiReturn<ComponentHandle>;
|
|
403
522
|
/**
|
|
404
523
|
* Place a **window** from the catalog into a host wall.
|
|
405
524
|
*
|
|
@@ -414,6 +533,10 @@ export declare abstract class PluginDesignCreateApi {
|
|
|
414
533
|
* @param hostWall - The wall to host the window
|
|
415
534
|
* @param position - World point projected onto the wall to locate the opening
|
|
416
535
|
* @param options - Optional placement options: `label` — instance name
|
|
536
|
+
* @param facing - World point selecting which side of the wall the window
|
|
537
|
+
* faces (matters for asymmetric windows, e.g. casement swing) — same
|
|
538
|
+
* convention as {@linkcode PluginDesignCreateApi.door}. Default: the engine
|
|
539
|
+
* picks a side (nondeterministic when `position` sits on the centerline).
|
|
417
540
|
* @returns the {@linkcode ComponentHandle} of the placed window
|
|
418
541
|
* @throws if the catalog id is unknown, the host is not a wall, the source
|
|
419
542
|
* mesh fails to load, or the projected point falls **outside** the host wall
|
|
@@ -423,6 +546,7 @@ export declare abstract class PluginDesignCreateApi {
|
|
|
423
546
|
* @examplePrompt Put a window from the catalog at this point on the wall
|
|
424
547
|
* @examplePrompt Insert a window into the living room wall
|
|
425
548
|
* @examplePrompt Add a window to the wall and name it Win-01
|
|
549
|
+
* @examplePrompt Add a casement window opening toward the garden side
|
|
426
550
|
*
|
|
427
551
|
* # Example
|
|
428
552
|
* ```ts
|
|
@@ -438,7 +562,7 @@ export declare abstract class PluginDesignCreateApi {
|
|
|
438
562
|
*/
|
|
439
563
|
abstract window(catalogId: string, hostWall: ComponentHandle, position: Vec3Handle, options?: {
|
|
440
564
|
label?: string;
|
|
441
|
-
}): PluginApiReturn<ComponentHandle>;
|
|
565
|
+
}, facing?: Vec3Handle): PluginApiReturn<ComponentHandle>;
|
|
442
566
|
/**
|
|
443
567
|
* Place a **smart layout** — clone an in-scene template cluster (walls,
|
|
444
568
|
* furniture, doors, windows, floors) into one or more target ROOM/DEPARTMENT
|
|
@@ -512,6 +636,11 @@ export declare abstract class PluginDesignCreateApi {
|
|
|
512
636
|
* @examplePrompt Array these walls with a 3m offset
|
|
513
637
|
* @examplePrompt Clone the desk as a unique copy, not an instance
|
|
514
638
|
*
|
|
639
|
+
* @performance To place N repeats of the same geometry, bulk-create the seed(s) once then
|
|
640
|
+
* call this ONCE with `{ count: N - 1 }` — one host round-trip for all copies. Never
|
|
641
|
+
* reproduce geometry by looping `design.create.*` N times. Copy only after the create
|
|
642
|
+
* that mints the seed ids.
|
|
643
|
+
*
|
|
515
644
|
* # Example
|
|
516
645
|
* ```ts
|
|
517
646
|
* const { vec3 } = snaptrude.core.math
|
|
@@ -527,15 +656,24 @@ export declare abstract class PluginDesignCreateApi {
|
|
|
527
656
|
* Migrated from the removed `entity.space.bulkCreate`. Each item extrudes a contour
|
|
528
657
|
* footprint up `height`. Validate-all-or-throw; one command. For a rectangular
|
|
529
658
|
* (box) space, build the footprint with `core.geom.create.profileRect` →
|
|
530
|
-
* `contourFromProfile`, then pass it as an item.
|
|
659
|
+
* `contourFromProfile`, then pass it as an item. Each item may carry its own
|
|
660
|
+
* `storey` (see {@linkcode PluginCreateSpaceItem}) so a single call can populate
|
|
661
|
+
* several floors at once.
|
|
531
662
|
*
|
|
532
663
|
* @param items - One {@linkcode PluginCreateSpaceItem} per space to create (≥1)
|
|
533
664
|
* @returns the created spaces as {@linkcode ComponentHandle}`[]`, in input order
|
|
665
|
+
* @throws if any item's contour is invalid, its height is not positive, or its
|
|
666
|
+
* target `storey` does not exist (all-or-nothing — nothing is created)
|
|
534
667
|
*
|
|
535
668
|
* @examplePrompt Create several rooms at once from these footprints
|
|
536
669
|
* @examplePrompt Generate all the bedrooms in one operation
|
|
537
670
|
* @examplePrompt Bulk create the spaces for this floor plan
|
|
538
671
|
* @examplePrompt Add three rooms with different heights in a single undo step
|
|
672
|
+
* @examplePrompt Create one room on the ground floor and one on the first floor
|
|
673
|
+
*
|
|
674
|
+
* @performance Bulk creator — the whole batch is ONE host round-trip. Always prefer this
|
|
675
|
+
* over calling `design.create.space` in a loop: build the full `items[]` array first
|
|
676
|
+
* (all per-item math and geometry up front), then make one call.
|
|
539
677
|
*
|
|
540
678
|
* # Example
|
|
541
679
|
* ```ts
|
|
@@ -548,6 +686,49 @@ export declare abstract class PluginDesignCreateApi {
|
|
|
548
686
|
* ```
|
|
549
687
|
*/
|
|
550
688
|
abstract spaces(items: PluginCreateSpaceItem[]): PluginApiReturn<ComponentHandle[]>;
|
|
689
|
+
/**
|
|
690
|
+
* Create a new parametric buildable envelope — the zoning-regulated volume a
|
|
691
|
+
* building may occupy — generated from a site polygon, tiered setbacks, a
|
|
692
|
+
* height or floor-count cap, and optional FAR and lot-coverage limits. The host
|
|
693
|
+
* mints the envelope id and returns it. Canonical home of the create formerly
|
|
694
|
+
* at `entity.buildableEnvelope.create` (now deprecated).
|
|
695
|
+
*
|
|
696
|
+
* @param sitePolygon - Site polygon vertices in `lengthUnit`; minimum 3 vertices.
|
|
697
|
+
* @param lengthUnit - Unit used by all length fields (`"ft" | "m"`).
|
|
698
|
+
* @param setbacks - Setback profile, ground tier first; minimum 1 tier.
|
|
699
|
+
* @param verticalCap - Maximum height or floor count.
|
|
700
|
+
* @param floorToFloor - Required floor-to-floor height in `lengthUnit`.
|
|
701
|
+
* @param farRatio - Optional FAR value, positive when provided.
|
|
702
|
+
* @param lotCoverageMaxPct - Optional lot coverage cap, `0..100`.
|
|
703
|
+
* @returns A {@linkcode PluginBuildableEnvelopeCreateResult} with the
|
|
704
|
+
* `buildableEnvelopeId` of the created envelope.
|
|
705
|
+
* @throws If validation fails or generation produces no renderable geometry.
|
|
706
|
+
*
|
|
707
|
+
* @examplePrompt Create a buildable envelope for my site
|
|
708
|
+
* @examplePrompt Generate the zoning envelope with 10ft front setbacks
|
|
709
|
+
* @examplePrompt Show the maximum buildable volume with a 150ft height limit
|
|
710
|
+
* @examplePrompt Create a zoning envelope capped at 12 floors with FAR 3
|
|
711
|
+
*
|
|
712
|
+
* # Example
|
|
713
|
+
* ```ts
|
|
714
|
+
* const { buildableEnvelopeId } = await snaptrude.design.create.buildableEnvelope(
|
|
715
|
+
* [
|
|
716
|
+
* { x: 0, z: 0 },
|
|
717
|
+
* { x: 100, z: 0 },
|
|
718
|
+
* { x: 100, z: 80 },
|
|
719
|
+
* { x: 0, z: 80 },
|
|
720
|
+
* ],
|
|
721
|
+
* "ft",
|
|
722
|
+
* [
|
|
723
|
+
* { aboveHeight: 0, front: 10, side: 5, rear: 10 },
|
|
724
|
+
* { aboveHeight: 100, front: 20, side: 10, rear: 20 },
|
|
725
|
+
* ],
|
|
726
|
+
* { kind: "max_height", maxHeight: 150 },
|
|
727
|
+
* 12,
|
|
728
|
+
* )
|
|
729
|
+
* ```
|
|
730
|
+
*/
|
|
731
|
+
abstract buildableEnvelope(sitePolygon: PluginBuildableEnvelopePolygonVertex[], lengthUnit: "ft" | "m", setbacks: PluginBuildableEnvelopeSetbackTier[], verticalCap: PluginBuildableEnvelopeVerticalCap, floorToFloor: number, farRatio?: number, lotCoverageMaxPct?: number): PluginApiReturn<PluginBuildableEnvelopeCreateResult>;
|
|
551
732
|
}
|
|
552
733
|
/**
|
|
553
734
|
* Line style of a reference line (mirrors the engine `ReferenceLineMode` verbatim).
|
|
@@ -617,12 +798,13 @@ export type PluginStaircasePreset = z.infer<typeof PluginStaircasePreset>;
|
|
|
617
798
|
* | `spaceType` | {@linkcode PluginSpaceType}? | Space-type classification (default `Room`) |
|
|
618
799
|
* | `massType` | {@linkcode PluginMassType}? | Mass-type classification (default `Room`) |
|
|
619
800
|
* | `departmentId` | {@linkcode PluginDepartmentId}? | Department assignment (default department) |
|
|
801
|
+
* | `storey` | `number`? (int) | Target storey number (default active storey) |
|
|
620
802
|
*/
|
|
621
803
|
export declare const PluginDesignCreateSpaceArgs: z.ZodObject<{
|
|
622
|
-
contour: z.ZodPipe<z.
|
|
804
|
+
contour: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"contour">, string>>;
|
|
623
805
|
height: z.ZodNumber;
|
|
624
806
|
label: z.ZodOptional<z.ZodString>;
|
|
625
|
-
position: z.ZodOptional<z.ZodPipe<z.
|
|
807
|
+
position: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"vec3">, string>>>;
|
|
626
808
|
spaceType: z.ZodOptional<z.ZodEnum<{
|
|
627
809
|
Room: "Room";
|
|
628
810
|
"Program Block": "Program Block";
|
|
@@ -655,6 +837,7 @@ export declare const PluginDesignCreateSpaceArgs: z.ZodObject<{
|
|
|
655
837
|
ENVELOPE: "ENVELOPE";
|
|
656
838
|
CORE: "CORE";
|
|
657
839
|
}>, z.ZodUUID]>>;
|
|
840
|
+
storey: z.ZodOptional<z.ZodNumber>;
|
|
658
841
|
}, z.core.$strip>;
|
|
659
842
|
export type PluginDesignCreateSpaceArgs = z.infer<typeof PluginDesignCreateSpaceArgs>;
|
|
660
843
|
/**
|
|
@@ -669,10 +852,10 @@ export type PluginDesignCreateSpaceArgs = z.infer<typeof PluginDesignCreateSpace
|
|
|
669
852
|
* | `massType` | {@linkcode PluginMassType}? | Mass type (default `Generic mass`) |
|
|
670
853
|
*/
|
|
671
854
|
export declare const PluginDesignCreateMassArgs: z.ZodObject<{
|
|
672
|
-
contour: z.ZodPipe<z.
|
|
855
|
+
contour: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"contour">, string>>;
|
|
673
856
|
height: z.ZodNumber;
|
|
674
857
|
label: z.ZodOptional<z.ZodString>;
|
|
675
|
-
position: z.ZodOptional<z.ZodPipe<z.
|
|
858
|
+
position: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"vec3">, string>>>;
|
|
676
859
|
massType: z.ZodOptional<z.ZodEnum<{
|
|
677
860
|
Room: "Room";
|
|
678
861
|
Plinth: "Plinth";
|
|
@@ -689,6 +872,19 @@ export declare const PluginDesignCreateMassArgs: z.ZodObject<{
|
|
|
689
872
|
}>>;
|
|
690
873
|
}, z.core.$strip>;
|
|
691
874
|
export type PluginDesignCreateMassArgs = z.infer<typeof PluginDesignCreateMassArgs>;
|
|
875
|
+
/**
|
|
876
|
+
* Arguments for {@linkcode PluginDesignCreateApi.massFromBrep}.
|
|
877
|
+
*
|
|
878
|
+
* | Property | Type | Description |
|
|
879
|
+
* |---|---|---|
|
|
880
|
+
* | `brep` | {@linkcode BrepHandle} | A solid from a `core.geom.create` brep constructor |
|
|
881
|
+
* | `label` | `string`? | Label (maps to `room_type`) |
|
|
882
|
+
*/
|
|
883
|
+
export declare const PluginDesignCreateMassFromBrepArgs: z.ZodObject<{
|
|
884
|
+
brep: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"brep">, string>>;
|
|
885
|
+
label: z.ZodOptional<z.ZodString>;
|
|
886
|
+
}, z.core.$strip>;
|
|
887
|
+
export type PluginDesignCreateMassFromBrepArgs = z.infer<typeof PluginDesignCreateMassFromBrepArgs>;
|
|
692
888
|
/**
|
|
693
889
|
* Arguments for {@linkcode PluginDesignCreateApi.slab}.
|
|
694
890
|
*
|
|
@@ -700,7 +896,7 @@ export type PluginDesignCreateMassArgs = z.infer<typeof PluginDesignCreateMassAr
|
|
|
700
896
|
* | `slabType` | {@linkcode PluginSlabType}? | Slab-type classification |
|
|
701
897
|
*/
|
|
702
898
|
export declare const PluginDesignCreateSlabArgs: z.ZodObject<{
|
|
703
|
-
contour: z.ZodPipe<z.
|
|
899
|
+
contour: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"contour">, string>>;
|
|
704
900
|
thickness: z.ZodNumber;
|
|
705
901
|
direction: z.ZodOptional<z.ZodEnum<{
|
|
706
902
|
up: "up";
|
|
@@ -724,9 +920,9 @@ export type PluginDesignCreateSlabArgs = z.infer<typeof PluginDesignCreateSlabAr
|
|
|
724
920
|
* | `position` | {@linkcode Vec3Handle}? | Offset from origin |
|
|
725
921
|
*/
|
|
726
922
|
export declare const PluginDesignCreateFloorArgs: z.ZodObject<{
|
|
727
|
-
contour: z.ZodPipe<z.
|
|
923
|
+
contour: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"contour">, string>>;
|
|
728
924
|
thickness: z.ZodNumber;
|
|
729
|
-
position: z.ZodOptional<z.ZodPipe<z.
|
|
925
|
+
position: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"vec3">, string>>>;
|
|
730
926
|
}, z.core.$strip>;
|
|
731
927
|
export type PluginDesignCreateFloorArgs = z.infer<typeof PluginDesignCreateFloorArgs>;
|
|
732
928
|
/**
|
|
@@ -738,7 +934,7 @@ export type PluginDesignCreateFloorArgs = z.infer<typeof PluginDesignCreateFloor
|
|
|
738
934
|
* | `thickness` | `number` | Roof-slab thickness (> 0) |
|
|
739
935
|
*/
|
|
740
936
|
export declare const PluginDesignCreateRoofArgs: z.ZodObject<{
|
|
741
|
-
contour: z.ZodPipe<z.
|
|
937
|
+
contour: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"contour">, string>>;
|
|
742
938
|
thickness: z.ZodNumber;
|
|
743
939
|
}, z.core.$strip>;
|
|
744
940
|
export type PluginDesignCreateRoofArgs = z.infer<typeof PluginDesignCreateRoofArgs>;
|
|
@@ -752,7 +948,7 @@ export type PluginDesignCreateRoofArgs = z.infer<typeof PluginDesignCreateRoofAr
|
|
|
752
948
|
* | `heightFromFloor` | `number`? | Lift above the floor (default 0) |
|
|
753
949
|
*/
|
|
754
950
|
export declare const PluginDesignCreateCeilingArgs: z.ZodObject<{
|
|
755
|
-
contour: z.ZodPipe<z.
|
|
951
|
+
contour: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"contour">, string>>;
|
|
756
952
|
thickness: z.ZodNumber;
|
|
757
953
|
heightFromFloor: z.ZodOptional<z.ZodNumber>;
|
|
758
954
|
}, z.core.$strip>;
|
|
@@ -768,10 +964,10 @@ export type PluginDesignCreateCeilingArgs = z.infer<typeof PluginDesignCreateCei
|
|
|
768
964
|
* | `directionUp` | {@linkcode Vec3Handle}? | Up axis (default world up) |
|
|
769
965
|
*/
|
|
770
966
|
export declare const PluginDesignCreateColumnArgs: z.ZodObject<{
|
|
771
|
-
position: z.ZodPipe<z.
|
|
772
|
-
crossSection: z.ZodPipe<z.
|
|
967
|
+
position: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"vec3">, string>>;
|
|
968
|
+
crossSection: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"contour">, string>>;
|
|
773
969
|
height: z.ZodNumber;
|
|
774
|
-
directionUp: z.ZodOptional<z.ZodPipe<z.
|
|
970
|
+
directionUp: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"vec3">, string>>>;
|
|
775
971
|
}, z.core.$strip>;
|
|
776
972
|
export type PluginDesignCreateColumnArgs = z.infer<typeof PluginDesignCreateColumnArgs>;
|
|
777
973
|
/**
|
|
@@ -784,9 +980,9 @@ export type PluginDesignCreateColumnArgs = z.infer<typeof PluginDesignCreateColu
|
|
|
784
980
|
* | `direction` | {@linkcode Vec3Handle}? | Extrusion axis (default world up) |
|
|
785
981
|
*/
|
|
786
982
|
export declare const PluginDesignCreateBeamArgs: z.ZodObject<{
|
|
787
|
-
section: z.ZodPipe<z.
|
|
983
|
+
section: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"contour">, string>>;
|
|
788
984
|
length: z.ZodNumber;
|
|
789
|
-
direction: z.ZodOptional<z.ZodPipe<z.
|
|
985
|
+
direction: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"vec3">, string>>>;
|
|
790
986
|
}, z.core.$strip>;
|
|
791
987
|
export type PluginDesignCreateBeamArgs = z.infer<typeof PluginDesignCreateBeamArgs>;
|
|
792
988
|
/**
|
|
@@ -796,12 +992,14 @@ export type PluginDesignCreateBeamArgs = z.infer<typeof PluginDesignCreateBeamAr
|
|
|
796
992
|
* |---|---|---|
|
|
797
993
|
* | `profile` | {@linkcode ProfileHandle} | Ordered curve chain (wall centerlines) |
|
|
798
994
|
* | `height` | `number`? | Wall height (default engine default) |
|
|
799
|
-
* | `thickness` | `number`? | Wall thickness (default engine default) |
|
|
995
|
+
* | `thickness` | `number`? | Wall thickness (default: `wallType`'s total layer thickness when given, else engine default) |
|
|
996
|
+
* | `wallType` | `string`? | Wall type name from `design.types.list("wall")` — layers/material/thickness defaults (default generic) |
|
|
800
997
|
*/
|
|
801
998
|
export declare const PluginDesignCreateWallsArgs: z.ZodObject<{
|
|
802
|
-
profile: z.ZodPipe<z.
|
|
999
|
+
profile: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"profile">, string>>;
|
|
803
1000
|
height: z.ZodOptional<z.ZodNumber>;
|
|
804
1001
|
thickness: z.ZodOptional<z.ZodNumber>;
|
|
1002
|
+
wallType: z.ZodOptional<z.ZodString>;
|
|
805
1003
|
}, z.core.$strip>;
|
|
806
1004
|
export type PluginDesignCreateWallsArgs = z.infer<typeof PluginDesignCreateWallsArgs>;
|
|
807
1005
|
/**
|
|
@@ -834,7 +1032,7 @@ export declare const PluginDesignCreateStaircaseArgs: z.ZodObject<{
|
|
|
834
1032
|
mezzanineFloorDogLegged: "mezzanineFloorDogLegged";
|
|
835
1033
|
mezzanineFloorLShaped: "mezzanineFloorLShaped";
|
|
836
1034
|
}>;
|
|
837
|
-
position: z.ZodPipe<z.
|
|
1035
|
+
position: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"vec3">, string>>;
|
|
838
1036
|
label: z.ZodOptional<z.ZodString>;
|
|
839
1037
|
structureId: z.ZodOptional<z.ZodString>;
|
|
840
1038
|
level: z.ZodOptional<z.ZodString>;
|
|
@@ -849,12 +1047,14 @@ export type PluginDesignCreateStaircaseArgs = z.infer<typeof PluginDesignCreateS
|
|
|
849
1047
|
* | `position` | {@linkcode Vec3Handle} | Absolute world placement point |
|
|
850
1048
|
* | `label` | `string`? | Instance name (default auto `${name}Ins${n}`) |
|
|
851
1049
|
* | `createNewSourceMesh` | `boolean`? | Emit a source-mesh creation command (default `true`) |
|
|
1050
|
+
* | `angleInDegrees` | `number`? | Rotation about the vertical axis, in degrees (default unrotated) |
|
|
852
1051
|
*/
|
|
853
1052
|
export declare const PluginDesignCreateFurnitureArgs: z.ZodObject<{
|
|
854
1053
|
catalogId: z.ZodString;
|
|
855
|
-
position: z.ZodPipe<z.
|
|
1054
|
+
position: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"vec3">, string>>;
|
|
856
1055
|
label: z.ZodOptional<z.ZodString>;
|
|
857
1056
|
createNewSourceMesh: z.ZodOptional<z.ZodBoolean>;
|
|
1057
|
+
angleInDegrees: z.ZodOptional<z.ZodNumber>;
|
|
858
1058
|
}, z.core.$strip>;
|
|
859
1059
|
export type PluginDesignCreateFurnitureArgs = z.infer<typeof PluginDesignCreateFurnitureArgs>;
|
|
860
1060
|
/**
|
|
@@ -866,12 +1066,14 @@ export type PluginDesignCreateFurnitureArgs = z.infer<typeof PluginDesignCreateF
|
|
|
866
1066
|
* | `hostWall` | {@linkcode ComponentHandle} | The wall to host the door |
|
|
867
1067
|
* | `position` | {@linkcode Vec3Handle} | World point projected onto the wall |
|
|
868
1068
|
* | `label` | `string`? | Instance name (optional) |
|
|
1069
|
+
* | `facing` | {@linkcode Vec3Handle}? | World point on the side of the wall the door faces (default engine-chosen) |
|
|
869
1070
|
*/
|
|
870
1071
|
export declare const PluginDesignCreateDoorArgs: z.ZodObject<{
|
|
871
1072
|
catalogId: z.ZodString;
|
|
872
1073
|
hostWall: z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>;
|
|
873
|
-
position: z.ZodPipe<z.
|
|
1074
|
+
position: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"vec3">, string>>;
|
|
874
1075
|
label: z.ZodOptional<z.ZodString>;
|
|
1076
|
+
facing: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"vec3">, string>>>;
|
|
875
1077
|
}, z.core.$strip>;
|
|
876
1078
|
export type PluginDesignCreateDoorArgs = z.infer<typeof PluginDesignCreateDoorArgs>;
|
|
877
1079
|
/**
|
|
@@ -883,12 +1085,14 @@ export type PluginDesignCreateDoorArgs = z.infer<typeof PluginDesignCreateDoorAr
|
|
|
883
1085
|
* | `hostWall` | {@linkcode ComponentHandle} | The wall to host the window |
|
|
884
1086
|
* | `position` | {@linkcode Vec3Handle} | World point projected onto the wall |
|
|
885
1087
|
* | `label` | `string`? | Instance name (optional) |
|
|
1088
|
+
* | `facing` | {@linkcode Vec3Handle}? | World point on the side of the wall the window faces (default engine-chosen) |
|
|
886
1089
|
*/
|
|
887
1090
|
export declare const PluginDesignCreateWindowArgs: z.ZodObject<{
|
|
888
1091
|
catalogId: z.ZodString;
|
|
889
1092
|
hostWall: z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>;
|
|
890
|
-
position: z.ZodPipe<z.
|
|
1093
|
+
position: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"vec3">, string>>;
|
|
891
1094
|
label: z.ZodOptional<z.ZodString>;
|
|
1095
|
+
facing: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"vec3">, string>>>;
|
|
892
1096
|
}, z.core.$strip>;
|
|
893
1097
|
export type PluginDesignCreateWindowArgs = z.infer<typeof PluginDesignCreateWindowArgs>;
|
|
894
1098
|
/**
|
|
@@ -946,7 +1150,7 @@ export type PluginSmartLayoutResult = z.infer<typeof PluginSmartLayoutResult>;
|
|
|
946
1150
|
* | `gridTag` | `string`? | Grid tag label (default `"A"`) |
|
|
947
1151
|
*/
|
|
948
1152
|
export declare const PluginDesignCreateReferenceLinesArgs: z.ZodObject<{
|
|
949
|
-
profile: z.ZodPipe<z.
|
|
1153
|
+
profile: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"profile">, string>>;
|
|
950
1154
|
color: z.ZodOptional<z.ZodString>;
|
|
951
1155
|
thickness: z.ZodOptional<z.ZodNumber>;
|
|
952
1156
|
style: z.ZodOptional<z.ZodEnum<{
|
|
@@ -966,8 +1170,8 @@ export type PluginDesignCreateReferenceLinesArgs = z.infer<typeof PluginDesignCr
|
|
|
966
1170
|
* | `"unique"` | Independent geometry copies |
|
|
967
1171
|
*/
|
|
968
1172
|
export declare const PluginCopyMode: z.ZodEnum<{
|
|
969
|
-
instance: "instance";
|
|
970
1173
|
unique: "unique";
|
|
1174
|
+
instance: "instance";
|
|
971
1175
|
}>;
|
|
972
1176
|
export type PluginCopyMode = z.infer<typeof PluginCopyMode>;
|
|
973
1177
|
/**
|
|
@@ -982,11 +1186,11 @@ export type PluginCopyMode = z.infer<typeof PluginCopyMode>;
|
|
|
982
1186
|
*/
|
|
983
1187
|
export declare const PluginDesignCreateCopyArgs: z.ZodObject<{
|
|
984
1188
|
components: z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>>;
|
|
985
|
-
displacement: z.ZodPipe<z.
|
|
1189
|
+
displacement: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"vec3">, string>>;
|
|
986
1190
|
count: z.ZodOptional<z.ZodNumber>;
|
|
987
1191
|
mode: z.ZodOptional<z.ZodEnum<{
|
|
988
|
-
instance: "instance";
|
|
989
1192
|
unique: "unique";
|
|
1193
|
+
instance: "instance";
|
|
990
1194
|
}>>;
|
|
991
1195
|
}, z.core.$strip>;
|
|
992
1196
|
export type PluginDesignCreateCopyArgs = z.infer<typeof PluginDesignCreateCopyArgs>;
|
|
@@ -1003,12 +1207,13 @@ export type PluginDesignCreateCopyArgs = z.infer<typeof PluginDesignCreateCopyAr
|
|
|
1003
1207
|
* | `spaceType` | `PluginSpaceType`? | Space type |
|
|
1004
1208
|
* | `massType` | `PluginMassType`? | Mass type |
|
|
1005
1209
|
* | `departmentId` | `PluginDepartmentId`? | Department |
|
|
1210
|
+
* | `storey` | `number`? (int) | Target storey number (default active storey) |
|
|
1006
1211
|
*/
|
|
1007
1212
|
export declare const PluginCreateSpaceItem: z.ZodObject<{
|
|
1008
|
-
contour: z.ZodPipe<z.
|
|
1213
|
+
contour: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"contour">, string>>;
|
|
1009
1214
|
height: z.ZodNumber;
|
|
1010
1215
|
label: z.ZodOptional<z.ZodString>;
|
|
1011
|
-
position: z.ZodOptional<z.ZodPipe<z.
|
|
1216
|
+
position: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"vec3">, string>>>;
|
|
1012
1217
|
spaceType: z.ZodOptional<z.ZodEnum<{
|
|
1013
1218
|
Room: "Room";
|
|
1014
1219
|
"Program Block": "Program Block";
|
|
@@ -1041,6 +1246,7 @@ export declare const PluginCreateSpaceItem: z.ZodObject<{
|
|
|
1041
1246
|
ENVELOPE: "ENVELOPE";
|
|
1042
1247
|
CORE: "CORE";
|
|
1043
1248
|
}>, z.ZodUUID]>>;
|
|
1249
|
+
storey: z.ZodOptional<z.ZodNumber>;
|
|
1044
1250
|
}, z.core.$strip>;
|
|
1045
1251
|
export type PluginCreateSpaceItem = z.infer<typeof PluginCreateSpaceItem>;
|
|
1046
1252
|
//# sourceMappingURL=index.d.ts.map
|