simplecadapi 2.1.3b1__tar.gz → 2.2.0b1__tar.gz
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.
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/.gitignore +4 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/PKG-INFO +292 -139
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/README.md +283 -134
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/SKILL.md +33 -24
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/README.md +3 -1
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/discipline/assembly-positioning.md +2 -2
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/discipline/feature-tree-convention.md +107 -47
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/AssemblyBuildResult.md +2 -2
- simplecadapi-2.2.0b1/docs/skill/references/docs/api/CellReport.md +21 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/Const.md +1 -1
- simplecadapi-2.2.0b1/docs/skill/references/docs/api/DrawingCalibration.md +22 -0
- simplecadapi-2.2.0b1/docs/skill/references/docs/api/DrawingMeasurements.md +22 -0
- simplecadapi-2.2.0b1/docs/skill/references/docs/api/DrawingSectionDimensions.md +27 -0
- simplecadapi-2.2.0b1/docs/skill/references/docs/api/DrawingStrokes.md +25 -0
- simplecadapi-2.2.0b1/docs/skill/references/docs/api/DrawingSummary.md +23 -0
- simplecadapi-2.2.0b1/docs/skill/references/docs/api/DrawingText.md +23 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/Expr.md +1 -1
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/FileInput.md +1 -1
- simplecadapi-2.2.0b1/docs/skill/references/docs/api/GraphSession.md +49 -0
- simplecadapi-2.2.0b1/docs/skill/references/docs/api/NotebookConfig.md +17 -0
- simplecadapi-2.2.0b1/docs/skill/references/docs/api/NotebookRun.md +22 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/PartBuildResult.md +2 -2
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/README.md +43 -13
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/SolidWorksTranslator.md +2 -2
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/ToleranceRequirement.md +1 -1
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/Var.md +1 -1
- simplecadapi-2.2.0b1/docs/skill/references/docs/api/assemble.md +22 -0
- simplecadapi-2.2.0b1/docs/skill/references/docs/api/assess_dimension_rverdict.md +38 -0
- simplecadapi-2.2.0b1/docs/skill/references/docs/api/build_section_annotation_rrecord.md +30 -0
- simplecadapi-2.2.0b1/docs/skill/references/docs/api/calibrate_drawing_scale_rcalibration.md +27 -0
- simplecadapi-2.2.0b1/docs/skill/references/docs/api/canonical_frame.md +17 -0
- simplecadapi-2.2.0b1/docs/skill/references/docs/api/export_model_json_to_solidworks_step.md +17 -0
- simplecadapi-2.2.0b1/docs/skill/references/docs/api/extract_drawing_primitives_rstrokes.md +35 -0
- simplecadapi-2.2.0b1/docs/skill/references/docs/api/extract_drawing_text_rwords.md +28 -0
- simplecadapi-2.2.0b1/docs/skill/references/docs/api/inspect_drawing_coordinates_rreport.md +26 -0
- simplecadapi-2.2.0b1/docs/skill/references/docs/api/inspect_drawing_rsummary.md +24 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/make_surface_patch_rface.md +6 -0
- simplecadapi-2.2.0b1/docs/skill/references/docs/api/measure_drawing_rmeasurements.md +27 -0
- simplecadapi-2.2.0b1/docs/skill/references/docs/api/measure_model_section_rdimensions.md +52 -0
- simplecadapi-2.2.0b1/docs/skill/references/docs/api/notebook_id.md +22 -0
- simplecadapi-2.2.0b1/docs/skill/references/docs/api/part_function.md +23 -0
- simplecadapi-2.2.0b1/docs/skill/references/docs/api/placement_frame_mm.md +17 -0
- simplecadapi-2.2.0b1/docs/skill/references/docs/api/placement_from_canonical.md +17 -0
- simplecadapi-2.2.0b1/docs/skill/references/docs/api/placement_ticks.md +23 -0
- simplecadapi-2.2.0b1/docs/skill/references/docs/api/render_drawing_view_rpath.md +32 -0
- simplecadapi-2.2.0b1/docs/skill/references/docs/api/render_model_section_rpath.md +40 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/render_screenshot_rpath.md +9 -1
- simplecadapi-2.2.0b1/docs/skill/references/docs/api/run_notebook.md +24 -0
- simplecadapi-2.2.0b1/docs/skill/references/docs/api/summarize_dimension_coverage_rreport.md +20 -0
- simplecadapi-2.2.0b1/docs/skill/references/docs/api/translate_model_json_to_fcstd.md +17 -0
- simplecadapi-2.2.0b1/docs/skill/references/docs/api/translate_model_json_to_freecad_script.md +17 -0
- simplecadapi-2.2.0b1/docs/skill/references/docs/api/translate_model_json_to_solidworks_script.md +21 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/translate_product_package_to_solidworks_script.md +1 -1
- simplecadapi-2.2.0b1/docs/skill/references/docs/api/use.md +23 -0
- simplecadapi-2.2.0b1/docs/skill/references/docs/api/validate_placement_ticks.md +17 -0
- simplecadapi-2.2.0b1/docs/skill/references/docs/api/validate_section_annotations_rreport.md +26 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/core/part_assembly_development_plan.md +6 -4
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/core/serialization/README.md +3 -3
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/guides/README.md +4 -4
- simplecadapi-2.2.0b1/docs/skill/references/docs/guides/notebook-runtime.md +354 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/stdlib/build_ball_bearing.md +2 -2
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/domains/addon-development.md +95 -5
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/domains/assembly-and-product.md +30 -28
- simplecadapi-2.2.0b1/docs/skill/references/domains/drawing-inspection.md +353 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/domains/export-and-translation.md +1 -1
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/domains/standard-parts.md +4 -5
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/workflows/assembly-product-build.md +33 -24
- simplecadapi-2.2.0b1/docs/skill/references/workflows/drawing-reconstruction.md +586 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/workflows/export-and-translation.md +12 -8
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/workflows/reverse-engineering-studio.md +11 -10
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/workflows/single-part-modeling.md +8 -5
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/workflows/step-reconstruction.md +5 -1
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/updates/2.1.0.md +9 -9
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/updates/2.1.0.zh-CN.md +5 -5
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/updates/2.1.3b1.md +40 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/updates/2.1.3b1.zh-CN.md +34 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/pyproject.toml +22 -12
- simplecadapi-2.2.0b1/skillproj.toml +15 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/__init__.py +42 -36
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/_internal/brep_region.py +4 -1
- simplecadapi-2.2.0b1/src/simplecadapi/_internal/mapping_pickle.py +41 -0
- simplecadapi-2.2.0b1/src/simplecadapi/_internal/os_compat.py +49 -0
- simplecadapi-2.2.0b1/src/simplecadapi/_internal/shape_pickle.py +255 -0
- simplecadapi-2.2.0b1/src/simplecadapi/_internal/workspace.py +25 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/addon/__init__.py +5 -1
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/addon/cli.py +147 -42
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/addon/descriptor.py +28 -1
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/addon/home.py +26 -5
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/addon/install.py +245 -23
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/addon/registry.py +1 -1
- simplecadapi-2.2.0b1/src/simplecadapi/addon/shell.py +194 -0
- simplecadapi-2.2.0b1/src/simplecadapi/addon/use.py +103 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/artifacts/__init__.py +0 -14
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/artifacts/assembly_io.py +33 -6
- simplecadapi-2.2.0b1/src/simplecadapi/artifacts/brep.py +129 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/artifacts/canonical.py +7 -1
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/artifacts/feature_graph.py +54 -8
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/artifacts/geometry_interface.py +32 -13
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/build/__init__.py +3 -12
- simplecadapi-2.2.0b1/src/simplecadapi/build/assembly_builder.py +201 -0
- simplecadapi-2.2.0b1/src/simplecadapi/build/definition.py +615 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/build/dependencies.py +3 -2
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/build/keys.py +21 -89
- simplecadapi-2.2.0b1/src/simplecadapi/build/part_builder.py +122 -0
- simplecadapi-2.2.0b1/src/simplecadapi/build/results.py +59 -0
- simplecadapi-2.2.0b1/src/simplecadapi/cli.py +70 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/core.py +7 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/errors.py +130 -1
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/exporter/cli.py +23 -18
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/inspect/__init__.py +2 -2
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/inspect/brep/model.py +15 -3
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/inspect/brep/queries.py +16 -1
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/inspect/brep/render.py +148 -19
- simplecadapi-2.2.0b1/src/simplecadapi/inspect/drawing/__init__.py +85 -0
- simplecadapi-2.2.0b1/src/simplecadapi/inspect/drawing/_circle_fit.py +90 -0
- simplecadapi-2.2.0b1/src/simplecadapi/inspect/drawing/_material_geometry.py +185 -0
- simplecadapi-2.2.0b1/src/simplecadapi/inspect/drawing/_measurement_contract.py +94 -0
- simplecadapi-2.2.0b1/src/simplecadapi/inspect/drawing/_pdf.py +80 -0
- simplecadapi-2.2.0b1/src/simplecadapi/inspect/drawing/_provenance.py +86 -0
- simplecadapi-2.2.0b1/src/simplecadapi/inspect/drawing/_review_evidence.py +123 -0
- simplecadapi-2.2.0b1/src/simplecadapi/inspect/drawing/_section_geometry.py +245 -0
- simplecadapi-2.2.0b1/src/simplecadapi/inspect/drawing/_section_layout.py +150 -0
- simplecadapi-2.2.0b1/src/simplecadapi/inspect/drawing/_section_validation.py +278 -0
- simplecadapi-2.2.0b1/src/simplecadapi/inspect/drawing/calibrate.py +205 -0
- simplecadapi-2.2.0b1/src/simplecadapi/inspect/drawing/evidence.py +435 -0
- simplecadapi-2.2.0b1/src/simplecadapi/inspect/drawing/geometry.py +181 -0
- simplecadapi-2.2.0b1/src/simplecadapi/inspect/drawing/material_section.py +17 -0
- simplecadapi-2.2.0b1/src/simplecadapi/inspect/drawing/preflight.py +138 -0
- simplecadapi-2.2.0b1/src/simplecadapi/inspect/drawing/render.py +127 -0
- simplecadapi-2.2.0b1/src/simplecadapi/inspect/drawing/section.py +700 -0
- simplecadapi-2.2.0b1/src/simplecadapi/inspect/drawing/summary.py +126 -0
- simplecadapi-2.2.0b1/src/simplecadapi/inspect/drawing/text.py +184 -0
- simplecadapi-2.2.0b1/src/simplecadapi/operators/_diagnostics.py +1937 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/operators/_support.py +29 -3
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/operators/boolean.py +120 -12
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/operators/features.py +357 -61
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/operators/geometry.py +34 -4
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/params/expr.py +58 -13
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/params/frame.py +15 -9
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/params/tolerance.py +39 -3
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/params/units.py +5 -1
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/product/assembly.py +3 -6
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/product/connector.py +2 -1
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/product/constraint.py +2 -1
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/product/occurrence.py +4 -1
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/product/packages.py +19 -3
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/product/solver.py +235 -10
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/ql.py +507 -9
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/recording/graph.py +127 -48
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/recording/serializer.py +18 -7
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/recording/source_mapping.py +187 -49
- simplecadapi-2.2.0b1/src/simplecadapi/runtime/__init__.py +29 -0
- simplecadapi-2.2.0b1/src/simplecadapi/runtime/_marimo.py +134 -0
- simplecadapi-2.2.0b1/src/simplecadapi/runtime/cells.py +168 -0
- simplecadapi-2.2.0b1/src/simplecadapi/runtime/cli.py +104 -0
- simplecadapi-2.2.0b1/src/simplecadapi/runtime/config.py +110 -0
- simplecadapi-2.2.0b1/src/simplecadapi/runtime/deps.py +321 -0
- simplecadapi-2.2.0b1/src/simplecadapi/runtime/executor.py +182 -0
- simplecadapi-2.2.0b1/src/simplecadapi/runtime/projection.py +168 -0
- simplecadapi-2.2.0b1/src/simplecadapi/runtime/runner.py +468 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/scene/archive.py +2 -1
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/scene/canonical.py +15 -3
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/scene/product_scene.py +4 -1
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/scene/validation.py +4 -1
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/sketch.py +10 -4
- simplecadapi-2.2.0b1/src/simplecadapi/sketch_diagnostics.py +794 -0
- simplecadapi-2.2.0b1/src/simplecadapi/skill/__init__.py +34 -0
- simplecadapi-2.2.0b1/src/simplecadapi/skill/cli.py +57 -0
- simplecadapi-2.2.0b1/src/simplecadapi/skill/compiler.py +460 -0
- simplecadapi-2.2.0b1/src/simplecadapi/skill/runtime.py +63 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/std/bearing.py +29 -17
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/topology/model.py +290 -44
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/topology/tagging.py +8 -2
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/translator/freecad_translator/__init__.py +1 -1
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/translator/freecad_translator/api.py +60 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/translator/freecad_translator/runtime/__init__.py +2 -1
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/translator/freecad_translator/runtime/metadata.py +22 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/translator/freecad_translator/runtime/selections.py +31 -111
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/translator/freecad_translator/translator.py +40 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/translator/fusion360_translator/compiler.py +3 -0
- simplecadapi-2.2.0b1/src/simplecadapi/translator/geometry_signature.py +105 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/translator/solidworks_translator/__init__.py +5 -1
- simplecadapi-2.2.0b1/src/simplecadapi/translator/solidworks_translator/analysis.py +163 -0
- simplecadapi-2.2.0b1/src/simplecadapi/translator/solidworks_translator/api.py +104 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/translator/solidworks_translator/capabilities.py +23 -8
- simplecadapi-2.2.0b1/src/simplecadapi/translator/solidworks_translator/codegen.py +53 -0
- simplecadapi-2.2.0b1/src/simplecadapi/translator/solidworks_translator/compiler_compat.py +33 -0
- simplecadapi-2.2.0b1/src/simplecadapi/translator/solidworks_translator/context.py +30 -0
- simplecadapi-2.2.0b1/src/simplecadapi/translator/solidworks_translator/emitters/__init__.py +22 -0
- simplecadapi-2.2.0b1/src/simplecadapi/translator/solidworks_translator/emitters/booleans.py +20 -0
- simplecadapi-2.2.0b1/src/simplecadapi/translator/solidworks_translator/emitters/features.py +20 -0
- simplecadapi-2.2.0b1/src/simplecadapi/translator/solidworks_translator/emitters/geometry.py +20 -0
- simplecadapi-2.2.0b1/src/simplecadapi/translator/solidworks_translator/emitters/primitives.py +20 -0
- simplecadapi-2.2.0b1/src/simplecadapi/translator/solidworks_translator/emitters/products.py +33 -0
- simplecadapi-2.2.0b1/src/simplecadapi/translator/solidworks_translator/emitters/registry.py +88 -0
- simplecadapi-2.2.0b1/src/simplecadapi/translator/solidworks_translator/emitters/selections.py +20 -0
- simplecadapi-2.2.0b1/src/simplecadapi/translator/solidworks_translator/emitters/transforms.py +20 -0
- simplecadapi-2.2.0b1/src/simplecadapi/translator/solidworks_translator/exporter.py +71 -0
- simplecadapi-2.2.0b1/src/simplecadapi/translator/solidworks_translator/loft_geometry.py +64 -0
- simplecadapi-2.2.0b1/src/simplecadapi/translator/solidworks_translator/runtime/__init__.py +31 -0
- simplecadapi-2.2.0b1/src/simplecadapi/translator/solidworks_translator/runtime/assemblies.py +605 -0
- simplecadapi-2.2.0b1/src/simplecadapi/translator/solidworks_translator/runtime/booleans.py +564 -0
- simplecadapi-2.2.0b1/src/simplecadapi/translator/solidworks_translator/runtime/com_compat.py +81 -0
- simplecadapi-2.2.0b1/src/simplecadapi/translator/solidworks_translator/runtime/features.py +1899 -0
- simplecadapi-2.2.0b1/src/simplecadapi/translator/solidworks_translator/runtime/geometry.py +612 -0
- simplecadapi-2.2.0b1/src/simplecadapi/translator/solidworks_translator/runtime/metadata.py +274 -0
- simplecadapi-2.2.0b1/src/simplecadapi/translator/solidworks_translator/runtime/model.py +928 -0
- simplecadapi-2.2.0b1/src/simplecadapi/translator/solidworks_translator/runtime/persistence.py +364 -0
- simplecadapi-2.2.0b1/src/simplecadapi/translator/solidworks_translator/runtime/products.py +593 -0
- simplecadapi-2.2.0b1/src/simplecadapi/translator/solidworks_translator/runtime/selections.py +2521 -0
- simplecadapi-2.2.0b1/src/simplecadapi/translator/solidworks_translator/runtime/sketches.py +1001 -0
- simplecadapi-2.2.0b1/src/simplecadapi/translator/solidworks_translator/semantic.py +80 -0
- simplecadapi-2.2.0b1/src/simplecadapi/translator/solidworks_translator/translator.py +630 -0
- simplecadapi-2.2.0b1/src/simplecadapi/translator/solidworks_translator/versions.py +42 -0
- simplecadapi-2.1.3b1/docs/skill/references/docs/api/AssemblySolveReport.md +0 -17
- simplecadapi-2.1.3b1/docs/skill/references/docs/api/CacheEntry.md +0 -17
- simplecadapi-2.1.3b1/docs/skill/references/docs/api/CacheLockTimeout.md +0 -17
- simplecadapi-2.1.3b1/docs/skill/references/docs/api/CacheMode.md +0 -17
- simplecadapi-2.1.3b1/docs/skill/references/docs/api/CachePolicy.md +0 -17
- simplecadapi-2.1.3b1/docs/skill/references/docs/api/CacheRecord.md +0 -17
- simplecadapi-2.1.3b1/docs/skill/references/docs/api/CacheReport.md +0 -17
- simplecadapi-2.1.3b1/docs/skill/references/docs/api/CacheStats.md +0 -17
- simplecadapi-2.1.3b1/docs/skill/references/docs/api/ComponentSolveResult.md +0 -17
- simplecadapi-2.1.3b1/docs/skill/references/docs/api/ContentAddressedStore.md +0 -17
- simplecadapi-2.1.3b1/docs/skill/references/docs/api/GraphSession.md +0 -31
- simplecadapi-2.1.3b1/docs/skill/references/docs/api/assemble.md +0 -17
- simplecadapi-2.1.3b1/docs/skill/references/docs/api/part_function.md +0 -17
- simplecadapi-2.1.3b1/docs/skill/references/docs/api/resolve_cache_policy.md +0 -17
- simplecadapi-2.1.3b1/docs/skill/references/docs/guides/cache-build-workflow.md +0 -203
- simplecadapi-2.1.3b1/src/simplecadapi/artifacts/brep.py +0 -73
- simplecadapi-2.1.3b1/src/simplecadapi/artifacts/interface.py +0 -380
- simplecadapi-2.1.3b1/src/simplecadapi/build/assembly_builder.py +0 -574
- simplecadapi-2.1.3b1/src/simplecadapi/build/assembly_state.py +0 -316
- simplecadapi-2.1.3b1/src/simplecadapi/build/dependency_graph.py +0 -183
- simplecadapi-2.1.3b1/src/simplecadapi/build/incremental_solver.py +0 -710
- simplecadapi-2.1.3b1/src/simplecadapi/build/part_builder.py +0 -647
- simplecadapi-2.1.3b1/src/simplecadapi/build/results.py +0 -90
- simplecadapi-2.1.3b1/src/simplecadapi/cache/__init__.py +0 -21
- simplecadapi-2.1.3b1/src/simplecadapi/cache/cli.py +0 -87
- simplecadapi-2.1.3b1/src/simplecadapi/cache/policy.py +0 -150
- simplecadapi-2.1.3b1/src/simplecadapi/cache/records.py +0 -95
- simplecadapi-2.1.3b1/src/simplecadapi/cache/store.py +0 -573
- simplecadapi-2.1.3b1/src/simplecadapi/translator/solidworks_translator/api.py +0 -29
- simplecadapi-2.1.3b1/src/simplecadapi/translator/solidworks_translator/compiler.py +0 -10864
- simplecadapi-2.1.3b1/src/simplecadapi/translator/solidworks_translator/translator.py +0 -131
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/LICENSE +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/MANIFEST.in +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/LICENSE.txt +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/SDK_OVERVIEW.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/discipline/datums-and-coordinate-systems.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/discipline/failure-and-repair.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/discipline/feature-ordering.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/discipline/geometric-validation.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/discipline/manufacturing-boundaries.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/discipline/mechanical-modeling.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/discipline/requirement-and-cad-brief.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/Assembly.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/BRepComparison.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/BRepEntityError.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/BRepInspection.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/BRepModel.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/BSplineFitResult.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/CaptureResult.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/CenterDecl.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/Component.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/Connector.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/ConnectorAnchor.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/ConnectorRef.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/Constraint.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/ConstraintReport.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/ConstraintResidual.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/DatumDecl.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/DimDecl.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/Dimension.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/DimensionTolerance.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/EntityInspectionParity.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/EvaluationConfig.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/ExpressionGraph.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/FreeCADTranslator.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/Fusion360Translator.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/GeometryRef.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/InspectionSummaryComparison.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/LeaderDecl.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/Material.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/Part.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/Placement.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/ProductMJCFExportReport.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/ProductOBJExportReport.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/ProductPackage.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/ProductPackageError.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/ProductSTEPExportReport.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/ProductSTLExportReport.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/PublicConnectorRef.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/Resolved.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/ScalarLimit.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/SectionEvaluationConfig.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/SemanticDelta.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/SemanticRef.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/SheetDecl.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/SheetPlan.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/SimpleCADError.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/Sketch.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/SketchConstraint.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/SketchConstraintDiagnostic.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/SketchRef.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/SketchSolveResult.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/SliceSpec.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/SurfaceBoundary.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/SurfaceFillingSettings.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/ToleranceAnalysis.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/ToleranceAnalysisError.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/ToleranceCheck.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/ToleranceContribution.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/ToleranceGraph.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/ToleranceReport.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/ToleranceValidationError.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/Unit.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/UnitValidationError.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/ViewDecl.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/add_arc_rsketch.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/add_belt_constraint_rassembly.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/add_bspline_rsketch.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/add_circle_rsketch.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/add_component_rassembly.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/add_connector_rpart.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/add_ellipse_rsketch.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/add_fixed_constraint_rassembly.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/add_gear_constraint_rassembly.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/add_line_rsketch.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/add_point_rsketch.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/add_prismatic_constraint_rassembly.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/add_rack_pinion_constraint_rassembly.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/add_revolute_constraint_rassembly.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/analyze_tolerance.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/and_.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/apply_tag.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/apply_tag_rselection.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/assign_material_rpart.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/canonical_unit_for_dimension.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/capture.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/chamfer_rsolid.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/check_tolerance.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/classify_benchmark_result.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/clear_step_model_cache_rnone.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/compare_boundary_distance_rdescriptor.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/compare_entities_rdescriptor.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/compare_global_properties_rdescriptor.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/compare_inspections_rinspectionsummarycomparison.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/compare_material_rdescriptor.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/compare_material_region_rdescriptor.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/compare_model_to_inspection_rentityinspectionparity.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/compare_sections_batch_rdescriptor.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/compare_sections_rdescriptor.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/compare_shape_slices_rslicecomparison.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/compare_shapes_rbrepcomparison.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/compare_step_slices_rslicecomparison.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/compare_step_to_inspection_rentityinspectionparity.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/compare_steps_rbrepcomparison.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/const_function.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/constrain_angle_rsketch.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/constrain_coincident_rsketch.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/constrain_collinear_rsketch.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/constrain_concentric_rsketch.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/constrain_connect_rsketch.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/constrain_diameter_rsketch.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/constrain_distance_rsketch.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/constrain_distance_x_rsketch.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/constrain_distance_y_rsketch.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/constrain_equal_length_rsketch.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/constrain_equal_radius_rsketch.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/constrain_fix_rsketch.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/constrain_horizontal_rsketch.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/constrain_length_rsketch.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/constrain_line_distance_rsketch.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/constrain_major_radius_rsketch.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/constrain_midpoint_points_rsketch.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/constrain_midpoint_rsketch.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/constrain_minor_radius_rsketch.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/constrain_mirror_rsketch.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/constrain_normal_rsketch.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/constrain_parallel_rsketch.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/constrain_perpendicular_rsketch.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/constrain_point_on_rsketch.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/constrain_points_horizontal_rsketch.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/constrain_points_vertical_rsketch.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/constrain_radius_rsketch.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/constrain_symmetric_rsketch.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/constrain_tangent_rsketch.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/constrain_vertical_rsketch.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/convert_value.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/copy_step_region_rpath.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/cut_rsolid.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/evaluate_reconstruction_rdescriptor.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/explain_tag.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/export_graph_json.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/export_model_json.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/export_product_package_to_mjcf.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/export_product_package_to_obj.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/export_product_package_to_step.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/export_product_package_to_stl.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/export_session_json.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/expression_uses_units.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/extrude_rsolid.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/file_input.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/fill_holes_rshell.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/fillet_rsolid.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/fit_cubic_bspline_control_points.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/fit_face_analytic_rdescriptor.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/fit_point_grid_rface.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/free_boundaries_rwirelist.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/geo.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/get_active_session.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/get_sketch_entity_rsketchref.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/get_sketch_point_rsketchref.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/get_unit.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/ground_component_rassembly.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/helical_sweep_rsolid.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/identity_placement_rplacement.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/import_graph_json.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/import_model_json.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/import_session_json.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/index_shape_rbrepmodel.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/infer_dimension.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/inspect_assembly_constraints_rconstraintreport.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/inspect_benchmark_step.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/inspect_difference_regions_rdescriptor.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/inspect_face_boundaries_rdescriptor.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/inspect_manufacturing_hints_rdescriptor.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/inspect_nearby_entities_rdescriptor.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/inspect_point_rdescriptor.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/inspect_section_rdescriptor.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/inspect_shape_rbrepinspection.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/inspect_sketch_rsketchresult.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/inspect_step_components_rdescriptorlist.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/inspect_step_entity_rdescriptor.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/inspect_step_rbrepinspection.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/inspect_step_rsummary.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/inspect_topology_neighborhood_rdescriptor.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/inspect_topology_rdescriptor.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/intersect_rsolid.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/linear_pattern_rsolidlist.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/list_tags.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/load_brep_region_rshell.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/load_brep_region_rsolid.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/load_step_rbrepmodel.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/load_step_rshape.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/loft_rshell.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/loft_rsolid.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/make_2d_cut_rface.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/make_2d_intersect_rface.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/make_2d_union_rface.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/make_angle_arc_redge.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/make_angle_arc_rwire.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/make_assembly_rassembly.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/make_bezier_surface_rface.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/make_box_rsolid.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/make_center_slice_specs_rslicespeclist.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/make_circle_redge.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/make_circle_rface.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/make_circle_rwire.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/make_compound_from_assembly_rcompound.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/make_cone_rsolid.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/make_connector_ref_rconnectorref.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/make_cylinder_rsolid.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/make_cylindrical_surface_rface.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/make_edge_connector_rconnector.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/make_ellipse_redge.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/make_ellipse_rface.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/make_ellipse_rwire.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/make_face_connector_rconnector.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/make_face_from_sketch_rface.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/make_face_from_wire_rface.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/make_face_from_wires_rface.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/make_gordon_surface_rface.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/make_helix_redge.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/make_helix_rwire.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/make_interpolated_spline_redge.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/make_interpolated_spline_rwire.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/make_line_redge.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/make_material_rmaterial.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/make_part_rpart.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/make_periodic_spline_rwire.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/make_placement_connector_rconnector.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/make_placement_rplacement.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/make_point_rvertex.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/make_polyline_rwire.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/make_rectangle_rface.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/make_rectangle_rwire.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/make_ruled_surface_rface.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/make_scalar_limit_rscalarlimit.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/make_segment_redge.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/make_segment_rwire.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/make_sketch_rsketch.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/make_solid_from_shell_rsolid.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/make_sphere_rsolid.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/make_spline_redge.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/make_spline_rwire.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/make_three_point_arc_redge.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/make_three_point_arc_rwire.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/make_vertex_connector_rconnector.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/make_wire_from_edges_rwire.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/make_wire_from_sketch_rwire.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/measure_constraint_residual_rconstraintresidual.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/measure_entity_relation_rdescriptor.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/measure_shape_mass_rtuple.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/meta.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/mirror_shape.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/not_.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/operation_event.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/or_.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/origin_role.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/output_role.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/place_component_rassembly.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/radial_pattern_rsolidlist.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/render_entity_kind_maps_rpath.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/render_entity_map_rpath.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/render_manufacturing_hints_rpath.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/render_plan.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/render_region_rpath.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/render_shape_views_rpath.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/render_step_comparison_rpath.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/render_step_components_colored_rpath.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/render_step_components_rpath.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/render_step_views_rpath.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/replay_graph.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/replay_model_json.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/revolve_rsolid.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/rotate_shape.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/run_comparison_bundle.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/select.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/select_edges_by_tag.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/select_faces_by_tag.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/select_region_entities_rdescriptor.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/set_public_connector_rassembly.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/sew_faces_rshell.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/shell_rsolid.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/shells.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/solve_assembly_constraints_rassembly.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/source_binding.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/source_topology.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/suspend_graph_recording.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/sweep_rsolid.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/tag.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/track_section_contours_rdescriptor.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/translate_product_package_to_fcstd.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/translate_product_package_to_freecad_script.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/translate_product_package_to_fusion360_script.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/translate_shape.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/trim_surface_rface.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/twisted_sweep_rsolid.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/unground_component_rassembly.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/union_rsolid.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/validate_step_roundtrip_rdescriptor.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/value.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/api/var_function.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/core/README.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/core/compound.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/core/coordinate_system.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/core/declarative_constraints.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/core/dimension-tolerance-chains.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/core/edge.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/core/face.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/core/operation_graph_json_spec.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/core/physical-units.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/core/rearchitecture_2_0.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/core/rearchitecture_2_0_requirements.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/core/serialization/expressions-and-replay.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/core/serialization/features-booleans-transforms.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/core/serialization/primitives-and-profiles.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/core/serialization/scalar-fields.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/core/shell.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/core/simple_workplane.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/core/solid.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/core/tagged_mixin.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/core/vertex.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/core/wire.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/guides/reconstruction-agent-strategy.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/guides/reconstruction-agent-test-prompt.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/stdlib/README.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/stdlib/make_ball_bearing_rassembly.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/stdlib/make_cycloidal_disc_rsolid.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/stdlib/make_helical_gear_rsolid.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/stdlib/make_helical_rack_rsolid.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/stdlib/make_helical_ring_gear_rsolid.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/stdlib/make_herringbone_gear_rsolid.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/stdlib/make_herringbone_rack_rsolid.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/stdlib/make_herringbone_ring_gear_rsolid.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/stdlib/make_spur_gear_rsolid.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/stdlib/make_spur_rack_rsolid.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/stdlib/make_spur_ring_gear_rsolid.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/docs/stdlib/make_straight_bevel_gear_rsolid.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/domains/engineering-drawing.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/domains/part-modeling.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/domains/requirement-refinement.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/domains/sketch-and-features.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/domains/step-inspection.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/inspect/brep-reverse-engineering.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/ql-playbook.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/scadpkg-format.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/skill/references/workflows/engineering-drawing.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/updates/2.0.2.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/updates/2.0.2.zh-CN.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/updates/2.0.4b1.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/updates/2.0.4b1.zh-CN.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/updates/2.0.4b2.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/updates/2.0.4b2.zh-CN.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/updates/2.0.4b3.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/updates/2.0.4b3.zh-CN.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/updates/2.1.1.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/updates/2.1.1.zh-CN.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/updates/2.1.2.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/updates/2.1.2.zh-CN.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/docs/updates/step-reverse-migration.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/_internal/__init__.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/_internal/canonical_json.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/_internal/mesh.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/_internal/semantic.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/_internal/vendor_warning_filters.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/addon/_toml.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/addon/platforms.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/addon/versions.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/artifacts/assembly_definition.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/artifacts/part_definition.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/artifacts/part_io.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/artifacts/references.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/artifacts/topology_snapshot.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/artifacts/validation.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/contracts/assembly-definition-2.schema.json +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/contracts/feature-graph-1.schema.json +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/contracts/part-definition-2.schema.json +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/contracts/product-package-3.schema.json +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/dxf_engine/__init__.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/dxf_engine/agent.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/dxf_engine/hlr.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/dxf_engine/model.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/dxf_engine/planner.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/dxf_engine/render.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/exporter/__init__.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/exporter/_surface_mesh.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/exporter/mjcf.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/exporter/obj.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/exporter/step.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/exporter/stl.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/inspect/brep/__init__.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/inspect/brep/compare.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/inspect/brep/diagnostic_state.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/inspect/brep/diagnostics.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/inspect/brep/fitting.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/inspect/brep/inspect.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/inspect/brep/io.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/inspect/brep/manufacturing.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/inspect/brep/parity.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/inspect/brep/persistence.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/inspect/brep/render_worker.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/inspect/brep/section_tracking.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/inspect/brep/slices.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/inspect/brep/snapshots.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/inspect/brep/topology_inspection.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/inverse_engineer/__init__.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/inverse_engineer/brep/__init__.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/inverse_engineer/brep/evaluation.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/inverse_engineer/brep/worker.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/kernel/__init__.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/kernel/ocp_booleans.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/kernel/ocp_brep_snapshot.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/kernel/ocp_builders.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/kernel/ocp_cast.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/kernel/ocp_curves.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/kernel/ocp_export.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/kernel/ocp_features.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/kernel/ocp_mesh.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/kernel/ocp_properties.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/kernel/ocp_surfaces.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/kernel/ocp_topology.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/kernel/ocp_transforms.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/math.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/operators/__init__.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/operators/product.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/operators/selection.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/operators/sketch.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/operators/transform.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/params/__init__.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/product/__init__.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/product/capture.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/product/material.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/product/part.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/product/placement.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/py.typed +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/recording/__init__.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/scene/__init__.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/scene/compiler.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/scene/contracts/profiles/ocp-evaluated-properties-1.profile.json +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/scene/contracts/profiles/scene-1.0-ocp-glb-2.profile.json +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/scene/contracts/pseudocode/ocp-evaluated-properties-1.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/scene/contracts/pseudocode/scene-1.0-ocp-glb-2.md +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/scene/contracts/rules/scene-1.0-rules.json +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/scene/contracts/schemas/connector-binding-1.0.schema.json +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/scene/contracts/schemas/entities-1.0.schema.json +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/scene/contracts/schemas/evaluated-properties-profile-1.schema.json +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/scene/contracts/schemas/normalized-product-1.schema.json +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/scene/contracts/schemas/presentation-1.0.schema.json +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/scene/contracts/schemas/profile-1.schema.json +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/scene/contracts/schemas/render-profile-2.schema.json +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/scene/contracts/schemas/rules-1.schema.json +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/scene/contracts/schemas/scene-1.0.schema.json +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/scene/contracts/schemas/scene-2.0.schema.json +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/scene/documents.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/scene/generated/__init__.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/scene/generated/connector_binding.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/scene/generated/entities.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/scene/generated/normalized_product.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/scene/generated/presentation.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/scene/generated/scene.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/scene/glb.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/scene/glb_writer.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/scene/render_mesh.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/scene/resources.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/scene/transforms.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/sketch_solver/__init__.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/sketch_solver/backend.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/sketch_solver/py_slvs_backend.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/std/__init__.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/std/chain.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/std/fastener.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/std/gear.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/surface.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/topology/__init__.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/topology/autotag.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/topology/tracking.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/translator/__init__.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/translator/base.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/translator/errors.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/translator/freecad_translator/analysis.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/translator/freecad_translator/capabilities.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/translator/freecad_translator/codegen.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/translator/freecad_translator/context.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/translator/freecad_translator/emitters/__init__.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/translator/freecad_translator/emitters/booleans.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/translator/freecad_translator/emitters/features.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/translator/freecad_translator/emitters/geometry.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/translator/freecad_translator/emitters/primitives.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/translator/freecad_translator/emitters/products.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/translator/freecad_translator/emitters/registry.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/translator/freecad_translator/emitters/selections.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/translator/freecad_translator/emitters/sketches.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/translator/freecad_translator/emitters/surfaces.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/translator/freecad_translator/emitters/transforms.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/translator/freecad_translator/exporter.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/translator/freecad_translator/runtime/assemblies.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/translator/freecad_translator/runtime/curves.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/translator/freecad_translator/runtime/expressions.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/translator/freecad_translator/runtime/geometry.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/translator/freecad_translator/runtime/occurrences.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/translator/freecad_translator/runtime/persistence.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/translator/freecad_translator/runtime/products.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/translator/freecad_translator/runtime/sketches.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/translator/freecad_translator/runtime/surfaces.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/translator/freecad_translator/semantic.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/translator/fusion360_translator/__init__.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/translator/fusion360_translator/api.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/translator/fusion360_translator/capabilities.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/translator/fusion360_translator/translator.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/translator/package_units.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/translator/product_graph.py +0 -0
- {simplecadapi-2.1.3b1 → simplecadapi-2.2.0b1}/src/simplecadapi/translator/types.py +0 -0
|
@@ -53,6 +53,7 @@ examples/histcad/
|
|
|
53
53
|
# Research tool scan outputs (generated by tools/research scripts)
|
|
54
54
|
tools/research/out/
|
|
55
55
|
tools/research/histjson/out/
|
|
56
|
+
tools/research/whucad/out/
|
|
56
57
|
tools/research/cadqueryftc/out/
|
|
57
58
|
.venv-cq/
|
|
58
59
|
|
|
@@ -60,6 +61,9 @@ tools/research/cadqueryftc/out/
|
|
|
60
61
|
img/capability/*.mov
|
|
61
62
|
img/capability/逆向工具mvp.mp4
|
|
62
63
|
|
|
64
|
+
# marimo notebook state and cell cache (rebuilt on the next run)
|
|
65
|
+
__marimo__/
|
|
66
|
+
|
|
63
67
|
# Per-example generated artifacts (each example exports to its own out/)
|
|
64
68
|
examples/*/out/
|
|
65
69
|
examples/bowl_connector/re_work/
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: simplecadapi
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.2.0b1
|
|
4
4
|
Summary: A simplified OCP-native CAD modeling Python API
|
|
5
|
-
Project-URL: Homepage, https://github.com/
|
|
6
|
-
Project-URL: Repository, https://github.com/
|
|
7
|
-
Project-URL: Documentation, https://github.com/
|
|
8
|
-
Project-URL: Issues, https://github.com/
|
|
5
|
+
Project-URL: Homepage, https://github.com/PhySpace/SimpleCADAPI
|
|
6
|
+
Project-URL: Repository, https://github.com/PhySpace/SimpleCADAPI
|
|
7
|
+
Project-URL: Documentation, https://github.com/PhySpace/SimpleCADAPI#readme
|
|
8
|
+
Project-URL: Issues, https://github.com/PhySpace/SimpleCADAPI/issues
|
|
9
9
|
Author-email: 倪旌哲 <nijingzhe@zju.edu.cn>
|
|
10
10
|
Maintainer-email: 倪旌哲 <nijingzhe@zju.edu.cn>
|
|
11
11
|
License:
|
|
@@ -228,8 +228,10 @@ Requires-Python: <3.14,>=3.10
|
|
|
228
228
|
Requires-Dist: cadquery-ocp>=7.9.3.1
|
|
229
229
|
Requires-Dist: ezdxf>=1.4.4
|
|
230
230
|
Requires-Dist: jsonschema<5.0.0,>=4.25.1
|
|
231
|
+
Requires-Dist: marimo>=0.25.0
|
|
231
232
|
Requires-Dist: numpy>=1.21.0
|
|
232
233
|
Requires-Dist: ocp-gordon<0.3,>=0.2
|
|
234
|
+
Requires-Dist: plotly>=7.1.0
|
|
233
235
|
Requires-Dist: py-slvs==1.0.6
|
|
234
236
|
Requires-Dist: pymupdf>=1.28.2
|
|
235
237
|
Requires-Dist: rfc8785<0.2.0,>=0.1.4
|
|
@@ -250,6 +252,8 @@ Provides-Extra: gmsh
|
|
|
250
252
|
Requires-Dist: gmsh<5,>=4.15; extra == 'gmsh'
|
|
251
253
|
Provides-Extra: inspect
|
|
252
254
|
Requires-Dist: matplotlib>=3.7.0; extra == 'inspect'
|
|
255
|
+
Provides-Extra: whucad
|
|
256
|
+
Requires-Dist: h5py>=3.8; extra == 'whucad'
|
|
253
257
|
Description-Content-Type: text/markdown
|
|
254
258
|
|
|
255
259
|
<p align="center">
|
|
@@ -297,12 +301,12 @@ deterministic face tags that survive re-parameterization, and synchronized
|
|
|
297
301
|
<td>"Formalize the existing legacy L-bracket script through the single-part workflow: rebuild with FTC feature blocks and named parameters; geometric equivalence to the legacy model (volume delta < 0.1%); the <code>interface.*</code> FEM boundary tags must survive untouched — the downstream Gmsh/CalculiX pipeline selects faces by them."</td>
|
|
298
302
|
<td><img src="img/capability/bracket_turntable.gif" width="420" alt="bracket turntable"></td>
|
|
299
303
|
</tr>
|
|
300
|
-
Turntables are rendered by the in-repo [Scene Viewer](viewer/)'s BRep renderer
|
|
301
|
-
(face shading + wide edges); one full turn = 48 deterministic azimuth steps
|
|
302
|
-
driven through `viewer/gif-harness.html`.
|
|
303
|
-
|
|
304
304
|
</table>
|
|
305
305
|
|
|
306
|
+
Turntables are rendered by the standalone [sca-web-editor](https://github.com/PhySpace/sca-web-editor)'s
|
|
307
|
+
BRep renderer (face shading + wide edges); one full turn = 48 deterministic
|
|
308
|
+
azimuth steps driven through its `gif-harness.html`.
|
|
309
|
+
|
|
306
310
|
### 2 · Assembly Modeling
|
|
307
311
|
|
|
308
312
|
Nested durable assemblies with explicit kinematics: gear meshes, revolute
|
|
@@ -328,9 +332,11 @@ concentric parts peel into radius bands; camera circles on an inclined orbit
|
|
|
328
332
|
</tr>
|
|
329
333
|
</table>
|
|
330
334
|
|
|
331
|
-
Reproduce it:
|
|
332
|
-
|
|
333
|
-
`export_all.py` emits
|
|
335
|
+
Reproduce it: the model is the `integrated_bldc_joint_actuator.py` assembly
|
|
336
|
+
notebook, composed with `scad.use` from part and sub-assembly notebooks.
|
|
337
|
+
`uv run python examples/integrated_bldc_joint_actuator/export_all.py` emits
|
|
338
|
+
the package plus STEP / editable FCStd / MJCF; `render_showcase.py` renders
|
|
339
|
+
the views above.
|
|
334
340
|
|
|
335
341
|
### 3 · Reverse Engineering
|
|
336
342
|
|
|
@@ -399,13 +405,15 @@ a strict `sca-addon.toml` descriptor with platform and `[compat] sca` gates, and
|
|
|
399
405
|
a consumer-facing `.scadpkg` format spec written so an agent given the document
|
|
400
406
|
alone can produce a correct parser or exporter. See the
|
|
401
407
|
[full English update notes](docs/updates/2.1.3b1.md) for the CLI contract, the
|
|
402
|
-
two legal integration modes, and the tag channel
|
|
403
|
-
cache
|
|
408
|
+
two legal integration modes, and the tag channel. 2.1.2's script-anchored part
|
|
409
|
+
cache ([docs/updates/2.1.2.md](docs/updates/2.1.2.md)) has since been replaced
|
|
410
|
+
by the notebook runtime and its cell cache.
|
|
404
411
|
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
each
|
|
412
|
+
Every example model is a notebook; its export scripts load the product with
|
|
413
|
+
`run_notebook`, capture one `.scadpkg`, and translate AP242 `.step` and
|
|
414
|
+
editable `.FCStd` from that same package. The AP242/Gmsh example under
|
|
415
|
+
`examples/ap242_gmsh_volume_mesh/` exposes each export and FEM stage as a
|
|
416
|
+
separate directly runnable script.
|
|
409
417
|
|
|
410
418
|
---
|
|
411
419
|
|
|
@@ -425,13 +433,18 @@ in a compact public API for creating solids, applying features, tagging semantic
|
|
|
425
433
|
intent, querying topology, exporting manufacturing files, and translating recorded
|
|
426
434
|
models into FreeCAD workflows.
|
|
427
435
|
|
|
428
|
-
Current release: `simplecadapi==2.1.
|
|
436
|
+
Current release: `simplecadapi==2.1.3`.
|
|
429
437
|
|
|
430
438
|
## What It Provides
|
|
431
439
|
|
|
440
|
+
- Models as [marimo](https://marimo.io) notebooks: plain `.py` files that are
|
|
441
|
+
the only source of truth, one feature per cell, a per-cell cache for
|
|
442
|
+
incremental headless runs (`sca run`), and notebook composition (`scad.use`).
|
|
432
443
|
- OCP-native shape types: `Vertex`, `Edge`, `Wire`, `Face`, and `Solid`.
|
|
433
444
|
- Functional modeling operations for primitives, profiles, extrude, revolve,
|
|
434
445
|
loft, sweep, booleans, transforms, patterns, fillets, chamfers, and shells.
|
|
446
|
+
- Canonical `.scadpkg` product packages generated from the notebooks for
|
|
447
|
+
exchange and publishing; they are never read back as model input.
|
|
435
448
|
- Replayable operation graphs with explicit `GraphSession`,
|
|
436
449
|
`export_model_json(...)`, `import_model_json(...)`, and `replay_model_json(...)`.
|
|
437
450
|
- Expression parameters with `var(...)`, arithmetic expressions, and serialized
|
|
@@ -447,8 +460,6 @@ Current release: `simplecadapi==2.1.3b1`.
|
|
|
447
460
|
diagnostics, highlighted region renders, and measured acceptance gates.
|
|
448
461
|
- Replayable open and periodic interpolated B-spline Edges/Wires for freeform
|
|
449
462
|
profiles and Loft sections.
|
|
450
|
-
- Durable `@part`/`@assemble` definitions, incremental assembly solving, and a
|
|
451
|
-
persistent content-addressed cache with corruption quarantine and JSON diagnostics.
|
|
452
463
|
|
|
453
464
|
## Install
|
|
454
465
|
|
|
@@ -468,147 +479,221 @@ For local development from this repository:
|
|
|
468
479
|
uv sync --group dev
|
|
469
480
|
```
|
|
470
481
|
|
|
482
|
+
### Agent Skill
|
|
483
|
+
|
|
484
|
+
After installing with pip above, install the bundled skill for your agent
|
|
485
|
+
harness:
|
|
486
|
+
|
|
487
|
+
```bash
|
|
488
|
+
sca skill targets
|
|
489
|
+
# Default location (~/.agents/skills), or select ZCode's explicitly:
|
|
490
|
+
sca skill install --target zcode --skills-dir ~/.zcode/skills
|
|
491
|
+
```
|
|
492
|
+
|
|
493
|
+
`targets` lists the available harness targets. `install` compiles the bundled
|
|
494
|
+
source and writes it to `<skills-dir>/simplecadapi`; without `--skills-dir`,
|
|
495
|
+
it uses the existing addon configuration/environment resolution, falling back
|
|
496
|
+
to `~/.agents/skills`; `sca init` is not required. The wheel includes the
|
|
497
|
+
uncompiled `docs/skill/` source tree and `skillproj.toml` as package
|
|
498
|
+
resources — compilation happens on install, no repository checkout needed.
|
|
499
|
+
With `uv`, prefix these commands with `uv run`.
|
|
500
|
+
|
|
501
|
+
`install` fails if the destination already exists. Add `--force` to replace it
|
|
502
|
+
only if it is a directory whose `SKILL.md` declares the matching skill name
|
|
503
|
+
(`simplecadapi`); unrelated directories cannot be overwritten.
|
|
504
|
+
|
|
471
505
|
## Quick Start
|
|
472
506
|
|
|
507
|
+
A model is a [marimo](https://marimo.io) notebook: a plain `.py` file in your
|
|
508
|
+
repository, which stays the only source of truth. A `[tool.simplecadapi]`
|
|
509
|
+
table in its PEP 723 header names the product; each cell holds one
|
|
510
|
+
[feature block](docs/skill/references/discipline/feature-tree-convention.md)
|
|
511
|
+
and records its geometry automatically — no session or decorator boilerplate.
|
|
512
|
+
|
|
473
513
|
```python
|
|
474
|
-
|
|
514
|
+
# bracket.py
|
|
515
|
+
# /// script
|
|
516
|
+
# requires-python = ">=3.10"
|
|
517
|
+
# dependencies = ["simplecadapi"]
|
|
518
|
+
#
|
|
519
|
+
# [tool.simplecadapi]
|
|
520
|
+
# id = "bracket"
|
|
521
|
+
# revision = "1.0.0"
|
|
522
|
+
# ///
|
|
523
|
+
import marimo
|
|
475
524
|
|
|
476
|
-
|
|
525
|
+
app = marimo.App()
|
|
526
|
+
|
|
527
|
+
with app.setup:
|
|
528
|
+
import simplecadapi as scad
|
|
477
529
|
|
|
478
|
-
out = Path("out")
|
|
479
530
|
|
|
480
|
-
@
|
|
481
|
-
def
|
|
531
|
+
@app.cell
|
|
532
|
+
def _():
|
|
533
|
+
# ---- params: plate ----
|
|
534
|
+
width = scad.var("width", 60.0, unit="mm")
|
|
535
|
+
return (width,)
|
|
536
|
+
|
|
537
|
+
|
|
538
|
+
@app.cell
|
|
539
|
+
def _():
|
|
540
|
+
# ---- params: bore ----
|
|
541
|
+
hole_radius = scad.var("hole_radius", 5.0, unit="mm")
|
|
542
|
+
return (hole_radius,)
|
|
543
|
+
|
|
544
|
+
|
|
545
|
+
@app.cell
|
|
546
|
+
def _(width):
|
|
547
|
+
# ---- feature: base-plate (build) ----
|
|
482
548
|
base = scad.make_box_rsolid(
|
|
483
|
-
width=
|
|
549
|
+
width=width, height=36.0, depth=8.0, bottom_face_center=(0.0, 0.0, 0.0)
|
|
484
550
|
)
|
|
485
|
-
|
|
486
|
-
|
|
551
|
+
return (base,)
|
|
552
|
+
|
|
553
|
+
|
|
554
|
+
@app.cell
|
|
555
|
+
def _(base, hole_radius):
|
|
556
|
+
# ---- feature: bore-and-slot (subtract) ----
|
|
557
|
+
_bore = scad.make_cylinder_rsolid(
|
|
558
|
+
radius=hole_radius, height=14.0, bottom_face_center=(0.0, 0.0, -3.0)
|
|
487
559
|
)
|
|
488
|
-
|
|
560
|
+
_slot = scad.make_box_rsolid(
|
|
489
561
|
width=18.0, height=8.0, depth=14.0, bottom_face_center=(14.0, 0.0, -3.0)
|
|
490
562
|
)
|
|
491
|
-
|
|
492
|
-
|
|
563
|
+
drilled = scad.cut_rsolid(base, _bore, _slot)
|
|
564
|
+
return (drilled,)
|
|
565
|
+
|
|
566
|
+
|
|
567
|
+
@app.cell
|
|
568
|
+
def _(drilled):
|
|
569
|
+
# ---- feature: boss (add) ----
|
|
570
|
+
_boss = scad.make_cylinder_rsolid(
|
|
493
571
|
radius=8.0, height=7.0, bottom_face_center=(-18.0, 0.0, 8.0)
|
|
494
572
|
)
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
tag="role.demo.bracket",
|
|
498
|
-
)
|
|
573
|
+
bossed = scad.union_rsolid(drilled, _boss)
|
|
574
|
+
return (bossed,)
|
|
499
575
|
|
|
500
|
-
result = build_bracket()
|
|
501
|
-
package_path = out / "bracket.scadpkg"
|
|
502
|
-
scad.capture(result, package_path)
|
|
503
|
-
print("volume", round(result.part.body.get_volume(), 3))
|
|
504
|
-
print("tags", scad.list_tags(shape=result.part.body))
|
|
505
|
-
scad.exporter.export_product_package_to_step(package_path, out / "bracket.step")
|
|
506
|
-
scad.exporter.export_product_package_to_stl(package_path, out / "bracket.stl")
|
|
507
|
-
scad.exporter.export_product_package_to_obj(package_path, out / "bracket.obj")
|
|
508
|
-
```
|
|
509
576
|
|
|
510
|
-
|
|
577
|
+
@app.cell
|
|
578
|
+
def _(bossed):
|
|
579
|
+
# ---- feature: role-tag (annotate) ----
|
|
580
|
+
tagged = scad.apply_tag(shape=bossed, tag="role.demo.bracket")
|
|
581
|
+
return (tagged,)
|
|
511
582
|
|
|
512
|
-
Use an explicit `GraphSession` when a geometry flow should be inspectable,
|
|
513
|
-
serializable, replayable, or translated into another CAD environment.
|
|
514
583
|
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
584
|
+
@app.cell
|
|
585
|
+
def _(tagged):
|
|
586
|
+
bracket = scad.Part(part_id="bracket", body=tagged)
|
|
587
|
+
return (bracket,)
|
|
519
588
|
|
|
520
|
-
with GraphSession(graph_id="chamfered_block") as session:
|
|
521
|
-
body = scad.make_box_rsolid(
|
|
522
|
-
width=40.0, height=24.0, depth=10.0,
|
|
523
|
-
bottom_face_center=(0.0, 0.0, 0.0),
|
|
524
|
-
)
|
|
525
|
-
cutter = scad.make_cylinder_rsolid(
|
|
526
|
-
radius=4.0, height=16.0, bottom_face_center=(0.0, 0.0, -3.0)
|
|
527
|
-
)
|
|
528
|
-
drilled = scad.cut_rsolid(body, cutter)
|
|
529
589
|
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
.where(Q.curve_type(kind="circle"))
|
|
533
|
-
.order_by(Q.center_axis(axis="z"))
|
|
534
|
-
.take(1)
|
|
535
|
-
.exactly(1)
|
|
536
|
-
)
|
|
537
|
-
final = scad.chamfer_rsolid(solid=drilled, edges=bottom_circle, distance=0.6)
|
|
538
|
-
session.capture_result(value=final)
|
|
539
|
-
model_json = export_model_json(session=session)
|
|
540
|
-
recorded_nodes = session.graph.node_count
|
|
541
|
-
|
|
542
|
-
rebuilt = replay_model_json(json_str=model_json)
|
|
543
|
-
print("recorded_nodes", recorded_nodes)
|
|
544
|
-
print("replayed_outputs", len(rebuilt))
|
|
590
|
+
if __name__ == "__main__":
|
|
591
|
+
app.run()
|
|
545
592
|
```
|
|
546
593
|
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
594
|
+
The product is the top-level value whose id equals the notebook id. Edit the
|
|
595
|
+
notebook interactively, or run it headlessly with only `simplecadapi`
|
|
596
|
+
installed:
|
|
550
597
|
|
|
551
|
-
```
|
|
552
|
-
|
|
598
|
+
```bash
|
|
599
|
+
marimo edit bracket.py # reactive editor
|
|
600
|
+
sca run bracket.py # run, print a JSON report
|
|
601
|
+
sca run bracket.py --set width=80 --out out/bracket.scadpkg
|
|
602
|
+
sca export out/bracket.scadpkg --output-dir out/exports # AP242 STEP, STL, OBJ
|
|
553
603
|
```
|
|
554
604
|
|
|
555
|
-
|
|
556
|
-
source snapshots, topology, and render/selection assets. STEP, STL, FCStd, and
|
|
557
|
-
low-level JSON remain explicit exports.
|
|
605
|
+
## Notebook Runtime
|
|
558
606
|
|
|
559
|
-
|
|
607
|
+
The same runtime runs a notebook in the marimo editor, under `sca run`, and
|
|
608
|
+
from Python with `simplecadapi.runtime.run_notebook()`. Headless runs cache
|
|
609
|
+
every cell, so a rerun only executes the cells whose code, inputs, local
|
|
610
|
+
modules, or child notebooks changed. `--set` overrides a top-level variable
|
|
611
|
+
(the cell that defines it is skipped, so group parameters into cells by what
|
|
612
|
+
changes together); the report lists each cell as `ran`, `cached`, or
|
|
613
|
+
`skipped`.
|
|
560
614
|
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
same-key part calls reuse the runtime PRT in process, while durable part bundles
|
|
564
|
-
persist unchanged PRTs across later runs.
|
|
615
|
+
Export and verification scripts are plain Python that load the product with
|
|
616
|
+
`run_notebook` and write packages from it:
|
|
565
617
|
|
|
566
618
|
```python
|
|
567
|
-
|
|
568
|
-
def build_plate(width: float = 30.0) -> scad.Part:
|
|
569
|
-
body = scad.make_box_rsolid(width=width, height=20.0, depth=3.0)
|
|
570
|
-
return scad.make_part_rpart(part_id="mounting_plate", body=body)
|
|
571
|
-
|
|
572
|
-
cold = build_plate()
|
|
573
|
-
warm = build_plate()
|
|
574
|
-
print(cold.cache_report.hit, warm.cache_report.hit)
|
|
575
|
-
```
|
|
619
|
+
from pathlib import Path
|
|
576
620
|
|
|
577
|
-
|
|
621
|
+
import simplecadapi as scad
|
|
622
|
+
from simplecadapi.runtime import run_notebook
|
|
578
623
|
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
624
|
+
out = Path("out")
|
|
625
|
+
run = run_notebook("bracket.py", overrides={"width": 80.0})
|
|
626
|
+
print("volume", round(run.product.body.get_volume(), 3))
|
|
627
|
+
print("tags", scad.list_tags(shape=run.product.body))
|
|
628
|
+
|
|
629
|
+
package = out / "bracket.scadpkg"
|
|
630
|
+
scad.capture(run.definition, package)
|
|
631
|
+
scad.exporter.export_product_package_to_step(package, out / "bracket.step")
|
|
632
|
+
scad.exporter.export_product_package_to_stl(package, out / "bracket.stl")
|
|
633
|
+
scad.exporter.export_product_package_to_obj(package, out / "bracket.obj")
|
|
583
634
|
```
|
|
584
635
|
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
636
|
+
The `.scadpkg` embeds the definition closure, evaluated scene, feature
|
|
637
|
+
graphs, source snapshots, topology, and render/selection assets. It is
|
|
638
|
+
generated for exchange and publishing, never read back as model input.
|
|
639
|
+
|
|
640
|
+
### Composing notebooks
|
|
641
|
+
|
|
642
|
+
An assembly notebook brings in other notebooks with `scad.use`. A relative
|
|
643
|
+
path is relative to the calling notebook, and keyword arguments override the
|
|
644
|
+
child's top-level variables:
|
|
588
645
|
|
|
589
646
|
```python
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
"
|
|
593
|
-
)
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
)
|
|
647
|
+
@app.cell
|
|
648
|
+
def _():
|
|
649
|
+
bracket = scad.use("bracket.py", width=80.0)
|
|
650
|
+
return (bracket,)
|
|
651
|
+
|
|
652
|
+
|
|
653
|
+
@app.cell
|
|
654
|
+
def _(bracket):
|
|
655
|
+
rig = scad.make_assembly_rassembly(assembly_id="rig", name="Rig")
|
|
656
|
+
rig = scad.add_component_rassembly(
|
|
657
|
+
assembly=rig, item=bracket, component_id="bracket",
|
|
658
|
+
placement=scad.identity_placement_rplacement(),
|
|
659
|
+
)
|
|
660
|
+
return (rig,)
|
|
603
661
|
```
|
|
604
662
|
|
|
663
|
+
One notebook can describe a part family — parts that differ only in their
|
|
664
|
+
parameters, such as the links of a linkage. Its product takes
|
|
665
|
+
`part_id=scad.notebook_id()`, and each use names its member:
|
|
666
|
+
`scad.use("link_bar.py", id="crank", center_distance=40.0)` (or
|
|
667
|
+
`sca run link_bar.py --id crank`). Each member is one definition with its own
|
|
668
|
+
content hash and cell cache.
|
|
669
|
+
|
|
670
|
+
`@scad.part` / `@scad.assemble` remain for reusable library builders in plain
|
|
671
|
+
modules next to the notebooks; cells call them and take `.value`. See the
|
|
672
|
+
[notebook runtime and product build workflow](docs/skill/references/docs/guides/notebook-runtime.md)
|
|
673
|
+
for the project layout, the cell cache, and downstream targets.
|
|
674
|
+
|
|
675
|
+
### Migrating from `@scad.part` scripts
|
|
676
|
+
|
|
677
|
+
The script-anchored part cache of 2.1.2 (the `cache=` builder option, the
|
|
678
|
+
`.simplecad` cache directories, and the incremental assembly report) is
|
|
679
|
+
removed; the cell is now the unit of caching.
|
|
680
|
+
|
|
681
|
+
- Move each part into a notebook: its parameters into params cells, each FTC
|
|
682
|
+
block into a cell of its own (each cell binds a new name), and the final
|
|
683
|
+
`scad.Part(...)` / assembly into the last cell.
|
|
684
|
+
- Replace `main.py` entry points that build and export as a side effect with
|
|
685
|
+
export scripts that call `run_notebook` and `scad.capture`.
|
|
686
|
+
- Replace direct builder calls between products with `scad.use(...)`; keep
|
|
687
|
+
`@scad.part` builders only for library parts called from cells.
|
|
688
|
+
- Add `__marimo__/` (generated runtime state) to `.gitignore`.
|
|
689
|
+
|
|
605
690
|
### Command-line product export
|
|
606
691
|
|
|
607
692
|
Export the standard delivery set (AP242 STEP, binary STL, and OBJ) from a
|
|
608
693
|
validated product package with no wrapper script:
|
|
609
694
|
|
|
610
695
|
```bash
|
|
611
|
-
uv run
|
|
696
|
+
uv run sca export out/bracket.scadpkg --output-dir out/exports
|
|
612
697
|
```
|
|
613
698
|
|
|
614
699
|
Request additional targets explicitly. FCStd requires `FreeCADCmd` (or an
|
|
@@ -616,16 +701,19 @@ explicit `--freecad-cmd` path); `--check` validates the package, output paths,
|
|
|
616
701
|
and selected target prerequisites without writing files.
|
|
617
702
|
|
|
618
703
|
```bash
|
|
619
|
-
uv run
|
|
704
|
+
uv run sca export out/bracket.scadpkg \
|
|
620
705
|
--format fcstd --format mjcf --output-dir out/exports --check
|
|
621
|
-
uv run
|
|
706
|
+
uv run sca export out/bracket.scadpkg \
|
|
622
707
|
--format fcstd --freecad-cmd /path/to/FreeCADCmd --output-dir out/exports
|
|
623
708
|
```
|
|
709
|
+
|
|
624
710
|
STL and OBJ share one direct OpenCASCADE tessellation of the evaluated BREP.
|
|
625
711
|
Both outputs contain the same oriented triangles and require no optional
|
|
626
712
|
remeshing dependency. Control curved-surface accuracy with `linear_deflection`
|
|
627
713
|
and `angular_deflection_degrees`.
|
|
628
714
|
|
|
715
|
+
### Optional CalculiX FEM workflow
|
|
716
|
+
|
|
629
717
|
The AP242/Gmsh example also includes an optional CalculiX FEM workflow. Install
|
|
630
718
|
the Python-side FEM dependencies with `uv sync --extra fem`, and install the
|
|
631
719
|
external CalculiX solver separately (on macOS: `brew install
|
|
@@ -655,6 +743,49 @@ recommended production level N-1 is `h=0.27 mm`. Fine levels use iterative
|
|
|
655
743
|
Cholesky after a same-mesh comparison at `h=0.375 mm` matched SPOOLES within
|
|
656
744
|
`0.005%`; this avoids the direct solver's in-memory capacity limit.
|
|
657
745
|
|
|
746
|
+
## Replayable Operation Graphs
|
|
747
|
+
|
|
748
|
+
Use an explicit `GraphSession` when a geometry flow outside a notebook should
|
|
749
|
+
be inspectable, serializable, or replayable.
|
|
750
|
+
|
|
751
|
+
```python
|
|
752
|
+
import simplecadapi as scad
|
|
753
|
+
from simplecadapi import GraphSession, export_model_json, replay_model_json
|
|
754
|
+
from simplecadapi import ql as Q
|
|
755
|
+
|
|
756
|
+
with GraphSession(graph_id="chamfered_block") as session:
|
|
757
|
+
body = scad.make_box_rsolid(
|
|
758
|
+
width=40.0, height=24.0, depth=10.0,
|
|
759
|
+
bottom_face_center=(0.0, 0.0, 0.0),
|
|
760
|
+
)
|
|
761
|
+
cutter = scad.make_cylinder_rsolid(
|
|
762
|
+
radius=4.0, height=16.0, bottom_face_center=(0.0, 0.0, -3.0)
|
|
763
|
+
)
|
|
764
|
+
drilled = scad.cut_rsolid(body, cutter)
|
|
765
|
+
|
|
766
|
+
bottom_circle = (
|
|
767
|
+
Q.edges()
|
|
768
|
+
.where(Q.curve_type(kind="circle"))
|
|
769
|
+
.order_by(Q.center_axis(axis="z"))
|
|
770
|
+
.take(1)
|
|
771
|
+
.exactly(1)
|
|
772
|
+
)
|
|
773
|
+
final = scad.chamfer_rsolid(solid=drilled, edges=bottom_circle, distance=0.6)
|
|
774
|
+
session.capture_result(value=final)
|
|
775
|
+
model_json = export_model_json(session=session)
|
|
776
|
+
recorded_nodes = session.graph.node_count
|
|
777
|
+
|
|
778
|
+
rebuilt = replay_model_json(json_str=model_json)
|
|
779
|
+
print("recorded_nodes", recorded_nodes)
|
|
780
|
+
print("replayed_outputs", len(rebuilt))
|
|
781
|
+
```
|
|
782
|
+
|
|
783
|
+
An explicit `GraphSession` is for inspection, serialization, and replay
|
|
784
|
+
outside a notebook; notebook cells already record into sessions of their own,
|
|
785
|
+
so do not open one there. It stays in memory until an export API is called.
|
|
786
|
+
A durable CAD/viewer deliverable is a notebook product captured to
|
|
787
|
+
`.scadpkg` (see [Notebook Runtime](#notebook-runtime)).
|
|
788
|
+
|
|
658
789
|
## STEP/BREP Inspection
|
|
659
790
|
|
|
660
791
|
Install the optional rendering dependency when synchronized STEP views,
|
|
@@ -746,6 +877,7 @@ expression.
|
|
|
746
877
|
child-geometry getter, such as `get_edges(index)`, `get_faces(index)`,
|
|
747
878
|
`get_wires(index)`, or `get_vertices(index)`, so replayable graph workflows
|
|
748
879
|
preserve the pick as a geo select node.
|
|
880
|
+
|
|
749
881
|
Use model JSON only for graph replay and inspection. External CAD translation and
|
|
750
882
|
file export consume the validated `.scadpkg` closure:
|
|
751
883
|
|
|
@@ -764,25 +896,31 @@ The exporter namespace owns neutral STEP and STL file output.
|
|
|
764
896
|
|
|
765
897
|
## Examples
|
|
766
898
|
|
|
767
|
-
Every example is a self-contained folder:
|
|
768
|
-
|
|
899
|
+
Every example is a self-contained folder: part and assembly notebooks, the
|
|
900
|
+
plain modules they import, export and verification scripts, and fresh
|
|
901
|
+
artifacts under `examples/<name>/out/`. The set covers part modeling,
|
|
769
902
|
assemblies, reverse engineering, and FEM — see the category index in
|
|
770
903
|
[`examples/README.md`](examples/README.md).
|
|
771
904
|
|
|
772
905
|
```bash
|
|
773
|
-
# part (quickstart FTC
|
|
774
|
-
|
|
906
|
+
# part (quickstart FTC notebook, external verification script included)
|
|
907
|
+
marimo edit examples/flange_plate/flange_plate.py
|
|
908
|
+
uv run python examples/flange_plate/verify.py
|
|
775
909
|
|
|
776
|
-
# assembly (two-stage planetary reducer, MJCF export)
|
|
777
|
-
|
|
910
|
+
# assembly (two-stage planetary reducer: part-family notebooks, MJCF export)
|
|
911
|
+
sca run examples/compact_two_stage_planetary_reducer/compact_two_stage_planetary_reducer.py
|
|
912
|
+
uv run python examples/compact_two_stage_planetary_reducer/export_mjcf.py
|
|
778
913
|
|
|
779
914
|
# FEM (AP242 STEP -> Gmsh volume mesh -> Calculix statics)
|
|
780
|
-
uv run python examples/ap242_gmsh_volume_mesh/
|
|
915
|
+
uv run python examples/ap242_gmsh_volume_mesh/export_step.py
|
|
916
|
+
uv run --extra gmsh python examples/ap242_gmsh_volume_mesh/export_fem_mesh.py
|
|
781
917
|
uv run --extra fem python examples/ap242_gmsh_volume_mesh/run_calculix.py
|
|
782
918
|
```
|
|
783
919
|
|
|
784
|
-
Reverse engineering runs
|
|
785
|
-
against a target
|
|
920
|
+
Reverse engineering runs in the `Re-mode` workspace of the standalone
|
|
921
|
+
[sca-web-editor](https://github.com/PhySpace/sca-web-editor) against a target
|
|
922
|
+
STEP (see `examples/bowl_connector/` and the
|
|
923
|
+
[reverse-engineering studio workflow](docs/skill/references/workflows/reverse-engineering-studio.md)).
|
|
786
924
|
|
|
787
925
|
## Documentation
|
|
788
926
|
|
|
@@ -794,8 +932,8 @@ against a target STEP (see `examples/bowl_connector/`).
|
|
|
794
932
|
[`docs/skill/references/docs/guides/reconstruction-agent-test-prompt.md`](docs/skill/references/docs/guides/reconstruction-agent-test-prompt.md)
|
|
795
933
|
- Reverse-engineering studio workflow:
|
|
796
934
|
[`docs/skill/references/workflows/reverse-engineering-studio.md`](docs/skill/references/workflows/reverse-engineering-studio.md)
|
|
797
|
-
-
|
|
798
|
-
[`docs/skill/references/docs/guides/
|
|
935
|
+
- Notebook runtime and product build workflow:
|
|
936
|
+
[`docs/skill/references/docs/guides/notebook-runtime.md`](docs/skill/references/docs/guides/notebook-runtime.md)
|
|
799
937
|
- Public API reference: [`docs/skill/references/docs/api/`](docs/skill/references/docs/api/)
|
|
800
938
|
- Core type and modeling notes: [`docs/skill/references/docs/core/`](docs/skill/references/docs/core/)
|
|
801
939
|
- Serialization and replay details:
|
|
@@ -806,16 +944,20 @@ against a target STEP (see `examples/bowl_connector/`).
|
|
|
806
944
|
[`docs/core/physical-units.md`](docs/skill/references/docs/core/physical-units.md)
|
|
807
945
|
- Operation graph JSON spec:
|
|
808
946
|
[`docs/core/operation_graph_json_spec.md`](docs/skill/references/docs/core/operation_graph_json_spec.md)
|
|
809
|
-
|
|
947
|
+
- `.scadpkg` package format:
|
|
948
|
+
[`docs/skill/references/scadpkg-format.md`](docs/skill/references/scadpkg-format.md)
|
|
810
949
|
|
|
811
950
|
## Releasing the Agent Skill
|
|
812
951
|
|
|
813
952
|
The skill source tree lives under `docs/skill/` and stays harness-neutral.
|
|
814
|
-
`tools/skillbuild.py`
|
|
815
|
-
|
|
816
|
-
|
|
953
|
+
`tools/skillbuild.py` wraps the same compiler the `sca skill` CLI uses, for
|
|
954
|
+
maintainer builds in this repository: it compiles per harness target (targets
|
|
955
|
+
and default output directories are configured in `skillproj.toml`; the outputs
|
|
956
|
+
under `skills/simplecadapi-*/` are regenerable build artifacts and are not
|
|
817
957
|
committed). Harness-specific text, when it is ever needed, is marked with
|
|
818
|
-
`<!-- skill:if ... -->` conditional blocks that compile per target.
|
|
958
|
+
`<!-- skill:if ... -->` conditional blocks that compile per target. The wheel
|
|
959
|
+
itself never contains precompiled targets — end users install from the
|
|
960
|
+
bundled source with `sca skill install`.
|
|
819
961
|
|
|
820
962
|
From a clean checkout, update the project version and documentation, then
|
|
821
963
|
build and validate the release artifacts:
|
|
@@ -838,7 +980,8 @@ tar -tzf skills/simplecadapi.tar.gz | head
|
|
|
838
980
|
```
|
|
839
981
|
|
|
840
982
|
Commit only the `docs/skill/` source tree; the release workflow builds the
|
|
841
|
-
harness outputs and uploads the archive to the GitHub release.
|
|
983
|
+
harness outputs and uploads the archive to the GitHub release. Prefer
|
|
984
|
+
`sca skill` for installation from a pip-installed package.
|
|
842
985
|
|
|
843
986
|
## Development
|
|
844
987
|
|
|
@@ -859,3 +1002,13 @@ The group chat currently has too many members for direct QR-code joining. Scan t
|
|
|
859
1002
|
<p align="center">
|
|
860
1003
|
<img src="img/dp个人账号.png.jpg" alt="Teacher Du Peng's personal WeChat QR code" width="420">
|
|
861
1004
|
</p>
|
|
1005
|
+
|
|
1006
|
+
## Star History
|
|
1007
|
+
|
|
1008
|
+
<a href="https://www.star-history.com/?repos=PhySpace%2FSimpleCADAPI&type=date&legend=top-left">
|
|
1009
|
+
<picture>
|
|
1010
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/chart?repos=PhySpace/SimpleCADAPI&type=date&theme=dark&legend=top-left" />
|
|
1011
|
+
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/chart?repos=PhySpace/SimpleCADAPI&type=date&legend=top-left" />
|
|
1012
|
+
<img alt="Star History Chart" src="https://api.star-history.com/chart?repos=PhySpace/SimpleCADAPI&type=date&legend=top-left" />
|
|
1013
|
+
</picture>
|
|
1014
|
+
</a>
|