{ "schema": "freecad-web-p6-part-python-method-runtime/v1", "taskId": "FW-P6-FPA-Y", "module": "Part", "tier": "tier-2-pure", "apiId": "py:Part:function:addTube", "status": "pass", "methods": [ { "apiId": "py:Part:function:addTube", "sourceEntry": "src/Mod/Part/BasicShapes/Shapes.py", "request": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "request", "requestId": "part-add-success", "command": "part.pythonMethod", "documentId": "part-method-document", "payload": { "schema": "freecad-web-part/python-method/v1", "module": "Part", "tier": "tier-2-pure", "apiId": "py:Part:function:addTube", "name": "addTube", "family": "pure-function", "args": { "name": "TubeNative" } } }, "requestSha256": "cdd09d090c87bf4e9112c5e2035b640e324e835e7bceb14f8446390abab7a2fe", "resultSha256": "f907c53332e2b1947650e66f0b497bdf33544ac2e796a1d1eac6a0233733a361", "trace": { "success": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "result", "requestId": "part-add-success", "result": { "apiId": "py:Part:function:addTube", "family": "pure-function", "module": "Part", "name": "addTube", "native": true, "ok": true, "parameterSchema": { "name": "string" }, "resourcesReleased": true, "result": { "documentObjects": 1, "height": 10, "innerRadius": 2, "name": "TubeNative", "objectType": "Part::FeaturePython", "outerRadius": 5, "resourcesReleased": true, "solid": true, "volume": 659.7344572538565 }, "returnSchema": { "fields": { "documentObjects": "integer", "height": "number", "innerRadius": "number", "name": "string", "objectType": "string", "outerRadius": "number", "resourcesReleased": "boolean", "solid": "boolean", "volume": "number" }, "type": "Part::FeaturePython" }, "schema": "freecad-web-part/python-method/v1", "source": "freecad-source", "sourceEntry": "src/Mod/Part/BasicShapes/Shapes.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "exposed", "tier": "tier-2-pure" } }, "repeat": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "result", "requestId": "part-add-repeat", "result": { "apiId": "py:Part:function:addTube", "family": "pure-function", "module": "Part", "name": "addTube", "native": true, "ok": true, "parameterSchema": { "name": "string" }, "resourcesReleased": true, "result": { "documentObjects": 1, "height": 10, "innerRadius": 2, "name": "TubeNative", "objectType": "Part::FeaturePython", "outerRadius": 5, "resourcesReleased": true, "solid": true, "volume": 659.7344572538565 }, "returnSchema": { "fields": { "documentObjects": "integer", "height": "number", "innerRadius": "number", "name": "string", "objectType": "string", "outerRadius": "number", "resourcesReleased": "boolean", "solid": "boolean", "volume": "number" }, "type": "Part::FeaturePython" }, "schema": "freecad-web-part/python-method/v1", "source": "freecad-source", "sourceEntry": "src/Mod/Part/BasicShapes/Shapes.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "exposed", "tier": "tier-2-pure" } }, "invalid": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "error", "requestId": "part-add-invalid", "error": { "code": "invalid_arguments", "message": "Part.addTube name must be a non-empty ASCII identifier up to 64 characters", "diagnostic": { "args": { "name": "bad-name" } } } }, "cancelled": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "error", "requestId": "part-add-cancel", "error": { "code": "cancelled", "message": "request was cancelled" } }, "direct": { "apiId": "py:Part:function:addTube", "family": "pure-function", "module": "Part", "name": "addTube", "native": true, "ok": true, "parameterSchema": { "name": "string" }, "resourcesReleased": true, "result": { "documentObjects": 1, "height": 10, "innerRadius": 2, "name": "TubeNative", "objectType": "Part::FeaturePython", "outerRadius": 5, "resourcesReleased": true, "solid": true, "volume": 659.7344572538565 }, "returnSchema": { "fields": { "documentObjects": "integer", "height": "number", "innerRadius": "number", "name": "string", "objectType": "string", "outerRadius": "number", "resourcesReleased": "boolean", "solid": "boolean", "volume": "number" }, "type": "Part::FeaturePython" }, "schema": "freecad-web-part/python-method/v1", "source": "freecad-source", "sourceEntry": "src/Mod/Part/BasicShapes/Shapes.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "exposed", "tier": "tier-2-pure" } }, "replay": { "equal": true }, "resources": { "resourcesReleased": true, "documentMutation": true } }, { "apiId": "py:Part:function:dimensionOfShapes", "sourceEntry": "src/Mod/Part/BOPTools/ShapeMerge.py", "request": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "request", "requestId": "part-dimension-success", "command": "part.pythonMethod", "documentId": "part-method-document", "payload": { "schema": "freecad-web-part/python-method/v1", "module": "Part", "tier": "tier-2-pure", "apiId": "py:Part:function:dimensionOfShapes", "name": "dimensionOfShapes", "family": "geometry-value", "args": { "shapeTypes": [ "Solid", "Solid" ] } } }, "requestSha256": "844d725d0644986d14eda6eec8bb8986814803c7a5aef4d97f5ae9d2be16171f", "resultSha256": "aa3f34e1510ee05b4bc7580e3e77c32c02b4fca91aba452e972133dad275b8b7", "trace": { "success": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "result", "requestId": "part-dimension-success", "result": { "apiId": "py:Part:function:dimensionOfShapes", "family": "geometry-value", "module": "Part", "name": "dimensionOfShapes", "native": true, "ok": true, "parameterSchema": { "shapeTypes": "string[]" }, "resourcesReleased": true, "result": { "dimension": 3, "shapeCount": 2, "shapeTypes": [ "Solid", "Solid" ] }, "returnSchema": { "fields": { "dimension": "integer", "shapeCount": "integer", "shapeTypes": "string[]" }, "type": "int" }, "schema": "freecad-web-part/python-method/v1", "source": "freecad-source", "sourceEntry": "src/Mod/Part/BOPTools/ShapeMerge.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "exposed", "tier": "tier-2-pure" } }, "repeat": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "result", "requestId": "part-dimension-repeat", "result": { "apiId": "py:Part:function:dimensionOfShapes", "family": "geometry-value", "module": "Part", "name": "dimensionOfShapes", "native": true, "ok": true, "parameterSchema": { "shapeTypes": "string[]" }, "resourcesReleased": true, "result": { "dimension": 3, "shapeCount": 2, "shapeTypes": [ "Solid", "Solid" ] }, "returnSchema": { "fields": { "dimension": "integer", "shapeCount": "integer", "shapeTypes": "string[]" }, "type": "int" }, "schema": "freecad-web-part/python-method/v1", "source": "freecad-source", "sourceEntry": "src/Mod/Part/BOPTools/ShapeMerge.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "exposed", "tier": "tier-2-pure" } }, "invalid": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "error", "requestId": "part-dimension-invalid", "error": { "code": "invalid_arguments", "message": "Part.dimensionOfShapes shapeTypes must be Solid, Face, Edge or Vertex", "diagnostic": { "args": { "shapeTypes": [ "Solid", "Unknown" ] } } } }, "mixed": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "error", "requestId": "part-dimension-mixed", "error": { "code": "source_error", "message": "TypeError: Shapes are of different dimensions (Solid and Edge), and cannot be merged or compared." } }, "cancelled": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "error", "requestId": "part-dimension-cancel", "error": { "code": "cancelled", "message": "request was cancelled" } }, "direct": { "apiId": "py:Part:function:dimensionOfShapes", "family": "geometry-value", "module": "Part", "name": "dimensionOfShapes", "native": true, "ok": true, "parameterSchema": { "shapeTypes": "string[]" }, "resourcesReleased": true, "result": { "dimension": 3, "shapeCount": 2, "shapeTypes": [ "Solid", "Solid" ] }, "returnSchema": { "fields": { "dimension": "integer", "shapeCount": "integer", "shapeTypes": "string[]" }, "type": "int" }, "schema": "freecad-web-part/python-method/v1", "source": "freecad-source", "sourceEntry": "src/Mod/Part/BOPTools/ShapeMerge.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "exposed", "tier": "tier-2-pure" } }, "replay": { "equal": true }, "resources": { "resourcesReleased": true, "documentMutation": false } }, { "apiId": "py:Part:function:makeTube", "sourceEntry": "src/Mod/Part/BasicShapes/Shapes.py", "request": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "request", "requestId": "part-method-success", "command": "part.pythonMethod", "documentId": "part-method-document", "payload": { "schema": "freecad-web-part/python-method/v1", "module": "Part", "tier": "tier-2-pure", "apiId": "py:Part:function:makeTube", "name": "makeTube", "family": "pure-function", "args": { "outerRadius": 5, "innerRadius": 2, "height": 10 } } }, "requestSha256": "045000475b765bfc136999eee83760305b049e549b58bad82667ef7ede36c94a", "resultSha256": "ba0949bf0240817f1a295dcd1cc0a9757710b8dd28801bb50db14c6cbb43de18", "trace": { "success": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "result", "requestId": "part-method-success", "result": { "apiId": "py:Part:function:makeTube", "family": "pure-function", "module": "Part", "name": "makeTube", "native": true, "ok": true, "parameterSchema": { "height": "number", "innerRadius": "number", "outerRadius": "number" }, "resourcesReleased": true, "result": { "height": 10, "innerRadius": 2, "outerRadius": 5, "solid": true, "volume": 659.7344572538565 }, "returnSchema": { "fields": { "solid": "boolean", "volume": "number" }, "type": "Part.Shape" }, "schema": "freecad-web-part/python-method/v1", "source": "freecad-source", "sourceEntry": "src/Mod/Part/BasicShapes/Shapes.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "exposed", "tier": "tier-2-pure" } }, "repeat": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "result", "requestId": "part-method-repeat", "result": { "apiId": "py:Part:function:makeTube", "family": "pure-function", "module": "Part", "name": "makeTube", "native": true, "ok": true, "parameterSchema": { "height": "number", "innerRadius": "number", "outerRadius": "number" }, "resourcesReleased": true, "result": { "height": 10, "innerRadius": 2, "outerRadius": 5, "solid": true, "volume": 659.7344572538565 }, "returnSchema": { "fields": { "solid": "boolean", "volume": "number" }, "type": "Part.Shape" }, "schema": "freecad-web-part/python-method/v1", "source": "freecad-source", "sourceEntry": "src/Mod/Part/BasicShapes/Shapes.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "exposed", "tier": "tier-2-pure" } }, "invalid": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "error", "requestId": "part-method-invalid", "error": { "code": "invalid_arguments", "message": "Part.makeTube requires outerRadius > innerRadius >= 0 and height > 0", "diagnostic": { "args": { "outerRadius": 2, "innerRadius": 2, "height": 10 } } } }, "cancelled": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "error", "requestId": "part-method-cancel", "error": { "code": "cancelled", "message": "request was cancelled" } }, "crossModule": { "ok": false, "code": "unmatched_source_record", "error": "Part native method is not registered for this module/tier" }, "unsupported": { "ok": false, "code": "unsupported_command", "error": "Part native dispatch command is not registered" } }, "replay": { "equal": true }, "resources": { "resourcesReleased": true, "documentMutation": false } }, { "apiId": "py:Part:function:roundVector", "sourceEntry": "src/Mod/Part/BasicShapes/ShapeContent.py", "request": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "request", "requestId": "part-round-success", "command": "part.pythonMethod", "documentId": "part-method-document", "payload": { "schema": "freecad-web-part/python-method/v1", "module": "Part", "tier": "tier-2-pure", "apiId": "py:Part:function:roundVector", "name": "roundVector", "family": "geometry-value", "args": { "vector": [ 1.2345, -2.3456, 3.4567 ], "decimals": 2 } } }, "requestSha256": "65155849271626bf892b55e707f3e40beaf2bd0bd48643573e2c336d6b1429b0", "resultSha256": "2b848fe5177a04d9d75bbc087f78252519e5461258c397ccf66f0260c7ecbaa1", "trace": { "success": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "result", "requestId": "part-round-success", "result": { "apiId": "py:Part:function:roundVector", "family": "geometry-value", "module": "Part", "name": "roundVector", "native": true, "ok": true, "parameterSchema": { "decimals": "integer", "vector": "number[3]" }, "resourcesReleased": true, "result": { "decimals": 2, "value": "[1.23, -2.35, 3.46]", "vector": [ 1.23, -2.35, 3.46 ] }, "returnSchema": { "fields": { "value": "string", "vector": "number[3]" }, "type": "str" }, "schema": "freecad-web-part/python-method/v1", "source": "freecad-source", "sourceEntry": "src/Mod/Part/BasicShapes/ShapeContent.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "exposed", "tier": "tier-2-pure" } }, "repeat": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "result", "requestId": "part-round-repeat", "result": { "apiId": "py:Part:function:roundVector", "family": "geometry-value", "module": "Part", "name": "roundVector", "native": true, "ok": true, "parameterSchema": { "decimals": "integer", "vector": "number[3]" }, "resourcesReleased": true, "result": { "decimals": 2, "value": "[1.23, -2.35, 3.46]", "vector": [ 1.23, -2.35, 3.46 ] }, "returnSchema": { "fields": { "value": "string", "vector": "number[3]" }, "type": "str" }, "schema": "freecad-web-part/python-method/v1", "source": "freecad-source", "sourceEntry": "src/Mod/Part/BasicShapes/ShapeContent.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "exposed", "tier": "tier-2-pure" } }, "invalid": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "error", "requestId": "part-round-invalid", "error": { "code": "invalid_arguments", "message": "Part.roundVector decimals must be an integer between -12 and 12", "diagnostic": { "args": { "vector": [ 1, 2, 3 ], "decimals": 13 } } } }, "cancelled": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "error", "requestId": "part-round-cancel", "error": { "code": "cancelled", "message": "request was cancelled" } }, "direct": { "apiId": "py:Part:function:roundVector", "family": "geometry-value", "module": "Part", "name": "roundVector", "native": true, "ok": true, "parameterSchema": { "decimals": "integer", "vector": "number[3]" }, "resourcesReleased": true, "result": { "decimals": 2, "value": "[1.23, -2.35, 3.46]", "vector": [ 1.23, -2.35, 3.46 ] }, "returnSchema": { "fields": { "value": "string", "vector": "number[3]" }, "type": "str" }, "schema": "freecad-web-part/python-method/v1", "source": "freecad-source", "sourceEntry": "src/Mod/Part/BasicShapes/ShapeContent.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "exposed", "tier": "tier-2-pure" } }, "replay": { "equal": true }, "resources": { "resourcesReleased": true, "documentMutation": false } }, { "apiId": "py:Part:function:PlacementsFuzzyCompare", "sourceEntry": "src/Mod/Part/AttachmentEditor/TaskAttachmentEditor.py", "request": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "request", "requestId": "part-placement-success", "command": "part.pythonMethod", "documentId": "part-method-document", "payload": { "schema": "freecad-web-part/python-method/v1", "module": "Part", "tier": "tier-2-pure", "apiId": "py:Part:function:PlacementsFuzzyCompare", "name": "PlacementsFuzzyCompare", "family": "pure-function", "args": { "base1": [ 0, 0, 0 ], "base2": [ 0, 0, 0 ], "rotation1": [ 0, 0, 0, 1 ], "rotation2": [ 0, 0, 0, 1 ] } } }, "requestSha256": "8a8f35880d45f5f6f708c6844e75589dfd229d935f299dd2022a50fcfd5e1df1", "resultSha256": "5ae64122899b95cd8c34be19acd9a648d8f39f57536f7c7a88a8942df6644bef", "trace": { "success": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "result", "requestId": "part-placement-success", "result": { "apiId": "py:Part:function:PlacementsFuzzyCompare", "family": "pure-function", "module": "Part", "name": "PlacementsFuzzyCompare", "native": true, "ok": true, "parameterSchema": { "base1": "number[3]", "base2": "number[3]", "rotation1": "number[4]", "rotation2": "number[4]" }, "resourcesReleased": true, "result": { "equal": true, "positionEqual": true, "positionTolerance": 1e-7, "rotationEqual": true, "rotationTolerance": 1e-12 }, "returnSchema": { "fields": { "equal": "boolean", "positionEqual": "boolean", "rotationEqual": "boolean" }, "type": "bool" }, "schema": "freecad-web-part/python-method/v1", "source": "freecad-source", "sourceEntry": "src/Mod/Part/AttachmentEditor/TaskAttachmentEditor.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "exposed", "tier": "tier-2-pure" } }, "repeat": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "result", "requestId": "part-placement-repeat", "result": { "apiId": "py:Part:function:PlacementsFuzzyCompare", "family": "pure-function", "module": "Part", "name": "PlacementsFuzzyCompare", "native": true, "ok": true, "parameterSchema": { "base1": "number[3]", "base2": "number[3]", "rotation1": "number[4]", "rotation2": "number[4]" }, "resourcesReleased": true, "result": { "equal": true, "positionEqual": true, "positionTolerance": 1e-7, "rotationEqual": true, "rotationTolerance": 1e-12 }, "returnSchema": { "fields": { "equal": "boolean", "positionEqual": "boolean", "rotationEqual": "boolean" }, "type": "bool" }, "schema": "freecad-web-part/python-method/v1", "source": "freecad-source", "sourceEntry": "src/Mod/Part/AttachmentEditor/TaskAttachmentEditor.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "exposed", "tier": "tier-2-pure" } }, "invalid": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "error", "requestId": "invalid", "error": { "code": "invalid_request", "message": "Part Python method envelope invalid" } }, "cancelled": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "error", "requestId": "part-placement-cancel", "error": { "code": "cancelled", "message": "request was cancelled" } }, "direct": { "apiId": "py:Part:function:PlacementsFuzzyCompare", "family": "pure-function", "module": "Part", "name": "PlacementsFuzzyCompare", "native": true, "ok": true, "parameterSchema": { "base1": "number[3]", "base2": "number[3]", "rotation1": "number[4]", "rotation2": "number[4]" }, "resourcesReleased": true, "result": { "equal": true, "positionEqual": true, "positionTolerance": 1e-7, "rotationEqual": true, "rotationTolerance": 1e-12 }, "returnSchema": { "fields": { "equal": "boolean", "positionEqual": "boolean", "rotationEqual": "boolean" }, "type": "bool" }, "schema": "freecad-web-part/python-method/v1", "source": "freecad-source", "sourceEntry": "src/Mod/Part/AttachmentEditor/TaskAttachmentEditor.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "exposed", "tier": "tier-2-pure" } }, "replay": { "equal": true }, "resources": { "resourcesReleased": true, "documentMutation": false } } ], "route": { "command": "part.pythonMethod", "worker": "web/src/part.worker.ts", "facade": "web/src/part-python-method-facade.ts", "native": "freecad-source/src/WebAssembly/FreeCADCoreProbe/PartBoxProbe.cpp:fc_web_dispatch_json" }, "request": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "request", "requestId": "part-dimension-success", "command": "part.pythonMethod", "documentId": "part-method-document", "payload": { "schema": "freecad-web-part/python-method/v1", "module": "Part", "tier": "tier-2-pure", "apiId": "py:Part:function:dimensionOfShapes", "name": "dimensionOfShapes", "family": "geometry-value", "args": { "shapeTypes": [ "Solid", "Solid" ] } } }, "requestSha256": "844d725d0644986d14eda6eec8bb8986814803c7a5aef4d97f5ae9d2be16171f", "trace": { "ready": { "kind": "ready", "action": "part.pythonMethod" }, "dimensionSuccess": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "result", "requestId": "part-dimension-success", "result": { "apiId": "py:Part:function:dimensionOfShapes", "family": "geometry-value", "module": "Part", "name": "dimensionOfShapes", "native": true, "ok": true, "parameterSchema": { "shapeTypes": "string[]" }, "resourcesReleased": true, "result": { "dimension": 3, "shapeCount": 2, "shapeTypes": [ "Solid", "Solid" ] }, "returnSchema": { "fields": { "dimension": "integer", "shapeCount": "integer", "shapeTypes": "string[]" }, "type": "int" }, "schema": "freecad-web-part/python-method/v1", "source": "freecad-source", "sourceEntry": "src/Mod/Part/BOPTools/ShapeMerge.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "exposed", "tier": "tier-2-pure" } }, "dimensionRepeat": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "result", "requestId": "part-dimension-repeat", "result": { "apiId": "py:Part:function:dimensionOfShapes", "family": "geometry-value", "module": "Part", "name": "dimensionOfShapes", "native": true, "ok": true, "parameterSchema": { "shapeTypes": "string[]" }, "resourcesReleased": true, "result": { "dimension": 3, "shapeCount": 2, "shapeTypes": [ "Solid", "Solid" ] }, "returnSchema": { "fields": { "dimension": "integer", "shapeCount": "integer", "shapeTypes": "string[]" }, "type": "int" }, "schema": "freecad-web-part/python-method/v1", "source": "freecad-source", "sourceEntry": "src/Mod/Part/BOPTools/ShapeMerge.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "exposed", "tier": "tier-2-pure" } }, "dimensionInvalid": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "error", "requestId": "part-dimension-invalid", "error": { "code": "invalid_arguments", "message": "Part.dimensionOfShapes shapeTypes must be Solid, Face, Edge or Vertex", "diagnostic": { "args": { "shapeTypes": [ "Solid", "Unknown" ] } } } }, "dimensionMixed": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "error", "requestId": "part-dimension-mixed", "error": { "code": "source_error", "message": "TypeError: Shapes are of different dimensions (Solid and Edge), and cannot be merged or compared." } }, "dimensionCancelled": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "error", "requestId": "part-dimension-cancel", "error": { "code": "cancelled", "message": "request was cancelled" } }, "addSuccess": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "result", "requestId": "part-add-success", "result": { "apiId": "py:Part:function:addTube", "family": "pure-function", "module": "Part", "name": "addTube", "native": true, "ok": true, "parameterSchema": { "name": "string" }, "resourcesReleased": true, "result": { "documentObjects": 1, "height": 10, "innerRadius": 2, "name": "TubeNative", "objectType": "Part::FeaturePython", "outerRadius": 5, "resourcesReleased": true, "solid": true, "volume": 659.7344572538565 }, "returnSchema": { "fields": { "documentObjects": "integer", "height": "number", "innerRadius": "number", "name": "string", "objectType": "string", "outerRadius": "number", "resourcesReleased": "boolean", "solid": "boolean", "volume": "number" }, "type": "Part::FeaturePython" }, "schema": "freecad-web-part/python-method/v1", "source": "freecad-source", "sourceEntry": "src/Mod/Part/BasicShapes/Shapes.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "exposed", "tier": "tier-2-pure" } }, "addRepeat": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "result", "requestId": "part-add-repeat", "result": { "apiId": "py:Part:function:addTube", "family": "pure-function", "module": "Part", "name": "addTube", "native": true, "ok": true, "parameterSchema": { "name": "string" }, "resourcesReleased": true, "result": { "documentObjects": 1, "height": 10, "innerRadius": 2, "name": "TubeNative", "objectType": "Part::FeaturePython", "outerRadius": 5, "resourcesReleased": true, "solid": true, "volume": 659.7344572538565 }, "returnSchema": { "fields": { "documentObjects": "integer", "height": "number", "innerRadius": "number", "name": "string", "objectType": "string", "outerRadius": "number", "resourcesReleased": "boolean", "solid": "boolean", "volume": "number" }, "type": "Part::FeaturePython" }, "schema": "freecad-web-part/python-method/v1", "source": "freecad-source", "sourceEntry": "src/Mod/Part/BasicShapes/Shapes.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "exposed", "tier": "tier-2-pure" } }, "addInvalid": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "error", "requestId": "part-add-invalid", "error": { "code": "invalid_arguments", "message": "Part.addTube name must be a non-empty ASCII identifier up to 64 characters", "diagnostic": { "args": { "name": "bad-name" } } } }, "addCancelled": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "error", "requestId": "part-add-cancel", "error": { "code": "cancelled", "message": "request was cancelled" } }, "success": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "result", "requestId": "part-method-success", "result": { "apiId": "py:Part:function:makeTube", "family": "pure-function", "module": "Part", "name": "makeTube", "native": true, "ok": true, "parameterSchema": { "height": "number", "innerRadius": "number", "outerRadius": "number" }, "resourcesReleased": true, "result": { "height": 10, "innerRadius": 2, "outerRadius": 5, "solid": true, "volume": 659.7344572538565 }, "returnSchema": { "fields": { "solid": "boolean", "volume": "number" }, "type": "Part.Shape" }, "schema": "freecad-web-part/python-method/v1", "source": "freecad-source", "sourceEntry": "src/Mod/Part/BasicShapes/Shapes.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "exposed", "tier": "tier-2-pure" } }, "repeat": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "result", "requestId": "part-method-repeat", "result": { "apiId": "py:Part:function:makeTube", "family": "pure-function", "module": "Part", "name": "makeTube", "native": true, "ok": true, "parameterSchema": { "height": "number", "innerRadius": "number", "outerRadius": "number" }, "resourcesReleased": true, "result": { "height": 10, "innerRadius": 2, "outerRadius": 5, "solid": true, "volume": 659.7344572538565 }, "returnSchema": { "fields": { "solid": "boolean", "volume": "number" }, "type": "Part.Shape" }, "schema": "freecad-web-part/python-method/v1", "source": "freecad-source", "sourceEntry": "src/Mod/Part/BasicShapes/Shapes.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "exposed", "tier": "tier-2-pure" } }, "invalid": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "error", "requestId": "part-method-invalid", "error": { "code": "invalid_arguments", "message": "Part.makeTube requires outerRadius > innerRadius >= 0 and height > 0", "diagnostic": { "args": { "outerRadius": 2, "innerRadius": 2, "height": 10 } } } }, "cancelled": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "error", "requestId": "part-method-cancel", "error": { "code": "cancelled", "message": "request was cancelled" } }, "roundSuccess": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "result", "requestId": "part-round-success", "result": { "apiId": "py:Part:function:roundVector", "family": "geometry-value", "module": "Part", "name": "roundVector", "native": true, "ok": true, "parameterSchema": { "decimals": "integer", "vector": "number[3]" }, "resourcesReleased": true, "result": { "decimals": 2, "value": "[1.23, -2.35, 3.46]", "vector": [ 1.23, -2.35, 3.46 ] }, "returnSchema": { "fields": { "value": "string", "vector": "number[3]" }, "type": "str" }, "schema": "freecad-web-part/python-method/v1", "source": "freecad-source", "sourceEntry": "src/Mod/Part/BasicShapes/ShapeContent.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "exposed", "tier": "tier-2-pure" } }, "roundRepeat": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "result", "requestId": "part-round-repeat", "result": { "apiId": "py:Part:function:roundVector", "family": "geometry-value", "module": "Part", "name": "roundVector", "native": true, "ok": true, "parameterSchema": { "decimals": "integer", "vector": "number[3]" }, "resourcesReleased": true, "result": { "decimals": 2, "value": "[1.23, -2.35, 3.46]", "vector": [ 1.23, -2.35, 3.46 ] }, "returnSchema": { "fields": { "value": "string", "vector": "number[3]" }, "type": "str" }, "schema": "freecad-web-part/python-method/v1", "source": "freecad-source", "sourceEntry": "src/Mod/Part/BasicShapes/ShapeContent.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "exposed", "tier": "tier-2-pure" } }, "roundInvalid": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "error", "requestId": "part-round-invalid", "error": { "code": "invalid_arguments", "message": "Part.roundVector decimals must be an integer between -12 and 12", "diagnostic": { "args": { "vector": [ 1, 2, 3 ], "decimals": 13 } } } }, "roundCancelled": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "error", "requestId": "part-round-cancel", "error": { "code": "cancelled", "message": "request was cancelled" } }, "placementSuccess": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "result", "requestId": "part-placement-success", "result": { "apiId": "py:Part:function:PlacementsFuzzyCompare", "family": "pure-function", "module": "Part", "name": "PlacementsFuzzyCompare", "native": true, "ok": true, "parameterSchema": { "base1": "number[3]", "base2": "number[3]", "rotation1": "number[4]", "rotation2": "number[4]" }, "resourcesReleased": true, "result": { "equal": true, "positionEqual": true, "positionTolerance": 1e-7, "rotationEqual": true, "rotationTolerance": 1e-12 }, "returnSchema": { "fields": { "equal": "boolean", "positionEqual": "boolean", "rotationEqual": "boolean" }, "type": "bool" }, "schema": "freecad-web-part/python-method/v1", "source": "freecad-source", "sourceEntry": "src/Mod/Part/AttachmentEditor/TaskAttachmentEditor.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "exposed", "tier": "tier-2-pure" } }, "placementRepeat": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "result", "requestId": "part-placement-repeat", "result": { "apiId": "py:Part:function:PlacementsFuzzyCompare", "family": "pure-function", "module": "Part", "name": "PlacementsFuzzyCompare", "native": true, "ok": true, "parameterSchema": { "base1": "number[3]", "base2": "number[3]", "rotation1": "number[4]", "rotation2": "number[4]" }, "resourcesReleased": true, "result": { "equal": true, "positionEqual": true, "positionTolerance": 1e-7, "rotationEqual": true, "rotationTolerance": 1e-12 }, "returnSchema": { "fields": { "equal": "boolean", "positionEqual": "boolean", "rotationEqual": "boolean" }, "type": "bool" }, "schema": "freecad-web-part/python-method/v1", "source": "freecad-source", "sourceEntry": "src/Mod/Part/AttachmentEditor/TaskAttachmentEditor.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "exposed", "tier": "tier-2-pure" } }, "placementInvalid": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "error", "requestId": "invalid", "error": { "code": "invalid_request", "message": "Part Python method envelope invalid" } }, "placementCancelled": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "error", "requestId": "part-placement-cancel", "error": { "code": "cancelled", "message": "request was cancelled" } }, "dimensionDirect": { "apiId": "py:Part:function:dimensionOfShapes", "family": "geometry-value", "module": "Part", "name": "dimensionOfShapes", "native": true, "ok": true, "parameterSchema": { "shapeTypes": "string[]" }, "resourcesReleased": true, "result": { "dimension": 3, "shapeCount": 2, "shapeTypes": [ "Solid", "Solid" ] }, "returnSchema": { "fields": { "dimension": "integer", "shapeCount": "integer", "shapeTypes": "string[]" }, "type": "int" }, "schema": "freecad-web-part/python-method/v1", "source": "freecad-source", "sourceEntry": "src/Mod/Part/BOPTools/ShapeMerge.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "exposed", "tier": "tier-2-pure" }, "addDirect": { "apiId": "py:Part:function:addTube", "family": "pure-function", "module": "Part", "name": "addTube", "native": true, "ok": true, "parameterSchema": { "name": "string" }, "resourcesReleased": true, "result": { "documentObjects": 1, "height": 10, "innerRadius": 2, "name": "TubeNative", "objectType": "Part::FeaturePython", "outerRadius": 5, "resourcesReleased": true, "solid": true, "volume": 659.7344572538565 }, "returnSchema": { "fields": { "documentObjects": "integer", "height": "number", "innerRadius": "number", "name": "string", "objectType": "string", "outerRadius": "number", "resourcesReleased": "boolean", "solid": "boolean", "volume": "number" }, "type": "Part::FeaturePython" }, "schema": "freecad-web-part/python-method/v1", "source": "freecad-source", "sourceEntry": "src/Mod/Part/BasicShapes/Shapes.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "exposed", "tier": "tier-2-pure" }, "crossModule": { "ok": false, "code": "unmatched_source_record", "error": "Part native method is not registered for this module/tier" }, "roundDirect": { "apiId": "py:Part:function:roundVector", "family": "geometry-value", "module": "Part", "name": "roundVector", "native": true, "ok": true, "parameterSchema": { "decimals": "integer", "vector": "number[3]" }, "resourcesReleased": true, "result": { "decimals": 2, "value": "[1.23, -2.35, 3.46]", "vector": [ 1.23, -2.35, 3.46 ] }, "returnSchema": { "fields": { "value": "string", "vector": "number[3]" }, "type": "str" }, "schema": "freecad-web-part/python-method/v1", "source": "freecad-source", "sourceEntry": "src/Mod/Part/BasicShapes/ShapeContent.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "exposed", "tier": "tier-2-pure" }, "placementDirect": { "apiId": "py:Part:function:PlacementsFuzzyCompare", "family": "pure-function", "module": "Part", "name": "PlacementsFuzzyCompare", "native": true, "ok": true, "parameterSchema": { "base1": "number[3]", "base2": "number[3]", "rotation1": "number[4]", "rotation2": "number[4]" }, "resourcesReleased": true, "result": { "equal": true, "positionEqual": true, "positionTolerance": 1e-7, "rotationEqual": true, "rotationTolerance": 1e-12 }, "returnSchema": { "fields": { "equal": "boolean", "positionEqual": "boolean", "rotationEqual": "boolean" }, "type": "bool" }, "schema": "freecad-web-part/python-method/v1", "source": "freecad-source", "sourceEntry": "src/Mod/Part/AttachmentEditor/TaskAttachmentEditor.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "exposed", "tier": "tier-2-pure" }, "unsupported": { "ok": false, "code": "unsupported_command", "error": "Part native dispatch command is not registered" } }, "resultSha256": "aa3f34e1510ee05b4bc7580e3e77c32c02b4fca91aba452e972133dad275b8b7", "replay": { "equal": true }, "resources": { "resourcesReleased": true, "documentMutation": false }, "artifacts": { "wasm": { "path": "web/public/kernel/FreeCADWebPartBoxProbe.wasm", "sha256": "67ad25ffd9962e986c506944fc53cb0da59b07f7f6cf1b8cf942f8fd1b49442c" }, "loader": { "path": "web/public/kernel/FreeCADWebPartBoxProbe.js", "sha256": "8af2d3ef31e9dc0749b65cd32f34258e0d7e9547df5238174466d9a83ecb93e0" }, "source": { "path": "freecad-source/src/WebAssembly/FreeCADCoreProbe/PartBoxProbe.cpp", "officialPython": [ "freecad-source/src/Mod/Part/BasicShapes/Shapes.py", "freecad-source/src/Mod/Part/BOPTools/ShapeMerge.py", "freecad-source/src/Mod/Part/AttachmentEditor/TaskAttachmentEditor.py" ] } }, "boundaries": [ "Only the manifest-backed Part.addTube, Part.dimensionOfShapes, Part.makeTube, Part.roundVector and Part.PlacementsFuzzyCompare signatures are exposed; other Part APIs remain disposition-gated.", "Part.addTube executes the official BasicShapes.Shapes source inside native Python and closes its temporary document before returning.", "Part.dimensionOfShapes executes the official BOPTools.ShapeMerge source against native Part Shape fixtures; mixed dimensions remain a source_error boundary.", "The native result is produced by FreeCAD source execution; no JavaScript geometry, placement comparison, or rounding substitute is used." ] }