fluidcad 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.txt +504 -0
- package/README.md +175 -0
- package/bin/fluidcad.js +94 -0
- package/bin/watcher.js +55 -0
- package/lib/dist/common/edge.d.ts +14 -0
- package/lib/dist/common/edge.js +32 -0
- package/lib/dist/common/face.d.ts +31 -0
- package/lib/dist/common/face.js +83 -0
- package/lib/dist/common/materials.d.ts +7 -0
- package/lib/dist/common/materials.js +22 -0
- package/lib/dist/common/scene-object.d.ts +111 -0
- package/lib/dist/common/scene-object.js +380 -0
- package/lib/dist/common/shape-factory.d.ts +8 -0
- package/lib/dist/common/shape-factory.js +31 -0
- package/lib/dist/common/shape-type.d.ts +1 -0
- package/lib/dist/common/shape-type.js +1 -0
- package/lib/dist/common/shape.d.ts +43 -0
- package/lib/dist/common/shape.js +95 -0
- package/lib/dist/common/shapes.d.ts +6 -0
- package/lib/dist/common/shapes.js +6 -0
- package/lib/dist/common/solid-face.d.ts +9 -0
- package/lib/dist/common/solid-face.js +22 -0
- package/lib/dist/common/solid.d.ts +20 -0
- package/lib/dist/common/solid.js +68 -0
- package/lib/dist/common/vertex.d.ts +17 -0
- package/lib/dist/common/vertex.js +44 -0
- package/lib/dist/common/wire.d.ts +22 -0
- package/lib/dist/common/wire.js +97 -0
- package/lib/dist/constraints/constraint.d.ts +11 -0
- package/lib/dist/constraints/constraint.js +51 -0
- package/lib/dist/constraints/outside.d.ts +3 -0
- package/lib/dist/constraints/outside.js +4 -0
- package/lib/dist/core/2d/aline.d.ts +28 -0
- package/lib/dist/core/2d/aline.js +26 -0
- package/lib/dist/core/2d/arc.d.ts +77 -0
- package/lib/dist/core/2d/arc.js +49 -0
- package/lib/dist/core/2d/aslot.d.ts +12 -0
- package/lib/dist/core/2d/aslot.js +40 -0
- package/lib/dist/core/2d/bezier.d.ts +16 -0
- package/lib/dist/core/2d/bezier.js +15 -0
- package/lib/dist/core/2d/circle.d.ts +24 -0
- package/lib/dist/core/2d/circle.js +44 -0
- package/lib/dist/core/2d/connect.d.ts +11 -0
- package/lib/dist/core/2d/connect.js +10 -0
- package/lib/dist/core/2d/crect.d.ts +12 -0
- package/lib/dist/core/2d/crect.js +74 -0
- package/lib/dist/core/2d/face-driller.d.ts +8 -0
- package/lib/dist/core/2d/face-driller.js +70 -0
- package/lib/dist/core/2d/face-maker.d.ts +13 -0
- package/lib/dist/core/2d/face-maker.js +119 -0
- package/lib/dist/core/2d/face-maker2.d.ts +6 -0
- package/lib/dist/core/2d/face-maker2.js +54 -0
- package/lib/dist/core/2d/hline.d.ts +33 -0
- package/lib/dist/core/2d/hline.js +37 -0
- package/lib/dist/core/2d/hmove.d.ts +9 -0
- package/lib/dist/core/2d/hmove.js +11 -0
- package/lib/dist/core/2d/index.d.ts +22 -0
- package/lib/dist/core/2d/index.js +22 -0
- package/lib/dist/core/2d/line.d.ts +24 -0
- package/lib/dist/core/2d/line.js +40 -0
- package/lib/dist/core/2d/move.d.ts +13 -0
- package/lib/dist/core/2d/move.js +13 -0
- package/lib/dist/core/2d/offset.d.ts +21 -0
- package/lib/dist/core/2d/offset.js +24 -0
- package/lib/dist/core/2d/pmove.d.ts +11 -0
- package/lib/dist/core/2d/pmove.js +12 -0
- package/lib/dist/core/2d/polygon.d.ts +38 -0
- package/lib/dist/core/2d/polygon.js +63 -0
- package/lib/dist/core/2d/project.d.ts +17 -0
- package/lib/dist/core/2d/project.js +20 -0
- package/lib/dist/core/2d/rect.d.ts +27 -0
- package/lib/dist/core/2d/rect.js +58 -0
- package/lib/dist/core/2d/rmove.d.ts +17 -0
- package/lib/dist/core/2d/rmove.js +14 -0
- package/lib/dist/core/2d/slot.d.ts +49 -0
- package/lib/dist/core/2d/slot.js +65 -0
- package/lib/dist/core/2d/tarc.d.ts +46 -0
- package/lib/dist/core/2d/tarc.js +61 -0
- package/lib/dist/core/2d/tcircle.d.ts +15 -0
- package/lib/dist/core/2d/tcircle.js +24 -0
- package/lib/dist/core/2d/tline.d.ts +24 -0
- package/lib/dist/core/2d/tline.js +30 -0
- package/lib/dist/core/2d/vline.d.ts +33 -0
- package/lib/dist/core/2d/vline.js +37 -0
- package/lib/dist/core/2d/vmove.d.ts +9 -0
- package/lib/dist/core/2d/vmove.js +11 -0
- package/lib/dist/core/2d/wire.d.ts +11 -0
- package/lib/dist/core/2d/wire.js +29 -0
- package/lib/dist/core/axis.d.ts +41 -0
- package/lib/dist/core/axis.js +104 -0
- package/lib/dist/core/chamfer.d.ts +31 -0
- package/lib/dist/core/chamfer.js +32 -0
- package/lib/dist/core/color.d.ts +16 -0
- package/lib/dist/core/color.js +19 -0
- package/lib/dist/core/common.d.ts +12 -0
- package/lib/dist/core/common.js +36 -0
- package/lib/dist/core/copy.d.ts +58 -0
- package/lib/dist/core/copy.js +49 -0
- package/lib/dist/core/cut.d.ts +46 -0
- package/lib/dist/core/cut.js +53 -0
- package/lib/dist/core/cylinder.d.ts +11 -0
- package/lib/dist/core/cylinder.js +10 -0
- package/lib/dist/core/extrude.d.ts +36 -0
- package/lib/dist/core/extrude.js +55 -0
- package/lib/dist/core/fillet.d.ts +33 -0
- package/lib/dist/core/fillet.js +58 -0
- package/lib/dist/core/fuse.d.ts +14 -0
- package/lib/dist/core/fuse.js +36 -0
- package/lib/dist/core/index.d.ts +32 -0
- package/lib/dist/core/index.js +30 -0
- package/lib/dist/core/interfaces.d.ts +411 -0
- package/lib/dist/core/interfaces.js +1 -0
- package/lib/dist/core/load.d.ts +10 -0
- package/lib/dist/core/load.js +10 -0
- package/lib/dist/core/loft.d.ts +10 -0
- package/lib/dist/core/loft.js +21 -0
- package/lib/dist/core/mirror.d.ts +40 -0
- package/lib/dist/core/mirror.js +95 -0
- package/lib/dist/core/part.d.ts +7 -0
- package/lib/dist/core/part.js +29 -0
- package/lib/dist/core/plane.d.ts +56 -0
- package/lib/dist/core/plane.js +111 -0
- package/lib/dist/core/region.d.ts +13 -0
- package/lib/dist/core/region.js +18 -0
- package/lib/dist/core/remove.d.ts +10 -0
- package/lib/dist/core/remove.js +10 -0
- package/lib/dist/core/repeat.d.ts +41 -0
- package/lib/dist/core/repeat.js +146 -0
- package/lib/dist/core/revolve.d.ts +19 -0
- package/lib/dist/core/revolve.js +39 -0
- package/lib/dist/core/rotate.d.ts +34 -0
- package/lib/dist/core/rotate.js +48 -0
- package/lib/dist/core/select.d.ts +12 -0
- package/lib/dist/core/select.js +21 -0
- package/lib/dist/core/shell.d.ts +16 -0
- package/lib/dist/core/shell.js +28 -0
- package/lib/dist/core/sketch.d.ts +18 -0
- package/lib/dist/core/sketch.js +34 -0
- package/lib/dist/core/sphere.d.ts +16 -0
- package/lib/dist/core/sphere.js +11 -0
- package/lib/dist/core/split.d.ts +12 -0
- package/lib/dist/core/split.js +26 -0
- package/lib/dist/core/subtract.d.ts +11 -0
- package/lib/dist/core/subtract.js +10 -0
- package/lib/dist/core/sweep.d.ts +16 -0
- package/lib/dist/core/sweep.js +29 -0
- package/lib/dist/core/translate.d.ts +64 -0
- package/lib/dist/core/translate.js +39 -0
- package/lib/dist/core/trim.d.ts +13 -0
- package/lib/dist/core/trim.js +18 -0
- package/lib/dist/core/use.d.ts +5 -0
- package/lib/dist/core/use.js +22 -0
- package/lib/dist/features/2d/aline.d.ts +18 -0
- package/lib/dist/features/2d/aline.js +78 -0
- package/lib/dist/features/2d/amove.d.ts +14 -0
- package/lib/dist/features/2d/amove.js +33 -0
- package/lib/dist/features/2d/arc-from-center.d.ts +16 -0
- package/lib/dist/features/2d/arc-from-center.js +69 -0
- package/lib/dist/features/2d/arc-to-point.d.ts +17 -0
- package/lib/dist/features/2d/arc-to-point.js +95 -0
- package/lib/dist/features/2d/arc.d.ts +19 -0
- package/lib/dist/features/2d/arc.js +94 -0
- package/lib/dist/features/2d/bezier.d.ts +15 -0
- package/lib/dist/features/2d/bezier.js +77 -0
- package/lib/dist/features/2d/circle.d.ts +17 -0
- package/lib/dist/features/2d/circle.js +58 -0
- package/lib/dist/features/2d/connect.d.ts +12 -0
- package/lib/dist/features/2d/connect.js +105 -0
- package/lib/dist/features/2d/constraints/constraint.d.ts +11 -0
- package/lib/dist/features/2d/constraints/constraint.js +49 -0
- package/lib/dist/features/2d/constraints/geometry-qualifier.d.ts +6 -0
- package/lib/dist/features/2d/constraints/geometry-qualifier.js +13 -0
- package/lib/dist/features/2d/constraints/outside.d.ts +3 -0
- package/lib/dist/features/2d/constraints/outside.js +4 -0
- package/lib/dist/features/2d/constraints/qualified-geometry.d.ts +16 -0
- package/lib/dist/features/2d/constraints/qualified-geometry.js +36 -0
- package/lib/dist/features/2d/extrudable-base.d.ts +15 -0
- package/lib/dist/features/2d/extrudable-base.js +27 -0
- package/lib/dist/features/2d/geometry.d.ts +20 -0
- package/lib/dist/features/2d/geometry.js +77 -0
- package/lib/dist/features/2d/hline.d.ts +16 -0
- package/lib/dist/features/2d/hline.js +66 -0
- package/lib/dist/features/2d/hmove.d.ts +14 -0
- package/lib/dist/features/2d/hmove.js +37 -0
- package/lib/dist/features/2d/line.d.ts +15 -0
- package/lib/dist/features/2d/line.js +59 -0
- package/lib/dist/features/2d/move.d.ts +15 -0
- package/lib/dist/features/2d/move.js +36 -0
- package/lib/dist/features/2d/offset.d.ts +18 -0
- package/lib/dist/features/2d/offset.js +117 -0
- package/lib/dist/features/2d/pmove.d.ts +16 -0
- package/lib/dist/features/2d/pmove.js +40 -0
- package/lib/dist/features/2d/polygon.d.ts +25 -0
- package/lib/dist/features/2d/polygon.js +107 -0
- package/lib/dist/features/2d/projection.d.ts +15 -0
- package/lib/dist/features/2d/projection.js +94 -0
- package/lib/dist/features/2d/rect.d.ts +45 -0
- package/lib/dist/features/2d/rect.js +262 -0
- package/lib/dist/features/2d/rmove.d.ts +17 -0
- package/lib/dist/features/2d/rmove.js +39 -0
- package/lib/dist/features/2d/sketch.d.ts +34 -0
- package/lib/dist/features/2d/sketch.js +171 -0
- package/lib/dist/features/2d/slot-from-edge.d.ts +19 -0
- package/lib/dist/features/2d/slot-from-edge.js +66 -0
- package/lib/dist/features/2d/slot.d.ts +24 -0
- package/lib/dist/features/2d/slot.js +119 -0
- package/lib/dist/features/2d/tarc-constrained.d.ts +20 -0
- package/lib/dist/features/2d/tarc-constrained.js +64 -0
- package/lib/dist/features/2d/tarc-to-point-tangent.d.ts +15 -0
- package/lib/dist/features/2d/tarc-to-point-tangent.js +86 -0
- package/lib/dist/features/2d/tarc-to-point.d.ts +13 -0
- package/lib/dist/features/2d/tarc-to-point.js +86 -0
- package/lib/dist/features/2d/tarc-two-circles.d.ts +18 -0
- package/lib/dist/features/2d/tarc-two-circles.js +61 -0
- package/lib/dist/features/2d/tarc-with-tangent.d.ts +17 -0
- package/lib/dist/features/2d/tarc-with-tangent.js +71 -0
- package/lib/dist/features/2d/tarc.d.ts +13 -0
- package/lib/dist/features/2d/tarc.js +71 -0
- package/lib/dist/features/2d/tcircle-constrained.d.ts +14 -0
- package/lib/dist/features/2d/tcircle-constrained.js +37 -0
- package/lib/dist/features/2d/tcircle-three-tan.d.ts +13 -0
- package/lib/dist/features/2d/tcircle-three-tan.js +33 -0
- package/lib/dist/features/2d/tcircle-two-tan.d.ts +13 -0
- package/lib/dist/features/2d/tcircle-two-tan.js +33 -0
- package/lib/dist/features/2d/tline-constrained.d.ts +27 -0
- package/lib/dist/features/2d/tline-constrained.js +82 -0
- package/lib/dist/features/2d/tline.d.ts +12 -0
- package/lib/dist/features/2d/tline.js +49 -0
- package/lib/dist/features/2d/vline.d.ts +16 -0
- package/lib/dist/features/2d/vline.js +65 -0
- package/lib/dist/features/2d/vmove.d.ts +14 -0
- package/lib/dist/features/2d/vmove.js +37 -0
- package/lib/dist/features/2d/wire.d.ts +12 -0
- package/lib/dist/features/2d/wire.js +76 -0
- package/lib/dist/features/Extrude.d.ts +1 -0
- package/lib/dist/features/Extrude.js +1 -0
- package/lib/dist/features/axis-from-edge.d.ts +15 -0
- package/lib/dist/features/axis-from-edge.js +82 -0
- package/lib/dist/features/axis-mid.d.ts +16 -0
- package/lib/dist/features/axis-mid.js +59 -0
- package/lib/dist/features/axis-renderable-base.d.ts +8 -0
- package/lib/dist/features/axis-renderable-base.js +12 -0
- package/lib/dist/features/axis.d.ts +14 -0
- package/lib/dist/features/axis.js +43 -0
- package/lib/dist/features/chamfer.d.ts +20 -0
- package/lib/dist/features/chamfer.js +129 -0
- package/lib/dist/features/color.d.ts +11 -0
- package/lib/dist/features/color.js +93 -0
- package/lib/dist/features/common.d.ts +12 -0
- package/lib/dist/features/common.js +70 -0
- package/lib/dist/features/common2d.d.ts +15 -0
- package/lib/dist/features/common2d.js +96 -0
- package/lib/dist/features/copy-circular.d.ts +23 -0
- package/lib/dist/features/copy-circular.js +73 -0
- package/lib/dist/features/copy-circular2d.d.ts +15 -0
- package/lib/dist/features/copy-circular2d.js +84 -0
- package/lib/dist/features/copy-linear.d.ts +23 -0
- package/lib/dist/features/copy-linear.js +101 -0
- package/lib/dist/features/copy-linear2d.d.ts +15 -0
- package/lib/dist/features/copy-linear2d.js +108 -0
- package/lib/dist/features/cut-base.d.ts +49 -0
- package/lib/dist/features/cut-base.js +312 -0
- package/lib/dist/features/cut-symmetric.d.ts +23 -0
- package/lib/dist/features/cut-symmetric.js +119 -0
- package/lib/dist/features/cut-two-distances.d.ts +24 -0
- package/lib/dist/features/cut-two-distances.js +110 -0
- package/lib/dist/features/cut.d.ts +27 -0
- package/lib/dist/features/cut.js +101 -0
- package/lib/dist/features/cylinder.d.ts +13 -0
- package/lib/dist/features/cylinder.js +33 -0
- package/lib/dist/features/extrude-base.d.ts +56 -0
- package/lib/dist/features/extrude-base.js +331 -0
- package/lib/dist/features/extrude-options.d.ts +8 -0
- package/lib/dist/features/extrude-options.js +1 -0
- package/lib/dist/features/extrude-symmetric.d.ts +28 -0
- package/lib/dist/features/extrude-symmetric.js +177 -0
- package/lib/dist/features/extrude-to-face.d.ts +35 -0
- package/lib/dist/features/extrude-to-face.js +275 -0
- package/lib/dist/features/extrude-two-distances.d.ts +21 -0
- package/lib/dist/features/extrude-two-distances.js +116 -0
- package/lib/dist/features/extrude.d.ts +25 -0
- package/lib/dist/features/extrude.js +182 -0
- package/lib/dist/features/fillet.d.ts +24 -0
- package/lib/dist/features/fillet.js +125 -0
- package/lib/dist/features/fillet2d.d.ts +16 -0
- package/lib/dist/features/fillet2d.js +98 -0
- package/lib/dist/features/fuse.d.ts +10 -0
- package/lib/dist/features/fuse.js +63 -0
- package/lib/dist/features/fuse2d.d.ts +13 -0
- package/lib/dist/features/fuse2d.js +86 -0
- package/lib/dist/features/infinite-extrude.d.ts +10 -0
- package/lib/dist/features/infinite-extrude.js +44 -0
- package/lib/dist/features/lazy-scene-object.d.ts +16 -0
- package/lib/dist/features/lazy-scene-object.js +52 -0
- package/lib/dist/features/lazy-vertex.d.ts +19 -0
- package/lib/dist/features/lazy-vertex.js +62 -0
- package/lib/dist/features/load.d.ts +9 -0
- package/lib/dist/features/load.js +31 -0
- package/lib/dist/features/loft.d.ts +27 -0
- package/lib/dist/features/loft.js +273 -0
- package/lib/dist/features/mirror-feature.d.ts +15 -0
- package/lib/dist/features/mirror-feature.js +39 -0
- package/lib/dist/features/mirror-shape.d.ts +14 -0
- package/lib/dist/features/mirror-shape.js +86 -0
- package/lib/dist/features/mirror-shape2d.d.ts +18 -0
- package/lib/dist/features/mirror-shape2d.js +110 -0
- package/lib/dist/features/part.d.ts +12 -0
- package/lib/dist/features/part.js +36 -0
- package/lib/dist/features/plane-from-object.d.ts +29 -0
- package/lib/dist/features/plane-from-object.js +103 -0
- package/lib/dist/features/plane-mid.d.ts +18 -0
- package/lib/dist/features/plane-mid.js +54 -0
- package/lib/dist/features/plane-renderable-base.d.ts +9 -0
- package/lib/dist/features/plane-renderable-base.js +15 -0
- package/lib/dist/features/plane.d.ts +21 -0
- package/lib/dist/features/plane.js +64 -0
- package/lib/dist/features/region2d.d.ts +25 -0
- package/lib/dist/features/region2d.js +185 -0
- package/lib/dist/features/remove.d.ts +9 -0
- package/lib/dist/features/remove.js +33 -0
- package/lib/dist/features/repeat-circular.d.ts +23 -0
- package/lib/dist/features/repeat-circular.js +47 -0
- package/lib/dist/features/repeat-circular2d.d.ts +17 -0
- package/lib/dist/features/repeat-circular2d.js +90 -0
- package/lib/dist/features/repeat-linear.d.ts +23 -0
- package/lib/dist/features/repeat-linear.js +52 -0
- package/lib/dist/features/repeat-linear2d.d.ts +17 -0
- package/lib/dist/features/repeat-linear2d.js +114 -0
- package/lib/dist/features/revolve-options.d.ts +6 -0
- package/lib/dist/features/revolve-options.js +1 -0
- package/lib/dist/features/revolve.d.ts +23 -0
- package/lib/dist/features/revolve.js +150 -0
- package/lib/dist/features/rotate.d.ts +16 -0
- package/lib/dist/features/rotate.js +89 -0
- package/lib/dist/features/rotate2d.d.ts +15 -0
- package/lib/dist/features/rotate2d.js +83 -0
- package/lib/dist/features/select.d.ts +26 -0
- package/lib/dist/features/select.js +113 -0
- package/lib/dist/features/shell.d.ts +24 -0
- package/lib/dist/features/shell.js +214 -0
- package/lib/dist/features/simple-extruder.d.ts +22 -0
- package/lib/dist/features/simple-extruder.js +108 -0
- package/lib/dist/features/sphere.d.ts +13 -0
- package/lib/dist/features/sphere.js +33 -0
- package/lib/dist/features/split.d.ts +14 -0
- package/lib/dist/features/split.js +74 -0
- package/lib/dist/features/split2d.d.ts +13 -0
- package/lib/dist/features/split2d.js +69 -0
- package/lib/dist/features/state-scene-object.d.ts +15 -0
- package/lib/dist/features/state-scene-object.js +44 -0
- package/lib/dist/features/state-select.d.ts +21 -0
- package/lib/dist/features/state-select.js +73 -0
- package/lib/dist/features/static-scene-object.d.ts +10 -0
- package/lib/dist/features/static-scene-object.js +21 -0
- package/lib/dist/features/subtract.d.ts +13 -0
- package/lib/dist/features/subtract.js +56 -0
- package/lib/dist/features/sweep.d.ts +22 -0
- package/lib/dist/features/sweep.js +129 -0
- package/lib/dist/features/translate.d.ts +17 -0
- package/lib/dist/features/translate.js +76 -0
- package/lib/dist/features/translate2d.d.ts +16 -0
- package/lib/dist/features/translate2d.js +61 -0
- package/lib/dist/features/trim2d.d.ts +15 -0
- package/lib/dist/features/trim2d.js +154 -0
- package/lib/dist/filters/all-filter.d.ts +8 -0
- package/lib/dist/filters/all-filter.js +12 -0
- package/lib/dist/filters/edge/at-index.d.ts +21 -0
- package/lib/dist/filters/edge/at-index.js +82 -0
- package/lib/dist/filters/edge/circle-filter.d.ts +17 -0
- package/lib/dist/filters/edge/circle-filter.js +34 -0
- package/lib/dist/filters/edge/curve-filter.d.ts +17 -0
- package/lib/dist/filters/edge/curve-filter.js +34 -0
- package/lib/dist/filters/edge/edge-filter.d.ts +22 -0
- package/lib/dist/filters/edge/edge-filter.js +169 -0
- package/lib/dist/filters/edge/line-filter.d.ts +14 -0
- package/lib/dist/filters/edge/line-filter.js +27 -0
- package/lib/dist/filters/edge/on-plane.d.ts +20 -0
- package/lib/dist/filters/edge/on-plane.js +70 -0
- package/lib/dist/filters/edge/parallel.d.ts +18 -0
- package/lib/dist/filters/edge/parallel.js +41 -0
- package/lib/dist/filters/edge/vertical-plane.d.ts +18 -0
- package/lib/dist/filters/edge/vertical-plane.js +41 -0
- package/lib/dist/filters/face/at-index.d.ts +21 -0
- package/lib/dist/filters/face/at-index.js +89 -0
- package/lib/dist/filters/face/circle-filter.d.ts +17 -0
- package/lib/dist/filters/face/circle-filter.js +34 -0
- package/lib/dist/filters/face/cone-filter.d.ts +15 -0
- package/lib/dist/filters/face/cone-filter.js +30 -0
- package/lib/dist/filters/face/cylinder-curve.d.ts +17 -0
- package/lib/dist/filters/face/cylinder-curve.js +34 -0
- package/lib/dist/filters/face/cylinder.d.ts +17 -0
- package/lib/dist/filters/face/cylinder.js +34 -0
- package/lib/dist/filters/face/face-filter.d.ts +21 -0
- package/lib/dist/filters/face/face-filter.js +134 -0
- package/lib/dist/filters/face/on-plane.d.ts +18 -0
- package/lib/dist/filters/face/on-plane.js +41 -0
- package/lib/dist/filters/face/parallel.d.ts +18 -0
- package/lib/dist/filters/face/parallel.js +41 -0
- package/lib/dist/filters/filter-base.d.ts +8 -0
- package/lib/dist/filters/filter-base.js +2 -0
- package/lib/dist/filters/filter-builder-base.d.ts +10 -0
- package/lib/dist/filters/filter-builder-base.js +31 -0
- package/lib/dist/filters/filter.d.ts +8 -0
- package/lib/dist/filters/filter.js +33 -0
- package/lib/dist/filters/index.d.ts +4 -0
- package/lib/dist/filters/index.js +8 -0
- package/lib/dist/filters/near-point-filter.d.ts +11 -0
- package/lib/dist/filters/near-point-filter.js +33 -0
- package/lib/dist/helpers/clone-transform.d.ts +3 -0
- package/lib/dist/helpers/clone-transform.js +46 -0
- package/lib/dist/helpers/cut-helpers.d.ts +13 -0
- package/lib/dist/helpers/cut-helpers.js +79 -0
- package/lib/dist/helpers/math-helpers.d.ts +2 -0
- package/lib/dist/helpers/math-helpers.js +6 -0
- package/lib/dist/helpers/normalize.d.ts +12 -0
- package/lib/dist/helpers/normalize.js +118 -0
- package/lib/dist/helpers/resolve-filters.d.ts +6 -0
- package/lib/dist/helpers/resolve-filters.js +25 -0
- package/lib/dist/helpers/resolve.d.ts +8 -0
- package/lib/dist/helpers/resolve.js +45 -0
- package/lib/dist/helpers/scene-helpers.d.ts +17 -0
- package/lib/dist/helpers/scene-helpers.js +67 -0
- package/lib/dist/helpers/types.d.ts +27 -0
- package/lib/dist/helpers/types.js +1 -0
- package/lib/dist/index.d.ts +37 -0
- package/lib/dist/index.js +75 -0
- package/lib/dist/io/file-export.d.ts +30 -0
- package/lib/dist/io/file-export.js +45 -0
- package/lib/dist/io/file-import.d.ts +8 -0
- package/lib/dist/io/file-import.js +81 -0
- package/lib/dist/load.d.ts +1 -0
- package/lib/dist/load.js +1 -0
- package/lib/dist/math/axis.d.ts +72 -0
- package/lib/dist/math/axis.js +157 -0
- package/lib/dist/math/axis.test.d.ts +1 -0
- package/lib/dist/math/axis.test.js +287 -0
- package/lib/dist/math/convert.d.ts +2 -0
- package/lib/dist/math/convert.js +1 -0
- package/lib/dist/math/coordinate-system.d.ts +43 -0
- package/lib/dist/math/coordinate-system.js +140 -0
- package/lib/dist/math/coordinate-system.test.d.ts +1 -0
- package/lib/dist/math/coordinate-system.test.js +308 -0
- package/lib/dist/math/index.d.ts +8 -0
- package/lib/dist/math/index.js +8 -0
- package/lib/dist/math/matrix4.d.ts +53 -0
- package/lib/dist/math/matrix4.js +336 -0
- package/lib/dist/math/matrix4.test.d.ts +1 -0
- package/lib/dist/math/matrix4.test.js +357 -0
- package/lib/dist/math/plane.d.ts +60 -0
- package/lib/dist/math/plane.js +243 -0
- package/lib/dist/math/plane.test.d.ts +1 -0
- package/lib/dist/math/plane.test.js +398 -0
- package/lib/dist/math/point.d.ts +73 -0
- package/lib/dist/math/point.js +227 -0
- package/lib/dist/math/point.test.d.ts +1 -0
- package/lib/dist/math/point.test.js +385 -0
- package/lib/dist/math/quaternion.d.ts +37 -0
- package/lib/dist/math/quaternion.js +234 -0
- package/lib/dist/math/quaternion.test.d.ts +1 -0
- package/lib/dist/math/quaternion.test.js +278 -0
- package/lib/dist/math/vector3d.d.ts +43 -0
- package/lib/dist/math/vector3d.js +143 -0
- package/lib/dist/math/vector3d.test.d.ts +1 -0
- package/lib/dist/math/vector3d.test.js +276 -0
- package/lib/dist/oc/boolean-ops.d.ts +36 -0
- package/lib/dist/oc/boolean-ops.js +337 -0
- package/lib/dist/oc/constraint-resolver.d.ts +7 -0
- package/lib/dist/oc/constraint-resolver.js +31 -0
- package/lib/dist/oc/constraints/constraint-helpers.d.ts +33 -0
- package/lib/dist/oc/constraints/constraint-helpers.js +252 -0
- package/lib/dist/oc/constraints/constraint-solver-adaptor.d.ts +22 -0
- package/lib/dist/oc/constraints/constraint-solver-adaptor.js +62 -0
- package/lib/dist/oc/constraints/constraint-solver.d.ts +18 -0
- package/lib/dist/oc/constraints/constraint-solver.js +2 -0
- package/lib/dist/oc/constraints/create-solver.d.ts +2 -0
- package/lib/dist/oc/constraints/create-solver.js +6 -0
- package/lib/dist/oc/constraints/curve/curve-constraint-solver.d.ts +13 -0
- package/lib/dist/oc/constraints/curve/curve-constraint-solver.js +18 -0
- package/lib/dist/oc/constraints/curve/tangent-circle-solver.d.ts +16 -0
- package/lib/dist/oc/constraints/curve/tangent-circle-solver.js +112 -0
- package/lib/dist/oc/constraints/curve/tangent-line-solver.d.ts +19 -0
- package/lib/dist/oc/constraints/curve/tangent-line-solver.js +83 -0
- package/lib/dist/oc/constraints/curve-constraint-solver.d.ts +1 -0
- package/lib/dist/oc/constraints/curve-constraint-solver.js +2 -0
- package/lib/dist/oc/constraints/geometric/geometric-constraint-solver.d.ts +12 -0
- package/lib/dist/oc/constraints/geometric/geometric-constraint-solver.js +17 -0
- package/lib/dist/oc/constraints/geometric/tangent-circle-solver.d.ts +21 -0
- package/lib/dist/oc/constraints/geometric/tangent-circle-solver.js +220 -0
- package/lib/dist/oc/constraints/geometric/tangent-line-solver.d.ts +19 -0
- package/lib/dist/oc/constraints/geometric/tangent-line-solver.js +92 -0
- package/lib/dist/oc/constraints/geometric-constraint-solver.d.ts +1 -0
- package/lib/dist/oc/constraints/geometric-constraint-solver.js +5 -0
- package/lib/dist/oc/convert.d.ts +42 -0
- package/lib/dist/oc/convert.js +231 -0
- package/lib/dist/oc/edge-ops.d.ts +37 -0
- package/lib/dist/oc/edge-ops.js +306 -0
- package/lib/dist/oc/edge-props.d.ts +11 -0
- package/lib/dist/oc/edge-props.js +45 -0
- package/lib/dist/oc/edge-query.d.ts +44 -0
- package/lib/dist/oc/edge-query.js +235 -0
- package/lib/dist/oc/explorer.d.ts +34 -0
- package/lib/dist/oc/explorer.js +179 -0
- package/lib/dist/oc/extrude-ops.d.ts +22 -0
- package/lib/dist/oc/extrude-ops.js +149 -0
- package/lib/dist/oc/face-maker.d.ts +14 -0
- package/lib/dist/oc/face-maker.js +191 -0
- package/lib/dist/oc/face-maker2.d.ts +10 -0
- package/lib/dist/oc/face-maker2.js +139 -0
- package/lib/dist/oc/face-ops.d.ts +28 -0
- package/lib/dist/oc/face-ops.js +252 -0
- package/lib/dist/oc/face-props.d.ts +12 -0
- package/lib/dist/oc/face-props.js +81 -0
- package/lib/dist/oc/face-query.d.ts +35 -0
- package/lib/dist/oc/face-query.js +341 -0
- package/lib/dist/oc/fillet-ops.d.ts +13 -0
- package/lib/dist/oc/fillet-ops.js +153 -0
- package/lib/dist/oc/geometry.d.ts +22 -0
- package/lib/dist/oc/geometry.js +231 -0
- package/lib/dist/oc/hit-test.d.ts +11 -0
- package/lib/dist/oc/hit-test.js +85 -0
- package/lib/dist/oc/index.d.ts +24 -0
- package/lib/dist/oc/index.js +21 -0
- package/lib/dist/oc/init.d.ts +3 -0
- package/lib/dist/oc/init.js +17 -0
- package/lib/dist/oc/intersection.d.ts +10 -0
- package/lib/dist/oc/intersection.js +107 -0
- package/lib/dist/oc/io.d.ts +49 -0
- package/lib/dist/oc/io.js +417 -0
- package/lib/dist/oc/loft-ops.d.ts +5 -0
- package/lib/dist/oc/loft-ops.js +26 -0
- package/lib/dist/oc/measure.d.ts +21 -0
- package/lib/dist/oc/measure.js +256 -0
- package/lib/dist/oc/mesh.d.ts +15 -0
- package/lib/dist/oc/mesh.js +110 -0
- package/lib/dist/oc/primitives.d.ts +5 -0
- package/lib/dist/oc/primitives.js +19 -0
- package/lib/dist/oc/props.d.ts +13 -0
- package/lib/dist/oc/props.js +18 -0
- package/lib/dist/oc/shape-ops.d.ts +34 -0
- package/lib/dist/oc/shape-ops.js +208 -0
- package/lib/dist/oc/shell-ops.d.ts +5 -0
- package/lib/dist/oc/shell-ops.js +25 -0
- package/lib/dist/oc/sweep-ops.d.ts +12 -0
- package/lib/dist/oc/sweep-ops.js +39 -0
- package/lib/dist/oc/tangent-circle-solver.d.ts +17 -0
- package/lib/dist/oc/tangent-circle-solver.js +72 -0
- package/lib/dist/oc/tangent-line-solver.d.ts +17 -0
- package/lib/dist/oc/tangent-line-solver.js +83 -0
- package/lib/dist/oc/tangent-solver.d.ts +14 -0
- package/lib/dist/oc/tangent-solver.js +199 -0
- package/lib/dist/oc/vertex-ops.d.ts +11 -0
- package/lib/dist/oc/vertex-ops.js +39 -0
- package/lib/dist/oc/wire-ops.d.ts +21 -0
- package/lib/dist/oc/wire-ops.js +176 -0
- package/lib/dist/rendering/builder-context.d.ts +16 -0
- package/lib/dist/rendering/builder-context.js +63 -0
- package/lib/dist/rendering/mesh-builder.d.ts +5 -0
- package/lib/dist/rendering/mesh-builder.js +43 -0
- package/lib/dist/rendering/render-edge.d.ts +3 -0
- package/lib/dist/rendering/render-edge.js +4 -0
- package/lib/dist/rendering/render-face.d.ts +2 -0
- package/lib/dist/rendering/render-face.js +5 -0
- package/lib/dist/rendering/render-solid.d.ts +3 -0
- package/lib/dist/rendering/render-solid.js +61 -0
- package/lib/dist/rendering/render-wire.d.ts +6 -0
- package/lib/dist/rendering/render-wire.js +27 -0
- package/lib/dist/rendering/render.d.ts +3 -0
- package/lib/dist/rendering/render.js +183 -0
- package/lib/dist/rendering/scene-compare.d.ts +4 -0
- package/lib/dist/rendering/scene-compare.js +41 -0
- package/lib/dist/rendering/scene.d.ts +81 -0
- package/lib/dist/rendering/scene.js +206 -0
- package/lib/dist/scene-manager.d.ts +32 -0
- package/lib/dist/scene-manager.js +120 -0
- package/lib/dist/tests/extrude.test.d.ts +1 -0
- package/lib/dist/tests/extrude.test.js +48 -0
- package/lib/dist/tests/features/2d/arc.test.d.ts +1 -0
- package/lib/dist/tests/features/2d/arc.test.js +40 -0
- package/lib/dist/tests/features/2d/circle.test.d.ts +1 -0
- package/lib/dist/tests/features/2d/circle.test.js +64 -0
- package/lib/dist/tests/features/2d/constrained.test.d.ts +1 -0
- package/lib/dist/tests/features/2d/constrained.test.js +202 -0
- package/lib/dist/tests/features/2d/line.test.d.ts +1 -0
- package/lib/dist/tests/features/2d/line.test.js +86 -0
- package/lib/dist/tests/features/2d/move.test.d.ts +1 -0
- package/lib/dist/tests/features/2d/move.test.js +74 -0
- package/lib/dist/tests/features/2d/offset.test.d.ts +1 -0
- package/lib/dist/tests/features/2d/offset.test.js +111 -0
- package/lib/dist/tests/features/2d/pmove.test.d.ts +1 -0
- package/lib/dist/tests/features/2d/pmove.test.js +43 -0
- package/lib/dist/tests/features/2d/polygon.test.d.ts +1 -0
- package/lib/dist/tests/features/2d/polygon.test.js +150 -0
- package/lib/dist/tests/features/2d/project.test.d.ts +1 -0
- package/lib/dist/tests/features/2d/project.test.js +22 -0
- package/lib/dist/tests/features/2d/rect.test.d.ts +1 -0
- package/lib/dist/tests/features/2d/rect.test.js +66 -0
- package/lib/dist/tests/features/2d/rmove.test.d.ts +1 -0
- package/lib/dist/tests/features/2d/rmove.test.js +29 -0
- package/lib/dist/tests/features/2d/slot-from-edge.test.d.ts +1 -0
- package/lib/dist/tests/features/2d/slot-from-edge.test.js +35 -0
- package/lib/dist/tests/features/2d/slot.test.d.ts +1 -0
- package/lib/dist/tests/features/2d/slot.test.js +44 -0
- package/lib/dist/tests/features/2d/tarc.test.d.ts +1 -0
- package/lib/dist/tests/features/2d/tarc.test.js +237 -0
- package/lib/dist/tests/features/2d/tcircle.test.d.ts +1 -0
- package/lib/dist/tests/features/2d/tcircle.test.js +28 -0
- package/lib/dist/tests/features/2d/tline.test.d.ts +1 -0
- package/lib/dist/tests/features/2d/tline.test.js +34 -0
- package/lib/dist/tests/features/axis.test.d.ts +1 -0
- package/lib/dist/tests/features/axis.test.js +143 -0
- package/lib/dist/tests/features/chamfer.test.d.ts +1 -0
- package/lib/dist/tests/features/chamfer.test.js +159 -0
- package/lib/dist/tests/features/color.test.d.ts +1 -0
- package/lib/dist/tests/features/color.test.js +96 -0
- package/lib/dist/tests/features/common2d.test.d.ts +1 -0
- package/lib/dist/tests/features/common2d.test.js +113 -0
- package/lib/dist/tests/features/copy-circular-2d.test.d.ts +1 -0
- package/lib/dist/tests/features/copy-circular-2d.test.js +40 -0
- package/lib/dist/tests/features/copy-circular.test.d.ts +1 -0
- package/lib/dist/tests/features/copy-circular.test.js +44 -0
- package/lib/dist/tests/features/copy-linear-2d.test.d.ts +1 -0
- package/lib/dist/tests/features/copy-linear-2d.test.js +35 -0
- package/lib/dist/tests/features/copy-linear.test.d.ts +1 -0
- package/lib/dist/tests/features/copy-linear.test.js +95 -0
- package/lib/dist/tests/features/copy.test.d.ts +1 -0
- package/lib/dist/tests/features/copy.test.js +158 -0
- package/lib/dist/tests/features/cut-symmetric.test.d.ts +1 -0
- package/lib/dist/tests/features/cut-symmetric.test.js +120 -0
- package/lib/dist/tests/features/cut-two-distances.test.d.ts +1 -0
- package/lib/dist/tests/features/cut-two-distances.test.js +125 -0
- package/lib/dist/tests/features/cut.test.d.ts +1 -0
- package/lib/dist/tests/features/cut.test.js +311 -0
- package/lib/dist/tests/features/dispose.test.d.ts +1 -0
- package/lib/dist/tests/features/dispose.test.js +189 -0
- package/lib/dist/tests/features/extrude-symmetric.test.d.ts +1 -0
- package/lib/dist/tests/features/extrude-symmetric.test.js +240 -0
- package/lib/dist/tests/features/extrude-to-face.test.d.ts +1 -0
- package/lib/dist/tests/features/extrude-to-face.test.js +256 -0
- package/lib/dist/tests/features/extrude-two-distances.test.d.ts +1 -0
- package/lib/dist/tests/features/extrude-two-distances.test.js +264 -0
- package/lib/dist/tests/features/extrude.test.d.ts +1 -0
- package/lib/dist/tests/features/extrude.test.js +640 -0
- package/lib/dist/tests/features/fillet.test.d.ts +1 -0
- package/lib/dist/tests/features/fillet.test.js +163 -0
- package/lib/dist/tests/features/fillet2d.test.d.ts +1 -0
- package/lib/dist/tests/features/fillet2d.test.js +69 -0
- package/lib/dist/tests/features/fuse.test.d.ts +1 -0
- package/lib/dist/tests/features/fuse.test.js +122 -0
- package/lib/dist/tests/features/fuse2d.test.d.ts +1 -0
- package/lib/dist/tests/features/fuse2d.test.js +80 -0
- package/lib/dist/tests/features/loft.test.d.ts +1 -0
- package/lib/dist/tests/features/loft.test.js +283 -0
- package/lib/dist/tests/features/mirror.test.d.ts +1 -0
- package/lib/dist/tests/features/mirror.test.js +112 -0
- package/lib/dist/tests/features/mirror2d.test.d.ts +1 -0
- package/lib/dist/tests/features/mirror2d.test.js +75 -0
- package/lib/dist/tests/features/part-pick.test.d.ts +1 -0
- package/lib/dist/tests/features/part-pick.test.js +73 -0
- package/lib/dist/tests/features/part-repeat.test.d.ts +1 -0
- package/lib/dist/tests/features/part-repeat.test.js +109 -0
- package/lib/dist/tests/features/part.test.d.ts +1 -0
- package/lib/dist/tests/features/part.test.js +356 -0
- package/lib/dist/tests/features/plane.test.d.ts +1 -0
- package/lib/dist/tests/features/plane.test.js +154 -0
- package/lib/dist/tests/features/repeat-circular.test.d.ts +1 -0
- package/lib/dist/tests/features/repeat-circular.test.js +114 -0
- package/lib/dist/tests/features/repeat-linear.test.d.ts +1 -0
- package/lib/dist/tests/features/repeat-linear.test.js +138 -0
- package/lib/dist/tests/features/revolve.test.d.ts +1 -0
- package/lib/dist/tests/features/revolve.test.js +205 -0
- package/lib/dist/tests/features/rotate.test.d.ts +1 -0
- package/lib/dist/tests/features/rotate.test.js +133 -0
- package/lib/dist/tests/features/rotate2d.test.d.ts +1 -0
- package/lib/dist/tests/features/rotate2d.test.js +74 -0
- package/lib/dist/tests/features/select.test.d.ts +1 -0
- package/lib/dist/tests/features/select.test.js +337 -0
- package/lib/dist/tests/features/shell.test.d.ts +1 -0
- package/lib/dist/tests/features/shell.test.js +230 -0
- package/lib/dist/tests/features/subtract.test.d.ts +1 -0
- package/lib/dist/tests/features/subtract.test.js +103 -0
- package/lib/dist/tests/features/sweep.test.d.ts +1 -0
- package/lib/dist/tests/features/sweep.test.js +312 -0
- package/lib/dist/tests/features/translate.test.d.ts +1 -0
- package/lib/dist/tests/features/translate.test.js +117 -0
- package/lib/dist/tests/global-setup.d.ts +1 -0
- package/lib/dist/tests/global-setup.js +5 -0
- package/lib/dist/tests/math/axis.test.d.ts +1 -0
- package/lib/dist/tests/math/axis.test.js +287 -0
- package/lib/dist/tests/math/coordinate-system.test.d.ts +1 -0
- package/lib/dist/tests/math/coordinate-system.test.js +308 -0
- package/lib/dist/tests/math/matrix4.test.d.ts +1 -0
- package/lib/dist/tests/math/matrix4.test.js +357 -0
- package/lib/dist/tests/math/plane.test.d.ts +1 -0
- package/lib/dist/tests/math/plane.test.js +398 -0
- package/lib/dist/tests/math/point.test.d.ts +1 -0
- package/lib/dist/tests/math/point.test.js +385 -0
- package/lib/dist/tests/math/quaternion.test.d.ts +1 -0
- package/lib/dist/tests/math/quaternion.test.js +278 -0
- package/lib/dist/tests/math/vector3d.test.d.ts +1 -0
- package/lib/dist/tests/math/vector3d.test.js +276 -0
- package/lib/dist/tests/setup.d.ts +5 -0
- package/lib/dist/tests/setup.js +14 -0
- package/lib/dist/tests/utils.d.ts +12 -0
- package/lib/dist/tests/utils.js +36 -0
- package/lib/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +83 -0
- package/server/dist/fluidcad-server.d.ts +32 -0
- package/server/dist/fluidcad-server.js +150 -0
- package/server/dist/index.d.ts +1 -0
- package/server/dist/index.js +290 -0
- package/server/dist/routes/actions.d.ts +3 -0
- package/server/dist/routes/actions.js +100 -0
- package/server/dist/routes/export.d.ts +3 -0
- package/server/dist/routes/export.js +55 -0
- package/server/dist/routes/properties.d.ts +3 -0
- package/server/dist/routes/properties.js +46 -0
- package/server/dist/routes/screenshot.d.ts +2 -0
- package/server/dist/routes/screenshot.js +76 -0
- package/server/dist/vite-manager.d.ts +10 -0
- package/server/dist/vite-manager.js +64 -0
- package/server/dist/ws-protocol.d.ts +138 -0
- package/server/dist/ws-protocol.js +4 -0
- package/ui/dist/assets/index-DXW2yo2v.css +2 -0
- package/ui/dist/assets/index-qqJ_mWi7.js +4732 -0
- package/ui/dist/icons/aline.png +0 -0
- package/ui/dist/icons/arc.png +0 -0
- package/ui/dist/icons/aslot.png +0 -0
- package/ui/dist/icons/axis.png +0 -0
- package/ui/dist/icons/box.png +0 -0
- package/ui/dist/icons/chamfer.png +0 -0
- package/ui/dist/icons/circle.png +0 -0
- package/ui/dist/icons/color.png +0 -0
- package/ui/dist/icons/common.png +0 -0
- package/ui/dist/icons/cone.png +0 -0
- package/ui/dist/icons/connect.png +0 -0
- package/ui/dist/icons/copy-circular.png +0 -0
- package/ui/dist/icons/copy-circular2d.png +0 -0
- package/ui/dist/icons/copy-linear.png +0 -0
- package/ui/dist/icons/copy-linear2d.png +0 -0
- package/ui/dist/icons/cut.png +0 -0
- package/ui/dist/icons/cylinder.png +0 -0
- package/ui/dist/icons/edge.png +0 -0
- package/ui/dist/icons/extrude.png +0 -0
- package/ui/dist/icons/fillet.png +0 -0
- package/ui/dist/icons/fillet2d.png +0 -0
- package/ui/dist/icons/fuse.png +0 -0
- package/ui/dist/icons/hline.png +0 -0
- package/ui/dist/icons/hole.png +0 -0
- package/ui/dist/icons/line.png +0 -0
- package/ui/dist/icons/load.png +0 -0
- package/ui/dist/icons/mirror.png +0 -0
- package/ui/dist/icons/mirror2d.png +0 -0
- package/ui/dist/icons/move.png +0 -0
- package/ui/dist/icons/plane.png +0 -0
- package/ui/dist/icons/polygon.png +0 -0
- package/ui/dist/icons/rect.png +0 -0
- package/ui/dist/icons/revolve.png +0 -0
- package/ui/dist/icons/rotate.png +0 -0
- package/ui/dist/icons/rotate2d.png +0 -0
- package/ui/dist/icons/select.png +0 -0
- package/ui/dist/icons/shell.png +0 -0
- package/ui/dist/icons/sketch.png +0 -0
- package/ui/dist/icons/slot.png +0 -0
- package/ui/dist/icons/solid.png +0 -0
- package/ui/dist/icons/sphere.png +0 -0
- package/ui/dist/icons/subtract.png +0 -0
- package/ui/dist/icons/tarc.png +0 -0
- package/ui/dist/icons/tline.png +0 -0
- package/ui/dist/icons/translate.png +0 -0
- package/ui/dist/icons/vline.png +0 -0
- package/ui/dist/icons/wire.png +0 -0
- package/ui/dist/index.html +13 -0
- package/ui/dist/logo.png +0 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { VMove } from "../../features/2d/vmove.js";
|
|
2
|
+
import { registerBuilder } from "../../index.js";
|
|
3
|
+
function build(context) {
|
|
4
|
+
return function move() {
|
|
5
|
+
const distance = arguments[0];
|
|
6
|
+
const move = new VMove(distance);
|
|
7
|
+
context.addSceneObject(move);
|
|
8
|
+
return move;
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
export default registerBuilder(build);
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { PlaneLike } from "../../math/plane.js";
|
|
2
|
+
import { IExtrudableGeometry, IGeometry, ISceneObject } from "../interfaces.js";
|
|
3
|
+
interface WireFunction {
|
|
4
|
+
/**
|
|
5
|
+
* Groups geometry segments into a closed wire for extrusion.
|
|
6
|
+
* @param args - The geometry segments to group, optionally ending with a target plane
|
|
7
|
+
*/
|
|
8
|
+
(...args: (IGeometry | PlaneLike | ISceneObject)[]): IExtrudableGeometry;
|
|
9
|
+
}
|
|
10
|
+
declare const _default: WireFunction;
|
|
11
|
+
export default _default;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { GeometrySceneObject } from "../../features/2d/geometry.js";
|
|
2
|
+
import { WireObject } from "../../features/2d/wire.js";
|
|
3
|
+
import { registerBuilder } from "../../index.js";
|
|
4
|
+
import { isPlaneLike } from "../../math/plane.js";
|
|
5
|
+
import { SceneObject } from "../../common/scene-object.js";
|
|
6
|
+
import { resolvePlane } from "../../helpers/resolve.js";
|
|
7
|
+
function build(context) {
|
|
8
|
+
return function wire() {
|
|
9
|
+
let planeObj = null;
|
|
10
|
+
let argCount = arguments.length;
|
|
11
|
+
// Check if last argument is a plane
|
|
12
|
+
if (argCount > 0) {
|
|
13
|
+
const lastArg = arguments[argCount - 1];
|
|
14
|
+
if (isPlaneLike(lastArg) || (lastArg instanceof SceneObject && !(lastArg instanceof GeometrySceneObject))) {
|
|
15
|
+
planeObj = resolvePlane(lastArg, context);
|
|
16
|
+
argCount--;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
// Collect target objects from arguments
|
|
20
|
+
let targetObjects = [];
|
|
21
|
+
for (let i = 0; i < argCount; i++) {
|
|
22
|
+
targetObjects.push(arguments[i]);
|
|
23
|
+
}
|
|
24
|
+
const path = new WireObject(targetObjects.length > 0 ? targetObjects : null, planeObj);
|
|
25
|
+
context.addSceneObject(path);
|
|
26
|
+
return path;
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
export default registerBuilder(build);
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { AxisLike, AxisTransformOptions } from "../math/axis.js";
|
|
2
|
+
import { IAxis, ISceneObject } from "./interfaces.js";
|
|
3
|
+
interface AxisFunction {
|
|
4
|
+
/**
|
|
5
|
+
* Creates an axis from a direction vector.
|
|
6
|
+
* @param axis - The direction vector or standard axis
|
|
7
|
+
*/
|
|
8
|
+
(axis: AxisLike): IAxis;
|
|
9
|
+
/**
|
|
10
|
+
* Creates an axis from a direction vector with transform options.
|
|
11
|
+
* @param axis - The direction vector or standard axis
|
|
12
|
+
* @param options - Transform options (offset, flip, etc.)
|
|
13
|
+
*/
|
|
14
|
+
(axis: AxisLike, options: AxisTransformOptions): IAxis;
|
|
15
|
+
/**
|
|
16
|
+
* Creates an axis from a scene object's edge.
|
|
17
|
+
* @param source - The scene object whose edge defines the axis
|
|
18
|
+
*/
|
|
19
|
+
(source: ISceneObject): IAxis;
|
|
20
|
+
/**
|
|
21
|
+
* Creates an axis from a scene object's edge with transform options.
|
|
22
|
+
* @param source - The scene object whose edge defines the axis
|
|
23
|
+
* @param options - Transform options (offset, flip, etc.)
|
|
24
|
+
*/
|
|
25
|
+
(source: ISceneObject, options: AxisTransformOptions): IAxis;
|
|
26
|
+
/**
|
|
27
|
+
* Transforms an existing axis with options.
|
|
28
|
+
* @param axis - The existing axis to transform
|
|
29
|
+
* @param options - Transform options (offset, flip, etc.)
|
|
30
|
+
*/
|
|
31
|
+
(axis: IAxis, options: AxisTransformOptions): IAxis;
|
|
32
|
+
/**
|
|
33
|
+
* Creates an axis midway between two axes.
|
|
34
|
+
* @param a1 - The first axis
|
|
35
|
+
* @param a2 - The second axis
|
|
36
|
+
* @param options - Transform options (offset, flip, etc.)
|
|
37
|
+
*/
|
|
38
|
+
(a1: AxisLike | IAxis, a2: AxisLike | IAxis, options?: AxisTransformOptions): IAxis;
|
|
39
|
+
}
|
|
40
|
+
declare const _default: AxisFunction;
|
|
41
|
+
export default _default;
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { registerBuilder } from "../index.js";
|
|
2
|
+
import { isAxisLike } from "../math/axis.js";
|
|
3
|
+
import { AxisObject } from "../features/axis.js";
|
|
4
|
+
import { normalizeAxis } from "../helpers/normalize.js";
|
|
5
|
+
import { AxisFromEdge } from "../features/axis-from-edge.js";
|
|
6
|
+
import { AxisObjectBase } from "../features/axis-renderable-base.js";
|
|
7
|
+
import { AxisMiddle } from "../features/axis-mid.js";
|
|
8
|
+
import { SceneObject } from "../common/scene-object.js";
|
|
9
|
+
function build(context) {
|
|
10
|
+
return function axis() {
|
|
11
|
+
if (arguments.length === 1) {
|
|
12
|
+
if (arguments[0] instanceof SceneObject) {
|
|
13
|
+
context.addSceneObject(arguments[0]);
|
|
14
|
+
const a = new AxisFromEdge(arguments[0]);
|
|
15
|
+
context.addSceneObject(a);
|
|
16
|
+
return a;
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
const axis = normalizeAxis(arguments[0]);
|
|
20
|
+
const a = new AxisObject(axis);
|
|
21
|
+
context.addSceneObject(a);
|
|
22
|
+
return a;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
if (arguments.length === 2) {
|
|
26
|
+
if ((arguments[0] instanceof AxisObjectBase || isAxisLike(arguments[0])) &&
|
|
27
|
+
(arguments[1] instanceof AxisObjectBase || isAxisLike(arguments[1]))) {
|
|
28
|
+
// axis between two others
|
|
29
|
+
let a1;
|
|
30
|
+
let a2;
|
|
31
|
+
if (arguments[0] instanceof AxisObjectBase) {
|
|
32
|
+
a1 = arguments[0];
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
const axis = normalizeAxis(arguments[0]);
|
|
36
|
+
a1 = new AxisObject(axis);
|
|
37
|
+
}
|
|
38
|
+
if (arguments[1] instanceof AxisObjectBase) {
|
|
39
|
+
a2 = arguments[1];
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
const axis = normalizeAxis(arguments[1]);
|
|
43
|
+
a2 = new AxisObject(axis);
|
|
44
|
+
}
|
|
45
|
+
context.addSceneObject(a1);
|
|
46
|
+
context.addSceneObject(a2);
|
|
47
|
+
const a = new AxisMiddle(a1, a2);
|
|
48
|
+
context.addSceneObject(a);
|
|
49
|
+
return a;
|
|
50
|
+
}
|
|
51
|
+
if ((arguments[0] instanceof AxisObjectBase) && typeof arguments[1] === 'object') {
|
|
52
|
+
const axis = arguments[0];
|
|
53
|
+
const options = arguments[1];
|
|
54
|
+
context.addSceneObject(axis);
|
|
55
|
+
const a = new AxisFromEdge(axis, options);
|
|
56
|
+
context.addSceneObject(a);
|
|
57
|
+
return a;
|
|
58
|
+
}
|
|
59
|
+
if (arguments[0] instanceof SceneObject) {
|
|
60
|
+
context.addSceneObject(arguments[0]);
|
|
61
|
+
const a = new AxisFromEdge(arguments[0], arguments[1]);
|
|
62
|
+
context.addSceneObject(a);
|
|
63
|
+
return a;
|
|
64
|
+
}
|
|
65
|
+
if (isAxisLike(arguments[0])) {
|
|
66
|
+
const axis1 = normalizeAxis(arguments[0]);
|
|
67
|
+
const options = arguments[1];
|
|
68
|
+
const a = new AxisObject(axis1, options);
|
|
69
|
+
context.addSceneObject(a);
|
|
70
|
+
return a;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
if (arguments.length === 3) {
|
|
74
|
+
if ((arguments[0] instanceof AxisObjectBase || isAxisLike((arguments[0]))) &&
|
|
75
|
+
(arguments[1] instanceof AxisObjectBase || isAxisLike((arguments[1])))) {
|
|
76
|
+
// axis between two others with options
|
|
77
|
+
let a1;
|
|
78
|
+
let a2;
|
|
79
|
+
if (arguments[0] instanceof AxisObjectBase) {
|
|
80
|
+
a1 = arguments[0];
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
const axis = normalizeAxis(arguments[0]);
|
|
84
|
+
a1 = new AxisObject(axis);
|
|
85
|
+
}
|
|
86
|
+
if (arguments[1] instanceof AxisObjectBase) {
|
|
87
|
+
a2 = arguments[1];
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
const axis = normalizeAxis(arguments[1]);
|
|
91
|
+
a2 = new AxisObject(axis);
|
|
92
|
+
}
|
|
93
|
+
const options = arguments[2];
|
|
94
|
+
context.addSceneObject(a1);
|
|
95
|
+
context.addSceneObject(a2);
|
|
96
|
+
const a = new AxisMiddle(a1, a2, options);
|
|
97
|
+
context.addSceneObject(a);
|
|
98
|
+
return a;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
throw new Error("Invalid arguments for axis function");
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
export default registerBuilder(build);
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { ISceneObject } from "./interfaces.js";
|
|
2
|
+
interface ChamferFunction {
|
|
3
|
+
/**
|
|
4
|
+
* Chamfers selected edges with the given distance.
|
|
5
|
+
* @param distance - The chamfer distance (defaults to 1)
|
|
6
|
+
*/
|
|
7
|
+
(distance?: number): ISceneObject;
|
|
8
|
+
/**
|
|
9
|
+
* Chamfers the given edge selection with the given distance.
|
|
10
|
+
* @param distance - The chamfer distance
|
|
11
|
+
* @param selection - The edge selection to chamfer
|
|
12
|
+
*/
|
|
13
|
+
(distance: number, selection: ISceneObject): ISceneObject;
|
|
14
|
+
/**
|
|
15
|
+
* Chamfers selected edges with two distances or a distance and angle.
|
|
16
|
+
* @param distance - The first chamfer distance
|
|
17
|
+
* @param distance2 - The second distance, or angle if `isAngle` is true
|
|
18
|
+
* @param isAngle - Whether `distance2` is an angle
|
|
19
|
+
*/
|
|
20
|
+
(distance: number, distance2: number, isAngle?: boolean): ISceneObject;
|
|
21
|
+
/**
|
|
22
|
+
* Chamfers the given edge selection with two distances or a distance and angle.
|
|
23
|
+
* @param distance - The first chamfer distance
|
|
24
|
+
* @param distance2 - The second distance, or angle if `isAngle` is true
|
|
25
|
+
* @param isAngle - Whether `distance2` is an angle
|
|
26
|
+
* @param selection - The edge selection to chamfer
|
|
27
|
+
*/
|
|
28
|
+
(distance: number, distance2: number, isAngle: boolean, selection: ISceneObject): ISceneObject;
|
|
29
|
+
}
|
|
30
|
+
declare const _default: ChamferFunction;
|
|
31
|
+
export default _default;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Chamfer } from "../features/chamfer.js";
|
|
2
|
+
import { SceneObject } from "../common/scene-object.js";
|
|
3
|
+
import { registerBuilder } from "../index.js";
|
|
4
|
+
function build(context) {
|
|
5
|
+
return function chamfer() {
|
|
6
|
+
const args = Array.from(arguments);
|
|
7
|
+
let selection;
|
|
8
|
+
if (args.length > 0 && args[args.length - 1] instanceof SceneObject) {
|
|
9
|
+
selection = args.pop();
|
|
10
|
+
}
|
|
11
|
+
else {
|
|
12
|
+
selection = context.getLastSelection() || undefined;
|
|
13
|
+
}
|
|
14
|
+
context.addSceneObject(selection); // Ensure lazy selections are added to the scene
|
|
15
|
+
let distance = 1;
|
|
16
|
+
let distance2 = undefined;
|
|
17
|
+
let isAngle = false;
|
|
18
|
+
if (args.length >= 1 && typeof args[0] === 'number') {
|
|
19
|
+
distance = args[0];
|
|
20
|
+
}
|
|
21
|
+
if (args.length >= 2 && typeof args[1] === 'number') {
|
|
22
|
+
distance2 = args[1];
|
|
23
|
+
}
|
|
24
|
+
if (args.length >= 3 && typeof args[2] === 'boolean') {
|
|
25
|
+
isAngle = args[2];
|
|
26
|
+
}
|
|
27
|
+
const chamfer = new Chamfer(distance, distance2, isAngle, selection);
|
|
28
|
+
context.addSceneObject(chamfer);
|
|
29
|
+
return chamfer;
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
export default registerBuilder(build);
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ISceneObject } from "./interfaces.js";
|
|
2
|
+
interface ColorFunction {
|
|
3
|
+
/**
|
|
4
|
+
* Applies a color to the last selection.
|
|
5
|
+
* @param color - The color value (CSS color string)
|
|
6
|
+
*/
|
|
7
|
+
(color: string): ISceneObject;
|
|
8
|
+
/**
|
|
9
|
+
* Applies a color to the given selection.
|
|
10
|
+
* @param color - The color value (CSS color string)
|
|
11
|
+
* @param selection - The face or edge selection to color
|
|
12
|
+
*/
|
|
13
|
+
(color: string, selection: ISceneObject): ISceneObject;
|
|
14
|
+
}
|
|
15
|
+
declare const _default: ColorFunction;
|
|
16
|
+
export default _default;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { registerBuilder } from "../index.js";
|
|
2
|
+
import { SceneObject } from "../common/scene-object.js";
|
|
3
|
+
import { Color } from "../features/color.js";
|
|
4
|
+
function build(context) {
|
|
5
|
+
return function color() {
|
|
6
|
+
let selection;
|
|
7
|
+
if (arguments.length >= 2 && arguments[1] instanceof SceneObject) {
|
|
8
|
+
selection = arguments[1];
|
|
9
|
+
}
|
|
10
|
+
else {
|
|
11
|
+
selection = context.getLastSelection() || undefined;
|
|
12
|
+
}
|
|
13
|
+
context.addSceneObject(selection);
|
|
14
|
+
const obj = new Color(arguments[0], selection);
|
|
15
|
+
context.addSceneObject(obj);
|
|
16
|
+
return obj;
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
export default registerBuilder(build);
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ICommon, ISceneObject } from "./interfaces.js";
|
|
2
|
+
interface CommonFunction {
|
|
3
|
+
/** Computes the common (intersection) of all shapes or 2D geometries in the current context. */
|
|
4
|
+
(): ICommon;
|
|
5
|
+
/**
|
|
6
|
+
* Computes the common (intersection) of the given shapes or 2D geometries.
|
|
7
|
+
* @param objects - The objects to intersect
|
|
8
|
+
*/
|
|
9
|
+
(...objects: ISceneObject[]): ICommon;
|
|
10
|
+
}
|
|
11
|
+
declare const _default: CommonFunction;
|
|
12
|
+
export default _default;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { registerBuilder } from "../index.js";
|
|
2
|
+
import { Common } from "../features/common.js";
|
|
3
|
+
import { Common2D } from "../features/common2d.js";
|
|
4
|
+
function build(context) {
|
|
5
|
+
return function common(...args) {
|
|
6
|
+
const activeSketch = context.getActiveSketch();
|
|
7
|
+
if (activeSketch) {
|
|
8
|
+
let objects;
|
|
9
|
+
if (args.length > 0) {
|
|
10
|
+
if (args.length === 1 && Array.isArray(args[0])) {
|
|
11
|
+
objects = args[0];
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
objects = args;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
objects = [];
|
|
19
|
+
}
|
|
20
|
+
const common2d = new Common2D(...objects);
|
|
21
|
+
context.addSceneObject(common2d);
|
|
22
|
+
return common2d;
|
|
23
|
+
}
|
|
24
|
+
let solids;
|
|
25
|
+
if (args.length === 1 && Array.isArray(args[0])) {
|
|
26
|
+
solids = args[0];
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
solids = args;
|
|
30
|
+
}
|
|
31
|
+
const common = new Common(...solids);
|
|
32
|
+
context.addSceneObject(common);
|
|
33
|
+
return common;
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
export default registerBuilder(build);
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { AxisLike } from "../math/axis.js";
|
|
2
|
+
import { Point2DLike } from "../math/point.js";
|
|
3
|
+
import { LinearCopyOptions } from "../features/copy-linear.js";
|
|
4
|
+
import { CircularCopyOptions } from "../features/copy-circular.js";
|
|
5
|
+
import { ISceneObject } from "./interfaces.js";
|
|
6
|
+
export type CopyType = 'linear' | 'circular';
|
|
7
|
+
interface CopyFunction {
|
|
8
|
+
/**
|
|
9
|
+
* [2D] Creates linear copies along an axis inside a sketch.
|
|
10
|
+
* @param type - Must be `'linear'`
|
|
11
|
+
* @param axis - The axis to copy along
|
|
12
|
+
* @param options - Copy count, spacing, etc.
|
|
13
|
+
* @param objects - The objects to copy (defaults to last object)
|
|
14
|
+
*/
|
|
15
|
+
(type: 'linear', axis: AxisLike, options: LinearCopyOptions, ...objects: ISceneObject[]): ISceneObject;
|
|
16
|
+
/**
|
|
17
|
+
* [2D] Creates linear copies along multiple axes inside a sketch.
|
|
18
|
+
* @param type - Must be `'linear'`
|
|
19
|
+
* @param axis - The axes to copy along
|
|
20
|
+
* @param options - Copy count, spacing, etc.
|
|
21
|
+
* @param objects - The objects to copy (defaults to last object)
|
|
22
|
+
*/
|
|
23
|
+
(type: 'linear', axis: AxisLike[], options: LinearCopyOptions, ...objects: ISceneObject[]): ISceneObject;
|
|
24
|
+
/**
|
|
25
|
+
* [3D] Creates linear copies along an axis.
|
|
26
|
+
* @param type - Must be `'linear'`
|
|
27
|
+
* @param axis - The axis to copy along
|
|
28
|
+
* @param options - Copy count, spacing, etc.
|
|
29
|
+
* @param objects - The objects to copy (defaults to last object)
|
|
30
|
+
*/
|
|
31
|
+
(type: 'linear', axis: AxisLike, options: LinearCopyOptions, ...objects: ISceneObject[]): ISceneObject;
|
|
32
|
+
/**
|
|
33
|
+
* [3D] Creates linear copies along multiple axes.
|
|
34
|
+
* @param type - Must be `'linear'`
|
|
35
|
+
* @param axis - The axes to copy along
|
|
36
|
+
* @param options - Copy count, spacing, etc.
|
|
37
|
+
* @param objects - The objects to copy (defaults to last object)
|
|
38
|
+
*/
|
|
39
|
+
(type: 'linear', axis: AxisLike[], options: LinearCopyOptions, ...objects: ISceneObject[]): ISceneObject;
|
|
40
|
+
/**
|
|
41
|
+
* [2D] Creates circular copies around a center point inside a sketch.
|
|
42
|
+
* @param type - Must be `'circular'`
|
|
43
|
+
* @param center - The center point to copy around
|
|
44
|
+
* @param options - Copy count, angle, etc.
|
|
45
|
+
* @param objects - The objects to copy (defaults to last object)
|
|
46
|
+
*/
|
|
47
|
+
(type: 'circular', center: Point2DLike, options: CircularCopyOptions, ...objects: ISceneObject[]): ISceneObject;
|
|
48
|
+
/**
|
|
49
|
+
* [3D] Creates circular copies around an axis.
|
|
50
|
+
* @param type - Must be `'circular'`
|
|
51
|
+
* @param axis - The axis to copy around
|
|
52
|
+
* @param options - Copy count, angle, etc.
|
|
53
|
+
* @param objects - The objects to copy (defaults to last object)
|
|
54
|
+
*/
|
|
55
|
+
(type: 'circular', axis: AxisLike, options: CircularCopyOptions, ...objects: ISceneObject[]): ISceneObject;
|
|
56
|
+
}
|
|
57
|
+
declare const _default: CopyFunction;
|
|
58
|
+
export default _default;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { registerBuilder } from "../index.js";
|
|
2
|
+
import { normalizeAxis, normalizePoint2D } from "../helpers/normalize.js";
|
|
3
|
+
import { CopyLinear } from "../features/copy-linear.js";
|
|
4
|
+
import { CopyCircular } from "../features/copy-circular.js";
|
|
5
|
+
import { CopyLinear2D } from "../features/copy-linear2d.js";
|
|
6
|
+
import { CopyCircular2D } from "../features/copy-circular2d.js";
|
|
7
|
+
function build(context) {
|
|
8
|
+
return function copy() {
|
|
9
|
+
const args = Array.from(arguments);
|
|
10
|
+
if (args.length < 3) {
|
|
11
|
+
throw new Error("Invalid arguments for copy function: expected at least (type, axis, options)");
|
|
12
|
+
}
|
|
13
|
+
const type = args[0];
|
|
14
|
+
const activeSketch = context.getActiveSketch();
|
|
15
|
+
const options = args[2];
|
|
16
|
+
const restObjects = args.slice(3);
|
|
17
|
+
const objects = restObjects.length > 0
|
|
18
|
+
? restObjects
|
|
19
|
+
: [context.getSceneObjects().at(-1)];
|
|
20
|
+
if (type === 'linear') {
|
|
21
|
+
const axisArg = args[1];
|
|
22
|
+
const axes = Array.isArray(axisArg)
|
|
23
|
+
? axisArg.map(a => normalizeAxis(a))
|
|
24
|
+
: [normalizeAxis(axisArg)];
|
|
25
|
+
if (activeSketch) {
|
|
26
|
+
const copy = new CopyLinear2D(axes, options, restObjects.length > 0 ? restObjects : null);
|
|
27
|
+
context.addSceneObject(copy);
|
|
28
|
+
return copy;
|
|
29
|
+
}
|
|
30
|
+
const copy = new CopyLinear(axes, options, objects);
|
|
31
|
+
context.addSceneObject(copy);
|
|
32
|
+
return copy;
|
|
33
|
+
}
|
|
34
|
+
if (type === 'circular') {
|
|
35
|
+
if (activeSketch) {
|
|
36
|
+
const center = normalizePoint2D(args[1]);
|
|
37
|
+
const copy = new CopyCircular2D(center, options, restObjects.length > 0 ? restObjects : null);
|
|
38
|
+
context.addSceneObject(copy);
|
|
39
|
+
return copy;
|
|
40
|
+
}
|
|
41
|
+
const axis = normalizeAxis(args[1]);
|
|
42
|
+
const copy = new CopyCircular(axis, options, objects);
|
|
43
|
+
context.addSceneObject(copy);
|
|
44
|
+
return copy;
|
|
45
|
+
}
|
|
46
|
+
throw new Error(`Invalid copy type: ${type}`);
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
export default registerBuilder(build);
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { ICut, ISceneObject } from "./interfaces.js";
|
|
2
|
+
interface CutFunction {
|
|
3
|
+
/**
|
|
4
|
+
* Cuts through all using the last sketch
|
|
5
|
+
* @param target - The sketch to cut with
|
|
6
|
+
*/
|
|
7
|
+
(): ICut;
|
|
8
|
+
/**
|
|
9
|
+
* Cuts using the given sketch with a default distance.
|
|
10
|
+
* @param target - The sketch to cut with
|
|
11
|
+
*/
|
|
12
|
+
(target: ISceneObject): ICut;
|
|
13
|
+
/**
|
|
14
|
+
* Cuts using the given sketch by a given distance.
|
|
15
|
+
* @param distance - The cut depth
|
|
16
|
+
* @param target - The sketch to cut with
|
|
17
|
+
*/
|
|
18
|
+
(distance: number, target?: ISceneObject): ICut;
|
|
19
|
+
/**
|
|
20
|
+
* Cuts by two distances using the last sketch.
|
|
21
|
+
* @param distance1 - The first cut distance
|
|
22
|
+
* @param distance2 - The second cut distance
|
|
23
|
+
*/
|
|
24
|
+
(distance1: number, distance2: number): ICut;
|
|
25
|
+
/**
|
|
26
|
+
* Cuts by two distances using the given sketch.
|
|
27
|
+
* @param distance1 - The first cut distance
|
|
28
|
+
* @param distance2 - The second cut distance
|
|
29
|
+
* @param target - The sketch to cut with
|
|
30
|
+
*/
|
|
31
|
+
(distance1: number, distance2: number, target: ISceneObject): ICut;
|
|
32
|
+
/**
|
|
33
|
+
* Cuts up to face using the last sketch.
|
|
34
|
+
* @param face - The face to cut up to, or `'first-face'`/`'last-face'`
|
|
35
|
+
* @param target - The sketch to cut with
|
|
36
|
+
*/
|
|
37
|
+
(face: ISceneObject | 'first-face' | 'last-face'): ICut;
|
|
38
|
+
/**
|
|
39
|
+
* Cuts up to face using the given sketch.
|
|
40
|
+
* @param face - The face to cut up to, or `'first-face'`/`'last-face'`
|
|
41
|
+
* @param target - The sketch to cut with
|
|
42
|
+
*/
|
|
43
|
+
(face: ISceneObject | 'first-face' | 'last-face', target: ISceneObject): ICut;
|
|
44
|
+
}
|
|
45
|
+
declare const _default: CutFunction;
|
|
46
|
+
export default _default;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { SceneObject } from "../common/scene-object.js";
|
|
2
|
+
import { registerBuilder } from "../index.js";
|
|
3
|
+
import { Extrude } from "../features/extrude.js";
|
|
4
|
+
import { ExtrudeToFace } from "../features/extrude-to-face.js";
|
|
5
|
+
import { ExtrudeTwoDistances } from "../features/extrude-two-distances.js";
|
|
6
|
+
function isExtrudable(obj) {
|
|
7
|
+
return obj instanceof SceneObject && obj.isExtrudable();
|
|
8
|
+
}
|
|
9
|
+
function build(context) {
|
|
10
|
+
function doCut(params, extrudable) {
|
|
11
|
+
if (params.length === 0) {
|
|
12
|
+
return new Extrude(0, extrudable).remove();
|
|
13
|
+
}
|
|
14
|
+
else if (params.length === 1) {
|
|
15
|
+
if (typeof params[0] === 'number') {
|
|
16
|
+
return new Extrude(params[0], extrudable).remove();
|
|
17
|
+
}
|
|
18
|
+
else if (params[0] === 'first-face') {
|
|
19
|
+
return new ExtrudeToFace('first-face', extrudable).remove();
|
|
20
|
+
}
|
|
21
|
+
else if (params[0] === 'last-face') {
|
|
22
|
+
return new ExtrudeToFace('last-face', extrudable).remove();
|
|
23
|
+
}
|
|
24
|
+
else if (params[0] instanceof SceneObject) {
|
|
25
|
+
context.addSceneObject(params[0]);
|
|
26
|
+
return new ExtrudeToFace(params[0], extrudable).remove();
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
throw new Error("Invalid parameter for cut function.");
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
else if (params.length === 2) {
|
|
33
|
+
if (typeof params[0] === 'number' && typeof params[1] === 'number') {
|
|
34
|
+
return new ExtrudeTwoDistances(params[0], params[1], extrudable).remove();
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
throw new Error("Invalid parameters for cut function.");
|
|
38
|
+
}
|
|
39
|
+
return function cut() {
|
|
40
|
+
const args = [...arguments];
|
|
41
|
+
let extrudable;
|
|
42
|
+
if (args.length > 0 && isExtrudable(args[args.length - 1])) {
|
|
43
|
+
extrudable = args.pop();
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
extrudable = context.getLastExtrudable() || undefined;
|
|
47
|
+
}
|
|
48
|
+
const result = doCut(args, extrudable);
|
|
49
|
+
context.addSceneObject(result);
|
|
50
|
+
return result;
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
export default registerBuilder(build);
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ISceneObject } from "./interfaces.js";
|
|
2
|
+
interface CylinderFunction {
|
|
3
|
+
/**
|
|
4
|
+
* Creates a cylinder with the given radius and height.
|
|
5
|
+
* @param radius - The cylinder radius
|
|
6
|
+
* @param height - The cylinder height
|
|
7
|
+
*/
|
|
8
|
+
(radius: number, height: number): ISceneObject;
|
|
9
|
+
}
|
|
10
|
+
declare const _default: CylinderFunction;
|
|
11
|
+
export default _default;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Cylinder } from "../features/cylinder.js";
|
|
2
|
+
import { registerBuilder } from "../index.js";
|
|
3
|
+
function build(context) {
|
|
4
|
+
return function cylinder(radius, height) {
|
|
5
|
+
const cylinder = new Cylinder(radius, height);
|
|
6
|
+
context.addSceneObject(cylinder);
|
|
7
|
+
return cylinder;
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
export default registerBuilder(build);
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { IExtrude, ISceneObject } from "./interfaces.js";
|
|
2
|
+
interface ExtrudeFunction {
|
|
3
|
+
/**
|
|
4
|
+
* Extrudes the last sketch with a default distance.
|
|
5
|
+
* @param target - The sketch to extrude
|
|
6
|
+
*/
|
|
7
|
+
(target?: ISceneObject): IExtrude;
|
|
8
|
+
/**
|
|
9
|
+
* Extrudes the last sketch by a given distance.
|
|
10
|
+
* @param distance - The extrusion distance
|
|
11
|
+
* @param target - The sketch to extrude
|
|
12
|
+
*/
|
|
13
|
+
(distance: number, target?: ISceneObject): IExtrude;
|
|
14
|
+
/**
|
|
15
|
+
* Extrudes the last sketch between two distances.
|
|
16
|
+
* @param distance1 - The first extrusion distance
|
|
17
|
+
* @param distance2 - The second extrusion distance
|
|
18
|
+
* @param target - The sketch to extrude
|
|
19
|
+
*/
|
|
20
|
+
(distance1: number, distance2: number): IExtrude;
|
|
21
|
+
/**
|
|
22
|
+
* Extrudes the given sketch between two distances.
|
|
23
|
+
* @param distance1 - The first extrusion distance
|
|
24
|
+
* @param distance2 - The second extrusion distance
|
|
25
|
+
* @param target - The sketch to extrude
|
|
26
|
+
*/
|
|
27
|
+
(distance1: number, distance2: number, target: ISceneObject): IExtrude;
|
|
28
|
+
/**
|
|
29
|
+
* Extrudes the last sketch up to a face.
|
|
30
|
+
* @param face - The face to extrude up to, or `'first-face'`/`'last-face'`
|
|
31
|
+
* @param target - The sketch to extrude
|
|
32
|
+
*/
|
|
33
|
+
(face: ISceneObject | 'first-face' | 'last-face', target?: ISceneObject): IExtrude;
|
|
34
|
+
}
|
|
35
|
+
declare const _default: ExtrudeFunction;
|
|
36
|
+
export default _default;
|