@snaptrude/plugin-core 0.9.3 → 0.9.5
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 +7 -0
- package/api-manifest.json +1343 -43
- package/dist/api/core/geom/create/index.d.ts +141 -27
- package/dist/api/core/geom/create/index.d.ts.map +1 -1
- package/dist/api/core/geom/query/brep.d.ts +68 -0
- package/dist/api/core/geom/query/brep.d.ts.map +1 -1
- package/dist/api/core/io/underlay/index.d.ts +519 -0
- package/dist/api/core/io/underlay/index.d.ts.map +1 -1
- package/dist/api/design/query/index.d.ts +127 -0
- package/dist/api/design/query/index.d.ts.map +1 -1
- package/dist/index.cjs +231 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +209 -2
- package/dist/index.js.map +1 -1
- package/package.json +13 -13
- package/src/api/core/geom/create/index.ts +162 -29
- package/src/api/core/geom/query/brep.ts +74 -0
- package/src/api/core/io/underlay/index.ts +418 -8
- package/src/api/design/query/index.ts +99 -0
|
@@ -232,28 +232,52 @@ export declare abstract class PluginGeomCreateApi {
|
|
|
232
232
|
/**
|
|
233
233
|
* Create a closed solid **B-rep** by lofting between a bottom and a top
|
|
234
234
|
* contour, optionally through intermediate cross-sections. Host API call —
|
|
235
|
-
* returns a {@linkcode BrepHandle}.
|
|
236
|
-
*
|
|
237
|
-
*
|
|
238
|
-
*
|
|
239
|
-
*
|
|
240
|
-
*
|
|
241
|
-
*
|
|
242
|
-
*
|
|
235
|
+
* returns a {@linkcode BrepHandle}. Sections with different edge counts are
|
|
236
|
+
* auto-matched: vertices are deterministically inserted on the smaller
|
|
237
|
+
* sections at the larger section's perimeter positions, so the same input
|
|
238
|
+
* always yields the same solid. For straight-edge (all-line) sections the
|
|
239
|
+
* seam is auto-aligned too — winding and start-vertex correspondence are
|
|
240
|
+
* chosen to avoid a twist, so outlines authored from any starting corner
|
|
241
|
+
* loft cleanly; arc-bearing sections keep the authored correspondence
|
|
242
|
+
* unchanged. A pair whose side faces would be non-planar under every
|
|
243
|
+
* correspondence still builds for hole-free straight-edged pairs — planar
|
|
244
|
+
* side quads stay quads and warped ones split into planar triangles (the
|
|
245
|
+
* triangulated lane); arc-bearing or holed twisted pairs are rejected, as is
|
|
246
|
+
* auto-matching that would pair an arc with a straight edge. Matching hole
|
|
247
|
+
* counts are allowed in the two-section form. With intermediates the loft
|
|
248
|
+
* is a chain of ruled segments folded into one solid: sections must be
|
|
249
|
+
* planar and hole-free, ordered bottom → intermediates → top. The contours
|
|
250
|
+
* are copied — the input handles are never mutated.
|
|
243
251
|
*
|
|
244
252
|
* Inspect the result via `core.geom.query.brep.*`, or commit it to the scene
|
|
245
253
|
* with `design.create.massFromBrep`.
|
|
246
254
|
*
|
|
247
255
|
* @param bottomContour The bottom cross-section
|
|
248
|
-
* @param topContour The top cross-section (
|
|
256
|
+
* @param topContour The top cross-section (edge count may differ from the
|
|
257
|
+
* bottom — sections are auto-matched)
|
|
249
258
|
* @param intermediateContours Optional in-between cross-sections, ordered
|
|
250
|
-
* bottom to top (hole-free
|
|
259
|
+
* bottom to top (hole-free; edge counts may differ — every section is
|
|
260
|
+
* normalized to the largest)
|
|
261
|
+
* @param options Optional behavior switches. `compatibility` — `"auto"`
|
|
262
|
+
* (default) inserts vertices to match differing edge counts; `"strict"`
|
|
263
|
+
* skips normalization and throws VALIDATION when outer edge counts (or,
|
|
264
|
+
* in the two-section form, hole-pair counts) differ. `seamAlignment` —
|
|
265
|
+
* `"auto"` (default) searches seam rotations on straight-edge sections to
|
|
266
|
+
* avoid a twist; `"authored"` keeps the authored start-vertex
|
|
267
|
+
* correspondence unchanged (a twisted correspondence then builds through
|
|
268
|
+
* the triangulated lane for hole-free straight-edged pairs).
|
|
269
|
+
* `{ compatibility: "strict", seamAlignment: "authored" }` reproduces
|
|
270
|
+
* pre-0.9.4 lofting exactly.
|
|
251
271
|
* @returns The new solid as a {@linkcode BrepHandle}
|
|
252
|
-
* @throws VALIDATION if the contours are coincident, their
|
|
253
|
-
*
|
|
272
|
+
* @throws VALIDATION if the contours are coincident, their hole counts
|
|
273
|
+
* differ, any section has holes when intermediates are present
|
|
254
274
|
* (multi-section lofts take hole-free sections), a section is non-planar,
|
|
255
|
-
*
|
|
256
|
-
*
|
|
275
|
+
* sections are too dissimilar to auto-match, auto-matching would pair an
|
|
276
|
+
* arc with a straight edge, or — for arc-bearing or holed pairs only — no vertex correspondence avoids a twist (a
|
|
277
|
+
* side face between corresponding edges would be non-planar — the error
|
|
278
|
+
* names the offending sections); with `compatibility: "strict"`, if
|
|
279
|
+
* section edge counts (or hole-pair counts) differ — the error names the
|
|
280
|
+
* sections and counts and points at `compatibility: "auto"`
|
|
257
281
|
* @throws OPERATION_FAILED if the lofted segments cannot be joined into a
|
|
258
282
|
* valid solid
|
|
259
283
|
*
|
|
@@ -261,6 +285,10 @@ export declare abstract class PluginGeomCreateApi {
|
|
|
261
285
|
* @examplePrompt Loft between a large base and a smaller top
|
|
262
286
|
* @examplePrompt Create a frustum from two squares
|
|
263
287
|
* @examplePrompt Loft the tower through these three floor outlines
|
|
288
|
+
* @examplePrompt Loft a four-sided base to a five-sided top
|
|
289
|
+
* @examplePrompt Loft these outlines even though their corners don't line up
|
|
290
|
+
* @examplePrompt Loft these outlines exactly as authored, corner to corner
|
|
291
|
+
* @examplePrompt Fail the loft if my sections don't have matching edge counts
|
|
264
292
|
*
|
|
265
293
|
* # Example
|
|
266
294
|
* ```ts
|
|
@@ -274,7 +302,10 @@ export declare abstract class PluginGeomCreateApi {
|
|
|
274
302
|
* const faceCount = await snaptrude.core.geom.query.brep.getFaceCount(brep) // 6
|
|
275
303
|
* ```
|
|
276
304
|
*/
|
|
277
|
-
abstract brepFromLoft(bottomContour: ContourHandle, topContour: ContourHandle, intermediateContours?: ContourHandle[]
|
|
305
|
+
abstract brepFromLoft(bottomContour: ContourHandle, topContour: ContourHandle, intermediateContours?: ContourHandle[], options?: {
|
|
306
|
+
compatibility?: "strict" | "auto";
|
|
307
|
+
seamAlignment?: "authored" | "auto";
|
|
308
|
+
}): PluginApiReturn<BrepHandle>;
|
|
278
309
|
/**
|
|
279
310
|
* Create a closed solid **B-rep** from indexed mesh data: a vertex position
|
|
280
311
|
* array plus face loops of indices into it. Host API call — returns a
|
|
@@ -571,24 +602,59 @@ export declare abstract class PluginGeomCreateApi {
|
|
|
571
602
|
*/
|
|
572
603
|
abstract brepFromChamfer(brep: BrepHandle, edges: EdgeHandle[], distance: number): PluginApiReturn<BrepHandle>;
|
|
573
604
|
/**
|
|
574
|
-
* Sweeps a planar profile along
|
|
575
|
-
*
|
|
605
|
+
* Sweeps a planar profile along a polyline path, with mitred corners at
|
|
606
|
+
* each bend. Host API call — returns a new {@linkcode BrepHandle}; the
|
|
576
607
|
* input contour is read-only. The profile must be hole-free and must not
|
|
577
|
-
* lie in a plane containing the first path segment's direction.
|
|
578
|
-
*
|
|
579
|
-
*
|
|
580
|
-
*
|
|
608
|
+
* lie in a plane containing the first path segment's direction. Repeating
|
|
609
|
+
* the first point as the last closes the path into a ring solid (a picture
|
|
610
|
+
* frame): closed paths must be flat and straight-segmented and take a
|
|
611
|
+
* straight-edged (arc-free) profile — the ring's cross-section is the
|
|
612
|
+
* authored profile projected along the first leg onto the first mitre
|
|
613
|
+
* plane, so a profile not perpendicular to the first leg appears sheared.
|
|
614
|
+
* An optional scale law tapers the sweep: `startScale`/`endScale`
|
|
615
|
+
* interpolate linearly by arc length, or `scales` gives one factor per path
|
|
616
|
+
* point (scaling is about the profile centroid). A uniform scale (all
|
|
617
|
+
* factors equal) works on any path today's sweep accepts; a varying scale
|
|
618
|
+
* takes straight (collinear) open paths with straight-edged profiles —
|
|
619
|
+
* tapering across a bend or along an arc edge would create faces Snaptrude
|
|
620
|
+
* cannot represent and throws (sweep each straight run separately and union
|
|
621
|
+
* the results instead). An optional `transition` picks the corner
|
|
622
|
+
* treatment: `"miter"` (default) is today's sharp mitred bend;
|
|
623
|
+
* `{ bevel: b }` chamfers each turning corner by cutting `b` back along
|
|
624
|
+
* both adjacent legs (works on open and closed paths — each leg must be
|
|
625
|
+
* long enough for its cuts). On a corner-less path `transition` has no effect, and the
|
|
626
|
+
* varying-scale lane takes straight paths, so it never sees a corner.
|
|
627
|
+
*
|
|
628
|
+
* Open paths run on the OpenCascade kernel (the first kernel call loads a
|
|
629
|
+
* wasm of tens of MB — expect a pause of seconds); closed paths are
|
|
630
|
+
* computed host-side and never load the kernel.
|
|
581
631
|
*
|
|
582
632
|
* Inspect the result via `core.geom.query.brep.*`, or commit it to the scene
|
|
583
633
|
* with `design.create.massFromBrep`.
|
|
584
634
|
*
|
|
585
635
|
* @param profile The cross-section to sweep (hole-free contour)
|
|
586
|
-
* @param path The polyline path as plain `{x, y, z}` points (≥2
|
|
636
|
+
* @param path The polyline path as plain `{x, y, z}` points (≥2; repeat the
|
|
637
|
+
* first point as the last to close the path into a ring)
|
|
638
|
+
* @param options Optional scale law and corner transition. Scale law:
|
|
639
|
+
* `startScale`/`endScale` (linear taper by arc length) or `scales` (one
|
|
640
|
+
* factor per path point; mutually exclusive with
|
|
641
|
+
* `startScale`/`endScale`); every factor must be finite and within
|
|
642
|
+
* 1e-3..1e3. `transition`: `"miter"` (default, sharp corners) or
|
|
643
|
+
* `{ bevel: b }` (chamfered corners, `b` finite within 1e-3..1e3; open
|
|
644
|
+
* and closed paths)
|
|
587
645
|
* @returns The swept solid as a new {@linkcode BrepHandle}
|
|
588
646
|
* @throws VALIDATION if the profile has holes, the path has fewer than 2
|
|
589
|
-
* points, consecutive path points coincide,
|
|
590
|
-
*
|
|
591
|
-
*
|
|
647
|
+
* points, consecutive path points coincide, a coordinate is not finite,
|
|
648
|
+
* or the profile plane contains the first path segment's direction
|
|
649
|
+
* (degenerate sweep); for closed paths, if the ring has fewer than 3
|
|
650
|
+
* distinct corners, the path is non-planar, a corner doubles back, the
|
|
651
|
+
* profile has an arc edge, or the profile is too large for a mitred
|
|
652
|
+
* corner; for scale options, if a factor is outside 1e-3..1e3, `scales`
|
|
653
|
+
* is combined with `startScale`/`endScale`, `scales` does not match the
|
|
654
|
+
* path length, or a varying scale is used on a bent or closed path or
|
|
655
|
+
* with an arc-edged profile; for `{ bevel }`, if a leg is too short for
|
|
656
|
+
* the cuts its beveled corners take from it or a corner nearly doubles
|
|
657
|
+
* back so its chamfer collapses (the errors name the corner)
|
|
592
658
|
* @throws OPERATION_FAILED if the kernel cannot sweep the profile into a
|
|
593
659
|
* valid solid or a transition patch is a curved surface Snaptrude cannot
|
|
594
660
|
* represent
|
|
@@ -596,6 +662,10 @@ export declare abstract class PluginGeomCreateApi {
|
|
|
596
662
|
* @examplePrompt Sweep this profile along the corridor path
|
|
597
663
|
* @examplePrompt Extrude the railing section along this route
|
|
598
664
|
* @examplePrompt Run a duct profile through these points
|
|
665
|
+
* @examplePrompt Sweep a frame profile around a closed rectangular loop
|
|
666
|
+
* @examplePrompt Taper this duct from 1x1 to 2x2 along its run
|
|
667
|
+
* @examplePrompt Sweep a column section that narrows toward the top
|
|
668
|
+
* @examplePrompt Chamfer the corners of this swept frame by 200mm
|
|
599
669
|
*
|
|
600
670
|
* # Example
|
|
601
671
|
* ```ts
|
|
@@ -608,9 +678,33 @@ export declare abstract class PluginGeomCreateApi {
|
|
|
608
678
|
* { x: 0, y: 2.8, z: 0 },
|
|
609
679
|
* { x: 10, y: 2.8, z: 0 },
|
|
610
680
|
* ])
|
|
681
|
+
* // A closed ring (picture frame): repeat the first point as the last
|
|
682
|
+
* const frame = await snaptrude.core.geom.create.brepFromSweep(profile, [
|
|
683
|
+
* { x: 0, y: 0, z: 0 },
|
|
684
|
+
* { x: 0, y: 3, z: 0 },
|
|
685
|
+
* { x: 4, y: 3, z: 0 },
|
|
686
|
+
* { x: 4, y: 0, z: 0 },
|
|
687
|
+
* { x: 0, y: 0, z: 0 },
|
|
688
|
+
* ])
|
|
689
|
+
* // A tapered straight run: 0.4x0.4 at the start, 0.8x0.8 at the end
|
|
690
|
+
* const flue = await snaptrude.core.geom.create.brepFromSweep(
|
|
691
|
+
* profile,
|
|
692
|
+
* [
|
|
693
|
+
* { x: 0, y: 0, z: 0 },
|
|
694
|
+
* { x: 0, y: 10, z: 0 },
|
|
695
|
+
* ],
|
|
696
|
+
* { startScale: 1, endScale: 2 },
|
|
697
|
+
* )
|
|
611
698
|
* ```
|
|
612
699
|
*/
|
|
613
|
-
abstract brepFromSweep(profile: ContourHandle, path: Vec3Components[]
|
|
700
|
+
abstract brepFromSweep(profile: ContourHandle, path: Vec3Components[], options?: {
|
|
701
|
+
startScale?: number;
|
|
702
|
+
endScale?: number;
|
|
703
|
+
scales?: number[];
|
|
704
|
+
transition?: "miter" | {
|
|
705
|
+
bevel: number;
|
|
706
|
+
};
|
|
707
|
+
}): PluginApiReturn<BrepHandle>;
|
|
614
708
|
/**
|
|
615
709
|
* Revolves a planar profile about an axis to make a solid of revolution — a
|
|
616
710
|
* full turn by default. Host API call — returns a new
|
|
@@ -793,11 +887,22 @@ export type PluginGeomCreateBrepFromExtrusionArgs = z.infer<typeof PluginGeomCre
|
|
|
793
887
|
* | `bottomContour` | {@linkcode ContourHandle} | The bottom cross-section |
|
|
794
888
|
* | `topContour` | {@linkcode ContourHandle} | The top cross-section |
|
|
795
889
|
* | `intermediateContours` | {@linkcode ContourHandle}`[]`? | Optional in-between cross-sections, ordered bottom to top |
|
|
890
|
+
* | `options` | `object`? | Optional behavior switches: `compatibility` (`"strict"` throws on mismatched edge counts instead of auto-matching; default `"auto"`) and `seamAlignment` (`"authored"` keeps the authored correspondence instead of searching seam rotations; default `"auto"`) |
|
|
796
891
|
*/
|
|
797
892
|
export declare const PluginGeomCreateBrepFromLoftArgs: z.ZodObject<{
|
|
798
893
|
bottomContour: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../../..").Handle<"contour">, string>>;
|
|
799
894
|
topContour: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../../..").Handle<"contour">, string>>;
|
|
800
895
|
intermediateContours: z.ZodOptional<z.ZodArray<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../../..").Handle<"contour">, string>>>>;
|
|
896
|
+
options: z.ZodOptional<z.ZodObject<{
|
|
897
|
+
compatibility: z.ZodOptional<z.ZodEnum<{
|
|
898
|
+
strict: "strict";
|
|
899
|
+
auto: "auto";
|
|
900
|
+
}>>;
|
|
901
|
+
seamAlignment: z.ZodOptional<z.ZodEnum<{
|
|
902
|
+
auto: "auto";
|
|
903
|
+
authored: "authored";
|
|
904
|
+
}>>;
|
|
905
|
+
}, z.core.$strip>>;
|
|
801
906
|
}, z.core.$strip>;
|
|
802
907
|
export type PluginGeomCreateBrepFromLoftArgs = z.infer<typeof PluginGeomCreateBrepFromLoftArgs>;
|
|
803
908
|
/**
|
|
@@ -920,7 +1025,8 @@ export type PluginGeomCreateBrepFromChamferArgs = z.infer<typeof PluginGeomCreat
|
|
|
920
1025
|
* | Property | Type | Description |
|
|
921
1026
|
* |---|---|---|
|
|
922
1027
|
* | `profile` | {@linkcode ContourHandle} | The cross-section to sweep (hole-free) |
|
|
923
|
-
* | `path` | {@linkcode Vec3Components}`[]` | The
|
|
1028
|
+
* | `path` | {@linkcode Vec3Components}`[]` | The polyline path (≥2 points, finite components; repeating the first point as the last closes it into a ring — closed paths must be flat and straight-segmented and take a straight-edged profile) |
|
|
1029
|
+
* | `options` | `object`? | Optional scale law: `startScale`/`endScale` (linear taper by arc length) or per-point `scales` (mutually exclusive; factors finite, 1e-3..1e3; `scales.length` must equal `path.length`). Optional corner `transition`: `"miter"` (default) or `{ bevel }` (chamfered corners; finite, 1e-3..1e3) |
|
|
924
1030
|
*/
|
|
925
1031
|
export declare const PluginGeomCreateBrepFromSweepArgs: z.ZodObject<{
|
|
926
1032
|
profile: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../../..").Handle<"contour">, string>>;
|
|
@@ -929,6 +1035,14 @@ export declare const PluginGeomCreateBrepFromSweepArgs: z.ZodObject<{
|
|
|
929
1035
|
y: z.ZodNumber;
|
|
930
1036
|
z: z.ZodNumber;
|
|
931
1037
|
}, z.core.$strip>>;
|
|
1038
|
+
options: z.ZodOptional<z.ZodObject<{
|
|
1039
|
+
startScale: z.ZodOptional<z.ZodNumber>;
|
|
1040
|
+
endScale: z.ZodOptional<z.ZodNumber>;
|
|
1041
|
+
scales: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
1042
|
+
transition: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"miter">, z.ZodObject<{
|
|
1043
|
+
bevel: z.ZodNumber;
|
|
1044
|
+
}, z.core.$strip>]>>;
|
|
1045
|
+
}, z.core.$strip>>;
|
|
932
1046
|
}, z.core.$strip>;
|
|
933
1047
|
export type PluginGeomCreateBrepFromSweepArgs = z.infer<typeof PluginGeomCreateBrepFromSweepArgs>;
|
|
934
1048
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/api/core/geom/create/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpL;;;;;;;;;;GAUG;AACH,8BAAsB,mBAAmB;;IAGvC;;;;;;;;;;;;;;;OAeG;aACa,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,GAAG,eAAe,CAAC,UAAU,CAAC;IAE/F;;;;;;;;;;;;;;;;;OAiBG;aACa,GAAG,CACjB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,UAAU,EACpB,WAAW,EAAE,UAAU,EACvB,IAAI,EAAE,UAAU,GACf,eAAe,CAAC,SAAS,CAAC;IAE7B;;;;;;;;;;;;;;;;;OAiBG;aACa,MAAM,CACpB,WAAW,EAAE,UAAU,EACvB,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,MAAM,GACb,eAAe,CAAC,YAAY,CAAC;IAEhC;;;;;;;;;;;;;;OAcG;aACa,qBAAqB,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,eAAe,CAAC,aAAa,CAAC;IAE3F;;;;;;;;;;;;;OAaG;aACa,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,eAAe,CAAC,aAAa,CAAC;IAExF;;;;;;;;;;;;;;;;;;;;;;OAsBG;aACa,WAAW,CACzB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,UAAU,GAClB,eAAe,CAAC,aAAa,CAAC;IAEjC;;;;;;;;;OASG;aACa,kBAAkB,CAAC,KAAK,EAAE,aAAa,GAAG,eAAe,CAAC,aAAa,CAAC;IAExF;;;;;;;;;;;;;;;OAeG;aACa,mBAAmB,CACjC,KAAK,EAAE,aAAa,EACpB,KAAK,CAAC,EAAE,aAAa,EAAE,GACtB,eAAe,CAAC,aAAa,CAAC;IAEjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2CG;aACa,aAAa,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,GAAG,eAAe,CAAC,UAAU,CAAC;IAErF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;aACa,iBAAiB,CAC/B,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,MAAM,GACb,eAAe,CAAC,UAAU,CAAC;IAE9B
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/api/core/geom/create/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -134,6 +134,61 @@ export declare abstract class PluginGeomQueryBrepApi {
|
|
|
134
134
|
* ```
|
|
135
135
|
*/
|
|
136
136
|
abstract listEdgesBetween(brep: BrepHandle, vertexIndexA: number, vertexIndexB: number): PluginApiReturn<EdgeHandle[]>;
|
|
137
|
+
/**
|
|
138
|
+
* Read the exact curve of a brep edge as plain values — a discriminated
|
|
139
|
+
* union on `type`. Pure read: no geometry kernel is loaded. Points and
|
|
140
|
+
* directions are {@linkcode Vec3Components}; lengths and radii are raw
|
|
141
|
+
* Babylon units.
|
|
142
|
+
*
|
|
143
|
+
* | `type` | Fields |
|
|
144
|
+
* |---|---|
|
|
145
|
+
* | `"line"` | `startPoint`, `endPoint`, `length` |
|
|
146
|
+
* | `"arc"` | `startPoint`, `endPoint`, `centre`, `axis`, `radius`, `length` |
|
|
147
|
+
* | `"circle"` | `centre`, `axis`, `radius`, `length` — a full-circle edge (e.g. a cylinder cap rim) |
|
|
148
|
+
*
|
|
149
|
+
* @param brep The brep the edge belongs to
|
|
150
|
+
* @param edge The edge whose curve to read
|
|
151
|
+
* @returns The curve data as a discriminated union on `type` (see table above)
|
|
152
|
+
* @throws VALIDATION if the edge is not on `brep`
|
|
153
|
+
*
|
|
154
|
+
* @examplePrompt Read the radius of this curved edge
|
|
155
|
+
* @examplePrompt Is this edge straight or an arc?
|
|
156
|
+
* @examplePrompt Get the exact start and end points of this edge
|
|
157
|
+
* @examplePrompt Measure the length of each edge of this mass
|
|
158
|
+
*
|
|
159
|
+
* # Example
|
|
160
|
+
* ```ts
|
|
161
|
+
* const [mass] = await snaptrude.design.query.listMasses()
|
|
162
|
+
* const brep = await snaptrude.design.query.geometry.getBrep(mass)
|
|
163
|
+
* if (brep) {
|
|
164
|
+
* const edges = await snaptrude.core.geom.query.brep.listEdges(brep)
|
|
165
|
+
* for (const edge of edges) {
|
|
166
|
+
* const curve = await snaptrude.core.geom.query.brep.getEdgeCurve(brep, edge)
|
|
167
|
+
* if (curve.type === "arc") console.log("arc radius:", curve.radius)
|
|
168
|
+
* }
|
|
169
|
+
* }
|
|
170
|
+
* ```
|
|
171
|
+
*/
|
|
172
|
+
abstract getEdgeCurve(brep: BrepHandle, edge: EdgeHandle): PluginApiReturn<{
|
|
173
|
+
type: "line";
|
|
174
|
+
startPoint: Vec3Components;
|
|
175
|
+
endPoint: Vec3Components;
|
|
176
|
+
length: number;
|
|
177
|
+
} | {
|
|
178
|
+
type: "arc";
|
|
179
|
+
startPoint: Vec3Components;
|
|
180
|
+
endPoint: Vec3Components;
|
|
181
|
+
centre: Vec3Components;
|
|
182
|
+
axis: Vec3Components;
|
|
183
|
+
radius: number;
|
|
184
|
+
length: number;
|
|
185
|
+
} | {
|
|
186
|
+
type: "circle";
|
|
187
|
+
centre: Vec3Components;
|
|
188
|
+
axis: Vec3Components;
|
|
189
|
+
radius: number;
|
|
190
|
+
length: number;
|
|
191
|
+
}>;
|
|
137
192
|
/**
|
|
138
193
|
* Get the position of a vertex within a brep.
|
|
139
194
|
* @param brep The brep to query
|
|
@@ -369,6 +424,19 @@ export declare const PluginGeomQueryBrepListEdgesBetweenArgs: z.ZodObject<{
|
|
|
369
424
|
vertexIndexB: z.ZodNumber;
|
|
370
425
|
}, z.core.$strip>;
|
|
371
426
|
export type PluginGeomQueryBrepListEdgesBetweenArgs = z.infer<typeof PluginGeomQueryBrepListEdgesBetweenArgs>;
|
|
427
|
+
/**
|
|
428
|
+
* Arguments for {@linkcode PluginGeomQueryBrepApi.getEdgeCurve}.
|
|
429
|
+
*
|
|
430
|
+
* | Property | Type | Description |
|
|
431
|
+
* |---|---|---|
|
|
432
|
+
* | `brep` | {@linkcode BrepHandle} | The brep the edge belongs to |
|
|
433
|
+
* | `edge` | {@linkcode EdgeHandle} | The edge whose curve to read |
|
|
434
|
+
*/
|
|
435
|
+
export declare const PluginGeomQueryBrepGetEdgeCurveArgs: z.ZodObject<{
|
|
436
|
+
brep: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../../..").Handle<"brep">, string>>;
|
|
437
|
+
edge: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../../..").Handle<"edge">, string>>;
|
|
438
|
+
}, z.core.$strip>;
|
|
439
|
+
export type PluginGeomQueryBrepGetEdgeCurveArgs = z.infer<typeof PluginGeomQueryBrepGetEdgeCurveArgs>;
|
|
372
440
|
/**
|
|
373
441
|
* Arguments for {@linkcode PluginGeomQueryBrepApi.getVertexPosition}.
|
|
374
442
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brep.d.ts","sourceRoot":"","sources":["../../../../../src/api/core/geom/query/brep.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"brep.d.ts","sourceRoot":"","sources":["../../../../../src/api/core/geom/query/brep.ts"],"names":[],"mappings":"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"}
|