@faicad/faijs 0.29.5 → 0.30.9
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/NOTICE +6 -5
- package/dist/api/api-namespace.d.ts +1 -1
- package/dist/api/api-namespace.d.ts.map +1 -1
- package/dist/api/api-namespace.js +53 -1
- package/dist/api/api-namespace.js.map +1 -1
- package/dist/api/appearance.d.ts +0 -2
- package/dist/api/appearance.d.ts.map +1 -1
- package/dist/api/appearance.js +0 -2
- package/dist/api/appearance.js.map +1 -1
- package/dist/api/assembly/entities.d.ts +1 -1
- package/dist/api/assembly/entities.js +1 -1
- package/dist/api/assembly/entities.js.map +1 -1
- package/dist/api/assembly/index.d.ts +1 -1
- package/dist/api/assembly/index.js +1 -1
- package/dist/api/assembly/index.js.map +1 -1
- package/dist/api/assembly/joints.d.ts +33 -15
- package/dist/api/assembly/joints.d.ts.map +1 -1
- package/dist/api/assembly/joints.js +31 -13
- package/dist/api/assembly/joints.js.map +1 -1
- package/dist/api/assembly/preview.d.ts +1 -1
- package/dist/api/assembly/preview.js +1 -1
- package/dist/api/assembly/preview.js.map +1 -1
- package/dist/api/assembly/solve.d.ts +1 -1
- package/dist/api/assembly/solve.js +1 -1
- package/dist/api/assembly/solve.js.map +1 -1
- package/dist/api/assembly/solvers/assembly-tree.d.ts +1 -1
- package/dist/api/assembly/solvers/assembly-tree.js +1 -1
- package/dist/api/assembly/solvers/assembly-tree.js.map +1 -1
- package/dist/api/assembly/solvers/chain-solver.d.ts +2 -2
- package/dist/api/assembly/solvers/chain-solver.js.map +1 -1
- package/dist/api/assembly/solvers/global-solver.d.ts +1 -2
- package/dist/api/assembly/solvers/global-solver.d.ts.map +1 -1
- package/dist/api/assembly/solvers/global-solver.js +3 -4
- package/dist/api/assembly/solvers/global-solver.js.map +1 -1
- package/dist/api/assembly/solvers/joints-kinematics.js +1 -1
- package/dist/api/assembly/solvers/joints-kinematics.js.map +1 -1
- package/dist/api/assembly/solvers/linalg.d.ts +2 -2
- package/dist/api/assembly/solvers/linalg.js +2 -2
- package/dist/api/assembly/solvers/linalg.js.map +1 -1
- package/dist/api/assembly/solvers/types.d.ts +2 -5
- package/dist/api/assembly/solvers/types.d.ts.map +1 -1
- package/dist/api/assembly/solvers/types.js +1 -4
- package/dist/api/assembly/solvers/types.js.map +1 -1
- package/dist/api/boolean.d.ts.map +1 -1
- package/dist/api/boolean.js +7 -6
- package/dist/api/boolean.js.map +1 -1
- package/dist/api/brep-mirror/booleanFns.d.ts +3 -3
- package/dist/api/brep-mirror/booleanFns.js +5 -5
- package/dist/api/brep-mirror/booleanFns.js.map +1 -1
- package/dist/api/brep-mirror/compoundFns.d.ts +1 -1
- package/dist/api/brep-mirror/compoundFns.js +4 -4
- package/dist/api/brep-mirror/compoundFns.js.map +1 -1
- package/dist/api/brep-mirror/healingFns.d.ts +4 -4
- package/dist/api/brep-mirror/healingFns.js +4 -4
- package/dist/api/brep-mirror/healingFns.js.map +1 -1
- package/dist/api/brep-mirror/hullFns.d.ts +2 -2
- package/dist/api/brep-mirror/hullFns.js +2 -2
- package/dist/api/brep-mirror/hullFns.js.map +1 -1
- package/dist/api/brep-mirror/patternFns.d.ts +5 -5
- package/dist/api/brep-mirror/patternFns.js +10 -10
- package/dist/api/brep-mirror/patternFns.js.map +1 -1
- package/dist/api/brep-mirror/primitiveFns.d.ts +4 -4
- package/dist/api/brep-mirror/primitiveFns.js +4 -4
- package/dist/api/brep-mirror/primitiveFns.js.map +1 -1
- package/dist/api/brep-mirror/roofFns.d.ts +3 -3
- package/dist/api/brep-mirror/roofFns.js +7 -7
- package/dist/api/brep-mirror/roofFns.js.map +1 -1
- package/dist/api/brep-mirror/sweepFns.d.ts +7 -7
- package/dist/api/brep-mirror/sweepFns.js +14 -14
- package/dist/api/brep-mirror/sweepFns.js.map +1 -1
- package/dist/api/brep-mirror/threadFns.d.ts +1 -1
- package/dist/api/brep-mirror/threadFns.js +1 -1
- package/dist/api/brep-mirror/threadFns.js.map +1 -1
- package/dist/api/brep-mirror/topologyFns.d.ts +5 -5
- package/dist/api/brep-mirror/topologyFns.js +8 -8
- package/dist/api/brep-mirror/topologyFns.js.map +1 -1
- package/dist/api/brep-operations/booleanFns.d.ts +40 -0
- package/dist/api/brep-operations/booleanFns.d.ts.map +1 -0
- package/dist/api/brep-operations/booleanFns.js +104 -0
- package/dist/api/brep-operations/booleanFns.js.map +1 -0
- package/dist/api/brep-operations/brepHelpers.d.ts +55 -0
- package/dist/api/brep-operations/brepHelpers.d.ts.map +1 -0
- package/dist/api/brep-operations/brepHelpers.js +131 -0
- package/dist/api/brep-operations/brepHelpers.js.map +1 -0
- package/dist/api/brep-operations/compoundFns.d.ts +46 -0
- package/dist/api/brep-operations/compoundFns.d.ts.map +1 -0
- package/dist/api/brep-operations/compoundFns.js +299 -0
- package/dist/api/brep-operations/compoundFns.js.map +1 -0
- package/dist/api/brep-operations/healingFns.d.ts +78 -0
- package/dist/api/brep-operations/healingFns.d.ts.map +1 -0
- package/dist/api/brep-operations/healingFns.js +294 -0
- package/dist/api/brep-operations/healingFns.js.map +1 -0
- package/dist/api/brep-operations/hullFns.d.ts +20 -0
- package/dist/api/brep-operations/hullFns.d.ts.map +1 -0
- package/dist/api/brep-operations/hullFns.js +46 -0
- package/dist/api/brep-operations/hullFns.js.map +1 -0
- package/dist/api/brep-operations/joinery-brep.d.ts +172 -0
- package/dist/api/brep-operations/joinery-brep.d.ts.map +1 -0
- package/dist/api/brep-operations/joinery-brep.js +463 -0
- package/dist/api/brep-operations/joinery-brep.js.map +1 -0
- package/dist/api/brep-operations/patternFns.d.ts +43 -0
- package/dist/api/brep-operations/patternFns.d.ts.map +1 -0
- package/dist/api/brep-operations/patternFns.js +178 -0
- package/dist/api/brep-operations/patternFns.js.map +1 -0
- package/dist/api/brep-operations/primitiveFns.d.ts +42 -0
- package/dist/api/brep-operations/primitiveFns.d.ts.map +1 -0
- package/dist/api/brep-operations/primitiveFns.js +104 -0
- package/dist/api/brep-operations/primitiveFns.js.map +1 -0
- package/dist/api/brep-operations/roofFns.d.ts +24 -0
- package/dist/api/brep-operations/roofFns.d.ts.map +1 -0
- package/dist/api/brep-operations/roofFns.js +229 -0
- package/dist/api/brep-operations/roofFns.js.map +1 -0
- package/dist/api/brep-operations/straightSkeleton.d.ts +36 -0
- package/dist/api/brep-operations/straightSkeleton.d.ts.map +1 -0
- package/dist/api/brep-operations/straightSkeleton.js +431 -0
- package/dist/api/brep-operations/straightSkeleton.js.map +1 -0
- package/dist/api/brep-operations/sweepFns.d.ts +60 -0
- package/dist/api/brep-operations/sweepFns.d.ts.map +1 -0
- package/dist/api/brep-operations/sweepFns.js +323 -0
- package/dist/api/brep-operations/sweepFns.js.map +1 -0
- package/dist/api/brep-operations/threadFns.d.ts +83 -0
- package/dist/api/brep-operations/threadFns.d.ts.map +1 -0
- package/dist/api/brep-operations/threadFns.js +138 -0
- package/dist/api/brep-operations/threadFns.js.map +1 -0
- package/dist/api/brep-operations/topologyFns.d.ts +90 -0
- package/dist/api/brep-operations/topologyFns.d.ts.map +1 -0
- package/dist/api/brep-operations/topologyFns.js +276 -0
- package/dist/api/brep-operations/topologyFns.js.map +1 -0
- package/dist/api/brep-topology.d.ts +1 -1
- package/dist/api/brep-topology.d.ts.map +1 -1
- package/dist/api/brep-topology.js +1 -1
- package/dist/api/brep-topology.js.map +1 -1
- package/dist/api/brepjs-compat/index.d.ts +1 -1
- package/dist/api/brepjs-compat/index.js +3 -3
- package/dist/api/brepjs-compat/index.js.map +1 -1
- package/dist/api/cadquery-selectors/borrow-bridge.d.ts.map +1 -1
- package/dist/api/cadquery-selectors/borrow-bridge.js +3 -4
- package/dist/api/cadquery-selectors/borrow-bridge.js.map +1 -1
- package/dist/api/curve-sketch/index.d.ts +235 -0
- package/dist/api/curve-sketch/index.d.ts.map +1 -0
- package/dist/api/curve-sketch/index.js +487 -0
- package/dist/api/curve-sketch/index.js.map +1 -0
- package/dist/api/engrave.d.ts.map +1 -1
- package/dist/api/engrave.js +3 -2
- package/dist/api/engrave.js.map +1 -1
- package/dist/api/export-brep.d.ts +41 -0
- package/dist/api/export-brep.d.ts.map +1 -0
- package/dist/api/export-brep.js +58 -0
- package/dist/api/export-brep.js.map +1 -0
- package/dist/api/export-stl.d.ts +50 -0
- package/dist/api/export-stl.d.ts.map +1 -0
- package/dist/api/export-stl.js +99 -0
- package/dist/api/export-stl.js.map +1 -0
- package/dist/api/extrude.d.ts +8 -11
- package/dist/api/extrude.d.ts.map +1 -1
- package/dist/api/extrude.js +11 -14
- package/dist/api/extrude.js.map +1 -1
- package/dist/api/fillet-variable.d.ts +2 -2
- package/dist/api/fillet-variable.js +2 -2
- package/dist/api/fillet-variable.js.map +1 -1
- package/dist/api/fillet.d.ts +2 -4
- package/dist/api/fillet.d.ts.map +1 -1
- package/dist/api/fillet.js +2 -4
- package/dist/api/fillet.js.map +1 -1
- package/dist/api/generated/2d.d.ts +4 -0
- package/dist/api/generated/2d.d.ts.map +1 -1
- package/dist/api/generated/2d.js +4 -0
- package/dist/api/generated/2d.js.map +1 -1
- package/dist/api/generated/core.d.ts +4 -0
- package/dist/api/generated/core.d.ts.map +1 -1
- package/dist/api/generated/core.js +4 -0
- package/dist/api/generated/core.js.map +1 -1
- package/dist/api/generated/gear.d.ts +4 -0
- package/dist/api/generated/gear.d.ts.map +1 -1
- package/dist/api/generated/gear.js +4 -0
- package/dist/api/generated/gear.js.map +1 -1
- package/dist/api/generated/io.d.ts +4 -0
- package/dist/api/generated/io.d.ts.map +1 -1
- package/dist/api/generated/io.js +4 -0
- package/dist/api/generated/io.js.map +1 -1
- package/dist/api/generated/kernel.d.ts +4 -0
- package/dist/api/generated/kernel.d.ts.map +1 -1
- package/dist/api/generated/kernel.js +4 -0
- package/dist/api/generated/kernel.js.map +1 -1
- package/dist/api/generated/measurement.d.ts +21 -21
- package/dist/api/generated/measurement.d.ts.map +1 -1
- package/dist/api/generated/measurement.js +25 -21
- package/dist/api/generated/measurement.js.map +1 -1
- package/dist/api/generated/ns.d.ts +4 -0
- package/dist/api/generated/ns.d.ts.map +1 -1
- package/dist/api/generated/ns.js +4 -0
- package/dist/api/generated/ns.js.map +1 -1
- package/dist/api/generated/operations.d.ts +32 -32
- package/dist/api/generated/operations.d.ts.map +1 -1
- package/dist/api/generated/operations.js +52 -48
- package/dist/api/generated/operations.js.map +1 -1
- package/dist/api/generated/projection.d.ts +4 -0
- package/dist/api/generated/projection.d.ts.map +1 -1
- package/dist/api/generated/projection.js +4 -0
- package/dist/api/generated/projection.js.map +1 -1
- package/dist/api/generated/query.d.ts +4 -0
- package/dist/api/generated/query.d.ts.map +1 -1
- package/dist/api/generated/query.js +4 -0
- package/dist/api/generated/query.js.map +1 -1
- package/dist/api/generated/sketching.d.ts +2 -2
- package/dist/api/generated/sketching.d.ts.map +1 -1
- package/dist/api/generated/sketching.js +7 -3
- package/dist/api/generated/sketching.js.map +1 -1
- package/dist/api/generated/text.d.ts +4 -0
- package/dist/api/generated/text.d.ts.map +1 -1
- package/dist/api/generated/text.js +4 -0
- package/dist/api/generated/text.js.map +1 -1
- package/dist/api/generated/topology.d.ts +45 -45
- package/dist/api/generated/topology.d.ts.map +1 -1
- package/dist/api/generated/topology.js +67 -63
- package/dist/api/generated/topology.js.map +1 -1
- package/dist/api/generated/view.d.ts +4 -0
- package/dist/api/generated/view.d.ts.map +1 -1
- package/dist/api/generated/view.js +4 -0
- package/dist/api/generated/view.js.map +1 -1
- package/dist/api/geom-types/constants.d.ts +11 -0
- package/dist/api/geom-types/constants.d.ts.map +1 -0
- package/dist/api/geom-types/constants.js +11 -0
- package/dist/api/geom-types/constants.js.map +1 -0
- package/dist/api/geom-types/index.d.ts +21 -0
- package/dist/api/geom-types/index.d.ts.map +1 -0
- package/dist/api/geom-types/index.js +22 -0
- package/dist/api/geom-types/index.js.map +1 -0
- package/dist/api/geom-types/planeOps.d.ts +98 -0
- package/dist/api/geom-types/planeOps.d.ts.map +1 -0
- package/dist/api/geom-types/planeOps.js +170 -0
- package/dist/api/geom-types/planeOps.js.map +1 -0
- package/dist/api/geom-types/planeTypes.d.ts +24 -0
- package/dist/api/geom-types/planeTypes.d.ts.map +1 -0
- package/dist/api/geom-types/planeTypes.js +8 -0
- package/dist/api/geom-types/planeTypes.js.map +1 -0
- package/dist/api/geom-types/types.d.ts +64 -0
- package/dist/api/geom-types/types.d.ts.map +1 -0
- package/dist/api/geom-types/types.js +48 -0
- package/dist/api/geom-types/types.js.map +1 -0
- package/dist/api/geom-types/vecOps.d.ts +124 -0
- package/dist/api/geom-types/vecOps.d.ts.map +1 -0
- package/dist/api/geom-types/vecOps.js +202 -0
- package/dist/api/geom-types/vecOps.js.map +1 -0
- package/dist/api/geom.d.ts.map +1 -1
- package/dist/api/geom.js +6 -5
- package/dist/api/geom.js.map +1 -1
- package/dist/api/half-space.d.ts +56 -0
- package/dist/api/half-space.d.ts.map +1 -0
- package/dist/api/half-space.js +82 -0
- package/dist/api/half-space.js.map +1 -0
- package/dist/api/helix.d.ts +10 -1
- package/dist/api/helix.d.ts.map +1 -1
- package/dist/api/helix.js +19 -3
- package/dist/api/helix.js.map +1 -1
- package/dist/api/index.d.ts +15 -6
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +29 -8
- package/dist/api/index.js.map +1 -1
- package/dist/api/internal/compat-op.d.ts +4 -30
- package/dist/api/internal/compat-op.d.ts.map +1 -1
- package/dist/api/internal/compat-op.js +10 -42
- package/dist/api/internal/compat-op.js.map +1 -1
- package/dist/api/internal/compat-projection.d.ts +5 -5
- package/dist/api/internal/compat-projection.js +5 -5
- package/dist/api/internal/compat-projection.js.map +1 -1
- package/dist/api/internal/dual-form-args.d.ts +0 -2
- package/dist/api/internal/dual-form-args.d.ts.map +1 -1
- package/dist/api/internal/dual-form-args.js +1 -3
- package/dist/api/internal/dual-form-args.js.map +1 -1
- package/dist/api/internal/l3-bridge.d.ts +5 -37
- package/dist/api/internal/l3-bridge.d.ts.map +1 -1
- package/dist/api/internal/l3-bridge.js +7 -76
- package/dist/api/internal/l3-bridge.js.map +1 -1
- package/dist/api/internal/profile-wire.d.ts +1 -1
- package/dist/api/internal/profile-wire.js +1 -1
- package/dist/api/internal/profile-wire.js.map +1 -1
- package/dist/api/internal/result-unwrap.d.ts +4 -6
- package/dist/api/internal/result-unwrap.d.ts.map +1 -1
- package/dist/api/internal/result-unwrap.js +4 -6
- package/dist/api/internal/result-unwrap.js.map +1 -1
- package/dist/api/knurl.d.ts.map +1 -1
- package/dist/api/knurl.js +5 -3
- package/dist/api/knurl.js.map +1 -1
- package/dist/api/loft.d.ts +2 -2
- package/dist/api/loft.d.ts.map +1 -1
- package/dist/api/loft.js +2 -2
- package/dist/api/loft.js.map +1 -1
- package/dist/api/measurement/index.d.ts +3 -3
- package/dist/api/measurement/index.js +3 -3
- package/dist/api/measurement/index.js.map +1 -1
- package/dist/api/meta.d.ts +0 -2
- package/dist/api/meta.d.ts.map +1 -1
- package/dist/api/meta.js +0 -2
- package/dist/api/meta.js.map +1 -1
- package/dist/api/offset2d.d.ts +49 -0
- package/dist/api/offset2d.d.ts.map +1 -0
- package/dist/api/offset2d.js +86 -0
- package/dist/api/offset2d.js.map +1 -0
- package/dist/api/pattern.js +3 -3
- package/dist/api/pattern.js.map +1 -1
- package/dist/api/primitives.d.ts.map +1 -1
- package/dist/api/primitives.js +7 -6
- package/dist/api/primitives.js.map +1 -1
- package/dist/api/replicate.d.ts +2 -2
- package/dist/api/replicate.d.ts.map +1 -1
- package/dist/api/replicate.js +12 -12
- package/dist/api/replicate.js.map +1 -1
- package/dist/api/result.d.ts +1 -1
- package/dist/api/result.js +1 -1
- package/dist/api/result.js.map +1 -1
- package/dist/api/revolve.d.ts +2 -2
- package/dist/api/revolve.js +3 -3
- package/dist/api/revolve.js.map +1 -1
- package/dist/api/screw.d.ts +1 -1
- package/dist/api/screw.d.ts.map +1 -1
- package/dist/api/screw.js +5 -4
- package/dist/api/screw.js.map +1 -1
- package/dist/api/sdf.d.ts.map +1 -1
- package/dist/api/sdf.js +3 -2
- package/dist/api/sdf.js.map +1 -1
- package/dist/api/shape-type/index.d.ts +141 -0
- package/dist/api/shape-type/index.d.ts.map +1 -0
- package/dist/api/shape-type/index.js +182 -0
- package/dist/api/shape-type/index.js.map +1 -0
- package/dist/api/shell.d.ts +2 -2
- package/dist/api/shell.js +2 -2
- package/dist/api/shell.js.map +1 -1
- package/dist/api/solid-from-faces.d.ts +45 -0
- package/dist/api/solid-from-faces.d.ts.map +1 -0
- package/dist/api/solid-from-faces.js +72 -0
- package/dist/api/solid-from-faces.js.map +1 -0
- package/dist/api/solid-offset/index.d.ts +67 -0
- package/dist/api/solid-offset/index.d.ts.map +1 -0
- package/dist/api/solid-offset/index.js +132 -0
- package/dist/api/solid-offset/index.js.map +1 -0
- package/dist/api/surface/arg-spec.d.ts +35 -33
- package/dist/api/surface/arg-spec.d.ts.map +1 -1
- package/dist/api/surface/arg-spec.js +222 -224
- package/dist/api/surface/arg-spec.js.map +1 -1
- package/dist/api/surface-face/index.d.ts +104 -0
- package/dist/api/surface-face/index.d.ts.map +1 -0
- package/dist/api/surface-face/index.js +217 -0
- package/dist/api/surface-face/index.js.map +1 -0
- package/dist/api/surface.d.ts +44 -0
- package/dist/api/surface.d.ts.map +1 -0
- package/dist/api/surface.js +66 -0
- package/dist/api/surface.js.map +1 -0
- package/dist/api/sweep.d.ts +59 -9
- package/dist/api/sweep.d.ts.map +1 -1
- package/dist/api/sweep.js +11 -6
- package/dist/api/sweep.js.map +1 -1
- package/dist/api/thicken.d.ts +1 -1
- package/dist/api/thicken.js +1 -1
- package/dist/api/thicken.js.map +1 -1
- package/dist/api/transform.d.ts +5 -5
- package/dist/api/transform.d.ts.map +1 -1
- package/dist/api/transform.js +11 -10
- package/dist/api/transform.js.map +1 -1
- package/dist/api/view/cameraFns.d.ts +1 -1
- package/dist/api/view/cameraFns.d.ts.map +1 -1
- package/dist/api/view/cameraFns.js +1 -1
- package/dist/api/view/cameraFns.js.map +1 -1
- package/dist/api/view/index.d.ts +0 -2
- package/dist/api/view/index.d.ts.map +1 -1
- package/dist/api/view/index.js +0 -2
- package/dist/api/view/index.js.map +1 -1
- package/dist/api/view/projectionPlanes.d.ts +1 -1
- package/dist/api/view/projectionPlanes.d.ts.map +1 -1
- package/dist/api/view/projectionPlanes.js.map +1 -1
- package/dist/api/view/view-camera.d.ts +7 -9
- package/dist/api/view/view-camera.d.ts.map +1 -1
- package/dist/api/view/view-camera.js +4 -6
- package/dist/api/view/view-camera.js.map +1 -1
- package/dist/api/view/view-projection.d.ts +0 -2
- package/dist/api/view/view-projection.d.ts.map +1 -1
- package/dist/api/view/view-projection.js +0 -2
- package/dist/api/view/view-projection.js.map +1 -1
- package/dist/api/view/view-sheet.d.ts +0 -2
- package/dist/api/view/view-sheet.d.ts.map +1 -1
- package/dist/api/view/view-sheet.js +0 -2
- package/dist/api/view/view-sheet.js.map +1 -1
- package/dist/api/view-export/index.d.ts +97 -0
- package/dist/api/view-export/index.d.ts.map +1 -0
- package/dist/api/view-export/index.js +118 -0
- package/dist/api/view-export/index.js.map +1 -0
- package/dist/brep/brep-ops.d.ts +89 -1
- package/dist/brep/brep-ops.d.ts.map +1 -1
- package/dist/brep/brep-ops.js +176 -10
- package/dist/brep/brep-ops.js.map +1 -1
- package/dist/brep/brep-topology.d.ts +20 -0
- package/dist/brep/brep-topology.d.ts.map +1 -1
- package/dist/brep/brep-topology.js +46 -0
- package/dist/brep/brep-topology.js.map +1 -1
- package/dist/brep/engine/adapters/occt.d.ts +1 -1
- package/dist/brep/engine/adapters/occt.js +7 -7
- package/dist/brep/engine/adapters/occt.js.map +1 -1
- package/dist/brep/engine/primitives.d.ts +2 -3
- package/dist/brep/engine/primitives.d.ts.map +1 -1
- package/dist/brep/engine/primitives.js +1 -2
- package/dist/brep/engine/primitives.js.map +1 -1
- package/dist/brep/engine/registry.d.ts +1 -1
- package/dist/brep/engine/registry.js +1 -1
- package/dist/brep/engine/registry.js.map +1 -1
- package/dist/brep/engine/types.d.ts +2 -2
- package/dist/brep/engine/types.js.map +1 -1
- package/dist/brep/handle-bridge.d.ts +2 -2
- package/dist/brep/handle-bridge.js +2 -2
- package/dist/brep/handle-bridge.js.map +1 -1
- package/dist/brep/index.d.ts +6 -3
- package/dist/brep/index.d.ts.map +1 -1
- package/dist/brep/index.js +6 -3
- package/dist/brep/index.js.map +1 -1
- package/dist/brepkit-kernel/brepkitKernel.d.ts +1 -1
- package/dist/brepkit-kernel/brepkitKernel.js +2 -2
- package/dist/brepkit-kernel/brepkitKernel.js.map +1 -1
- package/dist/browser.d.ts +2 -2
- package/dist/browser.d.ts.map +1 -1
- package/dist/browser.js +5 -4
- package/dist/browser.js.map +1 -1
- package/dist/cad-runtime/admit-compat-lib.d.ts +3 -10
- package/dist/cad-runtime/admit-compat-lib.d.ts.map +1 -1
- package/dist/cad-runtime/admit-compat-lib.js +3 -9
- package/dist/cad-runtime/admit-compat-lib.js.map +1 -1
- package/dist/cad-runtime/backend-dispatch.js +12 -3
- package/dist/cad-runtime/backend-dispatch.js.map +1 -1
- package/dist/cad-runtime/direct-executor.d.ts +6 -3
- package/dist/cad-runtime/direct-executor.d.ts.map +1 -1
- package/dist/cad-runtime/direct-executor.js +31 -9
- package/dist/cad-runtime/direct-executor.js.map +1 -1
- package/dist/cad-runtime/interp/env.d.ts +1 -1
- package/dist/cad-runtime/interp/env.js.map +1 -1
- package/dist/cad-runtime/lib-id.d.ts +0 -2
- package/dist/cad-runtime/lib-id.d.ts.map +1 -1
- package/dist/cad-runtime/lib-id.js +0 -2
- package/dist/cad-runtime/lib-id.js.map +1 -1
- package/dist/cad-runtime/live-shapes.d.ts +3 -5
- package/dist/cad-runtime/live-shapes.d.ts.map +1 -1
- package/dist/cad-runtime/live-shapes.js +8 -10
- package/dist/cad-runtime/live-shapes.js.map +1 -1
- package/dist/cad-runtime/ports.d.ts +3 -3
- package/dist/cad-runtime/ports.js.map +1 -1
- package/dist/cad-runtime/runtime.d.ts +21 -7
- package/dist/cad-runtime/runtime.d.ts.map +1 -1
- package/dist/cad-runtime/runtime.js +45 -6
- package/dist/cad-runtime/runtime.js.map +1 -1
- package/dist/define-op.d.ts +4 -3
- package/dist/define-op.d.ts.map +1 -1
- package/dist/define-op.js +2 -2
- package/dist/define-op.js.map +1 -1
- package/dist/geometry2d/bridge/plane.d.ts +1 -1
- package/dist/geometry2d/bridge/plane.js +1 -1
- package/dist/geometry2d/bridge/plane.js.map +1 -1
- package/dist/geometry2d/curve2d.d.ts +1 -1
- package/dist/geometry2d/curve2d.js +1 -1
- package/dist/geometry2d/curve2d.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -4
- package/dist/index.js.map +1 -1
- package/dist/io/fai-zip/container-read.d.ts +16 -0
- package/dist/io/fai-zip/container-read.d.ts.map +1 -1
- package/dist/io/fai-zip/container-read.js +22 -0
- package/dist/io/fai-zip/container-read.js.map +1 -1
- package/dist/io/fai-zip/index.d.ts +1 -1
- package/dist/io/fai-zip/index.d.ts.map +1 -1
- package/dist/io/fai-zip/index.js +1 -1
- package/dist/io/fai-zip/index.js.map +1 -1
- package/dist/lang/code-to-args.d.ts.map +1 -1
- package/dist/lang/code-to-args.js +10 -1
- package/dist/lang/code-to-args.js.map +1 -1
- package/dist/lang/determinism-scanner.d.ts.map +1 -1
- package/dist/lang/determinism-scanner.js +22 -9
- package/dist/lang/determinism-scanner.js.map +1 -1
- package/dist/lang/metadata-extractor.d.ts +27 -6
- package/dist/lang/metadata-extractor.d.ts.map +1 -1
- package/dist/lang/metadata-extractor.js +88 -8
- package/dist/lang/metadata-extractor.js.map +1 -1
- package/dist/lang/parse-error.d.ts +4 -0
- package/dist/lang/parse-error.d.ts.map +1 -1
- package/dist/lang/parse-error.js.map +1 -1
- package/dist/lang/security-scanner.d.ts +27 -2
- package/dist/lang/security-scanner.d.ts.map +1 -1
- package/dist/lang/security-scanner.js +29 -2
- package/dist/lang/security-scanner.js.map +1 -1
- package/dist/lang/source-edit.d.ts +2 -2
- package/dist/lang/source-edit.js.map +1 -1
- package/dist/lang/symbol-table.generated.d.ts +36 -0
- package/dist/lang/symbol-table.generated.d.ts.map +1 -1
- package/dist/lang/symbol-table.generated.js +36 -0
- package/dist/lang/symbol-table.generated.js.map +1 -1
- package/dist/mesh/import-model.d.ts +94 -0
- package/dist/mesh/import-model.d.ts.map +1 -0
- package/dist/mesh/import-model.js +15 -0
- package/dist/mesh/import-model.js.map +1 -0
- package/dist/mesh/index.d.ts +19 -58
- package/dist/mesh/index.d.ts.map +1 -1
- package/dist/mesh/index.js +19 -70
- package/dist/mesh/index.js.map +1 -1
- package/dist/mesh/io.d.ts +33 -16
- package/dist/mesh/io.d.ts.map +1 -1
- package/dist/mesh/io.js +144 -39
- package/dist/mesh/io.js.map +1 -1
- package/dist/mesh/primitives.js +1 -1
- package/dist/mesh/primitives.js.map +1 -1
- package/dist/mesh/threemf-bambu.d.ts +12 -1
- package/dist/mesh/threemf-bambu.d.ts.map +1 -1
- package/dist/mesh/threemf-bambu.js +68 -16
- package/dist/mesh/threemf-bambu.js.map +1 -1
- package/dist/mesh/threemf-loader.d.ts +14 -1
- package/dist/mesh/threemf-loader.d.ts.map +1 -1
- package/dist/mesh/threemf-loader.js +24 -7
- package/dist/mesh/threemf-loader.js.map +1 -1
- package/dist/mesh/transform.d.ts +1 -1
- package/dist/mesh/transform.js +1 -1
- package/dist/mesh/transform.js.map +1 -1
- package/dist/mesh/types.d.ts +5 -5
- package/dist/mesh/types.d.ts.map +1 -1
- package/dist/mesh/types.js.map +1 -1
- package/dist/node-host/cli.d.ts +49 -1
- package/dist/node-host/cli.d.ts.map +1 -1
- package/dist/node-host/cli.js +125 -19
- package/dist/node-host/cli.js.map +1 -1
- package/dist/node-host/execute-script.d.ts +55 -0
- package/dist/node-host/execute-script.d.ts.map +1 -0
- package/dist/node-host/execute-script.js +46 -0
- package/dist/node-host/execute-script.js.map +1 -0
- package/dist/node.d.ts +2 -0
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js +3 -0
- package/dist/node.js.map +1 -1
- package/dist/occt-kernel/generated/occtPlatform.generated.d.ts +260 -0
- package/dist/occt-kernel/generated/occtPlatform.generated.d.ts.map +1 -0
- package/dist/occt-kernel/generated/occtPlatform.generated.js +875 -0
- package/dist/occt-kernel/generated/occtPlatform.generated.js.map +1 -0
- package/dist/occt-kernel/hullGeometry.d.ts +2 -2
- package/dist/occt-kernel/hullGeometry.js +2 -3
- package/dist/occt-kernel/hullGeometry.js.map +1 -1
- package/dist/occt-kernel/hullOps.d.ts +3 -3
- package/dist/occt-kernel/hullOps.js +4 -4
- package/dist/occt-kernel/hullOps.js.map +1 -1
- package/dist/occt-kernel/occt-primitives.d.ts.map +1 -1
- package/dist/occt-kernel/occt-primitives.js +31 -4
- package/dist/occt-kernel/occt-primitives.js.map +1 -1
- package/dist/occt-kernel/occtKernel.d.ts.map +1 -1
- package/dist/occt-kernel/occtKernel.js +18 -0
- package/dist/occt-kernel/occtKernel.js.map +1 -1
- package/dist/occt-scan/recognize.d.ts +58 -0
- package/dist/occt-scan/recognize.d.ts.map +1 -0
- package/dist/occt-scan/recognize.js +216 -0
- package/dist/occt-scan/recognize.js.map +1 -0
- package/dist/primitives/brep-primitives.js +7 -7
- package/dist/primitives/brep-primitives.js.map +1 -1
- package/dist/result/bug.d.ts +1 -1
- package/dist/result/bug.js +1 -1
- package/dist/result/bug.js.map +1 -1
- package/dist/result/errors.d.ts +2 -2
- package/dist/result/errors.d.ts.map +1 -1
- package/dist/result/errors.js +1 -1
- package/dist/result/errors.js.map +1 -1
- package/dist/result/vec3.d.ts +1 -1
- package/dist/result/vec3.js +1 -1
- package/dist/result/vec3.js.map +1 -1
- package/dist/runtime-state.d.ts +16 -0
- package/dist/runtime-state.d.ts.map +1 -1
- package/dist/runtime-state.js +27 -0
- package/dist/runtime-state.js.map +1 -1
- package/dist/script-globals.d.ts +24 -0
- package/dist/script-globals.d.ts.map +1 -0
- package/dist/script-globals.js +24 -0
- package/dist/script-globals.js.map +1 -0
- package/dist/shape.d.ts +24 -0
- package/dist/shape.d.ts.map +1 -1
- package/dist/shape.js +40 -0
- package/dist/shape.js.map +1 -1
- package/dist/topology/naming/lineage.d.ts +3 -2
- package/dist/topology/naming/lineage.d.ts.map +1 -1
- package/dist/topology/naming/lineage.js.map +1 -1
- package/dist/weapp.d.ts +1 -1
- package/dist/weapp.js +1 -1
- package/dist/weapp.js.map +1 -1
- package/package.json +8 -10
package/dist/node-host/cli.d.ts
CHANGED
|
@@ -18,8 +18,15 @@
|
|
|
18
18
|
* --sheet <front,top,right,iso> — (view) 多视图图纸(projectSheet;与 --view 互斥)
|
|
19
19
|
*/
|
|
20
20
|
import type { LibNamespace } from '../runtime-state.js';
|
|
21
|
-
import type { ExecutionMode } from '../cad-runtime/ports.js';
|
|
21
|
+
import type { ExecutionMode, HostPorts } from '../cad-runtime/ports.js';
|
|
22
|
+
import type { BrepHandle, BrepSubShapeType } from '../brep/engine/types.js';
|
|
22
23
|
import type { ViewSpec } from '../api/view/view-camera.js';
|
|
24
|
+
/**
|
|
25
|
+
* 注入 libLoader 到 node ports(CLI 宿主白名单装载)。Exported for executeScript (B6).
|
|
26
|
+
* @param ports - Node host ports to augment with the CLI lib loader.
|
|
27
|
+
* @returns The augmented ports (`libLoader` set to the CLI scoped-package loader).
|
|
28
|
+
*/
|
|
29
|
+
export declare function withCliLibLoader(ports: HostPorts): HostPorts;
|
|
23
30
|
/** Options accepted by the `check` command. */
|
|
24
31
|
export interface CliCheckOptions {
|
|
25
32
|
/** Asset directory used by the node ports. */
|
|
@@ -163,6 +170,47 @@ export declare function selectExportableTerminals<T extends {
|
|
|
163
170
|
exportable: T[];
|
|
164
171
|
hiddenCount: number;
|
|
165
172
|
};
|
|
173
|
+
/** 判据取 shapeType/getSubShapes 的最小接口面(用真 kernel 时即 BrepEngineApi 的这两个方法)。 */
|
|
174
|
+
export interface ShapeTypeProbe {
|
|
175
|
+
shapeType(shape: BrepHandle): string;
|
|
176
|
+
getSubShapes(shape: BrepHandle, type: BrepSubShapeType): BrepHandle[];
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* 终端 BREP 句柄是否「可落成零件」——即含至少一个三维实体。
|
|
180
|
+
*
|
|
181
|
+
* **为什么需要它**:终端集合(`live-shapes.ts`)只回答「谁该被看见」,未消费的 2D 草图
|
|
182
|
+
* 同样是顶层未消费变量 ⇒ 也是终端 ⇒ 会走到导出层落一个 `.step`。而 2D 面片(实测厚度
|
|
183
|
+
* 2e-07、solids=0)一旦落盘,`fcstd-port` 的 `parity-judge.py merge_parts` 会把它的 area
|
|
184
|
+
* 加进真实件(5.04e+06 vs 5.50e+06 ⇒ ~91% 误差),parity 必 FAIL。所以「谁该被看见」与
|
|
185
|
+
* 「什么能落成零件」是两件事:本判据只管后者,不去动终端集合。
|
|
186
|
+
*
|
|
187
|
+
* **判决表**(实测标定,2026-10-06):
|
|
188
|
+
* | shapeType | 判决 | 依据 |
|
|
189
|
+
* |---|---|---|
|
|
190
|
+
* | `SOLID` / `COMPSOLID` | 导出 | 真零件 |
|
|
191
|
+
* | `COMPOUND` | 含 ≥1 solid → 导出;否则跳过 | 装配体是 compound;`getSubShapes` 递归取子实体 |
|
|
192
|
+
* | `SHELL` | 含 ≥1 solid → 导出;否则跳过 | 旧栈基线 9/9 真实件皆 solid/compound;实测 8 个游离草图中 5 个顶层恰是 SHELL |
|
|
193
|
+
* | `FACE`/`WIRE`/`EDGE`/`VERTEX` | 跳过 | 无实体的 2D 片面 / 1D 线框 |
|
|
194
|
+
* | 其它(`SHAPE` 枚举兜底、空串) | 导出 | 保守,零回归 |
|
|
195
|
+
* | 无句柄(纯 mesh 终端) | 导出 | mesh 零件导出 STEP 是既有能力,不借本批收紧 |
|
|
196
|
+
*
|
|
197
|
+
* **`SHELL` 的裁决**:方案 §3 初稿把 shell 判为「导出(保留现状)」,理由是"面模型是合法
|
|
198
|
+
* 产物的先例存在"。但 2026-10-06 的 E-1 探针推翻了该前提:
|
|
199
|
+
* ① 旧栈 parity 基线(A 组 9 个真实件)顶层全为 `SOLID`/`COMPOUND`、`solids ≥ 1`,无一面模型;
|
|
200
|
+
* ② 新栈多出的 8 个游离草图中 **5 个顶层就是 `SHELL`** ⇒ 按初稿判决**根本拦不住**,方案失效;
|
|
201
|
+
* ③ `cli.ts` 改动前 0 处 shell 逻辑,不存在需要兼容的既有行为。
|
|
202
|
+
* ⇒ 改判为 **`SHELL` 且无子实体 → 跳过**。若日后语料真出现「合法的 2D 面模型产物」需求,
|
|
203
|
+
* 应由脚本侧或显式开关承接,而不是让导出层无法区分草图与零件(登记于相邻缺陷 D-2)。
|
|
204
|
+
*
|
|
205
|
+
* 实现上不分层递归:内核 `getSubShapes`(OCCT `TopExp_Explorer` 语义)对任意嵌套深度的
|
|
206
|
+
* compound **一次即可取到全部子实体**(E-1 探针:顶层 COMPOUND 的草图也能数出 solids=0)。
|
|
207
|
+
* 探针抛错 → **保守放行**(宁可多导一个,不可误删真零件)。
|
|
208
|
+
*
|
|
209
|
+
* @param shape - 终端 BREP 句柄(无句柄传 undefined)
|
|
210
|
+
* @param probe - shapeType/getSubShapes 提供者(生产用 `brepSolids` 条目的 kernel;测试可注入假 kernel)
|
|
211
|
+
* @returns 该句柄是否含至少一个实体(可落成零件)
|
|
212
|
+
*/
|
|
213
|
+
export declare function isExportableSolid(shape: BrepHandle | undefined, probe: ShapeTypeProbe | undefined): boolean;
|
|
166
214
|
/**
|
|
167
215
|
* Execute the `view` command: execute a .fai.js file and write view SVG(s).
|
|
168
216
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/node-host/cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAOH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,KAAK,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/node-host/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/node-host/cli.js
CHANGED
|
@@ -105,8 +105,12 @@ const cliPortsLibLoader = {
|
|
|
105
105
|
},
|
|
106
106
|
},
|
|
107
107
|
};
|
|
108
|
-
/**
|
|
109
|
-
|
|
108
|
+
/**
|
|
109
|
+
* 注入 libLoader 到 node ports(CLI 宿主白名单装载)。Exported for executeScript (B6).
|
|
110
|
+
* @param ports - Node host ports to augment with the CLI lib loader.
|
|
111
|
+
* @returns The augmented ports (`libLoader` set to the CLI scoped-package loader).
|
|
112
|
+
*/
|
|
113
|
+
export function withCliLibLoader(ports) {
|
|
110
114
|
return { ...ports, libLoader: cliPortsLibLoader };
|
|
111
115
|
}
|
|
112
116
|
/**
|
|
@@ -188,7 +192,7 @@ export async function cliRun(filePath, outPath, opts) {
|
|
|
188
192
|
// 否则入口在子目录时它的 `./parts/x.fai.js` 会以根为基准解析而错位。
|
|
189
193
|
const projectRoot = opts?.projectRoot ? resolve(opts.projectRoot) : findProjectRoot(filePath);
|
|
190
194
|
const entryKey = projectKeyOf(projectRoot, filePath);
|
|
191
|
-
// Initialize OCCT and bind the
|
|
195
|
+
// Initialize OCCT and bind the brep engine registry (D10) so that
|
|
192
196
|
// cq-compat parts (which project ops through compatFn) run end-to-end under
|
|
193
197
|
// the CLI. registerOcctBrepEngine is idempotent and itself boots initOcctWasm.
|
|
194
198
|
await registerOcctBrepEngine();
|
|
@@ -250,6 +254,76 @@ export function selectExportableTerminals(terminals, includeHidden = false) {
|
|
|
250
254
|
const exportable = includeHidden ? [...terminals] : terminals.filter((t) => !t.hidden);
|
|
251
255
|
return { exportable, hiddenCount };
|
|
252
256
|
}
|
|
257
|
+
/**
|
|
258
|
+
* 终端 BREP 句柄是否「可落成零件」——即含至少一个三维实体。
|
|
259
|
+
*
|
|
260
|
+
* **为什么需要它**:终端集合(`live-shapes.ts`)只回答「谁该被看见」,未消费的 2D 草图
|
|
261
|
+
* 同样是顶层未消费变量 ⇒ 也是终端 ⇒ 会走到导出层落一个 `.step`。而 2D 面片(实测厚度
|
|
262
|
+
* 2e-07、solids=0)一旦落盘,`fcstd-port` 的 `parity-judge.py merge_parts` 会把它的 area
|
|
263
|
+
* 加进真实件(5.04e+06 vs 5.50e+06 ⇒ ~91% 误差),parity 必 FAIL。所以「谁该被看见」与
|
|
264
|
+
* 「什么能落成零件」是两件事:本判据只管后者,不去动终端集合。
|
|
265
|
+
*
|
|
266
|
+
* **判决表**(实测标定,2026-10-06):
|
|
267
|
+
* | shapeType | 判决 | 依据 |
|
|
268
|
+
* |---|---|---|
|
|
269
|
+
* | `SOLID` / `COMPSOLID` | 导出 | 真零件 |
|
|
270
|
+
* | `COMPOUND` | 含 ≥1 solid → 导出;否则跳过 | 装配体是 compound;`getSubShapes` 递归取子实体 |
|
|
271
|
+
* | `SHELL` | 含 ≥1 solid → 导出;否则跳过 | 旧栈基线 9/9 真实件皆 solid/compound;实测 8 个游离草图中 5 个顶层恰是 SHELL |
|
|
272
|
+
* | `FACE`/`WIRE`/`EDGE`/`VERTEX` | 跳过 | 无实体的 2D 片面 / 1D 线框 |
|
|
273
|
+
* | 其它(`SHAPE` 枚举兜底、空串) | 导出 | 保守,零回归 |
|
|
274
|
+
* | 无句柄(纯 mesh 终端) | 导出 | mesh 零件导出 STEP 是既有能力,不借本批收紧 |
|
|
275
|
+
*
|
|
276
|
+
* **`SHELL` 的裁决**:方案 §3 初稿把 shell 判为「导出(保留现状)」,理由是"面模型是合法
|
|
277
|
+
* 产物的先例存在"。但 2026-10-06 的 E-1 探针推翻了该前提:
|
|
278
|
+
* ① 旧栈 parity 基线(A 组 9 个真实件)顶层全为 `SOLID`/`COMPOUND`、`solids ≥ 1`,无一面模型;
|
|
279
|
+
* ② 新栈多出的 8 个游离草图中 **5 个顶层就是 `SHELL`** ⇒ 按初稿判决**根本拦不住**,方案失效;
|
|
280
|
+
* ③ `cli.ts` 改动前 0 处 shell 逻辑,不存在需要兼容的既有行为。
|
|
281
|
+
* ⇒ 改判为 **`SHELL` 且无子实体 → 跳过**。若日后语料真出现「合法的 2D 面模型产物」需求,
|
|
282
|
+
* 应由脚本侧或显式开关承接,而不是让导出层无法区分草图与零件(登记于相邻缺陷 D-2)。
|
|
283
|
+
*
|
|
284
|
+
* 实现上不分层递归:内核 `getSubShapes`(OCCT `TopExp_Explorer` 语义)对任意嵌套深度的
|
|
285
|
+
* compound **一次即可取到全部子实体**(E-1 探针:顶层 COMPOUND 的草图也能数出 solids=0)。
|
|
286
|
+
* 探针抛错 → **保守放行**(宁可多导一个,不可误删真零件)。
|
|
287
|
+
*
|
|
288
|
+
* @param shape - 终端 BREP 句柄(无句柄传 undefined)
|
|
289
|
+
* @param probe - shapeType/getSubShapes 提供者(生产用 `brepSolids` 条目的 kernel;测试可注入假 kernel)
|
|
290
|
+
* @returns 该句柄是否含至少一个实体(可落成零件)
|
|
291
|
+
*/
|
|
292
|
+
export function isExportableSolid(shape, probe) {
|
|
293
|
+
// 无 BREP 句柄(纯 mesh 终端)→ 导出(既有能力,零回归)。
|
|
294
|
+
if (!shape || !probe)
|
|
295
|
+
return true;
|
|
296
|
+
let type;
|
|
297
|
+
try {
|
|
298
|
+
type = probe.shapeType(shape).toUpperCase();
|
|
299
|
+
}
|
|
300
|
+
catch {
|
|
301
|
+
// 探针抛错(异常句柄)→ 保守放行。
|
|
302
|
+
return true;
|
|
303
|
+
}
|
|
304
|
+
switch (type) {
|
|
305
|
+
case 'SOLID':
|
|
306
|
+
case 'COMPSOLID':
|
|
307
|
+
return true;
|
|
308
|
+
case 'COMPOUND':
|
|
309
|
+
case 'SHELL':
|
|
310
|
+
// 无实体的 compound / shell = 2D 面片(游离草图)。`getSubShapes('solid')` 递归取子实体。
|
|
311
|
+
try {
|
|
312
|
+
return probe.getSubShapes(shape, 'solid').length > 0;
|
|
313
|
+
}
|
|
314
|
+
catch {
|
|
315
|
+
return true;
|
|
316
|
+
}
|
|
317
|
+
case 'FACE':
|
|
318
|
+
case 'WIRE':
|
|
319
|
+
case 'EDGE':
|
|
320
|
+
case 'VERTEX':
|
|
321
|
+
return false;
|
|
322
|
+
default:
|
|
323
|
+
// 枚举兜底('SHAPE' / 空串 / 未知方言)→ 保守导出。
|
|
324
|
+
return true;
|
|
325
|
+
}
|
|
326
|
+
}
|
|
253
327
|
/** Export an executed result to `outPath` (shared body of cliRun's export path). */
|
|
254
328
|
async function exportExecutionResult(outPath, ext, execResult, terminals, includeHidden = false) {
|
|
255
329
|
const { exportable, hiddenCount } = selectExportableTerminals(terminals, includeHidden);
|
|
@@ -264,7 +338,32 @@ async function exportExecutionResult(outPath, ext, execResult, terminals, includ
|
|
|
264
338
|
error: `All ${hiddenCount} live terminal(s) are hidden — nothing to export (pass includeHidden to export them)`,
|
|
265
339
|
};
|
|
266
340
|
}
|
|
267
|
-
|
|
341
|
+
// ── 二维终端过滤(G0-D)──:终端集合回答「谁该被看见」,导出层回答「什么能落成零件」。
|
|
342
|
+
// 未消费的 2D 草图同样是顶层未消费变量 ⇒ 也是终端,但落成 `.step` 会污染 parity 的 area。
|
|
343
|
+
// 过滤后**不得**回退到「最后一个 output」,否则等于把刚剔除的草图从后门写回去。
|
|
344
|
+
const skipped2d = [];
|
|
345
|
+
let solidExportable = exportable;
|
|
346
|
+
if (!includeHidden) {
|
|
347
|
+
solidExportable = [];
|
|
348
|
+
for (const t of exportable) {
|
|
349
|
+
const entry = execResult.brepSolids?.get(t.id);
|
|
350
|
+
if (isExportableSolid(entry?.solid, entry?.kernel)) {
|
|
351
|
+
solidExportable.push(t);
|
|
352
|
+
}
|
|
353
|
+
else {
|
|
354
|
+
skipped2d.push(String(t.meta?.name ?? t.id));
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
if (solidExportable.length === 0 && exportable.length > 0) {
|
|
358
|
+
return {
|
|
359
|
+
ok: false,
|
|
360
|
+
error: `All ${exportable.length} live terminal(s) are 2D (no solid) — nothing to export as a 3D part` +
|
|
361
|
+
(skipped2d.length > 0 ? ` (skipped: ${skipped2d.join(', ')})` : ''),
|
|
362
|
+
};
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
const solidInfos = skipped2d.length > 0 ? [`Skipped ${skipped2d.length} 2D terminal(s): ${skipped2d.join(', ')}`] : [];
|
|
366
|
+
if (solidExportable.length === 0) {
|
|
268
367
|
// No terminals — use last output
|
|
269
368
|
const outputNames = [...execResult.outputs.keys()];
|
|
270
369
|
if (outputNames.length === 0) {
|
|
@@ -276,11 +375,12 @@ async function exportExecutionResult(outPath, ext, execResult, terminals, includ
|
|
|
276
375
|
return { ok: false, error: `No output for part "${lastPartName}"` };
|
|
277
376
|
}
|
|
278
377
|
const solidEntry = execResult.brepSolids?.get(asPartName(lastPartName));
|
|
279
|
-
|
|
378
|
+
const r = writeOutput(outPath, ext, shape, solidEntry ? { solid: solidEntry.solid, kernel: solidEntry.kernel } : undefined);
|
|
379
|
+
return solidInfos.length > 0 ? { ...r, infos: [...(r.infos ?? []), ...solidInfos] } : r;
|
|
280
380
|
}
|
|
281
381
|
// Single terminal
|
|
282
|
-
if (
|
|
283
|
-
const terminal =
|
|
382
|
+
if (solidExportable.length === 1) {
|
|
383
|
+
const terminal = solidExportable[0];
|
|
284
384
|
const shape = execResult.outputs.get(terminal.id);
|
|
285
385
|
if (!shape) {
|
|
286
386
|
return { ok: false, error: `No output for terminal "${terminal.id}"` };
|
|
@@ -288,29 +388,32 @@ async function exportExecutionResult(outPath, ext, execResult, terminals, includ
|
|
|
288
388
|
// Assembly (compound with behavior) → expand members with colors
|
|
289
389
|
if (!('positions' in shape) || !('indices' in shape)) {
|
|
290
390
|
const asmResult = writeAssemblyStep(outPath, ext, shape, execResult, hiddenTerminals);
|
|
291
|
-
if (asmResult)
|
|
292
|
-
return asmResult;
|
|
391
|
+
if (asmResult) {
|
|
392
|
+
return solidInfos.length > 0 ? { ...asmResult, infos: [...(asmResult.infos ?? []), ...solidInfos] } : asmResult;
|
|
393
|
+
}
|
|
293
394
|
}
|
|
294
395
|
const solidEntry = execResult.brepSolids?.get(terminal.id);
|
|
295
|
-
|
|
396
|
+
const r = writeOutput(outPath, ext, shape, solidEntry ? { solid: solidEntry.solid, kernel: solidEntry.kernel } : undefined);
|
|
397
|
+
return solidInfos.length > 0 ? { ...r, infos: [...(r.infos ?? []), ...solidInfos] } : r;
|
|
296
398
|
}
|
|
297
399
|
// Multiple terminals — write each to a separate file
|
|
298
400
|
// First, check if any terminal is a compound (assembly) — export it as a single STEP
|
|
299
|
-
for (let i = 0; i <
|
|
300
|
-
const terminal =
|
|
401
|
+
for (let i = 0; i < solidExportable.length; i++) {
|
|
402
|
+
const terminal = solidExportable[i];
|
|
301
403
|
const shape = execResult.outputs.get(terminal.id);
|
|
302
404
|
if (!shape)
|
|
303
405
|
continue;
|
|
304
406
|
if (!('positions' in shape) || !('indices' in shape)) {
|
|
305
407
|
// Compound terminal — try assembly STEP export
|
|
306
408
|
const asmResult = writeAssemblyStep(outPath, ext, shape, execResult, hiddenTerminals);
|
|
307
|
-
if (asmResult)
|
|
308
|
-
return asmResult;
|
|
409
|
+
if (asmResult) {
|
|
410
|
+
return solidInfos.length > 0 ? { ...asmResult, infos: [...(asmResult.infos ?? []), ...solidInfos] } : asmResult;
|
|
411
|
+
}
|
|
309
412
|
}
|
|
310
413
|
}
|
|
311
414
|
// Then export non-compound terminals
|
|
312
|
-
for (let i = 0; i <
|
|
313
|
-
const terminal =
|
|
415
|
+
for (let i = 0; i < solidExportable.length; i++) {
|
|
416
|
+
const terminal = solidExportable[i];
|
|
314
417
|
const shape = execResult.outputs.get(terminal.id);
|
|
315
418
|
if (!shape)
|
|
316
419
|
continue;
|
|
@@ -324,7 +427,7 @@ async function exportExecutionResult(outPath, ext, execResult, terminals, includ
|
|
|
324
427
|
if (!result.ok)
|
|
325
428
|
return result;
|
|
326
429
|
}
|
|
327
|
-
return { ok: true, outputFormat: ext };
|
|
430
|
+
return { ok: true, outputFormat: ext, ...(solidInfos.length > 0 ? { infos: solidInfos } : {}) };
|
|
328
431
|
}
|
|
329
432
|
/**
|
|
330
433
|
* 解析 `--view` 参数:三数字逗号串 → 方向对象("1,-1,1" → { dir: [1,-1,1] }),
|
|
@@ -386,8 +489,8 @@ export async function cliView(filePath, outPath, opts) {
|
|
|
386
489
|
const projectRoot = opts?.projectRoot ? resolve(opts.projectRoot) : findProjectRoot(filePath);
|
|
387
490
|
const entryKey = projectKeyOf(projectRoot, filePath);
|
|
388
491
|
// Initialize OCCT(投影 HLR 依赖 brep 内核)。registerOcctBrepEngine is
|
|
389
|
-
// idempotent and itself boots initOcctWasm, and also binds the
|
|
390
|
-
//
|
|
492
|
+
// idempotent and itself boots initOcctWasm, and also binds the
|
|
493
|
+
// brep engine registry (D10) — same boot path as cliRun above.
|
|
391
494
|
await registerOcctBrepEngine();
|
|
392
495
|
const ports = withCliProjectLoader(withCliLibLoader(createNodePorts({
|
|
393
496
|
assetsDir: opts?.assetsDir,
|
|
@@ -554,6 +657,9 @@ function writeAssemblyStep(outPath, ext, compound, execResult, hiddenTerminals)
|
|
|
554
657
|
// 与主导出路径同一判据(includeHidden 时 hiddenTerminals 传 undefined,不过滤)。
|
|
555
658
|
if (hiddenTerminals?.has(String(key)))
|
|
556
659
|
continue;
|
|
660
|
+
// 同一 3D 判据:兜底路径直接遍历全体 brepSolids,2D 草图句柄同样会进这里(G0-D I-4)。
|
|
661
|
+
if (!isExportableSolid(solidEntry.solid, solidEntry.kernel))
|
|
662
|
+
continue;
|
|
557
663
|
if (!kernel)
|
|
558
664
|
kernel = solidEntry.kernel;
|
|
559
665
|
entries.push({
|