@snaptrude/plugin-core 0.0.0-dev-20260708130115 → 0.0.0-dev-20260827135706
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 +152 -1
- package/api-manifest.json +3620 -276
- 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 +658 -0
- package/dist/api/analysis/heatmaps.d.ts.map +1 -0
- package/dist/api/analysis/illuminance.d.ts +145 -0
- package/dist/api/analysis/illuminance.d.ts.map +1 -0
- package/dist/api/analysis/index.d.ts +59 -0
- package/dist/api/analysis/index.d.ts.map +1 -0
- package/dist/api/analysis/shadows.d.ts +165 -0
- package/dist/api/analysis/shadows.d.ts.map +1 -0
- package/dist/api/analysis/solar.d.ts +249 -0
- package/dist/api/analysis/solar.d.ts.map +1 -0
- package/dist/api/analysis/sunlightHours.d.ts +208 -0
- package/dist/api/analysis/sunlightHours.d.ts.map +1 -0
- package/dist/api/analysis/sunpath.d.ts +80 -0
- package/dist/api/analysis/sunpath.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 +261 -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 +840 -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 +130 -18
- package/dist/api/core/geom/query/brep.d.ts.map +1 -1
- 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 +34 -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 +453 -0
- package/dist/api/core/io/import/index.d.ts.map +1 -0
- package/dist/api/core/io/index.d.ts +40 -0
- package/dist/api/core/io/index.d.ts.map +1 -0
- package/dist/api/core/io/job/index.d.ts +139 -0
- package/dist/api/core/io/job/index.d.ts.map +1 -0
- package/dist/api/core/io/query/index.d.ts +74 -0
- package/dist/api/core/io/query/index.d.ts.map +1 -0
- package/dist/api/core/io/terrain/index.d.ts +341 -0
- package/dist/api/core/io/terrain/index.d.ts.map +1 -0
- package/dist/api/core/io/underlay/index.d.ts +805 -0
- package/dist/api/core/io/underlay/index.d.ts.map +1 -0
- 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/project/index.d.ts +68 -1
- package/dist/api/core/project/index.d.ts.map +1 -1
- package/dist/api/core/proposals/index.d.ts +531 -0
- package/dist/api/core/proposals/index.d.ts.map +1 -0
- package/dist/api/core/storeys/index.d.ts +265 -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 +568 -45
- 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 +195 -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/family.d.ts +349 -0
- package/dist/api/design/family.d.ts.map +1 -0
- package/dist/api/design/furniture/index.d.ts +181 -8
- package/dist/api/design/furniture/index.d.ts.map +1 -1
- package/dist/api/design/index.d.ts +98 -0
- package/dist/api/design/index.d.ts.map +1 -1
- package/dist/api/design/lock.d.ts +26 -0
- package/dist/api/design/lock.d.ts.map +1 -1
- package/dist/api/design/materials/index.d.ts +270 -16
- 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 +282 -11
- 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 +181 -8
- package/dist/api/design/query/spaces.d.ts.map +1 -1
- package/dist/api/design/selection/index.d.ts +144 -0
- package/dist/api/design/selection/index.d.ts.map +1 -1
- package/dist/api/design/transform/index.d.ts +172 -10
- 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 +553 -2
- package/dist/api/design/update/index.d.ts.map +1 -1
- package/dist/api/design/visibility.d.ts +126 -0
- package/dist/api/design/visibility.d.ts.map +1 -0
- package/dist/api/design/windows/index.d.ts +113 -2
- package/dist/api/design/windows/index.d.ts.map +1 -1
- 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 +21 -21
- package/dist/api/entity/story.d.ts +242 -15
- package/dist/api/entity/story.d.ts.map +1 -1
- package/dist/api/index.d.ts +10 -0
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/presentation/aiInspiration.d.ts +25 -25
- package/dist/api/presentation/annotate.d.ts +467 -0
- package/dist/api/presentation/annotate.d.ts.map +1 -0
- package/dist/api/presentation/diagrams.d.ts +111 -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 +55 -4
- package/dist/api/presentation/import.d.ts.map +1 -1
- package/dist/api/presentation/index.d.ts +58 -1
- package/dist/api/presentation/index.d.ts.map +1 -1
- package/dist/api/presentation/placedViews.d.ts +1139 -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 +452 -13
- package/dist/api/presentation/sheets.d.ts.map +1 -1
- package/dist/api/presentation/slideshow.d.ts +125 -0
- package/dist/api/presentation/slideshow.d.ts.map +1 -0
- package/dist/api/presentation/tables.d.ts +81 -0
- package/dist/api/presentation/tables.d.ts.map +1 -0
- package/dist/api/presentation/views.d.ts +367 -7
- package/dist/api/presentation/views.d.ts.map +1 -1
- package/dist/api/program/areas.d.ts +102 -12
- 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 +7 -15
- package/dist/api/program/index.d.ts.map +1 -1
- package/dist/api/program/layout.d.ts +346 -11
- package/dist/api/program/layout.d.ts.map +1 -1
- package/dist/api/program/site.d.ts +469 -13
- 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 +505 -0
- package/dist/api/workspace/index.d.ts.map +1 -0
- package/dist/errors/codes.d.ts +34 -0
- package/dist/errors/codes.d.ts.map +1 -0
- package/dist/errors/envelope.d.ts +56 -0
- package/dist/errors/envelope.d.ts.map +1 -0
- package/dist/errors/index.d.ts +6 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/plugin-error.d.ts +69 -0
- package/dist/errors/plugin-error.d.ts.map +1 -0
- package/dist/handles.d.ts +97 -25
- package/dist/handles.d.ts.map +1 -1
- package/dist/host-utils.d.ts +4 -0
- package/dist/host-utils.d.ts.map +1 -1
- package/dist/index.cjs +4582 -1422
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4171 -1411
- package/dist/index.js.map +1 -1
- package/package.json +4 -2
- package/scripts/generate-manifest.mjs +45 -0
- package/scripts/generate-manifest.test.mjs +103 -4
- package/src/api/analysis/daylight.ts +470 -0
- package/src/api/analysis/heatmaps.ts +683 -0
- package/src/api/analysis/illuminance.ts +155 -0
- package/src/api/analysis/index.ts +61 -0
- package/src/api/analysis/shadows.ts +183 -0
- package/src/api/analysis/solar.ts +237 -0
- package/src/api/analysis/sunlightHours.ts +211 -0
- package/src/api/analysis/sunpath.ts +83 -0
- package/src/api/analysis/weather.ts +179 -0
- package/src/api/core/camera/index.ts +268 -0
- package/src/api/core/comment/index.ts +120 -2
- package/src/api/core/geom/create/index.ts +912 -1
- package/src/api/core/geom/delete/index.ts +6 -0
- package/src/api/core/geom/query/brep.ts +119 -0
- package/src/api/core/handles/index.ts +233 -0
- package/src/api/core/index.ts +34 -0
- package/src/api/core/io/export/index.ts +126 -0
- package/src/api/core/io/import/index.ts +496 -0
- package/src/api/core/io/index.ts +42 -0
- package/src/api/core/io/job/index.ts +140 -0
- package/src/api/core/io/query/index.ts +71 -0
- package/src/api/core/io/terrain/index.ts +360 -0
- package/src/api/core/io/underlay/index.ts +705 -0
- package/src/api/core/mode/index.ts +96 -0
- package/src/api/core/project/index.ts +62 -1
- package/src/api/core/proposals/index.ts +569 -0
- package/src/api/core/storeys/index.ts +294 -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 +670 -30
- package/src/api/design/delete/index.ts +3 -0
- package/src/api/design/doors/index.ts +208 -0
- package/src/api/design/erase/index.ts +1 -1
- package/src/api/design/family.ts +388 -0
- package/src/api/design/furniture/index.ts +197 -8
- package/src/api/design/index.ts +102 -0
- package/src/api/design/lock.ts +27 -0
- package/src/api/design/materials/index.ts +334 -27
- package/src/api/design/query/geometry/index.ts +125 -3
- package/src/api/design/query/index.ts +217 -7
- package/src/api/design/query/referenceLines.ts +52 -0
- package/src/api/design/query/spaces.ts +143 -0
- package/src/api/design/selection/index.ts +129 -0
- package/src/api/design/transform/index.ts +170 -9
- package/src/api/design/types/index.ts +156 -0
- package/src/api/design/update/index.ts +631 -3
- package/src/api/design/visibility.ts +143 -0
- package/src/api/design/windows/index.ts +128 -2
- package/src/api/entity/buildableEnvelope.ts +4 -0
- package/src/api/entity/referenceLine.ts +8 -0
- package/src/api/entity/story.ts +259 -15
- package/src/api/index.ts +10 -0
- package/src/api/presentation/annotate.ts +385 -0
- package/src/api/presentation/diagrams.ts +118 -8
- package/src/api/presentation/export.ts +108 -0
- package/src/api/presentation/import.ts +51 -4
- package/src/api/presentation/index.ts +66 -1
- package/src/api/presentation/placedViews.ts +1120 -0
- package/src/api/presentation/shapes.ts +274 -0
- package/src/api/presentation/sheets.ts +400 -13
- package/src/api/presentation/slideshow.ts +134 -0
- package/src/api/presentation/tables.ts +84 -0
- package/src/api/presentation/views.ts +376 -8
- package/src/api/program/areas.ts +88 -15
- package/src/api/program/cores.ts +3 -91
- package/src/api/program/index.ts +7 -15
- package/src/api/program/layout.ts +365 -11
- package/src/api/program/site.ts +435 -13
- package/src/api/program/spreadsheet.ts +376 -35
- package/src/api/workspace/index.ts +563 -0
- package/src/errors/codes.ts +136 -0
- package/src/errors/envelope.ts +75 -0
- package/src/errors/index.ts +21 -0
- package/src/errors/plugin-error.ts +134 -0
- package/src/handles.ts +123 -13
- package/src/host-utils.ts +4 -0
- package/src/index.ts +1 -0
- package/test/errors.test.mjs +184 -0
- package/tsconfig.json +7 -2
|
@@ -3,6 +3,7 @@ import { PluginApiReturn } from "../../../types";
|
|
|
3
3
|
import { ComponentHandle, BBoxComponents } from "../../../handles";
|
|
4
4
|
import { PluginDesignQueryGeometryApi } from "./geometry";
|
|
5
5
|
import { PluginDesignQuerySpacesApi } from "./spaces";
|
|
6
|
+
import { PluginDesignQueryReferenceLinesApi } from "./referenceLines";
|
|
6
7
|
/**
|
|
7
8
|
* The kind of a BIM entity — the discovery/filter vocabulary for the whole
|
|
8
9
|
* `design.query.*` surface. Values are clean `lowerCamel` tokens; the host maps
|
|
@@ -34,15 +35,15 @@ export declare const PluginEntityType: z.ZodEnum<{
|
|
|
34
35
|
floor: "floor";
|
|
35
36
|
wall: "wall";
|
|
36
37
|
ceiling: "ceiling";
|
|
37
|
-
space: "space";
|
|
38
38
|
door: "door";
|
|
39
39
|
window: "window";
|
|
40
|
+
furniture: "furniture";
|
|
41
|
+
space: "space";
|
|
40
42
|
slab: "slab";
|
|
41
43
|
roof: "roof";
|
|
42
44
|
column: "column";
|
|
43
45
|
beam: "beam";
|
|
44
46
|
staircase: "staircase";
|
|
45
|
-
furniture: "furniture";
|
|
46
47
|
referenceLine: "referenceLine";
|
|
47
48
|
curtainWall: "curtainWall";
|
|
48
49
|
mullion: "mullion";
|
|
@@ -80,15 +81,15 @@ export declare const PluginEntityFilter: z.ZodObject<{
|
|
|
80
81
|
floor: "floor";
|
|
81
82
|
wall: "wall";
|
|
82
83
|
ceiling: "ceiling";
|
|
83
|
-
space: "space";
|
|
84
84
|
door: "door";
|
|
85
85
|
window: "window";
|
|
86
|
+
furniture: "furniture";
|
|
87
|
+
space: "space";
|
|
86
88
|
slab: "slab";
|
|
87
89
|
roof: "roof";
|
|
88
90
|
column: "column";
|
|
89
91
|
beam: "beam";
|
|
90
92
|
staircase: "staircase";
|
|
91
|
-
furniture: "furniture";
|
|
92
93
|
referenceLine: "referenceLine";
|
|
93
94
|
curtainWall: "curtainWall";
|
|
94
95
|
mullion: "mullion";
|
|
@@ -159,15 +160,15 @@ export declare const PluginDesignQueryListByTypeArgs: z.ZodObject<{
|
|
|
159
160
|
floor: "floor";
|
|
160
161
|
wall: "wall";
|
|
161
162
|
ceiling: "ceiling";
|
|
162
|
-
space: "space";
|
|
163
163
|
door: "door";
|
|
164
164
|
window: "window";
|
|
165
|
+
furniture: "furniture";
|
|
166
|
+
space: "space";
|
|
165
167
|
slab: "slab";
|
|
166
168
|
roof: "roof";
|
|
167
169
|
column: "column";
|
|
168
170
|
beam: "beam";
|
|
169
171
|
staircase: "staircase";
|
|
170
|
-
furniture: "furniture";
|
|
171
172
|
referenceLine: "referenceLine";
|
|
172
173
|
curtainWall: "curtainWall";
|
|
173
174
|
mullion: "mullion";
|
|
@@ -231,15 +232,15 @@ export declare const PluginDesignQueryListByTypeArgs: z.ZodObject<{
|
|
|
231
232
|
floor: "floor";
|
|
232
233
|
wall: "wall";
|
|
233
234
|
ceiling: "ceiling";
|
|
234
|
-
space: "space";
|
|
235
235
|
door: "door";
|
|
236
236
|
window: "window";
|
|
237
|
+
furniture: "furniture";
|
|
238
|
+
space: "space";
|
|
237
239
|
slab: "slab";
|
|
238
240
|
roof: "roof";
|
|
239
241
|
column: "column";
|
|
240
242
|
beam: "beam";
|
|
241
243
|
staircase: "staircase";
|
|
242
|
-
furniture: "furniture";
|
|
243
244
|
referenceLine: "referenceLine";
|
|
244
245
|
curtainWall: "curtainWall";
|
|
245
246
|
mullion: "mullion";
|
|
@@ -280,6 +281,7 @@ export type PluginDesignQueryComponentsArgs = z.infer<typeof PluginDesignQueryCo
|
|
|
280
281
|
* | `spaceType` | {@linkcode PluginSpaceType} | Space-type (spaces only) |
|
|
281
282
|
* | `areaClass` | {@linkcode PluginAreaClass} | Area classification (spaces only) |
|
|
282
283
|
* | `departmentId` | `string` | Department (masses only) |
|
|
284
|
+
* | `buildingType` | `string` | Assigned building type NAME (walls / slabs / floors / roofs / ceilings only) — the Object Properties panel's Wall/Slab/Floor/Roof/Ceiling Type dropdown value, matching the names from `design.types.list(kind)` |
|
|
283
285
|
* | `isLocked` | `boolean` | Lock flag |
|
|
284
286
|
* | `isHidden` | `boolean` | User-hidden flag |
|
|
285
287
|
* | `isSelected` | `boolean` | Current selection state |
|
|
@@ -293,15 +295,15 @@ export declare const PluginEntityProperties: z.ZodObject<{
|
|
|
293
295
|
floor: "floor";
|
|
294
296
|
wall: "wall";
|
|
295
297
|
ceiling: "ceiling";
|
|
296
|
-
space: "space";
|
|
297
298
|
door: "door";
|
|
298
299
|
window: "window";
|
|
300
|
+
furniture: "furniture";
|
|
301
|
+
space: "space";
|
|
299
302
|
slab: "slab";
|
|
300
303
|
roof: "roof";
|
|
301
304
|
column: "column";
|
|
302
305
|
beam: "beam";
|
|
303
306
|
staircase: "staircase";
|
|
304
|
-
furniture: "furniture";
|
|
305
307
|
referenceLine: "referenceLine";
|
|
306
308
|
curtainWall: "curtainWall";
|
|
307
309
|
mullion: "mullion";
|
|
@@ -330,6 +332,7 @@ export declare const PluginEntityProperties: z.ZodObject<{
|
|
|
330
332
|
EXCLUDED: "EXCLUDED";
|
|
331
333
|
}>>;
|
|
332
334
|
departmentId: z.ZodOptional<z.ZodString>;
|
|
335
|
+
buildingType: z.ZodOptional<z.ZodString>;
|
|
333
336
|
isLocked: z.ZodOptional<z.ZodBoolean>;
|
|
334
337
|
isHidden: z.ZodOptional<z.ZodBoolean>;
|
|
335
338
|
isSelected: z.ZodOptional<z.ZodBoolean>;
|
|
@@ -357,17 +360,28 @@ export type PluginEntityProperties = z.infer<typeof PluginEntityProperties>;
|
|
|
357
360
|
* entity's type computes them (area: floors/masses/slabs/roofs/beams/columns;
|
|
358
361
|
* volume: all; length: walls/beams).
|
|
359
362
|
*
|
|
363
|
+
* `thickness` and `height` are the Object Properties panel's dimension reads
|
|
364
|
+
* (the same engine source `design.update.wall` / `design.update.slab` etc.
|
|
365
|
+
* write through), in engine units. `thickness`: walls (the plan thickness —
|
|
366
|
+
* present only for straight orthogonal walls, exactly when the panel shows it)
|
|
367
|
+
* and slabs/floors/roofs/ceilings (the vertical extent the panel calls
|
|
368
|
+
* Thickness). `height`: walls only.
|
|
369
|
+
*
|
|
360
370
|
* | Property | Type | Description |
|
|
361
371
|
* |---|---|---|
|
|
362
372
|
* | `area` | `number`? | Bottom-face area |
|
|
363
373
|
* | `volume` | `number`? | Solid volume |
|
|
364
374
|
* | `length` | `number`? | Running length (linear elements) |
|
|
375
|
+
* | `thickness` | `number`? | Panel Thickness — walls (straight orthogonal only) and the slab family |
|
|
376
|
+
* | `height` | `number`? | Panel Height — walls only |
|
|
365
377
|
* | `boundingBox` | {@linkcode BBoxComponents} | World-space AABB (always present) |
|
|
366
378
|
*/
|
|
367
379
|
export declare const PluginEntityMeasurements: z.ZodObject<{
|
|
368
380
|
area: z.ZodOptional<z.ZodNumber>;
|
|
369
381
|
volume: z.ZodOptional<z.ZodNumber>;
|
|
370
382
|
length: z.ZodOptional<z.ZodNumber>;
|
|
383
|
+
thickness: z.ZodOptional<z.ZodNumber>;
|
|
384
|
+
height: z.ZodOptional<z.ZodNumber>;
|
|
371
385
|
boundingBox: z.ZodObject<{
|
|
372
386
|
min: z.ZodObject<{
|
|
373
387
|
x: z.ZodNumber;
|
|
@@ -382,6 +396,89 @@ export declare const PluginEntityMeasurements: z.ZodObject<{
|
|
|
382
396
|
}, z.core.$strip>;
|
|
383
397
|
}, z.core.$strip>;
|
|
384
398
|
export type PluginEntityMeasurements = z.infer<typeof PluginEntityMeasurements>;
|
|
399
|
+
/**
|
|
400
|
+
* The parametric properties of a staircase — the same editable fields the
|
|
401
|
+
* staircase properties panel exposes. Returned by
|
|
402
|
+
* {@linkcode PluginDesignQueryApi.getStaircaseParams}; the write side is
|
|
403
|
+
* `design.update.staircase`. Engine internals (block schema, min well size,
|
|
404
|
+
* square-well padding) are deliberately excluded.
|
|
405
|
+
*
|
|
406
|
+
* All dimensions are in **engine units** (the same convention as
|
|
407
|
+
* `design.doors.getWidth`); `steps` is a unitless count. The invariant
|
|
408
|
+
* `staircaseHeight = steps × riser` is governed by the two lock booleans — see
|
|
409
|
+
* `design.update.staircase`. Type-specific fields (`wellSize`, `landingWidth`,
|
|
410
|
+
* `flightStartDistAfterTurn`) are present only when the preset uses them.
|
|
411
|
+
*
|
|
412
|
+
* | Property | Type | Description |
|
|
413
|
+
* |---|---|---|
|
|
414
|
+
* | `staircaseType` | {@linkcode PluginStaircasePreset} | Base staircase type |
|
|
415
|
+
* | `staircasePreset` | {@linkcode PluginStaircasePreset} | Named parametric preset |
|
|
416
|
+
* | `staircaseHeight` | `number` | Total rise (engine units) |
|
|
417
|
+
* | `steps` | `number` | Step count (unitless) |
|
|
418
|
+
* | `riser` | `number` | Riser height (engine units) |
|
|
419
|
+
* | `tread` | `number` | Tread depth (engine units) |
|
|
420
|
+
* | `width` | `number` | Flight width (engine units) |
|
|
421
|
+
* | `depth` | `number` | Slab/waist thickness (engine units) |
|
|
422
|
+
* | `wellSize` | `number`? | Stairwell gap (dogLegged / openWell / square) |
|
|
423
|
+
* | `landingWidth` | `number`? | Landing depth (straight / dogLegged) |
|
|
424
|
+
* | `flightStartDistAfterTurn` | `number`? | Flight offset after a turn (dogLegged / lShaped / square) |
|
|
425
|
+
* | `baseOffset` | `number` | Vertical offset from the storey base (engine units) |
|
|
426
|
+
* | `isStoreyHeightUnlocked` | `boolean` | When `false`, height is tied to the storey height |
|
|
427
|
+
* | `isStaircaseHeightUnlocked` | `boolean` | When `false`, height recomputes from steps × riser |
|
|
428
|
+
* | `storey` | `number` | Storey/floor level the staircase sits on |
|
|
429
|
+
*/
|
|
430
|
+
export declare const PluginStaircaseParams: z.ZodObject<{
|
|
431
|
+
staircaseType: z.ZodEnum<{
|
|
432
|
+
custom: "custom";
|
|
433
|
+
straight: "straight";
|
|
434
|
+
straightWoLanding: "straightWoLanding";
|
|
435
|
+
straightFlightWoMidLanding: "straightFlightWoMidLanding";
|
|
436
|
+
dogLegged: "dogLegged";
|
|
437
|
+
openWell: "openWell";
|
|
438
|
+
lShaped: "lShaped";
|
|
439
|
+
"3StepLShaped": "3StepLShaped";
|
|
440
|
+
square: "square";
|
|
441
|
+
singleStep: "singleStep";
|
|
442
|
+
plinthLevel: "plinthLevel";
|
|
443
|
+
amphitheatre: "amphitheatre";
|
|
444
|
+
connectingStepsToAmphitheatre: "connectingStepsToAmphitheatre";
|
|
445
|
+
mezzanineFloorStraight: "mezzanineFloorStraight";
|
|
446
|
+
mezzanineFloorDogLegged: "mezzanineFloorDogLegged";
|
|
447
|
+
mezzanineFloorLShaped: "mezzanineFloorLShaped";
|
|
448
|
+
}>;
|
|
449
|
+
staircasePreset: z.ZodEnum<{
|
|
450
|
+
custom: "custom";
|
|
451
|
+
straight: "straight";
|
|
452
|
+
straightWoLanding: "straightWoLanding";
|
|
453
|
+
straightFlightWoMidLanding: "straightFlightWoMidLanding";
|
|
454
|
+
dogLegged: "dogLegged";
|
|
455
|
+
openWell: "openWell";
|
|
456
|
+
lShaped: "lShaped";
|
|
457
|
+
"3StepLShaped": "3StepLShaped";
|
|
458
|
+
square: "square";
|
|
459
|
+
singleStep: "singleStep";
|
|
460
|
+
plinthLevel: "plinthLevel";
|
|
461
|
+
amphitheatre: "amphitheatre";
|
|
462
|
+
connectingStepsToAmphitheatre: "connectingStepsToAmphitheatre";
|
|
463
|
+
mezzanineFloorStraight: "mezzanineFloorStraight";
|
|
464
|
+
mezzanineFloorDogLegged: "mezzanineFloorDogLegged";
|
|
465
|
+
mezzanineFloorLShaped: "mezzanineFloorLShaped";
|
|
466
|
+
}>;
|
|
467
|
+
staircaseHeight: z.ZodNumber;
|
|
468
|
+
steps: z.ZodNumber;
|
|
469
|
+
riser: z.ZodNumber;
|
|
470
|
+
tread: z.ZodNumber;
|
|
471
|
+
width: z.ZodNumber;
|
|
472
|
+
depth: z.ZodNumber;
|
|
473
|
+
wellSize: z.ZodOptional<z.ZodNumber>;
|
|
474
|
+
landingWidth: z.ZodOptional<z.ZodNumber>;
|
|
475
|
+
flightStartDistAfterTurn: z.ZodOptional<z.ZodNumber>;
|
|
476
|
+
baseOffset: z.ZodNumber;
|
|
477
|
+
isStoreyHeightUnlocked: z.ZodBoolean;
|
|
478
|
+
isStaircaseHeightUnlocked: z.ZodBoolean;
|
|
479
|
+
storey: z.ZodNumber;
|
|
480
|
+
}, z.core.$strip>;
|
|
481
|
+
export type PluginStaircaseParams = z.infer<typeof PluginStaircaseParams>;
|
|
385
482
|
/**
|
|
386
483
|
* `design.query.*` — read-only enumeration + inspection of scene-committed BIM
|
|
387
484
|
* entities (all-handle model, §11). No query mutates the scene.
|
|
@@ -400,6 +497,8 @@ export declare abstract class PluginDesignQueryApi {
|
|
|
400
497
|
abstract geometry: PluginDesignQueryGeometryApi;
|
|
401
498
|
/** Space-specific reads (footprint, …). See {@linkcode PluginDesignQuerySpacesApi}. */
|
|
402
499
|
abstract spaces: PluginDesignQuerySpacesApi;
|
|
500
|
+
/** Reference-line-specific reads. See {@linkcode PluginDesignQueryReferenceLinesApi}. */
|
|
501
|
+
abstract referenceLines: PluginDesignQueryReferenceLinesApi;
|
|
403
502
|
constructor();
|
|
404
503
|
/**
|
|
405
504
|
* List **all** BIM entities in the project matching the filter.
|
|
@@ -928,13 +1027,16 @@ export declare abstract class PluginDesignQueryApi {
|
|
|
928
1027
|
* Read an entity's common properties as a {@linkcode PluginEntityProperties}
|
|
929
1028
|
* record (only applicable fields are present). For spaces/masses this includes
|
|
930
1029
|
* `adjacency` — the per-entity adjacency read (bulk form:
|
|
931
|
-
* `program.adjacency.getMatrix`).
|
|
1030
|
+
* `program.adjacency.getMatrix`). For walls and the slab family (slab / floor
|
|
1031
|
+
* / roof / ceiling) this includes `buildingType` — the assigned building type
|
|
1032
|
+
* NAME the panel's type dropdown shows, matching `design.types.list(kind)`.
|
|
932
1033
|
*
|
|
933
1034
|
* @param component - the entity's {@linkcode ComponentHandle}
|
|
934
1035
|
* @returns the property record
|
|
935
1036
|
*
|
|
936
1037
|
* @examplePrompt Show me all the details of the selected object
|
|
937
1038
|
* @examplePrompt What storey is this wall on?
|
|
1039
|
+
* @examplePrompt Which wall type is assigned to this wall?
|
|
938
1040
|
* @examplePrompt Which department does this room belong to?
|
|
939
1041
|
* @examplePrompt Is this element locked or hidden?
|
|
940
1042
|
* @examplePrompt Get the adjacencies of this space
|
|
@@ -961,11 +1063,20 @@ export declare abstract class PluginDesignQueryApi {
|
|
|
961
1063
|
* Measure an entity — read its area, volume, and/or running length (whichever
|
|
962
1064
|
* its type supports) together with its world-space bounding box in one call.
|
|
963
1065
|
*
|
|
1066
|
+
* For walls and the slab family this also carries the Object Properties
|
|
1067
|
+
* panel's dimension reads in engine units: `thickness` (walls — straight
|
|
1068
|
+
* orthogonal only, exactly when the panel shows it; slabs / floors / roofs /
|
|
1069
|
+
* ceilings — the vertical extent the panel calls Thickness) and `height`
|
|
1070
|
+
* (walls). These are the read side of `design.update.wall` /
|
|
1071
|
+
* `design.update.slab` / `.floor` / `.roof` / `.ceiling`.
|
|
1072
|
+
*
|
|
964
1073
|
* @param component - the entity's {@linkcode ComponentHandle}
|
|
965
1074
|
* @returns a {@linkcode PluginEntityMeasurements}, or `null` if the entity is gone
|
|
966
1075
|
*
|
|
967
1076
|
* @examplePrompt What's the area of this room?
|
|
968
1077
|
* @examplePrompt How long is the selected wall?
|
|
1078
|
+
* @examplePrompt How thick is this wall?
|
|
1079
|
+
* @examplePrompt Get the thickness of the slab on level 2
|
|
969
1080
|
* @examplePrompt Get the volume of this mass
|
|
970
1081
|
* @examplePrompt Give me the dimensions of the selected element
|
|
971
1082
|
* @examplePrompt What's the floor area of the kitchen?
|
|
@@ -975,9 +1086,41 @@ export declare abstract class PluginDesignQueryApi {
|
|
|
975
1086
|
* const [space] = await snaptrude.design.query.listSpaces()
|
|
976
1087
|
* const m = await snaptrude.design.query.measure(space)
|
|
977
1088
|
* console.log(m?.area, m?.volume)
|
|
1089
|
+
*
|
|
1090
|
+
* // wall dimensions — the panel's Thickness / Height, in engine units
|
|
1091
|
+
* const [wall] = await snaptrude.design.query.listWalls()
|
|
1092
|
+
* const wm = await snaptrude.design.query.measure(wall)
|
|
1093
|
+
* console.log(wm?.thickness, wm?.height)
|
|
978
1094
|
* ```
|
|
979
1095
|
*/
|
|
980
1096
|
abstract measure(component: ComponentHandle): PluginApiReturn<PluginEntityMeasurements | null>;
|
|
1097
|
+
/**
|
|
1098
|
+
* Read a staircase's parametric properties — its preset, dimensions, step
|
|
1099
|
+
* count, base offset, and height-lock state — as a
|
|
1100
|
+
* {@linkcode PluginStaircaseParams} record. The paired write is
|
|
1101
|
+
* `design.update.staircase`.
|
|
1102
|
+
*
|
|
1103
|
+
* All dimensions are in **engine units** (the same convention as
|
|
1104
|
+
* `design.doors.getWidth`); `steps` is a unitless count. A read — never
|
|
1105
|
+
* throws: returns `null` for a handle that is not a staircase or no longer
|
|
1106
|
+
* resolves.
|
|
1107
|
+
*
|
|
1108
|
+
* @param staircase - the staircase's {@linkcode ComponentHandle}
|
|
1109
|
+
* @returns the {@linkcode PluginStaircaseParams} record, or `null`
|
|
1110
|
+
*
|
|
1111
|
+
* @examplePrompt What's the riser height of this staircase?
|
|
1112
|
+
* @examplePrompt How many steps does the selected stair have?
|
|
1113
|
+
* @examplePrompt Show me the tread and width of this staircase
|
|
1114
|
+
* @examplePrompt Read all the parameters of the stairs on level 1
|
|
1115
|
+
*
|
|
1116
|
+
* # Example
|
|
1117
|
+
* ```ts
|
|
1118
|
+
* const [stair] = await snaptrude.design.query.listStaircases({ isSelected: true })
|
|
1119
|
+
* const params = stair ? await snaptrude.design.query.getStaircaseParams(stair) : null
|
|
1120
|
+
* if (params) console.log(params.steps, params.riser, params.tread)
|
|
1121
|
+
* ```
|
|
1122
|
+
*/
|
|
1123
|
+
abstract getStaircaseParams(staircase: ComponentHandle): PluginApiReturn<PluginStaircaseParams | null>;
|
|
981
1124
|
/**
|
|
982
1125
|
* Get the **union** axis-aligned bounding box enclosing a set of entities.
|
|
983
1126
|
*
|
|
@@ -1005,7 +1148,135 @@ export declare abstract class PluginDesignQueryApi {
|
|
|
1005
1148
|
* ```
|
|
1006
1149
|
*/
|
|
1007
1150
|
abstract getBoundingBox(components: ComponentHandle[]): PluginApiReturn<BBoxComponents | null>;
|
|
1151
|
+
/**
|
|
1152
|
+
* Compute the plan **outline of what is built on a storey** — the union of
|
|
1153
|
+
* the storey's wall (by default) footprints as polygons-with-holes. This is
|
|
1154
|
+
* the footprint-from-the-built-model query: by the time slabs are needed the
|
|
1155
|
+
* walls exist, and the engine's own solids (snapped, joined and mitred at
|
|
1156
|
+
* creation) are the cleanest wall network available — no CAD re-tracing.
|
|
1157
|
+
*
|
|
1158
|
+
* Semantics: the union of wall solids is the wall *material* — a ring-shaped
|
|
1159
|
+
* polygon. The **outer ring is the OUTSIDE wall face** (the slab boundary);
|
|
1160
|
+
* every enclosed region — rooms AND courtyards — appears as a hole. When the
|
|
1161
|
+
* largest hole is ~zero the walls don't enclose anything: the footprint
|
|
1162
|
+
* reports `enclosed: false` (an open wall network), never a garbage outline.
|
|
1163
|
+
* Detached buildings come back as separate footprints.
|
|
1164
|
+
*
|
|
1165
|
+
* A read — nothing is created. Feed a footprint's `outline` to
|
|
1166
|
+
* `core.geom.create.profileFromLinePoints` → `design.create.slab` to build
|
|
1167
|
+
* the floor/roof plate. Coordinates are world-space plan (x, z) in Snaptrude
|
|
1168
|
+
* internal units; `areaSq` values are in squared internal units.
|
|
1169
|
+
*
|
|
1170
|
+
* @param options - storey / included kinds / debris filter; see
|
|
1171
|
+
* {@linkcode PluginStoreyOutlineOptions}.
|
|
1172
|
+
* @returns the storey's footprints (possibly several for detached buildings)
|
|
1173
|
+
* plus pieces discarded by `minArea` (`footprints: []` when nothing matches).
|
|
1174
|
+
*
|
|
1175
|
+
* @examplePrompt What is the building footprint on the ground floor?
|
|
1176
|
+
* @examplePrompt Create a floor slab covering the whole storey
|
|
1177
|
+
* @examplePrompt Get the outline of the walls on storey 1
|
|
1178
|
+
* @examplePrompt How much area do the ground-floor walls enclose?
|
|
1179
|
+
*
|
|
1180
|
+
* # Example
|
|
1181
|
+
* ```ts
|
|
1182
|
+
* const r = await snaptrude.design.query.storeyOutline({ storey: 1 })
|
|
1183
|
+
* const main = r.footprints.find((f) => f.enclosed)
|
|
1184
|
+
* if (main) {
|
|
1185
|
+
* const profile = await snaptrude.core.geom.create.profileFromLinePoints(
|
|
1186
|
+
* main.outline.map((p) => ({ x: p.x, y: 0, z: p.z })),
|
|
1187
|
+
* )
|
|
1188
|
+
* // → design.create.slab with the profile's contour
|
|
1189
|
+
* }
|
|
1190
|
+
* ```
|
|
1191
|
+
*/
|
|
1192
|
+
abstract storeyOutline(options?: PluginStoreyOutlineOptions): PluginApiReturn<PluginStoreyOutlineResult>;
|
|
1008
1193
|
}
|
|
1194
|
+
/** A point in the world-space plan (x, z) projection, Snaptrude internal units. */
|
|
1195
|
+
export declare const PluginOutlinePlanPoint: z.ZodObject<{
|
|
1196
|
+
x: z.ZodNumber;
|
|
1197
|
+
z: z.ZodNumber;
|
|
1198
|
+
}, z.core.$strip>;
|
|
1199
|
+
export type PluginOutlinePlanPoint = z.infer<typeof PluginOutlinePlanPoint>;
|
|
1200
|
+
/**
|
|
1201
|
+
* Options for {@link PluginDesignQueryApi.storeyOutline}.
|
|
1202
|
+
*
|
|
1203
|
+
* | Property | Type | Description |
|
|
1204
|
+
* |---|---|---|
|
|
1205
|
+
* | `storey` | `number`? | Only components on this storey (default: all storeys) |
|
|
1206
|
+
* | `include` | {@link PluginEntityType}`[]`? | Component kinds to union (default `["wall"]`) |
|
|
1207
|
+
* | `minArea` | `number`? | Drop union pieces below this plan area, squared internal units (default `1`) |
|
|
1208
|
+
*/
|
|
1209
|
+
export declare const PluginStoreyOutlineOptions: z.ZodObject<{
|
|
1210
|
+
storey: z.ZodOptional<z.ZodNumber>;
|
|
1211
|
+
include: z.ZodDefault<z.ZodArray<z.ZodEnum<{
|
|
1212
|
+
mass: "mass";
|
|
1213
|
+
floor: "floor";
|
|
1214
|
+
wall: "wall";
|
|
1215
|
+
ceiling: "ceiling";
|
|
1216
|
+
door: "door";
|
|
1217
|
+
window: "window";
|
|
1218
|
+
furniture: "furniture";
|
|
1219
|
+
space: "space";
|
|
1220
|
+
slab: "slab";
|
|
1221
|
+
roof: "roof";
|
|
1222
|
+
column: "column";
|
|
1223
|
+
beam: "beam";
|
|
1224
|
+
staircase: "staircase";
|
|
1225
|
+
referenceLine: "referenceLine";
|
|
1226
|
+
curtainWall: "curtainWall";
|
|
1227
|
+
mullion: "mullion";
|
|
1228
|
+
panel: "panel";
|
|
1229
|
+
}>>>;
|
|
1230
|
+
minArea: z.ZodDefault<z.ZodNumber>;
|
|
1231
|
+
}, z.core.$strip>;
|
|
1232
|
+
export type PluginStoreyOutlineOptions = z.input<typeof PluginStoreyOutlineOptions>;
|
|
1233
|
+
/**
|
|
1234
|
+
* One connected footprint from {@link PluginDesignQueryApi.storeyOutline}.
|
|
1235
|
+
* `outline` traces the OUTSIDE wall face; `holes` are the enclosed regions
|
|
1236
|
+
* (rooms and courtyards). `enclosed` is `false` when the wall network does not
|
|
1237
|
+
* close around any region (open C-shape) — don't slab an unenclosed outline
|
|
1238
|
+
* without checking it.
|
|
1239
|
+
*/
|
|
1240
|
+
export declare const PluginStoreyFootprint: z.ZodObject<{
|
|
1241
|
+
outline: z.ZodArray<z.ZodObject<{
|
|
1242
|
+
x: z.ZodNumber;
|
|
1243
|
+
z: z.ZodNumber;
|
|
1244
|
+
}, z.core.$strip>>;
|
|
1245
|
+
holes: z.ZodArray<z.ZodObject<{
|
|
1246
|
+
ring: z.ZodArray<z.ZodObject<{
|
|
1247
|
+
x: z.ZodNumber;
|
|
1248
|
+
z: z.ZodNumber;
|
|
1249
|
+
}, z.core.$strip>>;
|
|
1250
|
+
areaSq: z.ZodNumber;
|
|
1251
|
+
}, z.core.$strip>>;
|
|
1252
|
+
areaSq: z.ZodNumber;
|
|
1253
|
+
enclosed: z.ZodBoolean;
|
|
1254
|
+
}, z.core.$strip>;
|
|
1255
|
+
export type PluginStoreyFootprint = z.infer<typeof PluginStoreyFootprint>;
|
|
1256
|
+
/** Result of {@link PluginDesignQueryApi.storeyOutline}. */
|
|
1257
|
+
export declare const PluginStoreyOutlineResult: z.ZodObject<{
|
|
1258
|
+
footprints: z.ZodArray<z.ZodObject<{
|
|
1259
|
+
outline: z.ZodArray<z.ZodObject<{
|
|
1260
|
+
x: z.ZodNumber;
|
|
1261
|
+
z: z.ZodNumber;
|
|
1262
|
+
}, z.core.$strip>>;
|
|
1263
|
+
holes: z.ZodArray<z.ZodObject<{
|
|
1264
|
+
ring: z.ZodArray<z.ZodObject<{
|
|
1265
|
+
x: z.ZodNumber;
|
|
1266
|
+
z: z.ZodNumber;
|
|
1267
|
+
}, z.core.$strip>>;
|
|
1268
|
+
areaSq: z.ZodNumber;
|
|
1269
|
+
}, z.core.$strip>>;
|
|
1270
|
+
areaSq: z.ZodNumber;
|
|
1271
|
+
enclosed: z.ZodBoolean;
|
|
1272
|
+
}, z.core.$strip>>;
|
|
1273
|
+
discarded: z.ZodArray<z.ZodObject<{
|
|
1274
|
+
areaSq: z.ZodNumber;
|
|
1275
|
+
reason: z.ZodString;
|
|
1276
|
+
}, z.core.$strip>>;
|
|
1277
|
+
}, z.core.$strip>;
|
|
1278
|
+
export type PluginStoreyOutlineResult = z.infer<typeof PluginStoreyOutlineResult>;
|
|
1009
1279
|
export * from "./geometry";
|
|
1010
1280
|
export * from "./spaces";
|
|
1281
|
+
export * from "./referenceLines";
|
|
1011
1282
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/design/query/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/design/query/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import * as z from "zod";
|
|
2
|
+
import { PluginApiReturn } from "../../../types";
|
|
3
|
+
import { PluginReferenceLineGetProperty, PluginReferenceLineGetResult } from "../../entity/referenceLine";
|
|
4
|
+
/**
|
|
5
|
+
* `design.query.referenceLines.*` — reference-line-specific reads.
|
|
6
|
+
*
|
|
7
|
+
* A **reference line** is a 2D guide line (or arc) in the scene, typically used
|
|
8
|
+
* for grid lines and alignment guides. Enumerate reference lines with
|
|
9
|
+
* `design.query.listReferenceLines`; read an individual line's properties here.
|
|
10
|
+
* This is the canonical home of the read formerly at `entity.referenceLine.get`
|
|
11
|
+
* (now deprecated).
|
|
12
|
+
*
|
|
13
|
+
* Accessed via `snaptrude.design.query.referenceLines`.
|
|
14
|
+
*/
|
|
15
|
+
export declare abstract class PluginDesignQueryReferenceLinesApi {
|
|
16
|
+
constructor();
|
|
17
|
+
/**
|
|
18
|
+
* Get properties of a reference line by its ID.
|
|
19
|
+
*
|
|
20
|
+
* Only the properties listed in `properties` are returned — unlisted
|
|
21
|
+
* properties will be `undefined` in the result.
|
|
22
|
+
*
|
|
23
|
+
* @param referenceLineId - The unique reference line ID
|
|
24
|
+
* @param properties - Array of property names to retrieve. See
|
|
25
|
+
* {@linkcode PluginReferenceLineGetProperty}.
|
|
26
|
+
* @returns A partial {@linkcode PluginReferenceLineGetResult} containing only the
|
|
27
|
+
* requested properties
|
|
28
|
+
* @throws If the reference line does not exist
|
|
29
|
+
*
|
|
30
|
+
* @examplePrompt Get the curve geometry of this reference line
|
|
31
|
+
* @examplePrompt Where does this grid line run?
|
|
32
|
+
* @examplePrompt Read the geometry of a guide line by its id
|
|
33
|
+
* @examplePrompt Look up the curve of the selected reference line
|
|
34
|
+
*
|
|
35
|
+
* # Example
|
|
36
|
+
* ```ts
|
|
37
|
+
* const [refLine] = await snaptrude.design.query.listReferenceLines()
|
|
38
|
+
* const result = await snaptrude.design.query.referenceLines.get(refLine, ["curve"])
|
|
39
|
+
* // result.curve is an opaque CurveHandle; read its coordinates via
|
|
40
|
+
* // `snaptrude.core.geom.curve`.
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
abstract get(referenceLineId: string, properties: z.infer<typeof PluginReferenceLineGetProperty>[]): PluginApiReturn<PluginReferenceLineGetResult>;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=referenceLines.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"referenceLines.d.ts","sourceRoot":"","sources":["../../../../src/api/design/query/referenceLines.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EACL,8BAA8B,EAC9B,4BAA4B,EAC7B,MAAM,4BAA4B,CAAA;AAEnC;;;;;;;;;;GAUG;AACH,8BAAsB,kCAAkC;;IAGtD;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;aACa,GAAG,CACjB,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,EAAE,GAC3D,eAAe,CAAC,4BAA4B,CAAC;CACjD"}
|