17055 lines
615 KiB
JSON
17055 lines
615 KiB
JSON
{
|
|
"sources": [
|
|
{
|
|
"path": "src\\QInventor\\Init.py",
|
|
"sha256": "7d2681813d2efe5a3b79147da578b67290117e61575e4e1735dd6a9aab7a37e1"
|
|
},
|
|
{
|
|
"path": "src\\QInventor\\InitGui.py",
|
|
"sha256": "0f6fa12520a656980d3a3d61582cfcbebfa3f41728d63b75ad2fb001116a850e"
|
|
},
|
|
{
|
|
"path": "src\\QInventor\\qi_bom_ui.py",
|
|
"sha256": "522ea28fcce9f7a22e0ea107304ca32406846ec99af16b6adf04ef3da008811d"
|
|
},
|
|
{
|
|
"path": "src\\QInventor\\qi_bom.py",
|
|
"sha256": "548b7196392650b790f8263440cc12039eb1aae20c19ce6158e4588f9cc2053d"
|
|
},
|
|
{
|
|
"path": "src\\QInventor\\qi_commands.py",
|
|
"sha256": "19816cbda6a9cc15023484022d0a13f84bd176d6e9eae0b681b968da21732f61"
|
|
},
|
|
{
|
|
"path": "src\\QInventor\\qi_drawing_bom_export.py",
|
|
"sha256": "1e0fbe90cafcf2321ce4eae90868211be7db105767f98bcf42789950d52dab2f"
|
|
},
|
|
{
|
|
"path": "src\\QInventor\\qi_drawing_bom_ui.py",
|
|
"sha256": "8a50502dd648a42a2e6e4b436972c67b71ec0683f0c4276b13f313357d0c103a"
|
|
},
|
|
{
|
|
"path": "src\\QInventor\\qi_drawing_bom.py",
|
|
"sha256": "143dfa91623c6ac08c80e02e1671f6628ec18a5fd551bda362d7d99d252a4d11"
|
|
},
|
|
{
|
|
"path": "src\\QInventor\\qi_extrude.py",
|
|
"sha256": "03b5b7eea4adbf168d623995e84e0d3af4ccea58494b3b34542b10447ef0c072"
|
|
},
|
|
{
|
|
"path": "src\\QInventor\\qi_io.py",
|
|
"sha256": "77ea249f6d3a374e89ac294e0de8a386356ed47f908ba494cbe8fea37c34df1f"
|
|
},
|
|
{
|
|
"path": "src\\QInventor\\qi_localization.py",
|
|
"sha256": "84041c5888157e7844b99ebda3fddf9e86531667c9e1aa56cde917795f1b91e1"
|
|
},
|
|
{
|
|
"path": "src\\QInventor\\qi_messages.py",
|
|
"sha256": "5c0c41cf0c1bd60f30d0aec0da6934c2af70a88765d86c07e500046714eeecb5"
|
|
},
|
|
{
|
|
"path": "src\\QInventor\\qi_model.py",
|
|
"sha256": "08c094382cfadd5e94e3ab6d1ce01ad1214985cc2a3222814ab5b2da26c4d762"
|
|
},
|
|
{
|
|
"path": "src\\QInventor\\qi_parameters_ui.py",
|
|
"sha256": "4e10337d61bb38f229736f0e877d16cc99106943fa3a8f4333fa905aad7ec19f"
|
|
},
|
|
{
|
|
"path": "src\\QInventor\\qi_parameters.py",
|
|
"sha256": "9f384e40b930b6ebc4e7f068651c0797134818803b82704258e26215997c01c2"
|
|
},
|
|
{
|
|
"path": "src\\QInventor\\qi_projection.py",
|
|
"sha256": "a4923dd69f7dcb3230a4b60bd001698d90d6d02db5aa016362034ee73520925d"
|
|
},
|
|
{
|
|
"path": "src\\QInventor\\qi_sketch_offset.py",
|
|
"sha256": "ffb0f2a000b91528587110d7f5d47b7e26902b499e1b35220e3c09fc89786cb9"
|
|
},
|
|
{
|
|
"path": "src\\QInventor\\qi_sketch_patterns.py",
|
|
"sha256": "c98dfd369c639436f0aed0664cf43cc6345b6639c102309efb90041fe65d4e1e"
|
|
},
|
|
{
|
|
"path": "src\\QInventor\\qi_sketch_preview.py",
|
|
"sha256": "4858dc39046bad95306179212fe44a63e2e1437259a9c6d14bc847b68c7aab76"
|
|
},
|
|
{
|
|
"path": "src\\QInventor\\qi_sketch_ui.py",
|
|
"sha256": "d505b802c65f1566a64d7687e290a64226aff91958db59b8d621ac69909ead37"
|
|
},
|
|
{
|
|
"path": "src\\QInventor\\qi_step_export.py",
|
|
"sha256": "754f7f8b841f87a696ddf800e19f947d5e8712fc53faf8fce4d2d0d0f3ee51f6"
|
|
},
|
|
{
|
|
"path": "src\\QInventor\\qi_ui.py",
|
|
"sha256": "7432d1939919b30e5fc81cd333caf220ca3b490d71851328aa26d8070a7ac307"
|
|
},
|
|
{
|
|
"path": "src\\QInventor\\qi_workbench.py",
|
|
"sha256": "312d49f40d78e8bde48cd8fa57232cd380565fe5b30a688e4612d57bde210c59"
|
|
},
|
|
{
|
|
"path": "src\\QInventor\\resources\\qinventor-a4.svg",
|
|
"sha256": "f77419e8559cb24b29a62ebcdc02d781f52c6910c0299d4820d1dd8c820c4128"
|
|
},
|
|
{
|
|
"path": "src\\QInventor\\resources\\qinventor.ico",
|
|
"sha256": "ea229e71d0fcdd749c35977fc0f11720a972c3ee04b3d9042d850182e0a6ed1c"
|
|
},
|
|
{
|
|
"path": "src\\QInventor\\resources\\qinventor.png",
|
|
"sha256": "3de618b2d07a1fd36a14f71d3f0b85f36a5dcc22ccf070b4629491da6e6f9e32"
|
|
},
|
|
{
|
|
"path": "src\\QInventor\\resources\\qinventor.svg",
|
|
"sha256": "12e95fa28c4aaf927311a777b3928d0518799e51663aab2f0f036015210dc954"
|
|
}
|
|
],
|
|
"application": "QInventor",
|
|
"launcherSha256": "cd5a44ae9cd094a77088a58efc12e48b26549abf5ed40edd8a15f6450ef554de",
|
|
"engine": "FreeCAD 1.1.4 / Open CASCADE",
|
|
"builtAtUtc": "2026-10-15T13:59:40.0135156Z",
|
|
"validation": {
|
|
"status": "passed",
|
|
"version": [
|
|
"1",
|
|
"1",
|
|
"4",
|
|
"20260928 (Git shallow)",
|
|
"Unknown",
|
|
"2026/09/28 13:46:34",
|
|
"(HEAD detached at 4fd3bf320)",
|
|
"4fd3bf320d9566a27e60069fc8387448aaa3a094"
|
|
],
|
|
"started": "2026-10-15T16:40:59.566097+03:00",
|
|
"checks": [
|
|
{
|
|
"name": "native_and_custom_commands",
|
|
"passed": true,
|
|
"result": {
|
|
"custom": [
|
|
"QI_NewPart",
|
|
"QI_NewAssembly",
|
|
"QI_Open",
|
|
"QI_Save",
|
|
"QI_SaveAs",
|
|
"QI_NewSketch",
|
|
"QI_FinishSketch",
|
|
"QI_CancelSketch",
|
|
"QI_Line",
|
|
"QI_Polyline",
|
|
"QI_Rectangle",
|
|
"QI_Circle",
|
|
"QI_Arc",
|
|
"QI_Dimension",
|
|
"QI_Horizontal",
|
|
"QI_Vertical",
|
|
"QI_Coincident",
|
|
"QI_Parallel",
|
|
"QI_Perpendicular",
|
|
"QI_Equal",
|
|
"QI_Tangent",
|
|
"QI_Fix",
|
|
"QI_Construction",
|
|
"QI_Trim",
|
|
"QI_ProjectGeometry",
|
|
"QI_BreakProjection",
|
|
"QI_SketchOffset",
|
|
"QI_SketchMirror",
|
|
"QI_SketchRectangularPattern",
|
|
"QI_SketchCircularPattern",
|
|
"QI_EditSketchPattern",
|
|
"QI_Pocket",
|
|
"QI_Revolve",
|
|
"QI_Fillet",
|
|
"QI_Chamfer",
|
|
"QI_Hole",
|
|
"QI_Pattern",
|
|
"QI_Mirror",
|
|
"QI_Pad",
|
|
"QI_Box",
|
|
"QI_Cylinder",
|
|
"QI_Plate",
|
|
"QI_Demo",
|
|
"QI_AssemblyDemo",
|
|
"QI_Dimensions",
|
|
"QI_Material",
|
|
"QI_Properties",
|
|
"QI_Export",
|
|
"QI_BOM",
|
|
"QI_AssemblyActivate",
|
|
"QI_AssemblyInsert",
|
|
"QI_AssemblyGround",
|
|
"QI_AssemblyFixed",
|
|
"QI_AssemblyRevolute",
|
|
"QI_AssemblySlider",
|
|
"QI_AssemblyCylindrical",
|
|
"QI_AssemblySolve",
|
|
"QI_Drawing",
|
|
"QI_DrawingBOM",
|
|
"QI_DrawingExport",
|
|
"QI_DrawingView",
|
|
"QI_DrawingDimension",
|
|
"QI_DrawingProjection",
|
|
"QI_ViewFit",
|
|
"QI_Axonometric",
|
|
"QI_Front",
|
|
"QI_Top",
|
|
"QI_ToggleTree",
|
|
"QI_NativeTools",
|
|
"QI_Help"
|
|
],
|
|
"native_count": 772,
|
|
"command_api": [
|
|
"__class__",
|
|
"__delattr__",
|
|
"__dir__",
|
|
"__doc__",
|
|
"__eq__",
|
|
"__format__",
|
|
"__ge__",
|
|
"__getattribute__",
|
|
"__getstate__",
|
|
"__gt__",
|
|
"__hash__",
|
|
"__init__",
|
|
"__init_subclass__",
|
|
"__le__",
|
|
"__lt__",
|
|
"__ne__",
|
|
"__new__",
|
|
"__reduce__",
|
|
"__reduce_ex__",
|
|
"__repr__",
|
|
"__setattr__",
|
|
"__sizeof__",
|
|
"__str__",
|
|
"__subclasshook__",
|
|
"createCustomCommand",
|
|
"findCustomCommand",
|
|
"get",
|
|
"getAction",
|
|
"getInfo",
|
|
"getShortcut",
|
|
"isActive",
|
|
"listAll",
|
|
"listByShortcut",
|
|
"removeCustomCommand",
|
|
"resetShortcut",
|
|
"run",
|
|
"setShortcut",
|
|
"update"
|
|
],
|
|
"native_object_api": [
|
|
"__class__",
|
|
"__delattr__",
|
|
"__dir__",
|
|
"__doc__",
|
|
"__eq__",
|
|
"__format__",
|
|
"__ge__",
|
|
"__getattribute__",
|
|
"__getstate__",
|
|
"__gt__",
|
|
"__hash__",
|
|
"__init__",
|
|
"__init_subclass__",
|
|
"__le__",
|
|
"__lt__",
|
|
"__ne__",
|
|
"__new__",
|
|
"__reduce__",
|
|
"__reduce_ex__",
|
|
"__repr__",
|
|
"__setattr__",
|
|
"__sizeof__",
|
|
"__str__",
|
|
"__subclasshook__",
|
|
"createCustomCommand",
|
|
"findCustomCommand",
|
|
"get",
|
|
"getAction",
|
|
"getInfo",
|
|
"getShortcut",
|
|
"isActive",
|
|
"listAll",
|
|
"listByShortcut",
|
|
"removeCustomCommand",
|
|
"resetShortcut",
|
|
"run",
|
|
"setShortcut",
|
|
"update"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "russian_workflow_ribbon",
|
|
"passed": true,
|
|
"result": [
|
|
"Файл",
|
|
"3D-модель",
|
|
"Эскиз",
|
|
"Сборка",
|
|
"Чертёж",
|
|
"Вид"
|
|
]
|
|
},
|
|
{
|
|
"name": "native_mouse_keyboard_sketch_ribbon_suite",
|
|
"passed": true,
|
|
"result": {
|
|
"status": "passed",
|
|
"passed": 11,
|
|
"failed": 0,
|
|
"checks": [
|
|
{
|
|
"name": "Blank XY sketch enters native edit via QI_NewSketch",
|
|
"passed": true,
|
|
"result": {
|
|
"native_editor": "Sketcher::SketchObject",
|
|
"plane": "XY",
|
|
"canvas": [
|
|
1174,
|
|
608
|
|
],
|
|
"camera": "#Inventor V2.1 ascii\n\n\nOrthographicCamera {\n viewportMapping ADJUST_CAMERA\n position 0 0 246\n orientation 0 0 1 0\n nearDistance 245.74402\n farDistance 246.24602\n aspectRatio 1\n focalDistance 250\n height 4.1421356\n\n}\n",
|
|
"exposed": true,
|
|
"edit_controls": {
|
|
"QI_FinishSketch": {
|
|
"visible_without_scrolling": true,
|
|
"caption": "Завершить\nэскиз"
|
|
},
|
|
"QI_CancelSketch": {
|
|
"visible_without_scrolling": true,
|
|
"caption": "Отменить\nэскиз"
|
|
}
|
|
},
|
|
"navigation": "Gui::RevitNavigationStyle"
|
|
}
|
|
},
|
|
{
|
|
"name": "Rectangle drawn through native Qt mouse events creates native geometry",
|
|
"passed": true,
|
|
"result": {
|
|
"geometry_count": 4,
|
|
"constraints": [
|
|
"Coincident",
|
|
"Coincident",
|
|
"Coincident",
|
|
"Coincident",
|
|
"Horizontal",
|
|
"Horizontal",
|
|
"Vertical",
|
|
"Vertical"
|
|
],
|
|
"closed": true
|
|
}
|
|
},
|
|
{
|
|
"name": "D/E and document shortcuts have one owner across workbenches",
|
|
"passed": true,
|
|
"result": {
|
|
"native_keys": {
|
|
"L": [],
|
|
"C": [],
|
|
"D": [],
|
|
"E": [],
|
|
"Ctrl+N": [],
|
|
"Ctrl+O": [],
|
|
"Ctrl+S": []
|
|
},
|
|
"ribbon_keys": {
|
|
"QI_NewPart": "Ctrl+N",
|
|
"QI_Open": "Ctrl+O",
|
|
"QI_Save": "Ctrl+S",
|
|
"QI_Line": "L",
|
|
"QI_Circle": "C",
|
|
"QI_Dimension": "D",
|
|
"QI_Pad": "E"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "Native Qt mouse events select an edge; D places a driving datum through its dialog",
|
|
"passed": true,
|
|
"result": {
|
|
"driving_value_mm": 40,
|
|
"dialogs": [
|
|
"Введите длину"
|
|
],
|
|
"constraints": 9,
|
|
"selection_method": "native viewport Qt mouse events; actual selection verified",
|
|
"coordinates": {
|
|
"expected_edge": "Edge3",
|
|
"local_point": [
|
|
-1.3148558000000001,
|
|
0.577719,
|
|
0.0
|
|
],
|
|
"world_point": [
|
|
-1.3148558000000001,
|
|
0.577719,
|
|
0.0
|
|
],
|
|
"projected_physical": [
|
|
492,
|
|
486
|
|
],
|
|
"qt_point": [
|
|
394,
|
|
219
|
|
],
|
|
"qt_size": [
|
|
1174,
|
|
608
|
|
],
|
|
"physical_size": [
|
|
1467,
|
|
760
|
|
],
|
|
"ratios": [
|
|
1.2495741056218057,
|
|
1.25
|
|
],
|
|
"input_delivery": "Qt events on native viewport",
|
|
"os_pointer_access": false,
|
|
"input_state": {
|
|
"wait_for_window_active": true,
|
|
"main_active": true,
|
|
"focus_window_title": "QInventor — Проверка построения мышью*",
|
|
"renderer_mouse_tracking": true,
|
|
"renderer_focus_policy": "11",
|
|
"renderer_has_focus": true,
|
|
"native_parent_mouse_tracking": true,
|
|
"edited_object": "Sketch",
|
|
"sketch_visible": false,
|
|
"main_frame": [
|
|
0,
|
|
0,
|
|
1440,
|
|
970
|
|
],
|
|
"canvas_global_origin": [
|
|
266,
|
|
332
|
|
],
|
|
"screens": [
|
|
[
|
|
0,
|
|
0,
|
|
1536,
|
|
960
|
|
]
|
|
]
|
|
},
|
|
"preselection_object": "Sketch",
|
|
"preselection_subelements": [
|
|
"Edge3"
|
|
],
|
|
"selection_after_press": [],
|
|
"selection": [
|
|
[
|
|
"Sketch",
|
|
[
|
|
"Edge3"
|
|
]
|
|
]
|
|
],
|
|
"dimension_key_state": {
|
|
"active_main_window": true,
|
|
"renderer_has_focus": true,
|
|
"focused_class": "Gui::View3DInventorViewer",
|
|
"focused_object_name": "",
|
|
"shortcut_enabled": true,
|
|
"edited_object": "Sketch",
|
|
"focus_in_viewport": true
|
|
},
|
|
"dimension_key_signals": [
|
|
"D"
|
|
]
|
|
},
|
|
"untranslated_candidates": []
|
|
}
|
|
},
|
|
{
|
|
"name": "Finish sketch exits active tool; E previews and creates real solid",
|
|
"passed": true,
|
|
"result": {
|
|
"solids": 1,
|
|
"volume_mm3": 17484.251519999994
|
|
}
|
|
},
|
|
{
|
|
"name": "Cancel existing native sketch restores original geometry and constraints",
|
|
"passed": true,
|
|
"result": {
|
|
"original_geometry": 4,
|
|
"restored_geometry": 4,
|
|
"constraints": 11
|
|
}
|
|
},
|
|
{
|
|
"name": "L and C draw actual native line/circle and cancel new sketch removes it",
|
|
"passed": true,
|
|
"result": [
|
|
{
|
|
"key": "L",
|
|
"native_geometry": "LineSegment"
|
|
},
|
|
{
|
|
"key": "C",
|
|
"native_geometry": "Circle"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Sketch on Body face inside App::Part remains in Body and attaches to its feature",
|
|
"passed": true,
|
|
"result": {
|
|
"parent": "PartDesign::Body",
|
|
"support": "PartDesign::Feature",
|
|
"map_mode": "FlatFace",
|
|
"restored_volume_mm3": 8000.0
|
|
}
|
|
},
|
|
{
|
|
"name": "Projection and Break Link buttons create defining linked geometry, regenerate and undo",
|
|
"passed": true,
|
|
"result": {
|
|
"controls": {
|
|
"QI_ProjectGeometry": {
|
|
"caption": "Проецировать геометрию",
|
|
"tooltip": "Выберите ребро или грань: контуры будут связаны с исходной деталью. Режим «Вспомогательная» исключает их из профиля.",
|
|
"activation": "actual Qt mouse click"
|
|
},
|
|
"QI_BreakProjection": {
|
|
"caption": "Разорвать связь",
|
|
"tooltip": "Преобразовать выбранные проекции в независимую геометрию, сохранив её положение и зависимости.",
|
|
"activation": "actual Qt mouse click"
|
|
}
|
|
},
|
|
"source_face": "Face6",
|
|
"native_geo_ids": [
|
|
-3,
|
|
-4,
|
|
-5,
|
|
-6
|
|
],
|
|
"source_length_mm": 30.0,
|
|
"original_area_mm2": 199.99999999999997,
|
|
"updated_area_mm2": 300.0,
|
|
"detached_geometry_count": 4,
|
|
"undo_restored_link": true,
|
|
"selection_method": "native Selection API observer boundary; controls clicked with Qt",
|
|
"break_selection": [
|
|
[
|
|
"Sketch",
|
|
[
|
|
"ExternalEdge1"
|
|
]
|
|
]
|
|
],
|
|
"untranslated_candidates": []
|
|
}
|
|
},
|
|
{
|
|
"name": "Russian native enum popup preserves canonical values and commits selected property",
|
|
"passed": true,
|
|
"result": {
|
|
"painted_option": "Вращательное",
|
|
"canonical_value": "Revolute",
|
|
"source_item_preserved": "Revolute"
|
|
}
|
|
},
|
|
{
|
|
"name": "Supplemental Russian translations and visible surface audit",
|
|
"passed": true,
|
|
"result": {
|
|
"catalog_sources": 385,
|
|
"samples": {
|
|
"Sketcher": "Эскизы",
|
|
"Pick point or edge": "Выберите точку или ребро",
|
|
"Switch mode": "Сменить режим",
|
|
"QILength": "Длина",
|
|
"MapMode": "Режим привязки",
|
|
"New Assembly": "Новая сборка",
|
|
"Constraint12": "Ограничение 12"
|
|
},
|
|
"untranslated_candidates": []
|
|
}
|
|
}
|
|
],
|
|
"input_delivery": "Qt events on native viewport",
|
|
"os_pointer_access": false
|
|
}
|
|
},
|
|
{
|
|
"name": "associative_sketch_projection_suite",
|
|
"passed": true,
|
|
"result": {
|
|
"passed": true,
|
|
"checks": [
|
|
{
|
|
"name": "Defining projection is linked and regenerates",
|
|
"passed": true,
|
|
"evidence": {
|
|
"native_ids": [
|
|
-3,
|
|
-4,
|
|
-5,
|
|
-6
|
|
],
|
|
"source_length_mm": 30.0,
|
|
"updated_profile_area_mm2": 300
|
|
}
|
|
},
|
|
{
|
|
"name": "Single edge and vertex projections",
|
|
"passed": true,
|
|
"evidence": {
|
|
"edge_ids": [
|
|
-3
|
|
],
|
|
"vertex_ids": [
|
|
-4
|
|
],
|
|
"profile_excludes_references": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Construction references regenerate and are excluded from extrusion",
|
|
"passed": true,
|
|
"evidence": {
|
|
"reference_perimeter_mm": 80.0,
|
|
"extrusion_rejected": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Face-supported sketch and parametric extrusion",
|
|
"passed": true,
|
|
"evidence": {
|
|
"map_mode": "FlatFace",
|
|
"updated_join_volume_mm3": 3300.0
|
|
}
|
|
},
|
|
{
|
|
"name": "Body selection captures preceding solid feature",
|
|
"passed": true,
|
|
"evidence": {
|
|
"source_type": "PartDesign::AdditiveBox",
|
|
"body_reference_cycle_avoided": true
|
|
}
|
|
},
|
|
{
|
|
"name": "XZ and YZ world placement",
|
|
"passed": true,
|
|
"evidence": {
|
|
"projection_extrusion_volumes_mm3": {
|
|
"XZ": 320.0000000000002,
|
|
"YZ": 159.99999999999997
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "Face projection includes inner hole boundaries",
|
|
"passed": true,
|
|
"evidence": {
|
|
"projected_edges": 5,
|
|
"wires": 2,
|
|
"hole_preserved_volume_mm3": 1874.336293856408
|
|
}
|
|
},
|
|
{
|
|
"name": "Face attachment in rotated Part and Body preserves world placement",
|
|
"passed": true,
|
|
"evidence": {
|
|
"placed_part_and_body": true,
|
|
"parametric_world_placement_volume_mm3": 3300.0
|
|
}
|
|
},
|
|
{
|
|
"name": "Break Link retains native circles and arcs",
|
|
"passed": true,
|
|
"evidence": {
|
|
"circle_radius_preserved_mm": 4,
|
|
"arc_length_preserved_mm": 15.707963267948966
|
|
}
|
|
},
|
|
{
|
|
"name": "Break Link preserves native reference dimensions",
|
|
"passed": true,
|
|
"evidence": {
|
|
"reference_dimension_mm": 10.0,
|
|
"name_and_reference_mode_retained": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Break Link retains geometry and stops dependency",
|
|
"passed": true,
|
|
"evidence": {
|
|
"old_to_independent_ids": {
|
|
"-3": 0,
|
|
"-4": 1,
|
|
"-5": 2,
|
|
"-6": 3
|
|
},
|
|
"independent_area_mm2": 200
|
|
}
|
|
},
|
|
{
|
|
"name": "Break Link preserves construction state",
|
|
"passed": true,
|
|
"evidence": {
|
|
"independent_construction_curves": 4,
|
|
"profile_empty": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Selective unlink preserves grouped links to the same source",
|
|
"passed": true,
|
|
"evidence": {
|
|
"same_source_independent_face_and_retained_edge_link": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Native vertex selection and independent point unlink",
|
|
"passed": true,
|
|
"evidence": {
|
|
"vertex_selection_name": "Vertex1",
|
|
"independent_point_preserved": true,
|
|
"point_constraints_undo_redo_save_reopen": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Break Link preserves constraints expressions and other references",
|
|
"passed": true,
|
|
"evidence": {
|
|
"constraints_retained": 3,
|
|
"expression": "Base.Width / 2",
|
|
"remaining_external_constraint_remapped": -3,
|
|
"save_reopen_preserved": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Projection and Break Link native undo redo",
|
|
"passed": true,
|
|
"evidence": {
|
|
"projection_and_unlink_undo_redo": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Associated and independent geometry save reopen",
|
|
"passed": true,
|
|
"evidence": {
|
|
"associated_file": "C:\\Repos\\qinventor\\artifacts\\validation\\associated-projection.FCStd",
|
|
"independent_file": "C:\\Repos\\qinventor\\artifacts\\validation\\independent-projection.FCStd",
|
|
"independent_area_after_reload_mm2": 300
|
|
}
|
|
},
|
|
{
|
|
"name": "Invalid mixed batches reject atomically",
|
|
"passed": true,
|
|
"evidence": {
|
|
"invalid_batches_rejected_without_mutation": 7
|
|
}
|
|
},
|
|
{
|
|
"name": "Cyclic and cross-document sources reject",
|
|
"passed": true,
|
|
"evidence": {
|
|
"invalid_reference_sources_rejected": 3
|
|
}
|
|
},
|
|
{
|
|
"name": "Native solver failure aborts projection transaction",
|
|
"passed": true,
|
|
"evidence": {
|
|
"failed_native_solver_transaction_rolled_back": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Native external selection names map to GeoIds",
|
|
"passed": true,
|
|
"evidence": {
|
|
"ExternalEdge1": -3,
|
|
"ExternalEdge4": -6
|
|
}
|
|
}
|
|
],
|
|
"summary": {
|
|
"total": 21,
|
|
"passed": 21,
|
|
"failed": 0
|
|
},
|
|
"gui_exercised": false
|
|
}
|
|
},
|
|
{
|
|
"name": "associative_sketch_offset_suite",
|
|
"passed": true,
|
|
"result": {
|
|
"passed": true,
|
|
"checks": [
|
|
{
|
|
"name": "Circle offset native association and signed source edit",
|
|
"passed": true,
|
|
"evidence": [
|
|
{
|
|
"signed_distance_mm": 2.0,
|
|
"updated_radius_mm": 10.0
|
|
},
|
|
{
|
|
"signed_distance_mm": -2.0,
|
|
"updated_radius_mm": 6.0
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Driving offset dimension and native expression",
|
|
"passed": true,
|
|
"evidence": {
|
|
"native_dimension_name": "Смещение",
|
|
"expression_drives_offset_mm": 6
|
|
}
|
|
},
|
|
{
|
|
"name": "Directed single-line association survives resize and rotation",
|
|
"passed": true,
|
|
"evidence": [
|
|
{
|
|
"signed_distance_mm": 2.0,
|
|
"source_rotation_deg": 45,
|
|
"source_length_mm": 20,
|
|
"helper_geometry_excluded": true
|
|
},
|
|
{
|
|
"signed_distance_mm": -2.0,
|
|
"source_rotation_deg": 45,
|
|
"source_length_mm": 20,
|
|
"helper_geometry_excluded": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Closed polygon outward and inward association for both windings",
|
|
"passed": true,
|
|
"evidence": [
|
|
{
|
|
"clockwise": false,
|
|
"signed_distance_mm": 3.0,
|
|
"offset_profile_area_mm2": 576.0000000003402
|
|
},
|
|
{
|
|
"clockwise": false,
|
|
"signed_distance_mm": -3.0,
|
|
"offset_profile_area_mm2": 95.99999999572618
|
|
},
|
|
{
|
|
"clockwise": true,
|
|
"signed_distance_mm": 3.0,
|
|
"offset_profile_area_mm2": 576.0
|
|
},
|
|
{
|
|
"clockwise": true,
|
|
"signed_distance_mm": -3.0,
|
|
"offset_profile_area_mm2": 95.99999999999997
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Inventor-style loop expansion excludes auxiliary geometry",
|
|
"passed": true,
|
|
"evidence": {
|
|
"one_selected_edge_expands_to": 4,
|
|
"auxiliary_connectors_and_unrelated_circle_excluded": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Inclined polygon edges retain exact normal distances",
|
|
"passed": true,
|
|
"evidence": {
|
|
"inclined_edges_associated_after_source_resize": 3,
|
|
"perpendicular_offset_mm": 2
|
|
}
|
|
},
|
|
{
|
|
"name": "Constrain Offset off produces independent geometry",
|
|
"passed": true,
|
|
"evidence": {
|
|
"unchecked_constrain_offset_removes_source_association": true,
|
|
"independent_polygon_remains_closed": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Native offset undo redo retains source association",
|
|
"passed": true,
|
|
"evidence": {
|
|
"native_undo_steps": 1,
|
|
"redo_retains_association": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Preview cancellation errors and nested transaction rollback",
|
|
"passed": true,
|
|
"evidence": {
|
|
"outer_cancel_restores_sketch": true,
|
|
"inner_failure_aborts_outer_preview": true,
|
|
"nested_commit_is_one_undo_step": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Save reopen and source edit need only native Sketcher",
|
|
"passed": true,
|
|
"evidence": [
|
|
{
|
|
"kind": "circle",
|
|
"saved_file": "offset-circle.FCStd",
|
|
"native_source_edit_after_reopen": true
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"saved_file": "offset-line.FCStd",
|
|
"native_source_edit_after_reopen": true
|
|
},
|
|
{
|
|
"kind": "polygon",
|
|
"saved_file": "offset-polygon.FCStd",
|
|
"native_source_edit_after_reopen": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Only offset distance visible; native visibility survives history and persistence",
|
|
"passed": true,
|
|
"evidence": [
|
|
{
|
|
"kind": "circle",
|
|
"hidden_association_labels": 1,
|
|
"driving_offset_visible": true,
|
|
"source_visibility_unchanged": true,
|
|
"native_undo_redo_and_save_reopen": true,
|
|
"hidden_constraints_still_solve_source_and_distance_edits": true
|
|
},
|
|
{
|
|
"kind": "line",
|
|
"hidden_association_labels": 7,
|
|
"driving_offset_visible": true,
|
|
"source_visibility_unchanged": true,
|
|
"native_undo_redo_and_save_reopen": true,
|
|
"hidden_constraints_still_solve_source_and_distance_edits": true
|
|
},
|
|
{
|
|
"kind": "polygon",
|
|
"hidden_association_labels": 23,
|
|
"driving_offset_visible": true,
|
|
"source_visibility_unchanged": true,
|
|
"native_undo_redo_and_save_reopen": true,
|
|
"hidden_constraints_still_solve_source_and_distance_edits": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Closed defining offset extrudes on XY XZ YZ in placed Part",
|
|
"passed": true,
|
|
"evidence": {
|
|
"annular_profile_extrudes_in_placed_part": {
|
|
"XY": 528.0,
|
|
"XZ": 528.0,
|
|
"YZ": 528.0
|
|
},
|
|
"construction_connectors_excluded": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Invalid distance selection and collapse reject atomically",
|
|
"passed": true,
|
|
"evidence": {
|
|
"invalid_inputs_rejected_without_changes": 17
|
|
}
|
|
},
|
|
{
|
|
"name": "Unsupported topology rejects without copied fake geometry",
|
|
"passed": true,
|
|
"evidence": {
|
|
"unsupported_open_concave_branch_curve_topologies_rejected": 7
|
|
}
|
|
},
|
|
{
|
|
"name": "Real conflicting source constraints reject offset",
|
|
"passed": true,
|
|
"evidence": {
|
|
"real_native_solver_conflict_rejected_atomically": true
|
|
}
|
|
}
|
|
],
|
|
"summary": {
|
|
"total": 15,
|
|
"passed": 15,
|
|
"failed": 0
|
|
},
|
|
"gui_exercised": false
|
|
}
|
|
},
|
|
{
|
|
"name": "associative_sketch_patterns_suite",
|
|
"passed": true,
|
|
"result": {
|
|
"status": "passed",
|
|
"passed": 17,
|
|
"failed": 0,
|
|
"skipped": 0,
|
|
"checks": [
|
|
{
|
|
"name": "mirror_circle_native_association",
|
|
"passed": true,
|
|
"status": "passed",
|
|
"detail": {
|
|
"radius_and_position_associative": true,
|
|
"axis_edit": true
|
|
}
|
|
},
|
|
{
|
|
"name": "mirror_line_selected_moving_axis",
|
|
"passed": true,
|
|
"status": "passed",
|
|
"detail": {
|
|
"both_endpoints_linked": true,
|
|
"construction_axis_edit_associative": true
|
|
}
|
|
},
|
|
{
|
|
"name": "rectangular_circle_native_dimensions",
|
|
"passed": true,
|
|
"status": "passed",
|
|
"detail": {
|
|
"copies": 5,
|
|
"source_dimensions_and_pattern_parameters_associative": true,
|
|
"native_expressions": 11
|
|
}
|
|
},
|
|
{
|
|
"name": "rectangular_signed_steps_and_line_endpoints",
|
|
"passed": true,
|
|
"status": "passed",
|
|
"detail": {
|
|
"signed_steps": true,
|
|
"native_dimension_positive_to_negative": true,
|
|
"line_endpoints_linked": true
|
|
}
|
|
},
|
|
{
|
|
"name": "unconstrained_seed_association",
|
|
"passed": true,
|
|
"status": "passed",
|
|
"detail": {
|
|
"association_without_original_dimensions": true,
|
|
"drag_and_later_radius_constraint_propagate": true
|
|
}
|
|
},
|
|
{
|
|
"name": "circular_full_partial_negative_and_source_edit",
|
|
"passed": true,
|
|
"status": "passed",
|
|
"detail": {
|
|
"full_circle_distinct_occurrences": 4,
|
|
"negative_partial_angle": -179.99999999999997,
|
|
"source_changes_associative": true
|
|
}
|
|
},
|
|
{
|
|
"name": "circular_lines_and_native_step_edit",
|
|
"passed": true,
|
|
"status": "passed",
|
|
"detail": {
|
|
"line_orientation_rotates": true,
|
|
"native_step_angle_drives_every_point": true
|
|
}
|
|
},
|
|
{
|
|
"name": "counts_and_native_undo_redo",
|
|
"passed": true,
|
|
"status": "passed",
|
|
"detail": {
|
|
"create_is_one_undo_step": true,
|
|
"counts_editable": [
|
|
8,
|
|
6
|
|
],
|
|
"undo_redo_restores_geometry_and_registry": true
|
|
}
|
|
},
|
|
{
|
|
"name": "native_fcstd_save_reopen_all_patterns",
|
|
"passed": true,
|
|
"status": "passed",
|
|
"detail": {
|
|
"native_fcstd_reopened": [
|
|
"C:\\Repos\\qinventor\\artifacts\\validation\\mirror.FCStd",
|
|
"C:\\Repos\\qinventor\\artifacts\\validation\\rectangular.FCStd",
|
|
"C:\\Repos\\qinventor\\artifacts\\validation\\circular.FCStd"
|
|
],
|
|
"geometry_ids_constraints_expressions_and_association_persist": true
|
|
}
|
|
},
|
|
{
|
|
"name": "native_helper_visibility_persistence_association",
|
|
"passed": true,
|
|
"status": "passed",
|
|
"detail": {
|
|
"patterns": [
|
|
{
|
|
"kind": "mirror",
|
|
"native_hidden_helpers": 2,
|
|
"visible_master_dimensions": 0,
|
|
"source_visibility_unchanged": true,
|
|
"native_undo_redo_reopen_persist": true,
|
|
"hidden_constraints_still_active_and_associative": true
|
|
},
|
|
{
|
|
"kind": "rectangular",
|
|
"native_hidden_helpers": 11,
|
|
"visible_master_dimensions": 3,
|
|
"source_visibility_unchanged": true,
|
|
"native_undo_redo_reopen_persist": true,
|
|
"hidden_constraints_still_active_and_associative": true
|
|
},
|
|
{
|
|
"kind": "circular",
|
|
"native_hidden_helpers": 21,
|
|
"visible_master_dimensions": 3,
|
|
"source_visibility_unchanged": true,
|
|
"native_undo_redo_reopen_persist": true,
|
|
"hidden_constraints_still_active_and_associative": true
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "selection_parameters_unsupported_curves_atomic",
|
|
"passed": true,
|
|
"status": "passed",
|
|
"detail": {
|
|
"rejected_inputs": 14,
|
|
"russian_errors": true,
|
|
"no_geometry_constraint_metadata_or_undo_changes": true
|
|
}
|
|
},
|
|
{
|
|
"name": "count_dependencies_atomic_rejection",
|
|
"passed": true,
|
|
"status": "passed",
|
|
"detail": {
|
|
"reference_constraint_dependency_rejected": true,
|
|
"later_geometry_rejected_for_count_edit": true,
|
|
"spacing_still_editable": true
|
|
}
|
|
},
|
|
{
|
|
"name": "persistent_geometry_ids_after_renumbering",
|
|
"passed": true,
|
|
"status": "passed",
|
|
"detail": {
|
|
"native_persistent_geometry_ids_survive_index_renumbering": true
|
|
}
|
|
},
|
|
{
|
|
"name": "native_expression_bound_master_dimensions",
|
|
"passed": true,
|
|
"status": "passed",
|
|
"detail": {
|
|
"external_expression_not_silently_removed": true,
|
|
"bound_dimension_edits_rejected_atomically": true,
|
|
"other_parameters_remain_editable": true,
|
|
"external_dimension_update_still_associative": true
|
|
}
|
|
},
|
|
{
|
|
"name": "nested_preview_repeat_cancel_commit",
|
|
"passed": true,
|
|
"status": "passed",
|
|
"detail": {
|
|
"repeated_preview_registry_clean": true,
|
|
"cancel_restores_all_native_data": true,
|
|
"commit_is_exactly_one_undo_step": true
|
|
}
|
|
},
|
|
{
|
|
"name": "real_native_solver_conflict_atomic_rollback",
|
|
"passed": true,
|
|
"status": "passed",
|
|
"detail": {
|
|
"real_conflicting_constraint_injected_after_geometry_creation": true,
|
|
"transaction_restores_geometry_constraints_history": true
|
|
}
|
|
},
|
|
{
|
|
"name": "pattern_holes_real_partdesign_solid_reopen",
|
|
"passed": true,
|
|
"status": "passed",
|
|
"detail": {
|
|
"genuine_partdesign_pocket_solid": true,
|
|
"radius_and_count_regenerate_volume": true,
|
|
"reopened_volume_mm3": 57989.38070170254
|
|
}
|
|
}
|
|
],
|
|
"artifacts": [
|
|
"C:\\Repos\\qinventor\\artifacts\\validation\\mirror.FCStd",
|
|
"C:\\Repos\\qinventor\\artifacts\\validation\\rectangular.FCStd",
|
|
"C:\\Repos\\qinventor\\artifacts\\validation\\circular.FCStd",
|
|
"C:\\Repos\\qinventor\\artifacts\\validation\\mirror-hidden-helper-constraints.FCStd",
|
|
"C:\\Repos\\qinventor\\artifacts\\validation\\rectangular-hidden-helper-constraints.FCStd",
|
|
"C:\\Repos\\qinventor\\artifacts\\validation\\circular-hidden-helper-constraints.FCStd",
|
|
"C:\\Repos\\qinventor\\artifacts\\validation\\patterned-holes.FCStd"
|
|
],
|
|
"source": "C:\\Repos\\qinventor\\src\\QInventor\\qi_sketch_patterns.py",
|
|
"success": true
|
|
}
|
|
},
|
|
{
|
|
"name": "native_sketch_operations_dialog_suite",
|
|
"passed": true,
|
|
"result": {
|
|
"status": "passed",
|
|
"passed": 15,
|
|
"failed": 0,
|
|
"checks": [
|
|
{
|
|
"name": "mirror: repeated Qt preview replaces copies and Cancel restores sketch/history/dirty flag",
|
|
"passed": true,
|
|
"result": {
|
|
"initial_preview": {
|
|
"circle_count": 2,
|
|
"native_geometry_count": 2,
|
|
"constraint_count": 5,
|
|
"centers_and_radii_mm": [
|
|
[
|
|
-7.0,
|
|
4.0,
|
|
2.0
|
|
],
|
|
[
|
|
7.0,
|
|
4.0,
|
|
2.0
|
|
]
|
|
],
|
|
"metadata": [
|
|
{
|
|
"id": "p1",
|
|
"kind": "mirror",
|
|
"parameters": {
|
|
"axis": "vertical"
|
|
},
|
|
"source_geometry_ids": [
|
|
1
|
|
],
|
|
"created_geometry_ids": [
|
|
2
|
|
],
|
|
"helper_geometry_ids": [],
|
|
"constraint_names": [
|
|
"Зеркало1Связь1",
|
|
"Зеркало1Связь2"
|
|
],
|
|
"dimension_names": {},
|
|
"associative": true,
|
|
"source_ids": [
|
|
0
|
|
],
|
|
"created_ids": [
|
|
1
|
|
],
|
|
"generated_ids": [
|
|
1
|
|
],
|
|
"helper_ids": [],
|
|
"all_geometry_ids": [
|
|
1
|
|
],
|
|
"constraint_ids": [
|
|
3,
|
|
4
|
|
]
|
|
}
|
|
],
|
|
"solver_result": 0
|
|
},
|
|
"revised_preview": {
|
|
"circle_count": 2,
|
|
"native_geometry_count": 2,
|
|
"constraint_count": 5,
|
|
"centers_and_radii_mm": [
|
|
[
|
|
7.0,
|
|
-4.0,
|
|
2.0
|
|
],
|
|
[
|
|
7.0,
|
|
4.0,
|
|
2.0
|
|
]
|
|
],
|
|
"metadata": [
|
|
{
|
|
"id": "p1",
|
|
"kind": "mirror",
|
|
"parameters": {
|
|
"axis": "horizontal"
|
|
},
|
|
"source_geometry_ids": [
|
|
1
|
|
],
|
|
"created_geometry_ids": [
|
|
3
|
|
],
|
|
"helper_geometry_ids": [],
|
|
"constraint_names": [
|
|
"Зеркало1Связь1",
|
|
"Зеркало1Связь2"
|
|
],
|
|
"dimension_names": {},
|
|
"associative": true,
|
|
"source_ids": [
|
|
0
|
|
],
|
|
"created_ids": [
|
|
1
|
|
],
|
|
"generated_ids": [
|
|
1
|
|
],
|
|
"helper_ids": [],
|
|
"all_geometry_ids": [
|
|
1
|
|
],
|
|
"constraint_ids": [
|
|
3,
|
|
4
|
|
]
|
|
}
|
|
],
|
|
"solver_result": 0
|
|
},
|
|
"russian_dialog": {
|
|
"window_title": "Зеркальное отражение",
|
|
"visible_labels": [
|
|
"Выбрано элементов: 1",
|
|
"Связанное повторение отрезков и окружностей.",
|
|
"Ось отражения:"
|
|
],
|
|
"untranslated_candidates": [],
|
|
"rendered_dialog": "C:\\Repos\\qinventor\\artifacts\\validation\\sketch-mirror-russian-dialog.png"
|
|
},
|
|
"cancel_restored": true,
|
|
"undo_before": {
|
|
"undo_count": 0,
|
|
"redo_count": 0,
|
|
"undo_names": [],
|
|
"redo_names": []
|
|
},
|
|
"undo_after": {
|
|
"undo_count": 0,
|
|
"redo_count": 0,
|
|
"undo_names": [],
|
|
"redo_names": []
|
|
},
|
|
"modified_before": false,
|
|
"modified_after": false
|
|
}
|
|
},
|
|
{
|
|
"name": "mirror: Qt Create is one undo step; saved native association regenerates after reopen",
|
|
"passed": true,
|
|
"result": {
|
|
"preview": {
|
|
"circle_count": 2,
|
|
"native_geometry_count": 2,
|
|
"constraint_count": 5,
|
|
"centers_and_radii_mm": [
|
|
[
|
|
-7.0,
|
|
4.0,
|
|
2.0
|
|
],
|
|
[
|
|
7.0,
|
|
4.0,
|
|
2.0
|
|
]
|
|
],
|
|
"metadata": [
|
|
{
|
|
"id": "p1",
|
|
"kind": "mirror",
|
|
"parameters": {
|
|
"axis": "vertical"
|
|
},
|
|
"source_geometry_ids": [
|
|
1
|
|
],
|
|
"created_geometry_ids": [
|
|
2
|
|
],
|
|
"helper_geometry_ids": [],
|
|
"constraint_names": [
|
|
"Зеркало1Связь1",
|
|
"Зеркало1Связь2"
|
|
],
|
|
"dimension_names": {},
|
|
"associative": true,
|
|
"source_ids": [
|
|
0
|
|
],
|
|
"created_ids": [
|
|
1
|
|
],
|
|
"generated_ids": [
|
|
1
|
|
],
|
|
"helper_ids": [],
|
|
"all_geometry_ids": [
|
|
1
|
|
],
|
|
"constraint_ids": [
|
|
3,
|
|
4
|
|
]
|
|
}
|
|
],
|
|
"solver_result": 0
|
|
},
|
|
"created": {
|
|
"circle_count": 2,
|
|
"native_geometry_count": 2,
|
|
"constraint_count": 5,
|
|
"centers_and_radii_mm": [
|
|
[
|
|
-7.0,
|
|
4.0,
|
|
2.0
|
|
],
|
|
[
|
|
7.0,
|
|
4.0,
|
|
2.0
|
|
]
|
|
],
|
|
"metadata": [
|
|
{
|
|
"id": "p1",
|
|
"kind": "mirror",
|
|
"parameters": {
|
|
"axis": "vertical"
|
|
},
|
|
"source_geometry_ids": [
|
|
1
|
|
],
|
|
"created_geometry_ids": [
|
|
3
|
|
],
|
|
"helper_geometry_ids": [],
|
|
"constraint_names": [
|
|
"Зеркало1Связь1",
|
|
"Зеркало1Связь2"
|
|
],
|
|
"dimension_names": {},
|
|
"associative": true,
|
|
"source_ids": [
|
|
0
|
|
],
|
|
"created_ids": [
|
|
1
|
|
],
|
|
"generated_ids": [
|
|
1
|
|
],
|
|
"helper_ids": [],
|
|
"all_geometry_ids": [
|
|
1
|
|
],
|
|
"constraint_ids": [
|
|
3,
|
|
4
|
|
]
|
|
}
|
|
],
|
|
"solver_result": 0
|
|
},
|
|
"reopened": {
|
|
"circle_count": 2,
|
|
"native_geometry_count": 2,
|
|
"constraint_count": 5,
|
|
"centers_and_radii_mm": [
|
|
[
|
|
-7.0,
|
|
4.0,
|
|
2.0
|
|
],
|
|
[
|
|
7.0,
|
|
4.0,
|
|
2.0
|
|
]
|
|
],
|
|
"metadata": [
|
|
{
|
|
"id": "p1",
|
|
"kind": "mirror",
|
|
"parameters": {
|
|
"axis": "vertical"
|
|
},
|
|
"source_geometry_ids": [
|
|
1
|
|
],
|
|
"created_geometry_ids": [
|
|
3
|
|
],
|
|
"helper_geometry_ids": [],
|
|
"constraint_names": [
|
|
"Зеркало1Связь1",
|
|
"Зеркало1Связь2"
|
|
],
|
|
"dimension_names": {},
|
|
"associative": true,
|
|
"source_ids": [
|
|
0
|
|
],
|
|
"created_ids": [
|
|
1
|
|
],
|
|
"generated_ids": [
|
|
1
|
|
],
|
|
"helper_ids": [],
|
|
"all_geometry_ids": [
|
|
1
|
|
],
|
|
"constraint_ids": [
|
|
3,
|
|
4
|
|
]
|
|
}
|
|
],
|
|
"solver_result": 0
|
|
},
|
|
"source_driving_radius_mm": 3,
|
|
"regenerated_after_reopen": {
|
|
"circle_count": 2,
|
|
"native_geometry_count": 2,
|
|
"constraint_count": 5,
|
|
"centers_and_radii_mm": [
|
|
[
|
|
-7.0,
|
|
4.0,
|
|
3.0
|
|
],
|
|
[
|
|
7.0,
|
|
4.0,
|
|
3.0
|
|
]
|
|
],
|
|
"metadata": [
|
|
{
|
|
"id": "p1",
|
|
"kind": "mirror",
|
|
"parameters": {
|
|
"axis": "vertical"
|
|
},
|
|
"source_geometry_ids": [
|
|
1
|
|
],
|
|
"created_geometry_ids": [
|
|
3
|
|
],
|
|
"helper_geometry_ids": [],
|
|
"constraint_names": [
|
|
"Зеркало1Связь1",
|
|
"Зеркало1Связь2"
|
|
],
|
|
"dimension_names": {},
|
|
"associative": true,
|
|
"source_ids": [
|
|
0
|
|
],
|
|
"created_ids": [
|
|
1
|
|
],
|
|
"generated_ids": [
|
|
1
|
|
],
|
|
"helper_ids": [],
|
|
"all_geometry_ids": [
|
|
1
|
|
],
|
|
"constraint_ids": [
|
|
3,
|
|
4
|
|
]
|
|
}
|
|
],
|
|
"solver_result": 0
|
|
},
|
|
"saved_file": "C:\\Repos\\qinventor\\artifacts\\validation\\sketch-operation-mirror-created.FCStd",
|
|
"single_undo_step": true,
|
|
"modified_after_create": true
|
|
}
|
|
},
|
|
{
|
|
"name": "rectangular: repeated Qt preview replaces copies and Cancel restores sketch/history/dirty flag",
|
|
"passed": true,
|
|
"result": {
|
|
"initial_preview": {
|
|
"circle_count": 6,
|
|
"native_geometry_count": 8,
|
|
"constraint_count": 23,
|
|
"centers_and_radii_mm": [
|
|
[
|
|
7.0,
|
|
4.0,
|
|
2.0
|
|
],
|
|
[
|
|
7.0,
|
|
19.0,
|
|
2.0
|
|
],
|
|
[
|
|
19.0,
|
|
4.0,
|
|
2.0
|
|
],
|
|
[
|
|
19.0,
|
|
19.0,
|
|
2.0
|
|
],
|
|
[
|
|
31.0,
|
|
4.0,
|
|
2.0
|
|
],
|
|
[
|
|
31.0,
|
|
19.0,
|
|
2.0
|
|
]
|
|
],
|
|
"metadata": [
|
|
{
|
|
"id": "p1",
|
|
"kind": "rectangular",
|
|
"parameters": {
|
|
"count_x": 3,
|
|
"count_y": 2,
|
|
"spacing_x": 12.0,
|
|
"spacing_y": 15.0,
|
|
"angle": 0.0
|
|
},
|
|
"source_geometry_ids": [
|
|
1
|
|
],
|
|
"created_geometry_ids": [
|
|
4,
|
|
5,
|
|
6,
|
|
7,
|
|
8
|
|
],
|
|
"helper_geometry_ids": [
|
|
2,
|
|
3
|
|
],
|
|
"constraint_names": [
|
|
"Массив1Связь1",
|
|
"Массив1Связь2",
|
|
"Массив1Направление",
|
|
"Массив1ШагX",
|
|
"Массив1ШагY",
|
|
"Массив1Связь6",
|
|
"Массив1Связь7",
|
|
"Массив1Связь8",
|
|
"Массив1Связь9",
|
|
"Массив1Связь10",
|
|
"Массив1Связь11",
|
|
"Массив1Связь12",
|
|
"Массив1Связь13",
|
|
"Массив1Связь14",
|
|
"Массив1Связь15",
|
|
"Массив1Связь16",
|
|
"Массив1Связь17",
|
|
"Массив1Связь18",
|
|
"Массив1Связь19",
|
|
"Массив1Связь20"
|
|
],
|
|
"dimension_names": {
|
|
"Направление": "Массив1Направление",
|
|
"ШагX": "Массив1ШагX",
|
|
"ШагY": "Массив1ШагY"
|
|
},
|
|
"associative": true,
|
|
"source_ids": [
|
|
0
|
|
],
|
|
"created_ids": [
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7
|
|
],
|
|
"generated_ids": [
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7
|
|
],
|
|
"helper_ids": [
|
|
1,
|
|
2
|
|
],
|
|
"all_geometry_ids": [
|
|
1,
|
|
2,
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7
|
|
],
|
|
"constraint_ids": [
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7,
|
|
8,
|
|
9,
|
|
10,
|
|
11,
|
|
12,
|
|
13,
|
|
14,
|
|
15,
|
|
16,
|
|
17,
|
|
18,
|
|
19,
|
|
20,
|
|
21,
|
|
22
|
|
]
|
|
}
|
|
],
|
|
"solver_result": 0
|
|
},
|
|
"revised_preview": {
|
|
"circle_count": 8,
|
|
"native_geometry_count": 10,
|
|
"constraint_count": 29,
|
|
"centers_and_radii_mm": [
|
|
[
|
|
7.0,
|
|
4.0,
|
|
2.0
|
|
],
|
|
[
|
|
7.0,
|
|
19.0,
|
|
2.0
|
|
],
|
|
[
|
|
19.0,
|
|
4.0,
|
|
2.0
|
|
],
|
|
[
|
|
19.0,
|
|
19.0,
|
|
2.0
|
|
],
|
|
[
|
|
31.0,
|
|
4.0,
|
|
2.0
|
|
],
|
|
[
|
|
31.0,
|
|
19.0,
|
|
2.0
|
|
],
|
|
[
|
|
43.0,
|
|
4.0,
|
|
2.0
|
|
],
|
|
[
|
|
43.0,
|
|
19.0,
|
|
2.0
|
|
]
|
|
],
|
|
"metadata": [
|
|
{
|
|
"id": "p1",
|
|
"kind": "rectangular",
|
|
"parameters": {
|
|
"count_x": 4,
|
|
"count_y": 2,
|
|
"spacing_x": 12.0,
|
|
"spacing_y": 15.0,
|
|
"angle": 0.0
|
|
},
|
|
"source_geometry_ids": [
|
|
1
|
|
],
|
|
"created_geometry_ids": [
|
|
11,
|
|
12,
|
|
13,
|
|
14,
|
|
15,
|
|
16,
|
|
17
|
|
],
|
|
"helper_geometry_ids": [
|
|
9,
|
|
10
|
|
],
|
|
"constraint_names": [
|
|
"Массив1Связь1",
|
|
"Массив1Связь2",
|
|
"Массив1Направление",
|
|
"Массив1ШагX",
|
|
"Массив1ШагY",
|
|
"Массив1Связь6",
|
|
"Массив1Связь7",
|
|
"Массив1Связь8",
|
|
"Массив1Связь9",
|
|
"Массив1Связь10",
|
|
"Массив1Связь11",
|
|
"Массив1Связь12",
|
|
"Массив1Связь13",
|
|
"Массив1Связь14",
|
|
"Массив1Связь15",
|
|
"Массив1Связь16",
|
|
"Массив1Связь17",
|
|
"Массив1Связь18",
|
|
"Массив1Связь19",
|
|
"Массив1Связь20",
|
|
"Массив1Связь21",
|
|
"Массив1Связь22",
|
|
"Массив1Связь23",
|
|
"Массив1Связь24",
|
|
"Массив1Связь25",
|
|
"Массив1Связь26"
|
|
],
|
|
"dimension_names": {
|
|
"Направление": "Массив1Направление",
|
|
"ШагX": "Массив1ШагX",
|
|
"ШагY": "Массив1ШагY"
|
|
},
|
|
"associative": true,
|
|
"source_ids": [
|
|
0
|
|
],
|
|
"created_ids": [
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7,
|
|
8,
|
|
9
|
|
],
|
|
"generated_ids": [
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7,
|
|
8,
|
|
9
|
|
],
|
|
"helper_ids": [
|
|
1,
|
|
2
|
|
],
|
|
"all_geometry_ids": [
|
|
1,
|
|
2,
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7,
|
|
8,
|
|
9
|
|
],
|
|
"constraint_ids": [
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7,
|
|
8,
|
|
9,
|
|
10,
|
|
11,
|
|
12,
|
|
13,
|
|
14,
|
|
15,
|
|
16,
|
|
17,
|
|
18,
|
|
19,
|
|
20,
|
|
21,
|
|
22,
|
|
23,
|
|
24,
|
|
25,
|
|
26,
|
|
27,
|
|
28
|
|
]
|
|
}
|
|
],
|
|
"solver_result": 0
|
|
},
|
|
"russian_dialog": {
|
|
"window_title": "Прямоугольный массив",
|
|
"visible_labels": [
|
|
"Выбрано элементов: 1",
|
|
"Связанное повторение отрезков и окружностей.",
|
|
"Количество в направлении 1:",
|
|
"Шаг в направлении 1:",
|
|
"Количество в направлении 2:",
|
|
"Шаг в направлении 2:",
|
|
"Угол направления 1:",
|
|
"Количество включает исходную геометрию. Направление 2 перпендикулярно направлению 1. Отрицательный шаг меняет сторону."
|
|
],
|
|
"untranslated_candidates": [],
|
|
"rendered_dialog": "C:\\Repos\\qinventor\\artifacts\\validation\\sketch-rectangular-russian-dialog.png"
|
|
},
|
|
"cancel_restored": true,
|
|
"undo_before": {
|
|
"undo_count": 0,
|
|
"redo_count": 0,
|
|
"undo_names": [],
|
|
"redo_names": []
|
|
},
|
|
"undo_after": {
|
|
"undo_count": 0,
|
|
"redo_count": 0,
|
|
"undo_names": [],
|
|
"redo_names": []
|
|
},
|
|
"modified_before": false,
|
|
"modified_after": false
|
|
}
|
|
},
|
|
{
|
|
"name": "rectangular: Qt Create is one undo step; saved native association regenerates after reopen",
|
|
"passed": true,
|
|
"result": {
|
|
"preview": {
|
|
"circle_count": 6,
|
|
"native_geometry_count": 8,
|
|
"constraint_count": 23,
|
|
"centers_and_radii_mm": [
|
|
[
|
|
7.0,
|
|
4.0,
|
|
2.0
|
|
],
|
|
[
|
|
7.0,
|
|
19.0,
|
|
2.0
|
|
],
|
|
[
|
|
19.0,
|
|
4.0,
|
|
2.0
|
|
],
|
|
[
|
|
19.0,
|
|
19.0,
|
|
2.0
|
|
],
|
|
[
|
|
31.0,
|
|
4.0,
|
|
2.0
|
|
],
|
|
[
|
|
31.0,
|
|
19.0,
|
|
2.0
|
|
]
|
|
],
|
|
"metadata": [
|
|
{
|
|
"id": "p1",
|
|
"kind": "rectangular",
|
|
"parameters": {
|
|
"count_x": 3,
|
|
"count_y": 2,
|
|
"spacing_x": 12.0,
|
|
"spacing_y": 15.0,
|
|
"angle": 0.0
|
|
},
|
|
"source_geometry_ids": [
|
|
1
|
|
],
|
|
"created_geometry_ids": [
|
|
4,
|
|
5,
|
|
6,
|
|
7,
|
|
8
|
|
],
|
|
"helper_geometry_ids": [
|
|
2,
|
|
3
|
|
],
|
|
"constraint_names": [
|
|
"Массив1Связь1",
|
|
"Массив1Связь2",
|
|
"Массив1Направление",
|
|
"Массив1ШагX",
|
|
"Массив1ШагY",
|
|
"Массив1Связь6",
|
|
"Массив1Связь7",
|
|
"Массив1Связь8",
|
|
"Массив1Связь9",
|
|
"Массив1Связь10",
|
|
"Массив1Связь11",
|
|
"Массив1Связь12",
|
|
"Массив1Связь13",
|
|
"Массив1Связь14",
|
|
"Массив1Связь15",
|
|
"Массив1Связь16",
|
|
"Массив1Связь17",
|
|
"Массив1Связь18",
|
|
"Массив1Связь19",
|
|
"Массив1Связь20"
|
|
],
|
|
"dimension_names": {
|
|
"Направление": "Массив1Направление",
|
|
"ШагX": "Массив1ШагX",
|
|
"ШагY": "Массив1ШагY"
|
|
},
|
|
"associative": true,
|
|
"source_ids": [
|
|
0
|
|
],
|
|
"created_ids": [
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7
|
|
],
|
|
"generated_ids": [
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7
|
|
],
|
|
"helper_ids": [
|
|
1,
|
|
2
|
|
],
|
|
"all_geometry_ids": [
|
|
1,
|
|
2,
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7
|
|
],
|
|
"constraint_ids": [
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7,
|
|
8,
|
|
9,
|
|
10,
|
|
11,
|
|
12,
|
|
13,
|
|
14,
|
|
15,
|
|
16,
|
|
17,
|
|
18,
|
|
19,
|
|
20,
|
|
21,
|
|
22
|
|
]
|
|
}
|
|
],
|
|
"solver_result": 0
|
|
},
|
|
"created": {
|
|
"circle_count": 6,
|
|
"native_geometry_count": 8,
|
|
"constraint_count": 23,
|
|
"centers_and_radii_mm": [
|
|
[
|
|
7.0,
|
|
4.0,
|
|
2.0
|
|
],
|
|
[
|
|
7.0,
|
|
19.0,
|
|
2.0
|
|
],
|
|
[
|
|
19.0,
|
|
4.0,
|
|
2.0
|
|
],
|
|
[
|
|
19.0,
|
|
19.0,
|
|
2.0
|
|
],
|
|
[
|
|
31.0,
|
|
4.0,
|
|
2.0
|
|
],
|
|
[
|
|
31.0,
|
|
19.0,
|
|
2.0
|
|
]
|
|
],
|
|
"metadata": [
|
|
{
|
|
"id": "p1",
|
|
"kind": "rectangular",
|
|
"parameters": {
|
|
"count_x": 3,
|
|
"count_y": 2,
|
|
"spacing_x": 12.0,
|
|
"spacing_y": 15.0,
|
|
"angle": 0.0
|
|
},
|
|
"source_geometry_ids": [
|
|
1
|
|
],
|
|
"created_geometry_ids": [
|
|
11,
|
|
12,
|
|
13,
|
|
14,
|
|
15
|
|
],
|
|
"helper_geometry_ids": [
|
|
9,
|
|
10
|
|
],
|
|
"constraint_names": [
|
|
"Массив1Связь1",
|
|
"Массив1Связь2",
|
|
"Массив1Направление",
|
|
"Массив1ШагX",
|
|
"Массив1ШагY",
|
|
"Массив1Связь6",
|
|
"Массив1Связь7",
|
|
"Массив1Связь8",
|
|
"Массив1Связь9",
|
|
"Массив1Связь10",
|
|
"Массив1Связь11",
|
|
"Массив1Связь12",
|
|
"Массив1Связь13",
|
|
"Массив1Связь14",
|
|
"Массив1Связь15",
|
|
"Массив1Связь16",
|
|
"Массив1Связь17",
|
|
"Массив1Связь18",
|
|
"Массив1Связь19",
|
|
"Массив1Связь20"
|
|
],
|
|
"dimension_names": {
|
|
"Направление": "Массив1Направление",
|
|
"ШагX": "Массив1ШагX",
|
|
"ШагY": "Массив1ШагY"
|
|
},
|
|
"associative": true,
|
|
"source_ids": [
|
|
0
|
|
],
|
|
"created_ids": [
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7
|
|
],
|
|
"generated_ids": [
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7
|
|
],
|
|
"helper_ids": [
|
|
1,
|
|
2
|
|
],
|
|
"all_geometry_ids": [
|
|
1,
|
|
2,
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7
|
|
],
|
|
"constraint_ids": [
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7,
|
|
8,
|
|
9,
|
|
10,
|
|
11,
|
|
12,
|
|
13,
|
|
14,
|
|
15,
|
|
16,
|
|
17,
|
|
18,
|
|
19,
|
|
20,
|
|
21,
|
|
22
|
|
]
|
|
}
|
|
],
|
|
"solver_result": 0
|
|
},
|
|
"reopened": {
|
|
"circle_count": 6,
|
|
"native_geometry_count": 8,
|
|
"constraint_count": 23,
|
|
"centers_and_radii_mm": [
|
|
[
|
|
7.0,
|
|
4.0,
|
|
2.0
|
|
],
|
|
[
|
|
7.0,
|
|
19.0,
|
|
2.0
|
|
],
|
|
[
|
|
19.0,
|
|
4.0,
|
|
2.0
|
|
],
|
|
[
|
|
19.0,
|
|
19.0,
|
|
2.0
|
|
],
|
|
[
|
|
31.0,
|
|
4.0,
|
|
2.0
|
|
],
|
|
[
|
|
31.0,
|
|
19.0,
|
|
2.0
|
|
]
|
|
],
|
|
"metadata": [
|
|
{
|
|
"id": "p1",
|
|
"kind": "rectangular",
|
|
"parameters": {
|
|
"count_x": 3,
|
|
"count_y": 2,
|
|
"spacing_x": 12.0,
|
|
"spacing_y": 15.0,
|
|
"angle": 0.0
|
|
},
|
|
"source_geometry_ids": [
|
|
1
|
|
],
|
|
"created_geometry_ids": [
|
|
11,
|
|
12,
|
|
13,
|
|
14,
|
|
15
|
|
],
|
|
"helper_geometry_ids": [
|
|
9,
|
|
10
|
|
],
|
|
"constraint_names": [
|
|
"Массив1Связь1",
|
|
"Массив1Связь2",
|
|
"Массив1Направление",
|
|
"Массив1ШагX",
|
|
"Массив1ШагY",
|
|
"Массив1Связь6",
|
|
"Массив1Связь7",
|
|
"Массив1Связь8",
|
|
"Массив1Связь9",
|
|
"Массив1Связь10",
|
|
"Массив1Связь11",
|
|
"Массив1Связь12",
|
|
"Массив1Связь13",
|
|
"Массив1Связь14",
|
|
"Массив1Связь15",
|
|
"Массив1Связь16",
|
|
"Массив1Связь17",
|
|
"Массив1Связь18",
|
|
"Массив1Связь19",
|
|
"Массив1Связь20"
|
|
],
|
|
"dimension_names": {
|
|
"Направление": "Массив1Направление",
|
|
"ШагX": "Массив1ШагX",
|
|
"ШагY": "Массив1ШагY"
|
|
},
|
|
"associative": true,
|
|
"source_ids": [
|
|
0
|
|
],
|
|
"created_ids": [
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7
|
|
],
|
|
"generated_ids": [
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7
|
|
],
|
|
"helper_ids": [
|
|
1,
|
|
2
|
|
],
|
|
"all_geometry_ids": [
|
|
1,
|
|
2,
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7
|
|
],
|
|
"constraint_ids": [
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7,
|
|
8,
|
|
9,
|
|
10,
|
|
11,
|
|
12,
|
|
13,
|
|
14,
|
|
15,
|
|
16,
|
|
17,
|
|
18,
|
|
19,
|
|
20,
|
|
21,
|
|
22
|
|
]
|
|
}
|
|
],
|
|
"solver_result": 0
|
|
},
|
|
"source_driving_radius_mm": 3,
|
|
"regenerated_after_reopen": {
|
|
"circle_count": 6,
|
|
"native_geometry_count": 8,
|
|
"constraint_count": 23,
|
|
"centers_and_radii_mm": [
|
|
[
|
|
7.0,
|
|
4.0,
|
|
3.0
|
|
],
|
|
[
|
|
7.0,
|
|
19.0,
|
|
3.0
|
|
],
|
|
[
|
|
19.0,
|
|
4.0,
|
|
3.0
|
|
],
|
|
[
|
|
19.0,
|
|
19.0,
|
|
3.0
|
|
],
|
|
[
|
|
31.0,
|
|
4.0,
|
|
3.0
|
|
],
|
|
[
|
|
31.0,
|
|
19.0,
|
|
3.0
|
|
]
|
|
],
|
|
"metadata": [
|
|
{
|
|
"id": "p1",
|
|
"kind": "rectangular",
|
|
"parameters": {
|
|
"count_x": 3,
|
|
"count_y": 2,
|
|
"spacing_x": 12.0,
|
|
"spacing_y": 15.0,
|
|
"angle": 0.0
|
|
},
|
|
"source_geometry_ids": [
|
|
1
|
|
],
|
|
"created_geometry_ids": [
|
|
11,
|
|
12,
|
|
13,
|
|
14,
|
|
15
|
|
],
|
|
"helper_geometry_ids": [
|
|
9,
|
|
10
|
|
],
|
|
"constraint_names": [
|
|
"Массив1Связь1",
|
|
"Массив1Связь2",
|
|
"Массив1Направление",
|
|
"Массив1ШагX",
|
|
"Массив1ШагY",
|
|
"Массив1Связь6",
|
|
"Массив1Связь7",
|
|
"Массив1Связь8",
|
|
"Массив1Связь9",
|
|
"Массив1Связь10",
|
|
"Массив1Связь11",
|
|
"Массив1Связь12",
|
|
"Массив1Связь13",
|
|
"Массив1Связь14",
|
|
"Массив1Связь15",
|
|
"Массив1Связь16",
|
|
"Массив1Связь17",
|
|
"Массив1Связь18",
|
|
"Массив1Связь19",
|
|
"Массив1Связь20"
|
|
],
|
|
"dimension_names": {
|
|
"Направление": "Массив1Направление",
|
|
"ШагX": "Массив1ШагX",
|
|
"ШагY": "Массив1ШагY"
|
|
},
|
|
"associative": true,
|
|
"source_ids": [
|
|
0
|
|
],
|
|
"created_ids": [
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7
|
|
],
|
|
"generated_ids": [
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7
|
|
],
|
|
"helper_ids": [
|
|
1,
|
|
2
|
|
],
|
|
"all_geometry_ids": [
|
|
1,
|
|
2,
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7
|
|
],
|
|
"constraint_ids": [
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7,
|
|
8,
|
|
9,
|
|
10,
|
|
11,
|
|
12,
|
|
13,
|
|
14,
|
|
15,
|
|
16,
|
|
17,
|
|
18,
|
|
19,
|
|
20,
|
|
21,
|
|
22
|
|
]
|
|
}
|
|
],
|
|
"solver_result": 0
|
|
},
|
|
"saved_file": "C:\\Repos\\qinventor\\artifacts\\validation\\sketch-operation-rectangular-created.FCStd",
|
|
"single_undo_step": true,
|
|
"modified_after_create": true
|
|
}
|
|
},
|
|
{
|
|
"name": "circular: repeated Qt preview replaces copies and Cancel restores sketch/history/dirty flag",
|
|
"passed": true,
|
|
"result": {
|
|
"initial_preview": {
|
|
"circle_count": 4,
|
|
"native_geometry_count": 9,
|
|
"constraint_count": 22,
|
|
"centers_and_radii_mm": [
|
|
[
|
|
-7.0,
|
|
-4.0,
|
|
2.0
|
|
],
|
|
[
|
|
-4.0,
|
|
7.0,
|
|
2.0
|
|
],
|
|
[
|
|
4.0,
|
|
-7.0,
|
|
2.0
|
|
],
|
|
[
|
|
7.0,
|
|
4.0,
|
|
2.0
|
|
]
|
|
],
|
|
"metadata": [
|
|
{
|
|
"id": "p1",
|
|
"kind": "circular",
|
|
"parameters": {
|
|
"count": 4,
|
|
"center": [
|
|
0.0,
|
|
0.0
|
|
],
|
|
"angle": 360.0
|
|
},
|
|
"source_geometry_ids": [
|
|
1
|
|
],
|
|
"created_geometry_ids": [
|
|
4,
|
|
6,
|
|
8
|
|
],
|
|
"helper_geometry_ids": [
|
|
2,
|
|
3,
|
|
5,
|
|
7,
|
|
9
|
|
],
|
|
"constraint_names": [
|
|
"КруговойМассив1ЦентрX",
|
|
"КруговойМассив1ЦентрY",
|
|
"КруговойМассив1Связь3",
|
|
"КруговойМассив1Связь4",
|
|
"КруговойМассив1Связь5",
|
|
"КруговойМассив1Связь6",
|
|
"КруговойМассив1Связь7",
|
|
"КруговойМассив1Связь8",
|
|
"КруговойМассив1УголШага",
|
|
"КруговойМассив1Связь10",
|
|
"КруговойМассив1Связь11",
|
|
"КруговойМассив1Связь12",
|
|
"КруговойМассив1Связь13",
|
|
"КруговойМассив1Связь14",
|
|
"КруговойМассив1Связь15",
|
|
"КруговойМассив1Связь16",
|
|
"КруговойМассив1Связь17",
|
|
"КруговойМассив1Связь18",
|
|
"КруговойМассив1Связь19"
|
|
],
|
|
"dimension_names": {
|
|
"ЦентрX": "КруговойМассив1ЦентрX",
|
|
"ЦентрY": "КруговойМассив1ЦентрY",
|
|
"УголШага": "КруговойМассив1УголШага"
|
|
},
|
|
"associative": true,
|
|
"source_ids": [
|
|
0
|
|
],
|
|
"created_ids": [
|
|
3,
|
|
5,
|
|
7
|
|
],
|
|
"generated_ids": [
|
|
3,
|
|
5,
|
|
7
|
|
],
|
|
"helper_ids": [
|
|
1,
|
|
2,
|
|
4,
|
|
6,
|
|
8
|
|
],
|
|
"all_geometry_ids": [
|
|
1,
|
|
2,
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7,
|
|
8
|
|
],
|
|
"constraint_ids": [
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7,
|
|
8,
|
|
9,
|
|
10,
|
|
11,
|
|
12,
|
|
13,
|
|
14,
|
|
15,
|
|
16,
|
|
17,
|
|
18,
|
|
19,
|
|
20,
|
|
21
|
|
]
|
|
}
|
|
],
|
|
"solver_result": 0
|
|
},
|
|
"revised_preview": {
|
|
"circle_count": 6,
|
|
"native_geometry_count": 13,
|
|
"constraint_count": 32,
|
|
"centers_and_radii_mm": [
|
|
[
|
|
-8.01426,
|
|
0.878429,
|
|
2.0
|
|
],
|
|
[
|
|
-7.0,
|
|
-4.0,
|
|
2.0
|
|
],
|
|
[
|
|
-5.967345,
|
|
5.421328,
|
|
2.0
|
|
],
|
|
[
|
|
-1.641107,
|
|
7.893464,
|
|
2.0
|
|
],
|
|
[
|
|
3.311978,
|
|
7.350565,
|
|
2.0
|
|
],
|
|
[
|
|
7.0,
|
|
4.0,
|
|
2.0
|
|
]
|
|
],
|
|
"metadata": [
|
|
{
|
|
"id": "p1",
|
|
"kind": "circular",
|
|
"parameters": {
|
|
"count": 6,
|
|
"center": [
|
|
0.0,
|
|
0.0
|
|
],
|
|
"angle": 180.0
|
|
},
|
|
"source_geometry_ids": [
|
|
1
|
|
],
|
|
"created_geometry_ids": [
|
|
12,
|
|
14,
|
|
16,
|
|
18,
|
|
20
|
|
],
|
|
"helper_geometry_ids": [
|
|
10,
|
|
11,
|
|
13,
|
|
15,
|
|
17,
|
|
19,
|
|
21
|
|
],
|
|
"constraint_names": [
|
|
"КруговойМассив1ЦентрX",
|
|
"КруговойМассив1ЦентрY",
|
|
"КруговойМассив1Связь3",
|
|
"КруговойМассив1Связь4",
|
|
"КруговойМассив1Связь5",
|
|
"КруговойМассив1Связь6",
|
|
"КруговойМассив1Связь7",
|
|
"КруговойМассив1Связь8",
|
|
"КруговойМассив1УголШага",
|
|
"КруговойМассив1Связь10",
|
|
"КруговойМассив1Связь11",
|
|
"КруговойМассив1Связь12",
|
|
"КруговойМассив1Связь13",
|
|
"КруговойМассив1Связь14",
|
|
"КруговойМассив1Связь15",
|
|
"КруговойМассив1Связь16",
|
|
"КруговойМассив1Связь17",
|
|
"КруговойМассив1Связь18",
|
|
"КруговойМассив1Связь19",
|
|
"КруговойМассив1Связь20",
|
|
"КруговойМассив1Связь21",
|
|
"КруговойМассив1Связь22",
|
|
"КруговойМассив1Связь23",
|
|
"КруговойМассив1Связь24",
|
|
"КруговойМассив1Связь25",
|
|
"КруговойМассив1Связь26",
|
|
"КруговойМассив1Связь27",
|
|
"КруговойМассив1Связь28",
|
|
"КруговойМассив1Связь29"
|
|
],
|
|
"dimension_names": {
|
|
"ЦентрX": "КруговойМассив1ЦентрX",
|
|
"ЦентрY": "КруговойМассив1ЦентрY",
|
|
"УголШага": "КруговойМассив1УголШага"
|
|
},
|
|
"associative": true,
|
|
"source_ids": [
|
|
0
|
|
],
|
|
"created_ids": [
|
|
3,
|
|
5,
|
|
7,
|
|
9,
|
|
11
|
|
],
|
|
"generated_ids": [
|
|
3,
|
|
5,
|
|
7,
|
|
9,
|
|
11
|
|
],
|
|
"helper_ids": [
|
|
1,
|
|
2,
|
|
4,
|
|
6,
|
|
8,
|
|
10,
|
|
12
|
|
],
|
|
"all_geometry_ids": [
|
|
1,
|
|
2,
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7,
|
|
8,
|
|
9,
|
|
10,
|
|
11,
|
|
12
|
|
],
|
|
"constraint_ids": [
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7,
|
|
8,
|
|
9,
|
|
10,
|
|
11,
|
|
12,
|
|
13,
|
|
14,
|
|
15,
|
|
16,
|
|
17,
|
|
18,
|
|
19,
|
|
20,
|
|
21,
|
|
22,
|
|
23,
|
|
24,
|
|
25,
|
|
26,
|
|
27,
|
|
28,
|
|
29,
|
|
30,
|
|
31
|
|
]
|
|
}
|
|
],
|
|
"solver_result": 0
|
|
},
|
|
"russian_dialog": {
|
|
"window_title": "Круговой массив",
|
|
"visible_labels": [
|
|
"Выбрано элементов: 1",
|
|
"Связанное повторение отрезков и окружностей.",
|
|
"Количество элементов:",
|
|
"Центр — X:",
|
|
"Центр — Y:",
|
|
"Общий угол:",
|
|
"Количество включает исходную геометрию. При 360° копии распределяются по всей окружности; при другом угле — между концами сектора."
|
|
],
|
|
"untranslated_candidates": [],
|
|
"rendered_dialog": "C:\\Repos\\qinventor\\artifacts\\validation\\sketch-circular-russian-dialog.png"
|
|
},
|
|
"cancel_restored": true,
|
|
"undo_before": {
|
|
"undo_count": 0,
|
|
"redo_count": 0,
|
|
"undo_names": [],
|
|
"redo_names": []
|
|
},
|
|
"undo_after": {
|
|
"undo_count": 0,
|
|
"redo_count": 0,
|
|
"undo_names": [],
|
|
"redo_names": []
|
|
},
|
|
"modified_before": false,
|
|
"modified_after": false
|
|
}
|
|
},
|
|
{
|
|
"name": "circular: Qt Create is one undo step; saved native association regenerates after reopen",
|
|
"passed": true,
|
|
"result": {
|
|
"preview": {
|
|
"circle_count": 4,
|
|
"native_geometry_count": 9,
|
|
"constraint_count": 22,
|
|
"centers_and_radii_mm": [
|
|
[
|
|
-7.0,
|
|
-4.0,
|
|
2.0
|
|
],
|
|
[
|
|
-4.0,
|
|
7.0,
|
|
2.0
|
|
],
|
|
[
|
|
4.0,
|
|
-7.0,
|
|
2.0
|
|
],
|
|
[
|
|
7.0,
|
|
4.0,
|
|
2.0
|
|
]
|
|
],
|
|
"metadata": [
|
|
{
|
|
"id": "p1",
|
|
"kind": "circular",
|
|
"parameters": {
|
|
"count": 4,
|
|
"center": [
|
|
0.0,
|
|
0.0
|
|
],
|
|
"angle": 360.0
|
|
},
|
|
"source_geometry_ids": [
|
|
1
|
|
],
|
|
"created_geometry_ids": [
|
|
4,
|
|
6,
|
|
8
|
|
],
|
|
"helper_geometry_ids": [
|
|
2,
|
|
3,
|
|
5,
|
|
7,
|
|
9
|
|
],
|
|
"constraint_names": [
|
|
"КруговойМассив1ЦентрX",
|
|
"КруговойМассив1ЦентрY",
|
|
"КруговойМассив1Связь3",
|
|
"КруговойМассив1Связь4",
|
|
"КруговойМассив1Связь5",
|
|
"КруговойМассив1Связь6",
|
|
"КруговойМассив1Связь7",
|
|
"КруговойМассив1Связь8",
|
|
"КруговойМассив1УголШага",
|
|
"КруговойМассив1Связь10",
|
|
"КруговойМассив1Связь11",
|
|
"КруговойМассив1Связь12",
|
|
"КруговойМассив1Связь13",
|
|
"КруговойМассив1Связь14",
|
|
"КруговойМассив1Связь15",
|
|
"КруговойМассив1Связь16",
|
|
"КруговойМассив1Связь17",
|
|
"КруговойМассив1Связь18",
|
|
"КруговойМассив1Связь19"
|
|
],
|
|
"dimension_names": {
|
|
"ЦентрX": "КруговойМассив1ЦентрX",
|
|
"ЦентрY": "КруговойМассив1ЦентрY",
|
|
"УголШага": "КруговойМассив1УголШага"
|
|
},
|
|
"associative": true,
|
|
"source_ids": [
|
|
0
|
|
],
|
|
"created_ids": [
|
|
3,
|
|
5,
|
|
7
|
|
],
|
|
"generated_ids": [
|
|
3,
|
|
5,
|
|
7
|
|
],
|
|
"helper_ids": [
|
|
1,
|
|
2,
|
|
4,
|
|
6,
|
|
8
|
|
],
|
|
"all_geometry_ids": [
|
|
1,
|
|
2,
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7,
|
|
8
|
|
],
|
|
"constraint_ids": [
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7,
|
|
8,
|
|
9,
|
|
10,
|
|
11,
|
|
12,
|
|
13,
|
|
14,
|
|
15,
|
|
16,
|
|
17,
|
|
18,
|
|
19,
|
|
20,
|
|
21
|
|
]
|
|
}
|
|
],
|
|
"solver_result": 0
|
|
},
|
|
"created": {
|
|
"circle_count": 4,
|
|
"native_geometry_count": 9,
|
|
"constraint_count": 22,
|
|
"centers_and_radii_mm": [
|
|
[
|
|
-7.0,
|
|
-4.0,
|
|
2.0
|
|
],
|
|
[
|
|
-4.0,
|
|
7.0,
|
|
2.0
|
|
],
|
|
[
|
|
4.0,
|
|
-7.0,
|
|
2.0
|
|
],
|
|
[
|
|
7.0,
|
|
4.0,
|
|
2.0
|
|
]
|
|
],
|
|
"metadata": [
|
|
{
|
|
"id": "p1",
|
|
"kind": "circular",
|
|
"parameters": {
|
|
"count": 4,
|
|
"center": [
|
|
0.0,
|
|
0.0
|
|
],
|
|
"angle": 360.0
|
|
},
|
|
"source_geometry_ids": [
|
|
1
|
|
],
|
|
"created_geometry_ids": [
|
|
12,
|
|
14,
|
|
16
|
|
],
|
|
"helper_geometry_ids": [
|
|
10,
|
|
11,
|
|
13,
|
|
15,
|
|
17
|
|
],
|
|
"constraint_names": [
|
|
"КруговойМассив1ЦентрX",
|
|
"КруговойМассив1ЦентрY",
|
|
"КруговойМассив1Связь3",
|
|
"КруговойМассив1Связь4",
|
|
"КруговойМассив1Связь5",
|
|
"КруговойМассив1Связь6",
|
|
"КруговойМассив1Связь7",
|
|
"КруговойМассив1Связь8",
|
|
"КруговойМассив1УголШага",
|
|
"КруговойМассив1Связь10",
|
|
"КруговойМассив1Связь11",
|
|
"КруговойМассив1Связь12",
|
|
"КруговойМассив1Связь13",
|
|
"КруговойМассив1Связь14",
|
|
"КруговойМассив1Связь15",
|
|
"КруговойМассив1Связь16",
|
|
"КруговойМассив1Связь17",
|
|
"КруговойМассив1Связь18",
|
|
"КруговойМассив1Связь19"
|
|
],
|
|
"dimension_names": {
|
|
"ЦентрX": "КруговойМассив1ЦентрX",
|
|
"ЦентрY": "КруговойМассив1ЦентрY",
|
|
"УголШага": "КруговойМассив1УголШага"
|
|
},
|
|
"associative": true,
|
|
"source_ids": [
|
|
0
|
|
],
|
|
"created_ids": [
|
|
3,
|
|
5,
|
|
7
|
|
],
|
|
"generated_ids": [
|
|
3,
|
|
5,
|
|
7
|
|
],
|
|
"helper_ids": [
|
|
1,
|
|
2,
|
|
4,
|
|
6,
|
|
8
|
|
],
|
|
"all_geometry_ids": [
|
|
1,
|
|
2,
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7,
|
|
8
|
|
],
|
|
"constraint_ids": [
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7,
|
|
8,
|
|
9,
|
|
10,
|
|
11,
|
|
12,
|
|
13,
|
|
14,
|
|
15,
|
|
16,
|
|
17,
|
|
18,
|
|
19,
|
|
20,
|
|
21
|
|
]
|
|
}
|
|
],
|
|
"solver_result": 0
|
|
},
|
|
"reopened": {
|
|
"circle_count": 4,
|
|
"native_geometry_count": 9,
|
|
"constraint_count": 22,
|
|
"centers_and_radii_mm": [
|
|
[
|
|
-7.0,
|
|
-4.0,
|
|
2.0
|
|
],
|
|
[
|
|
-4.0,
|
|
7.0,
|
|
2.0
|
|
],
|
|
[
|
|
4.0,
|
|
-7.0,
|
|
2.0
|
|
],
|
|
[
|
|
7.0,
|
|
4.0,
|
|
2.0
|
|
]
|
|
],
|
|
"metadata": [
|
|
{
|
|
"id": "p1",
|
|
"kind": "circular",
|
|
"parameters": {
|
|
"count": 4,
|
|
"center": [
|
|
0.0,
|
|
0.0
|
|
],
|
|
"angle": 360.0
|
|
},
|
|
"source_geometry_ids": [
|
|
1
|
|
],
|
|
"created_geometry_ids": [
|
|
12,
|
|
14,
|
|
16
|
|
],
|
|
"helper_geometry_ids": [
|
|
10,
|
|
11,
|
|
13,
|
|
15,
|
|
17
|
|
],
|
|
"constraint_names": [
|
|
"КруговойМассив1ЦентрX",
|
|
"КруговойМассив1ЦентрY",
|
|
"КруговойМассив1Связь3",
|
|
"КруговойМассив1Связь4",
|
|
"КруговойМассив1Связь5",
|
|
"КруговойМассив1Связь6",
|
|
"КруговойМассив1Связь7",
|
|
"КруговойМассив1Связь8",
|
|
"КруговойМассив1УголШага",
|
|
"КруговойМассив1Связь10",
|
|
"КруговойМассив1Связь11",
|
|
"КруговойМассив1Связь12",
|
|
"КруговойМассив1Связь13",
|
|
"КруговойМассив1Связь14",
|
|
"КруговойМассив1Связь15",
|
|
"КруговойМассив1Связь16",
|
|
"КруговойМассив1Связь17",
|
|
"КруговойМассив1Связь18",
|
|
"КруговойМассив1Связь19"
|
|
],
|
|
"dimension_names": {
|
|
"ЦентрX": "КруговойМассив1ЦентрX",
|
|
"ЦентрY": "КруговойМассив1ЦентрY",
|
|
"УголШага": "КруговойМассив1УголШага"
|
|
},
|
|
"associative": true,
|
|
"source_ids": [
|
|
0
|
|
],
|
|
"created_ids": [
|
|
3,
|
|
5,
|
|
7
|
|
],
|
|
"generated_ids": [
|
|
3,
|
|
5,
|
|
7
|
|
],
|
|
"helper_ids": [
|
|
1,
|
|
2,
|
|
4,
|
|
6,
|
|
8
|
|
],
|
|
"all_geometry_ids": [
|
|
1,
|
|
2,
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7,
|
|
8
|
|
],
|
|
"constraint_ids": [
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7,
|
|
8,
|
|
9,
|
|
10,
|
|
11,
|
|
12,
|
|
13,
|
|
14,
|
|
15,
|
|
16,
|
|
17,
|
|
18,
|
|
19,
|
|
20,
|
|
21
|
|
]
|
|
}
|
|
],
|
|
"solver_result": 0
|
|
},
|
|
"source_driving_radius_mm": 3,
|
|
"regenerated_after_reopen": {
|
|
"circle_count": 4,
|
|
"native_geometry_count": 9,
|
|
"constraint_count": 22,
|
|
"centers_and_radii_mm": [
|
|
[
|
|
-7.0,
|
|
-4.0,
|
|
3.0
|
|
],
|
|
[
|
|
-4.0,
|
|
7.0,
|
|
3.0
|
|
],
|
|
[
|
|
4.0,
|
|
-7.0,
|
|
3.0
|
|
],
|
|
[
|
|
7.0,
|
|
4.0,
|
|
3.0
|
|
]
|
|
],
|
|
"metadata": [
|
|
{
|
|
"id": "p1",
|
|
"kind": "circular",
|
|
"parameters": {
|
|
"count": 4,
|
|
"center": [
|
|
0.0,
|
|
0.0
|
|
],
|
|
"angle": 360.0
|
|
},
|
|
"source_geometry_ids": [
|
|
1
|
|
],
|
|
"created_geometry_ids": [
|
|
12,
|
|
14,
|
|
16
|
|
],
|
|
"helper_geometry_ids": [
|
|
10,
|
|
11,
|
|
13,
|
|
15,
|
|
17
|
|
],
|
|
"constraint_names": [
|
|
"КруговойМассив1ЦентрX",
|
|
"КруговойМассив1ЦентрY",
|
|
"КруговойМассив1Связь3",
|
|
"КруговойМассив1Связь4",
|
|
"КруговойМассив1Связь5",
|
|
"КруговойМассив1Связь6",
|
|
"КруговойМассив1Связь7",
|
|
"КруговойМассив1Связь8",
|
|
"КруговойМассив1УголШага",
|
|
"КруговойМассив1Связь10",
|
|
"КруговойМассив1Связь11",
|
|
"КруговойМассив1Связь12",
|
|
"КруговойМассив1Связь13",
|
|
"КруговойМассив1Связь14",
|
|
"КруговойМассив1Связь15",
|
|
"КруговойМассив1Связь16",
|
|
"КруговойМассив1Связь17",
|
|
"КруговойМассив1Связь18",
|
|
"КруговойМассив1Связь19"
|
|
],
|
|
"dimension_names": {
|
|
"ЦентрX": "КруговойМассив1ЦентрX",
|
|
"ЦентрY": "КруговойМассив1ЦентрY",
|
|
"УголШага": "КруговойМассив1УголШага"
|
|
},
|
|
"associative": true,
|
|
"source_ids": [
|
|
0
|
|
],
|
|
"created_ids": [
|
|
3,
|
|
5,
|
|
7
|
|
],
|
|
"generated_ids": [
|
|
3,
|
|
5,
|
|
7
|
|
],
|
|
"helper_ids": [
|
|
1,
|
|
2,
|
|
4,
|
|
6,
|
|
8
|
|
],
|
|
"all_geometry_ids": [
|
|
1,
|
|
2,
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7,
|
|
8
|
|
],
|
|
"constraint_ids": [
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7,
|
|
8,
|
|
9,
|
|
10,
|
|
11,
|
|
12,
|
|
13,
|
|
14,
|
|
15,
|
|
16,
|
|
17,
|
|
18,
|
|
19,
|
|
20,
|
|
21
|
|
]
|
|
}
|
|
],
|
|
"solver_result": 0
|
|
},
|
|
"saved_file": "C:\\Repos\\qinventor\\artifacts\\validation\\sketch-operation-circular-created.FCStd",
|
|
"single_undo_step": true,
|
|
"modified_after_create": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Offset: repeated circle preview replaces geometry; Cancel restores constraints/history/dirty flag",
|
|
"passed": true,
|
|
"result": {
|
|
"initial_preview": {
|
|
"circle_count": 2,
|
|
"centers_and_radii_mm": [
|
|
[
|
|
7.0,
|
|
4.0,
|
|
2.0
|
|
],
|
|
[
|
|
7.0,
|
|
4.0,
|
|
4.0
|
|
]
|
|
],
|
|
"constraint_types": [
|
|
"DistanceX",
|
|
"DistanceY",
|
|
"Radius",
|
|
"Coincident",
|
|
"Distance"
|
|
],
|
|
"solver_result": 0
|
|
},
|
|
"revised_preview": {
|
|
"circle_count": 2,
|
|
"centers_and_radii_mm": [
|
|
[
|
|
7.0,
|
|
4.0,
|
|
2.0
|
|
],
|
|
[
|
|
7.0,
|
|
4.0,
|
|
6.0
|
|
]
|
|
],
|
|
"constraint_types": [
|
|
"DistanceX",
|
|
"DistanceY",
|
|
"Radius",
|
|
"Coincident",
|
|
"Distance"
|
|
],
|
|
"solver_result": 0
|
|
},
|
|
"russian_dialog": {
|
|
"window_title": "Смещение геометрии",
|
|
"visible_labels": [
|
|
"Выбрано элементов: 1",
|
|
"Расстояние смещения:",
|
|
"Поддерживаются окружность, отдельный отрезок и выпуклый замкнутый контур из отрезков. Положительное расстояние расширяет окружность и контур. Для отдельного отрезка оно задаёт левую сторону по направлению от начала к концу; отрицательное — противоположную."
|
|
],
|
|
"untranslated_candidates": [],
|
|
"rendered_dialog": "C:\\Repos\\qinventor\\artifacts\\validation\\sketch-offset-russian-dialog.png"
|
|
},
|
|
"cancel_restored": true,
|
|
"undo_before": {
|
|
"undo_count": 0,
|
|
"redo_count": 0,
|
|
"undo_names": [],
|
|
"redo_names": []
|
|
},
|
|
"undo_after": {
|
|
"undo_count": 0,
|
|
"redo_count": 0,
|
|
"undo_names": [],
|
|
"redo_names": []
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "Offset: Qt Create saves native distance association; source radius regenerates after reopen",
|
|
"passed": true,
|
|
"result": {
|
|
"preview": {
|
|
"circle_count": 2,
|
|
"centers_and_radii_mm": [
|
|
[
|
|
7.0,
|
|
4.0,
|
|
2.0
|
|
],
|
|
[
|
|
7.0,
|
|
4.0,
|
|
4.0
|
|
]
|
|
],
|
|
"constraint_types": [
|
|
"DistanceX",
|
|
"DistanceY",
|
|
"Radius",
|
|
"Coincident",
|
|
"Distance"
|
|
],
|
|
"solver_result": 0
|
|
},
|
|
"created": {
|
|
"circle_count": 2,
|
|
"centers_and_radii_mm": [
|
|
[
|
|
7.0,
|
|
4.0,
|
|
2.0
|
|
],
|
|
[
|
|
7.0,
|
|
4.0,
|
|
4.0
|
|
]
|
|
],
|
|
"constraint_types": [
|
|
"DistanceX",
|
|
"DistanceY",
|
|
"Radius",
|
|
"Coincident",
|
|
"Distance"
|
|
],
|
|
"solver_result": 0
|
|
},
|
|
"reopened": {
|
|
"circle_count": 2,
|
|
"centers_and_radii_mm": [
|
|
[
|
|
7.0,
|
|
4.0,
|
|
2.0
|
|
],
|
|
[
|
|
7.0,
|
|
4.0,
|
|
4.0
|
|
]
|
|
],
|
|
"constraint_types": [
|
|
"DistanceX",
|
|
"DistanceY",
|
|
"Radius",
|
|
"Coincident",
|
|
"Distance"
|
|
],
|
|
"solver_result": 0
|
|
},
|
|
"regenerated_after_reopen": {
|
|
"circle_count": 2,
|
|
"centers_and_radii_mm": [
|
|
[
|
|
7.0,
|
|
4.0,
|
|
3.0
|
|
],
|
|
[
|
|
7.0,
|
|
4.0,
|
|
5.0
|
|
]
|
|
],
|
|
"constraint_types": [
|
|
"DistanceX",
|
|
"DistanceY",
|
|
"Radius",
|
|
"Coincident",
|
|
"Distance"
|
|
],
|
|
"solver_result": 0
|
|
},
|
|
"saved_file": "C:\\Repos\\qinventor\\artifacts\\validation\\sketch-operation-offset-created.FCStd",
|
|
"single_undo_step": true,
|
|
"modified_after_create": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Invalid repeated preview shows a Russian error and rolls back geometry/history",
|
|
"passed": true,
|
|
"result": {
|
|
"russian_error": "Шаг прямоугольного массива должен быть ненулевым. Для обратного направления задайте отрицательный шаг.",
|
|
"rollback_restored": true,
|
|
"modified_before": false,
|
|
"modified_after_error": false
|
|
}
|
|
},
|
|
{
|
|
"name": "Qt Edit Pattern preserves association ID; cancel and undo restore previous pattern",
|
|
"passed": true,
|
|
"result": {
|
|
"cancelled_edit_preview": {
|
|
"circle_count": 8,
|
|
"native_geometry_count": 10,
|
|
"constraint_count": 29,
|
|
"centers_and_radii_mm": [
|
|
[
|
|
7.0,
|
|
4.0,
|
|
2.0
|
|
],
|
|
[
|
|
7.0,
|
|
19.0,
|
|
2.0
|
|
],
|
|
[
|
|
19.0,
|
|
4.0,
|
|
2.0
|
|
],
|
|
[
|
|
19.0,
|
|
19.0,
|
|
2.0
|
|
],
|
|
[
|
|
31.0,
|
|
4.0,
|
|
2.0
|
|
],
|
|
[
|
|
31.0,
|
|
19.0,
|
|
2.0
|
|
],
|
|
[
|
|
43.0,
|
|
4.0,
|
|
2.0
|
|
],
|
|
[
|
|
43.0,
|
|
19.0,
|
|
2.0
|
|
]
|
|
],
|
|
"metadata": [
|
|
{
|
|
"id": "p1",
|
|
"kind": "rectangular",
|
|
"parameters": {
|
|
"count_x": 4,
|
|
"count_y": 2,
|
|
"spacing_x": 12.0,
|
|
"spacing_y": 15.0,
|
|
"angle": 0.0
|
|
},
|
|
"source_geometry_ids": [
|
|
1
|
|
],
|
|
"created_geometry_ids": [
|
|
11,
|
|
12,
|
|
13,
|
|
14,
|
|
15,
|
|
16,
|
|
17
|
|
],
|
|
"helper_geometry_ids": [
|
|
9,
|
|
10
|
|
],
|
|
"constraint_names": [
|
|
"Массив1Связь1",
|
|
"Массив1Связь2",
|
|
"Массив1Направление",
|
|
"Массив1ШагX",
|
|
"Массив1ШагY",
|
|
"Массив1Связь6",
|
|
"Массив1Связь7",
|
|
"Массив1Связь8",
|
|
"Массив1Связь9",
|
|
"Массив1Связь10",
|
|
"Массив1Связь11",
|
|
"Массив1Связь12",
|
|
"Массив1Связь13",
|
|
"Массив1Связь14",
|
|
"Массив1Связь15",
|
|
"Массив1Связь16",
|
|
"Массив1Связь17",
|
|
"Массив1Связь18",
|
|
"Массив1Связь19",
|
|
"Массив1Связь20",
|
|
"Массив1Связь21",
|
|
"Массив1Связь22",
|
|
"Массив1Связь23",
|
|
"Массив1Связь24",
|
|
"Массив1Связь25",
|
|
"Массив1Связь26"
|
|
],
|
|
"dimension_names": {
|
|
"Направление": "Массив1Направление",
|
|
"ШагX": "Массив1ШагX",
|
|
"ШагY": "Массив1ШагY"
|
|
},
|
|
"associative": true,
|
|
"source_ids": [
|
|
0
|
|
],
|
|
"created_ids": [
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7,
|
|
8,
|
|
9
|
|
],
|
|
"generated_ids": [
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7,
|
|
8,
|
|
9
|
|
],
|
|
"helper_ids": [
|
|
1,
|
|
2
|
|
],
|
|
"all_geometry_ids": [
|
|
1,
|
|
2,
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7,
|
|
8,
|
|
9
|
|
],
|
|
"constraint_ids": [
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7,
|
|
8,
|
|
9,
|
|
10,
|
|
11,
|
|
12,
|
|
13,
|
|
14,
|
|
15,
|
|
16,
|
|
17,
|
|
18,
|
|
19,
|
|
20,
|
|
21,
|
|
22,
|
|
23,
|
|
24,
|
|
25,
|
|
26,
|
|
27,
|
|
28
|
|
]
|
|
}
|
|
],
|
|
"solver_result": 0
|
|
},
|
|
"committed_edit": {
|
|
"circle_count": 8,
|
|
"native_geometry_count": 10,
|
|
"constraint_count": 29,
|
|
"centers_and_radii_mm": [
|
|
[
|
|
7.0,
|
|
4.0,
|
|
2.0
|
|
],
|
|
[
|
|
7.0,
|
|
19.0,
|
|
2.0
|
|
],
|
|
[
|
|
19.0,
|
|
4.0,
|
|
2.0
|
|
],
|
|
[
|
|
19.0,
|
|
19.0,
|
|
2.0
|
|
],
|
|
[
|
|
31.0,
|
|
4.0,
|
|
2.0
|
|
],
|
|
[
|
|
31.0,
|
|
19.0,
|
|
2.0
|
|
],
|
|
[
|
|
43.0,
|
|
4.0,
|
|
2.0
|
|
],
|
|
[
|
|
43.0,
|
|
19.0,
|
|
2.0
|
|
]
|
|
],
|
|
"metadata": [
|
|
{
|
|
"id": "p1",
|
|
"kind": "rectangular",
|
|
"parameters": {
|
|
"count_x": 4,
|
|
"count_y": 2,
|
|
"spacing_x": 12.0,
|
|
"spacing_y": 15.0,
|
|
"angle": 0.0
|
|
},
|
|
"source_geometry_ids": [
|
|
1
|
|
],
|
|
"created_geometry_ids": [
|
|
20,
|
|
21,
|
|
22,
|
|
23,
|
|
24,
|
|
25,
|
|
26
|
|
],
|
|
"helper_geometry_ids": [
|
|
18,
|
|
19
|
|
],
|
|
"constraint_names": [
|
|
"Массив1Связь1",
|
|
"Массив1Связь2",
|
|
"Массив1Направление",
|
|
"Массив1ШагX",
|
|
"Массив1ШагY",
|
|
"Массив1Связь6",
|
|
"Массив1Связь7",
|
|
"Массив1Связь8",
|
|
"Массив1Связь9",
|
|
"Массив1Связь10",
|
|
"Массив1Связь11",
|
|
"Массив1Связь12",
|
|
"Массив1Связь13",
|
|
"Массив1Связь14",
|
|
"Массив1Связь15",
|
|
"Массив1Связь16",
|
|
"Массив1Связь17",
|
|
"Массив1Связь18",
|
|
"Массив1Связь19",
|
|
"Массив1Связь20",
|
|
"Массив1Связь21",
|
|
"Массив1Связь22",
|
|
"Массив1Связь23",
|
|
"Массив1Связь24",
|
|
"Массив1Связь25",
|
|
"Массив1Связь26"
|
|
],
|
|
"dimension_names": {
|
|
"Направление": "Массив1Направление",
|
|
"ШагX": "Массив1ШагX",
|
|
"ШагY": "Массив1ШагY"
|
|
},
|
|
"associative": true,
|
|
"source_ids": [
|
|
0
|
|
],
|
|
"created_ids": [
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7,
|
|
8,
|
|
9
|
|
],
|
|
"generated_ids": [
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7,
|
|
8,
|
|
9
|
|
],
|
|
"helper_ids": [
|
|
1,
|
|
2
|
|
],
|
|
"all_geometry_ids": [
|
|
1,
|
|
2,
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7,
|
|
8,
|
|
9
|
|
],
|
|
"constraint_ids": [
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7,
|
|
8,
|
|
9,
|
|
10,
|
|
11,
|
|
12,
|
|
13,
|
|
14,
|
|
15,
|
|
16,
|
|
17,
|
|
18,
|
|
19,
|
|
20,
|
|
21,
|
|
22,
|
|
23,
|
|
24,
|
|
25,
|
|
26,
|
|
27,
|
|
28
|
|
]
|
|
}
|
|
],
|
|
"solver_result": 0
|
|
},
|
|
"pattern_id_preserved": "p1",
|
|
"cancel_and_undo_restored": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Detached native preview preserves existing Redo; cancel removes overlay and Ctrl+Y restores source radius",
|
|
"passed": true,
|
|
"result": {
|
|
"preview": {
|
|
"circle_count": 2,
|
|
"native_geometry_count": 2,
|
|
"constraint_count": 5,
|
|
"centers_and_radii_mm": [
|
|
[
|
|
-7.0,
|
|
4.0,
|
|
5.0
|
|
],
|
|
[
|
|
7.0,
|
|
4.0,
|
|
5.0
|
|
]
|
|
],
|
|
"metadata": [
|
|
{
|
|
"id": "p1",
|
|
"kind": "mirror",
|
|
"parameters": {
|
|
"axis": "vertical"
|
|
},
|
|
"source_geometry_ids": [
|
|
1
|
|
],
|
|
"created_geometry_ids": [
|
|
2
|
|
],
|
|
"helper_geometry_ids": [],
|
|
"constraint_names": [
|
|
"Зеркало1Связь1",
|
|
"Зеркало1Связь2"
|
|
],
|
|
"dimension_names": {},
|
|
"associative": true,
|
|
"source_ids": [
|
|
0
|
|
],
|
|
"created_ids": [
|
|
1
|
|
],
|
|
"generated_ids": [
|
|
1
|
|
],
|
|
"helper_ids": [],
|
|
"all_geometry_ids": [
|
|
1
|
|
],
|
|
"constraint_ids": [
|
|
3,
|
|
4
|
|
]
|
|
}
|
|
],
|
|
"solver_result": 0
|
|
},
|
|
"temporary_document": "QIPreviewa4747a12e1df496db7ef15a278aadcae",
|
|
"temporary_document_removed": true,
|
|
"overlay_removed": true,
|
|
"source_global_placement": "Placement [Pos=(35.9826,-11.9001,17), Yaw-Pitch-Roll=(25,20,0)]",
|
|
"native_edit_transform": "Matrix ((1,0,0,0),(0,1,0,0),(0,0,1,0),(0,0,0,1))",
|
|
"model_global_mirror_center_mm": [
|
|
28.33057928663428,
|
|
-11.054818230587575,
|
|
19.39414100327968
|
|
],
|
|
"overlay_world_center_mm": [
|
|
-7.0,
|
|
4.0,
|
|
0.0
|
|
],
|
|
"overlay_sample_count": 128,
|
|
"maximum_radius_error_mm": 5.766050561462066E-07,
|
|
"maximum_plane_error_mm": 0.0,
|
|
"history_before": {
|
|
"undo_count": 1,
|
|
"redo_count": 1,
|
|
"undo_names": [
|
|
"Радиус исходной окружности — 5 мм"
|
|
],
|
|
"redo_names": [
|
|
"Радиус исходной окружности — 6 мм"
|
|
]
|
|
},
|
|
"history_after_redo": {
|
|
"undo_count": 2,
|
|
"redo_count": 0,
|
|
"undo_names": [
|
|
"Радиус исходной окружности — 6 мм",
|
|
"Радиус исходной окружности — 5 мм"
|
|
],
|
|
"redo_names": []
|
|
},
|
|
"modified_before": true,
|
|
"radius_after_native_redo_mm": 6.0,
|
|
"redo_delivery": "native Std_Redo keyboard shortcut Ctrl+Y",
|
|
"native_shortcuts": [
|
|
"Ctrl+Y"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "Detached offset retains placed SubShapeBinder context; cancel preserves Redo and native Ctrl+Y updates projection",
|
|
"passed": true,
|
|
"result": {
|
|
"original_local_endpoints_mm": [
|
|
[
|
|
8.365163037378078,
|
|
7.417819582470548,
|
|
0.0
|
|
],
|
|
[
|
|
5.776972586352871,
|
|
17.07707784536123,
|
|
0.0
|
|
]
|
|
],
|
|
"original_external_endpoints_mm": [
|
|
[
|
|
8.365163037378078,
|
|
7.417819582470548,
|
|
0.0
|
|
],
|
|
[
|
|
5.776972586352871,
|
|
17.07707784536123,
|
|
0.0
|
|
]
|
|
],
|
|
"shadow_before_native_operation": {
|
|
"local": [
|
|
[
|
|
8.365163037378078,
|
|
7.417819582470548,
|
|
0.0
|
|
],
|
|
[
|
|
5.776972586352871,
|
|
17.07707784536123,
|
|
0.0
|
|
]
|
|
],
|
|
"external": [
|
|
[
|
|
8.365163037378078,
|
|
7.417819582470548,
|
|
0.0
|
|
],
|
|
[
|
|
5.776972586352871,
|
|
17.07707784536123,
|
|
0.0
|
|
]
|
|
],
|
|
"geometry_count": 1,
|
|
"context_objects": [
|
|
"X_Axis",
|
|
"Y_Axis",
|
|
"Z_Axis",
|
|
"XY_Plane",
|
|
"XZ_Plane",
|
|
"YZ_Plane",
|
|
"Origin001",
|
|
"Origin",
|
|
"SourceBox",
|
|
"SourceComponent",
|
|
"X_Axis001",
|
|
"Y_Axis001",
|
|
"Z_Axis001",
|
|
"XY_Plane001",
|
|
"XZ_Plane001",
|
|
"YZ_Plane001",
|
|
"Origin003",
|
|
"Origin002",
|
|
"X_Axis002",
|
|
"Y_Axis002",
|
|
"Z_Axis002",
|
|
"XY_Plane002",
|
|
"XZ_Plane002",
|
|
"YZ_Plane002",
|
|
"Origin005",
|
|
"Origin004",
|
|
"Binder",
|
|
"Sketch",
|
|
"Body",
|
|
"SketchComponent"
|
|
]
|
|
},
|
|
"expected_offset_local_endpoints_mm": [
|
|
[
|
|
6.433311384799942,
|
|
6.9001814922655065,
|
|
0.0
|
|
],
|
|
[
|
|
3.8451209337747345,
|
|
16.55943975515619,
|
|
0.0
|
|
]
|
|
],
|
|
"actual_offset_local_endpoints_mm": [
|
|
[
|
|
6.433311384799942,
|
|
6.9001814922655065,
|
|
0.0
|
|
],
|
|
[
|
|
3.8451209337747345,
|
|
16.55943975515619,
|
|
0.0
|
|
]
|
|
],
|
|
"expected_offset_world_endpoints_mm": [
|
|
[
|
|
-2.0000000000000018,
|
|
-1.7763568394002505E-15,
|
|
0.0
|
|
],
|
|
[
|
|
-2.0,
|
|
10.0,
|
|
0.0
|
|
]
|
|
],
|
|
"expected_native_edit_endpoints_mm": [
|
|
[
|
|
6.433311384799942,
|
|
6.9001814922655065,
|
|
0.0
|
|
],
|
|
[
|
|
3.8451209337747345,
|
|
16.55943975515619,
|
|
0.0
|
|
]
|
|
],
|
|
"actual_overlay_native_edit_endpoints_mm": [
|
|
[
|
|
6.433311462402344,
|
|
6.900181293487549,
|
|
0.0
|
|
],
|
|
[
|
|
3.845120906829834,
|
|
16.55944061279297,
|
|
0.0
|
|
]
|
|
],
|
|
"maximum_overlay_endpoint_error_mm": 8.580599454290849E-07,
|
|
"detached_framebuffer": "C:\\Repos\\qinventor\\artifacts\\validation\\sketch-linked-binder-detached-framebuffer.png",
|
|
"overlay_midpoint_pixel": [
|
|
597,
|
|
322
|
|
],
|
|
"orange_pixels_at_expected_offset_midpoint": [
|
|
{
|
|
"position": [
|
|
594,
|
|
317
|
|
],
|
|
"rgb": [
|
|
245,
|
|
120,
|
|
26
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
595,
|
|
317
|
|
],
|
|
"rgb": [
|
|
245,
|
|
120,
|
|
26
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
596,
|
|
317
|
|
],
|
|
"rgb": [
|
|
245,
|
|
120,
|
|
26
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
594,
|
|
318
|
|
],
|
|
"rgb": [
|
|
245,
|
|
120,
|
|
26
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
595,
|
|
318
|
|
],
|
|
"rgb": [
|
|
245,
|
|
120,
|
|
26
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
596,
|
|
318
|
|
],
|
|
"rgb": [
|
|
245,
|
|
120,
|
|
26
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
594,
|
|
319
|
|
],
|
|
"rgb": [
|
|
245,
|
|
120,
|
|
26
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
595,
|
|
319
|
|
],
|
|
"rgb": [
|
|
245,
|
|
120,
|
|
26
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
596,
|
|
319
|
|
],
|
|
"rgb": [
|
|
245,
|
|
120,
|
|
26
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
595,
|
|
320
|
|
],
|
|
"rgb": [
|
|
245,
|
|
120,
|
|
26
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
596,
|
|
320
|
|
],
|
|
"rgb": [
|
|
245,
|
|
120,
|
|
26
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
597,
|
|
320
|
|
],
|
|
"rgb": [
|
|
245,
|
|
120,
|
|
26
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
595,
|
|
321
|
|
],
|
|
"rgb": [
|
|
245,
|
|
120,
|
|
26
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
596,
|
|
321
|
|
],
|
|
"rgb": [
|
|
245,
|
|
120,
|
|
26
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
597,
|
|
321
|
|
],
|
|
"rgb": [
|
|
245,
|
|
120,
|
|
26
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
595,
|
|
322
|
|
],
|
|
"rgb": [
|
|
245,
|
|
120,
|
|
26
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
596,
|
|
322
|
|
],
|
|
"rgb": [
|
|
245,
|
|
120,
|
|
26
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
597,
|
|
322
|
|
],
|
|
"rgb": [
|
|
245,
|
|
120,
|
|
26
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
595,
|
|
323
|
|
],
|
|
"rgb": [
|
|
245,
|
|
120,
|
|
26
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
596,
|
|
323
|
|
],
|
|
"rgb": [
|
|
245,
|
|
120,
|
|
26
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
597,
|
|
323
|
|
],
|
|
"rgb": [
|
|
245,
|
|
120,
|
|
26
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
596,
|
|
324
|
|
],
|
|
"rgb": [
|
|
245,
|
|
120,
|
|
26
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
597,
|
|
324
|
|
],
|
|
"rgb": [
|
|
245,
|
|
120,
|
|
26
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
598,
|
|
324
|
|
],
|
|
"rgb": [
|
|
245,
|
|
120,
|
|
26
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
596,
|
|
325
|
|
],
|
|
"rgb": [
|
|
245,
|
|
120,
|
|
26
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
597,
|
|
325
|
|
],
|
|
"rgb": [
|
|
245,
|
|
120,
|
|
26
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
598,
|
|
325
|
|
],
|
|
"rgb": [
|
|
245,
|
|
120,
|
|
26
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
596,
|
|
326
|
|
],
|
|
"rgb": [
|
|
245,
|
|
120,
|
|
26
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
597,
|
|
326
|
|
],
|
|
"rgb": [
|
|
245,
|
|
120,
|
|
26
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
598,
|
|
326
|
|
],
|
|
"rgb": [
|
|
245,
|
|
120,
|
|
26
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
597,
|
|
327
|
|
],
|
|
"rgb": [
|
|
245,
|
|
120,
|
|
26
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
598,
|
|
327
|
|
],
|
|
"rgb": [
|
|
245,
|
|
120,
|
|
26
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
599,
|
|
327
|
|
],
|
|
"rgb": [
|
|
245,
|
|
120,
|
|
26
|
|
]
|
|
}
|
|
],
|
|
"native_edit_transform": "Matrix ((1,0,0,0),(0,1,0,0),(0,0,1,0),(0,0,0,1))",
|
|
"source_global_placement": "Placement [Pos=(-10,-5,0), Yaw-Pitch-Roll=(-15,-0,0)]",
|
|
"preview_result": {
|
|
"source_ids": [
|
|
0
|
|
],
|
|
"created_ids": [
|
|
1
|
|
],
|
|
"helper_ids": [
|
|
2,
|
|
3
|
|
],
|
|
"constraint_ids": [
|
|
2,
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7,
|
|
8,
|
|
9
|
|
],
|
|
"dimension_ids": [
|
|
9
|
|
],
|
|
"distance": 2.0,
|
|
"loop_select": false,
|
|
"constrain": true,
|
|
"kind": "line"
|
|
},
|
|
"russian_dialog": {
|
|
"window_title": "Смещение геометрии",
|
|
"visible_labels": [
|
|
"Выбрано элементов: 1",
|
|
"Расстояние смещения:",
|
|
"Поддерживаются окружность, отдельный отрезок и выпуклый замкнутый контур из отрезков. Положительное расстояние расширяет окружность и контур. Для отдельного отрезка оно задаёт левую сторону по направлению от начала к концу; отрицательное — противоположную."
|
|
],
|
|
"untranslated_candidates": [],
|
|
"rendered_dialog": "C:\\Repos\\qinventor\\artifacts\\validation\\sketch-linked-binder-offset-dialog.png"
|
|
},
|
|
"temporary_document": "QIPreview869b13260d124d47b57d7947634114cf",
|
|
"cancel_preserved_geometry_constraints_history_dirty_flag": true,
|
|
"history_before": {
|
|
"undo_count": 0,
|
|
"redo_count": 1,
|
|
"undo_names": [],
|
|
"redo_names": [
|
|
"Изменить ширину связанного основания"
|
|
]
|
|
},
|
|
"history_after_native_redo": {
|
|
"undo_count": 1,
|
|
"redo_count": 0,
|
|
"undo_names": [
|
|
"Изменить ширину связанного основания"
|
|
],
|
|
"redo_names": []
|
|
},
|
|
"source_width_after_native_redo_mm": 12.0,
|
|
"linked_line_length_after_native_redo_mm": 12.000000000000002,
|
|
"actual_native_offset_framebuffer": "C:\\Repos\\qinventor\\artifacts\\validation\\sketch-linked-binder-actual-offset-framebuffer.png",
|
|
"actual_native_offset_local_endpoints_mm": [
|
|
[
|
|
6.433311384799942,
|
|
6.9001814922655065,
|
|
0.0
|
|
],
|
|
[
|
|
3.8451209337747345,
|
|
16.55943975515619,
|
|
0.0
|
|
]
|
|
],
|
|
"native_offset_midpoint_pixel": [
|
|
597,
|
|
322
|
|
],
|
|
"green_pixels_at_native_offset_midpoint": [
|
|
{
|
|
"position": [
|
|
594,
|
|
317
|
|
],
|
|
"rgb": [
|
|
47,
|
|
158,
|
|
68
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
595,
|
|
317
|
|
],
|
|
"rgb": [
|
|
47,
|
|
158,
|
|
68
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
596,
|
|
317
|
|
],
|
|
"rgb": [
|
|
47,
|
|
158,
|
|
68
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
594,
|
|
318
|
|
],
|
|
"rgb": [
|
|
47,
|
|
158,
|
|
68
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
595,
|
|
318
|
|
],
|
|
"rgb": [
|
|
47,
|
|
158,
|
|
68
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
596,
|
|
318
|
|
],
|
|
"rgb": [
|
|
47,
|
|
158,
|
|
68
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
594,
|
|
319
|
|
],
|
|
"rgb": [
|
|
47,
|
|
158,
|
|
68
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
595,
|
|
319
|
|
],
|
|
"rgb": [
|
|
47,
|
|
158,
|
|
68
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
596,
|
|
319
|
|
],
|
|
"rgb": [
|
|
47,
|
|
158,
|
|
68
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
595,
|
|
320
|
|
],
|
|
"rgb": [
|
|
47,
|
|
158,
|
|
68
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
596,
|
|
320
|
|
],
|
|
"rgb": [
|
|
47,
|
|
158,
|
|
68
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
597,
|
|
320
|
|
],
|
|
"rgb": [
|
|
47,
|
|
158,
|
|
68
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
595,
|
|
321
|
|
],
|
|
"rgb": [
|
|
47,
|
|
158,
|
|
68
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
596,
|
|
321
|
|
],
|
|
"rgb": [
|
|
47,
|
|
158,
|
|
68
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
597,
|
|
321
|
|
],
|
|
"rgb": [
|
|
47,
|
|
158,
|
|
68
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
595,
|
|
322
|
|
],
|
|
"rgb": [
|
|
47,
|
|
158,
|
|
68
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
596,
|
|
322
|
|
],
|
|
"rgb": [
|
|
47,
|
|
158,
|
|
68
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
597,
|
|
322
|
|
],
|
|
"rgb": [
|
|
47,
|
|
158,
|
|
68
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
595,
|
|
323
|
|
],
|
|
"rgb": [
|
|
47,
|
|
158,
|
|
68
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
596,
|
|
323
|
|
],
|
|
"rgb": [
|
|
47,
|
|
158,
|
|
68
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
597,
|
|
323
|
|
],
|
|
"rgb": [
|
|
47,
|
|
158,
|
|
68
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
596,
|
|
324
|
|
],
|
|
"rgb": [
|
|
47,
|
|
158,
|
|
68
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
597,
|
|
324
|
|
],
|
|
"rgb": [
|
|
47,
|
|
158,
|
|
68
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
598,
|
|
324
|
|
],
|
|
"rgb": [
|
|
47,
|
|
158,
|
|
68
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
596,
|
|
325
|
|
],
|
|
"rgb": [
|
|
47,
|
|
158,
|
|
68
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
597,
|
|
325
|
|
],
|
|
"rgb": [
|
|
47,
|
|
158,
|
|
68
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
598,
|
|
325
|
|
],
|
|
"rgb": [
|
|
47,
|
|
158,
|
|
68
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
596,
|
|
326
|
|
],
|
|
"rgb": [
|
|
47,
|
|
158,
|
|
68
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
597,
|
|
326
|
|
],
|
|
"rgb": [
|
|
47,
|
|
158,
|
|
68
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
598,
|
|
326
|
|
],
|
|
"rgb": [
|
|
47,
|
|
158,
|
|
68
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
597,
|
|
327
|
|
],
|
|
"rgb": [
|
|
47,
|
|
158,
|
|
68
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
598,
|
|
327
|
|
],
|
|
"rgb": [
|
|
47,
|
|
158,
|
|
68
|
|
]
|
|
},
|
|
{
|
|
"position": [
|
|
599,
|
|
327
|
|
],
|
|
"rgb": [
|
|
47,
|
|
158,
|
|
68
|
|
]
|
|
}
|
|
],
|
|
"identical_native_camera": {
|
|
"position": [
|
|
12.591839790344238,
|
|
8.626729011535645,
|
|
24.723207473754883
|
|
],
|
|
"orientation": [
|
|
0.0,
|
|
0.0,
|
|
0.0,
|
|
1.0
|
|
],
|
|
"height": 41.446414947509766
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "rectangular: existing Point helpers survive detached Edit preview; Cancel preserves registry/formulas/Redo",
|
|
"passed": true,
|
|
"result": {
|
|
"shadow_before_set_parameters": {
|
|
"signature": {
|
|
"geometry": [
|
|
[
|
|
"Circle",
|
|
[
|
|
7.0,
|
|
4.0,
|
|
0.0
|
|
],
|
|
[
|
|
0.0,
|
|
0.0,
|
|
1.0
|
|
],
|
|
2.0
|
|
],
|
|
[
|
|
"LineSegment",
|
|
[
|
|
0.0,
|
|
0.0,
|
|
0.0
|
|
],
|
|
[
|
|
1.0,
|
|
0.0,
|
|
0.0
|
|
]
|
|
],
|
|
[
|
|
"Point",
|
|
[
|
|
12.0,
|
|
15.0,
|
|
0.0,
|
|
12.0,
|
|
15.0,
|
|
0.0
|
|
]
|
|
],
|
|
[
|
|
"Circle",
|
|
[
|
|
19.0,
|
|
4.0,
|
|
0.0
|
|
],
|
|
[
|
|
0.0,
|
|
0.0,
|
|
1.0
|
|
],
|
|
2.0
|
|
],
|
|
[
|
|
"Circle",
|
|
[
|
|
31.0,
|
|
4.0,
|
|
0.0
|
|
],
|
|
[
|
|
0.0,
|
|
0.0,
|
|
1.0
|
|
],
|
|
2.0
|
|
],
|
|
[
|
|
"Circle",
|
|
[
|
|
7.0,
|
|
19.0,
|
|
0.0
|
|
],
|
|
[
|
|
0.0,
|
|
0.0,
|
|
1.0
|
|
],
|
|
2.0
|
|
],
|
|
[
|
|
"Circle",
|
|
[
|
|
19.0,
|
|
19.0,
|
|
0.0
|
|
],
|
|
[
|
|
0.0,
|
|
0.0,
|
|
1.0
|
|
],
|
|
2.0
|
|
],
|
|
[
|
|
"Circle",
|
|
[
|
|
31.0,
|
|
19.0,
|
|
0.0
|
|
],
|
|
[
|
|
0.0,
|
|
0.0,
|
|
1.0
|
|
],
|
|
2.0
|
|
]
|
|
],
|
|
"constraints": [
|
|
[
|
|
"DistanceX",
|
|
0,
|
|
3,
|
|
-2000,
|
|
0,
|
|
-2000,
|
|
0,
|
|
7.0,
|
|
"ЦентрX"
|
|
],
|
|
[
|
|
"DistanceY",
|
|
0,
|
|
3,
|
|
-2000,
|
|
0,
|
|
-2000,
|
|
0,
|
|
4.0,
|
|
"ЦентрY"
|
|
],
|
|
[
|
|
"Radius",
|
|
0,
|
|
0,
|
|
-2000,
|
|
0,
|
|
-2000,
|
|
0,
|
|
2.0,
|
|
"Радиус"
|
|
],
|
|
[
|
|
"Coincident",
|
|
1,
|
|
1,
|
|
-1,
|
|
1,
|
|
-2000,
|
|
0,
|
|
0.0,
|
|
"Массив1Связь1"
|
|
],
|
|
[
|
|
"Distance",
|
|
1,
|
|
0,
|
|
-2000,
|
|
0,
|
|
-2000,
|
|
0,
|
|
1.0,
|
|
"Массив1Связь2"
|
|
],
|
|
[
|
|
"Angle",
|
|
1,
|
|
0,
|
|
-2000,
|
|
0,
|
|
-2000,
|
|
0,
|
|
0.0,
|
|
"Массив1Направление"
|
|
],
|
|
[
|
|
"DistanceX",
|
|
2,
|
|
1,
|
|
-2000,
|
|
0,
|
|
-2000,
|
|
0,
|
|
12.0,
|
|
"Массив1ШагX"
|
|
],
|
|
[
|
|
"DistanceY",
|
|
2,
|
|
1,
|
|
-2000,
|
|
0,
|
|
-2000,
|
|
0,
|
|
15.0,
|
|
"Массив1ШагY"
|
|
],
|
|
[
|
|
"Equal",
|
|
0,
|
|
0,
|
|
3,
|
|
0,
|
|
-2000,
|
|
0,
|
|
0.0,
|
|
"Массив1Связь6"
|
|
],
|
|
[
|
|
"DistanceX",
|
|
0,
|
|
3,
|
|
3,
|
|
3,
|
|
-2000,
|
|
0,
|
|
12.0,
|
|
"Массив1Связь7"
|
|
],
|
|
[
|
|
"DistanceY",
|
|
0,
|
|
3,
|
|
3,
|
|
3,
|
|
-2000,
|
|
0,
|
|
0.0,
|
|
"Массив1Связь8"
|
|
],
|
|
[
|
|
"Equal",
|
|
0,
|
|
0,
|
|
4,
|
|
0,
|
|
-2000,
|
|
0,
|
|
0.0,
|
|
"Массив1Связь9"
|
|
],
|
|
[
|
|
"DistanceX",
|
|
0,
|
|
3,
|
|
4,
|
|
3,
|
|
-2000,
|
|
0,
|
|
24.0,
|
|
"Массив1Связь10"
|
|
],
|
|
[
|
|
"DistanceY",
|
|
0,
|
|
3,
|
|
4,
|
|
3,
|
|
-2000,
|
|
0,
|
|
0.0,
|
|
"Массив1Связь11"
|
|
],
|
|
[
|
|
"Equal",
|
|
0,
|
|
0,
|
|
5,
|
|
0,
|
|
-2000,
|
|
0,
|
|
0.0,
|
|
"Массив1Связь12"
|
|
],
|
|
[
|
|
"DistanceX",
|
|
0,
|
|
3,
|
|
5,
|
|
3,
|
|
-2000,
|
|
0,
|
|
0.0,
|
|
"Массив1Связь13"
|
|
],
|
|
[
|
|
"DistanceY",
|
|
0,
|
|
3,
|
|
5,
|
|
3,
|
|
-2000,
|
|
0,
|
|
15.0,
|
|
"Массив1Связь14"
|
|
],
|
|
[
|
|
"Equal",
|
|
0,
|
|
0,
|
|
6,
|
|
0,
|
|
-2000,
|
|
0,
|
|
0.0,
|
|
"Массив1Связь15"
|
|
],
|
|
[
|
|
"DistanceX",
|
|
0,
|
|
3,
|
|
6,
|
|
3,
|
|
-2000,
|
|
0,
|
|
12.0,
|
|
"Массив1Связь16"
|
|
],
|
|
[
|
|
"DistanceY",
|
|
0,
|
|
3,
|
|
6,
|
|
3,
|
|
-2000,
|
|
0,
|
|
15.0,
|
|
"Массив1Связь17"
|
|
],
|
|
[
|
|
"Equal",
|
|
0,
|
|
0,
|
|
7,
|
|
0,
|
|
-2000,
|
|
0,
|
|
0.0,
|
|
"Массив1Связь18"
|
|
],
|
|
[
|
|
"DistanceX",
|
|
0,
|
|
3,
|
|
7,
|
|
3,
|
|
-2000,
|
|
0,
|
|
24.0,
|
|
"Массив1Связь19"
|
|
],
|
|
[
|
|
"DistanceY",
|
|
0,
|
|
3,
|
|
7,
|
|
3,
|
|
-2000,
|
|
0,
|
|
15.0,
|
|
"Массив1Связь20"
|
|
]
|
|
],
|
|
"datum_label_positions": [
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
10.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
24.347156524658203,
|
|
0.0
|
|
],
|
|
[
|
|
3.0,
|
|
-13.0
|
|
],
|
|
[
|
|
38.0,
|
|
-4.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
]
|
|
],
|
|
"construction": [
|
|
false,
|
|
true,
|
|
true,
|
|
false,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
],
|
|
"property_names": [
|
|
"ArcFitTolerance",
|
|
"AttacherEngine",
|
|
"AttacherType",
|
|
"AttachmentOffset",
|
|
"AttachmentSupport",
|
|
"Constraints",
|
|
"Exports",
|
|
"ExpressionEngine",
|
|
"ExternalGeo",
|
|
"ExternalGeometry",
|
|
"ExternalTypes",
|
|
"FullyConstrained",
|
|
"Geometry",
|
|
"InternalShape",
|
|
"Label",
|
|
"Label2",
|
|
"MakeInternals",
|
|
"MapMode",
|
|
"MapPathParameter",
|
|
"MapReversed",
|
|
"Placement",
|
|
"QISketchPatterns",
|
|
"Shape",
|
|
"ShapeMaterial",
|
|
"Visibility",
|
|
"_ElementMapVersion",
|
|
"_ExternalGeoVersion"
|
|
],
|
|
"patterns": [
|
|
{
|
|
"id": "p1",
|
|
"kind": "rectangular",
|
|
"parameters": {
|
|
"count_x": 3,
|
|
"count_y": 2,
|
|
"spacing_x": 12.0,
|
|
"spacing_y": 15.0,
|
|
"angle": 0.0
|
|
},
|
|
"source_geometry_ids": [
|
|
1
|
|
],
|
|
"created_geometry_ids": [
|
|
4,
|
|
5,
|
|
6,
|
|
7,
|
|
8
|
|
],
|
|
"helper_geometry_ids": [
|
|
2,
|
|
3
|
|
],
|
|
"constraint_names": [
|
|
"Массив1Связь1",
|
|
"Массив1Связь2",
|
|
"Массив1Направление",
|
|
"Массив1ШагX",
|
|
"Массив1ШагY",
|
|
"Массив1Связь6",
|
|
"Массив1Связь7",
|
|
"Массив1Связь8",
|
|
"Массив1Связь9",
|
|
"Массив1Связь10",
|
|
"Массив1Связь11",
|
|
"Массив1Связь12",
|
|
"Массив1Связь13",
|
|
"Массив1Связь14",
|
|
"Массив1Связь15",
|
|
"Массив1Связь16",
|
|
"Массив1Связь17",
|
|
"Массив1Связь18",
|
|
"Массив1Связь19",
|
|
"Массив1Связь20"
|
|
],
|
|
"dimension_names": {
|
|
"Направление": "Массив1Направление",
|
|
"ШагX": "Массив1ШагX",
|
|
"ШагY": "Массив1ШагY"
|
|
},
|
|
"associative": true,
|
|
"source_ids": [
|
|
0
|
|
],
|
|
"created_ids": [
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7
|
|
],
|
|
"generated_ids": [
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7
|
|
],
|
|
"helper_ids": [
|
|
1,
|
|
2
|
|
],
|
|
"all_geometry_ids": [
|
|
1,
|
|
2,
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7
|
|
],
|
|
"constraint_ids": [
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7,
|
|
8,
|
|
9,
|
|
10,
|
|
11,
|
|
12,
|
|
13,
|
|
14,
|
|
15,
|
|
16,
|
|
17,
|
|
18,
|
|
19,
|
|
20,
|
|
21,
|
|
22
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"registry": "{\"version\": 1, \"patterns\": [{\"id\": \"p1\", \"kind\": \"rectangular\", \"parameters\": {\"count_x\": 3, \"count_y\": 2, \"spacing_x\": 12.0, \"spacing_y\": 15.0, \"angle\": 0.0}, \"source_geometry_ids\": [1], \"created_geometry_ids\": [4, 5, 6, 7, 8], \"helper_geometry_ids\": [2, 3], \"constraint_names\": [\"Массив1Связь1\", \"Массив1Связь2\", \"Массив1Направление\", \"Массив1ШагX\", \"Массив1ШагY\", \"Массив1Связь6\", \"Массив1Связь7\", \"Массив1Связь8\", \"Массив1Связь9\", \"Массив1Связь10\", \"Массив1Связь11\", \"Массив1Связь12\", \"Массив1Связь13\", \"Массив1Связь14\", \"Массив1Связь15\", \"Массив1Связь16\", \"Массив1Связь17\", \"Массив1Связь18\", \"Массив1Связь19\", \"Массив1Связь20\"], \"dimension_names\": {\"Направление\": \"Массив1Направление\", \"ШагX\": \"Массив1ШагX\", \"ШагY\": \"Массив1ШагY\"}, \"associative\": true}]}",
|
|
"formulas": [
|
|
[
|
|
".Constraints.Массив1Связь10",
|
|
"2 * .Constraints.Массив1ШагX * cos(.Constraints.Массив1Направление) - 0 * .Constraints.Массив1ШагY * sin(.Constraints.Массив1Направление)"
|
|
],
|
|
[
|
|
".Constraints.Массив1Связь11",
|
|
"2 * .Constraints.Массив1ШагX * sin(.Constraints.Массив1Направление) + 0 * .Constraints.Массив1ШагY * cos(.Constraints.Массив1Направление)"
|
|
],
|
|
[
|
|
".Constraints.Массив1Связь13",
|
|
"0 * .Constraints.Массив1ШагX * cos(.Constraints.Массив1Направление) - 1 * .Constraints.Массив1ШагY * sin(.Constraints.Массив1Направление)"
|
|
],
|
|
[
|
|
".Constraints.Массив1Связь14",
|
|
"0 * .Constraints.Массив1ШагX * sin(.Constraints.Массив1Направление) + 1 * .Constraints.Массив1ШагY * cos(.Constraints.Массив1Направление)"
|
|
],
|
|
[
|
|
".Constraints.Массив1Связь16",
|
|
"1 * .Constraints.Массив1ШагX * cos(.Constraints.Массив1Направление) - 1 * .Constraints.Массив1ШагY * sin(.Constraints.Массив1Направление)"
|
|
],
|
|
[
|
|
".Constraints.Массив1Связь17",
|
|
"1 * .Constraints.Массив1ШагX * sin(.Constraints.Массив1Направление) + 1 * .Constraints.Массив1ШагY * cos(.Constraints.Массив1Направление)"
|
|
],
|
|
[
|
|
".Constraints.Массив1Связь19",
|
|
"2 * .Constraints.Массив1ШагX * cos(.Constraints.Массив1Направление) - 1 * .Constraints.Массив1ШагY * sin(.Constraints.Массив1Направление)"
|
|
],
|
|
[
|
|
".Constraints.Массив1Связь2",
|
|
"1 mm"
|
|
],
|
|
[
|
|
".Constraints.Массив1Связь20",
|
|
"2 * .Constraints.Массив1ШагX * sin(.Constraints.Массив1Направление) + 1 * .Constraints.Массив1ШагY * cos(.Constraints.Массив1Направление)"
|
|
],
|
|
[
|
|
".Constraints.Массив1Связь7",
|
|
"1 * .Constraints.Массив1ШагX * cos(.Constraints.Массив1Направление) - 0 * .Constraints.Массив1ШагY * sin(.Constraints.Массив1Направление)"
|
|
],
|
|
[
|
|
".Constraints.Массив1Связь8",
|
|
"1 * .Constraints.Массив1ШагX * sin(.Constraints.Массив1Направление) + 0 * .Constraints.Массив1ШагY * cos(.Constraints.Массив1Направление)"
|
|
]
|
|
],
|
|
"point_count": 1
|
|
},
|
|
"revised_native_preview": {
|
|
"circle_count": 8,
|
|
"native_geometry_count": 10,
|
|
"constraint_count": 29,
|
|
"centers_and_radii_mm": [
|
|
[
|
|
7.0,
|
|
4.0,
|
|
2.0
|
|
],
|
|
[
|
|
7.0,
|
|
19.0,
|
|
2.0
|
|
],
|
|
[
|
|
19.0,
|
|
4.0,
|
|
2.0
|
|
],
|
|
[
|
|
19.0,
|
|
19.0,
|
|
2.0
|
|
],
|
|
[
|
|
31.0,
|
|
4.0,
|
|
2.0
|
|
],
|
|
[
|
|
31.0,
|
|
19.0,
|
|
2.0
|
|
],
|
|
[
|
|
43.0,
|
|
4.0,
|
|
2.0
|
|
],
|
|
[
|
|
43.0,
|
|
19.0,
|
|
2.0
|
|
]
|
|
],
|
|
"metadata": [
|
|
{
|
|
"id": "p1",
|
|
"kind": "rectangular",
|
|
"parameters": {
|
|
"count_x": 4,
|
|
"count_y": 2,
|
|
"spacing_x": 12.0,
|
|
"spacing_y": 15.0,
|
|
"angle": 0.0
|
|
},
|
|
"source_geometry_ids": [
|
|
1
|
|
],
|
|
"created_geometry_ids": [
|
|
11,
|
|
12,
|
|
13,
|
|
14,
|
|
15,
|
|
16,
|
|
17
|
|
],
|
|
"helper_geometry_ids": [
|
|
9,
|
|
10
|
|
],
|
|
"constraint_names": [
|
|
"Массив1Связь1",
|
|
"Массив1Связь2",
|
|
"Массив1Направление",
|
|
"Массив1ШагX",
|
|
"Массив1ШагY",
|
|
"Массив1Связь6",
|
|
"Массив1Связь7",
|
|
"Массив1Связь8",
|
|
"Массив1Связь9",
|
|
"Массив1Связь10",
|
|
"Массив1Связь11",
|
|
"Массив1Связь12",
|
|
"Массив1Связь13",
|
|
"Массив1Связь14",
|
|
"Массив1Связь15",
|
|
"Массив1Связь16",
|
|
"Массив1Связь17",
|
|
"Массив1Связь18",
|
|
"Массив1Связь19",
|
|
"Массив1Связь20",
|
|
"Массив1Связь21",
|
|
"Массив1Связь22",
|
|
"Массив1Связь23",
|
|
"Массив1Связь24",
|
|
"Массив1Связь25",
|
|
"Массив1Связь26"
|
|
],
|
|
"dimension_names": {
|
|
"Направление": "Массив1Направление",
|
|
"ШагX": "Массив1ШагX",
|
|
"ШагY": "Массив1ШагY"
|
|
},
|
|
"associative": true,
|
|
"source_ids": [
|
|
0
|
|
],
|
|
"created_ids": [
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7,
|
|
8,
|
|
9
|
|
],
|
|
"generated_ids": [
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7,
|
|
8,
|
|
9
|
|
],
|
|
"helper_ids": [
|
|
1,
|
|
2
|
|
],
|
|
"all_geometry_ids": [
|
|
1,
|
|
2,
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7,
|
|
8,
|
|
9
|
|
],
|
|
"constraint_ids": [
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7,
|
|
8,
|
|
9,
|
|
10,
|
|
11,
|
|
12,
|
|
13,
|
|
14,
|
|
15,
|
|
16,
|
|
17,
|
|
18,
|
|
19,
|
|
20,
|
|
21,
|
|
22,
|
|
23,
|
|
24,
|
|
25,
|
|
26,
|
|
27,
|
|
28
|
|
]
|
|
}
|
|
],
|
|
"solver_result": 0
|
|
},
|
|
"temporary_document": "QIPreview4ed32be399f7421c87145d667488634e",
|
|
"original_registry_preserved": true,
|
|
"original_formulas_preserved": true,
|
|
"source_datum_label_positions_before": [
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
10.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
24.347156524658203,
|
|
0.0
|
|
],
|
|
[
|
|
3.0,
|
|
-13.0
|
|
],
|
|
[
|
|
38.0,
|
|
-4.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
]
|
|
],
|
|
"rendered_dialog": "C:\\Repos\\qinventor\\artifacts\\validation\\sketch-rectangular-existing-pattern-edit-dialog.png",
|
|
"cancel_preserved_native_data_history_dirty_flag": true,
|
|
"source_datum_label_positions_after_cancel": [
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
10.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
24.347156524658203,
|
|
0.0
|
|
],
|
|
[
|
|
3.0,
|
|
-13.0
|
|
],
|
|
[
|
|
38.0,
|
|
-4.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
]
|
|
],
|
|
"history_before": {
|
|
"undo_count": 1,
|
|
"redo_count": 1,
|
|
"undo_names": [
|
|
"Прямоугольный массив"
|
|
],
|
|
"redo_names": [
|
|
"Изменить радиус исходной окружности массива"
|
|
]
|
|
},
|
|
"history_after_native_redo": {
|
|
"undo_count": 2,
|
|
"redo_count": 0,
|
|
"undo_names": [
|
|
"Изменить радиус исходной окружности массива",
|
|
"Прямоугольный массив"
|
|
],
|
|
"redo_names": []
|
|
},
|
|
"source_radius_after_native_redo_mm": 3.0,
|
|
"regenerated_pattern_after_native_redo": {
|
|
"circle_count": 6,
|
|
"native_geometry_count": 8,
|
|
"constraint_count": 23,
|
|
"centers_and_radii_mm": [
|
|
[
|
|
7.0,
|
|
4.0,
|
|
3.0
|
|
],
|
|
[
|
|
7.0,
|
|
19.0,
|
|
3.0
|
|
],
|
|
[
|
|
19.0,
|
|
4.0,
|
|
3.0
|
|
],
|
|
[
|
|
19.0,
|
|
19.0,
|
|
3.0
|
|
],
|
|
[
|
|
31.0,
|
|
4.0,
|
|
3.0
|
|
],
|
|
[
|
|
31.0,
|
|
19.0,
|
|
3.0
|
|
]
|
|
],
|
|
"metadata": [
|
|
{
|
|
"id": "p1",
|
|
"kind": "rectangular",
|
|
"parameters": {
|
|
"count_x": 3,
|
|
"count_y": 2,
|
|
"spacing_x": 12.0,
|
|
"spacing_y": 15.0,
|
|
"angle": 0.0
|
|
},
|
|
"source_geometry_ids": [
|
|
1
|
|
],
|
|
"created_geometry_ids": [
|
|
4,
|
|
5,
|
|
6,
|
|
7,
|
|
8
|
|
],
|
|
"helper_geometry_ids": [
|
|
2,
|
|
3
|
|
],
|
|
"constraint_names": [
|
|
"Массив1Связь1",
|
|
"Массив1Связь2",
|
|
"Массив1Направление",
|
|
"Массив1ШагX",
|
|
"Массив1ШагY",
|
|
"Массив1Связь6",
|
|
"Массив1Связь7",
|
|
"Массив1Связь8",
|
|
"Массив1Связь9",
|
|
"Массив1Связь10",
|
|
"Массив1Связь11",
|
|
"Массив1Связь12",
|
|
"Массив1Связь13",
|
|
"Массив1Связь14",
|
|
"Массив1Связь15",
|
|
"Массив1Связь16",
|
|
"Массив1Связь17",
|
|
"Массив1Связь18",
|
|
"Массив1Связь19",
|
|
"Массив1Связь20"
|
|
],
|
|
"dimension_names": {
|
|
"Направление": "Массив1Направление",
|
|
"ШагX": "Массив1ШагX",
|
|
"ШагY": "Массив1ШагY"
|
|
},
|
|
"associative": true,
|
|
"source_ids": [
|
|
0
|
|
],
|
|
"created_ids": [
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7
|
|
],
|
|
"generated_ids": [
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7
|
|
],
|
|
"helper_ids": [
|
|
1,
|
|
2
|
|
],
|
|
"all_geometry_ids": [
|
|
1,
|
|
2,
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7
|
|
],
|
|
"constraint_ids": [
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7,
|
|
8,
|
|
9,
|
|
10,
|
|
11,
|
|
12,
|
|
13,
|
|
14,
|
|
15,
|
|
16,
|
|
17,
|
|
18,
|
|
19,
|
|
20,
|
|
21,
|
|
22
|
|
]
|
|
}
|
|
],
|
|
"solver_result": 0
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "circular: existing Point helpers survive detached Edit preview; Cancel preserves registry/formulas/Redo",
|
|
"passed": true,
|
|
"result": {
|
|
"shadow_before_set_parameters": {
|
|
"signature": {
|
|
"geometry": [
|
|
[
|
|
"Circle",
|
|
[
|
|
7.0,
|
|
4.0,
|
|
0.0
|
|
],
|
|
[
|
|
0.0,
|
|
0.0,
|
|
1.0
|
|
],
|
|
2.0
|
|
],
|
|
[
|
|
"Point",
|
|
[
|
|
0.0,
|
|
0.0,
|
|
0.0,
|
|
0.0,
|
|
0.0,
|
|
0.0
|
|
]
|
|
],
|
|
[
|
|
"LineSegment",
|
|
[
|
|
0.0,
|
|
0.0,
|
|
0.0
|
|
],
|
|
[
|
|
7.0,
|
|
4.0,
|
|
0.0
|
|
]
|
|
],
|
|
[
|
|
"Circle",
|
|
[
|
|
-4.0,
|
|
7.0,
|
|
0.0
|
|
],
|
|
[
|
|
0.0,
|
|
0.0,
|
|
1.0
|
|
],
|
|
2.0
|
|
],
|
|
[
|
|
"LineSegment",
|
|
[
|
|
0.0,
|
|
0.0,
|
|
0.0
|
|
],
|
|
[
|
|
-4.0,
|
|
7.0,
|
|
0.0
|
|
]
|
|
],
|
|
[
|
|
"Circle",
|
|
[
|
|
-7.0,
|
|
-4.0,
|
|
0.0
|
|
],
|
|
[
|
|
0.0,
|
|
0.0,
|
|
1.0
|
|
],
|
|
2.0
|
|
],
|
|
[
|
|
"LineSegment",
|
|
[
|
|
0.0,
|
|
0.0,
|
|
0.0
|
|
],
|
|
[
|
|
-7.0,
|
|
-4.0,
|
|
0.0
|
|
]
|
|
],
|
|
[
|
|
"Circle",
|
|
[
|
|
4.0,
|
|
-7.0,
|
|
0.0
|
|
],
|
|
[
|
|
0.0,
|
|
0.0,
|
|
1.0
|
|
],
|
|
2.0
|
|
],
|
|
[
|
|
"LineSegment",
|
|
[
|
|
0.0,
|
|
0.0,
|
|
0.0
|
|
],
|
|
[
|
|
4.0,
|
|
-7.0,
|
|
0.0
|
|
]
|
|
]
|
|
],
|
|
"constraints": [
|
|
[
|
|
"DistanceX",
|
|
0,
|
|
3,
|
|
-2000,
|
|
0,
|
|
-2000,
|
|
0,
|
|
7.0,
|
|
"ЦентрX"
|
|
],
|
|
[
|
|
"DistanceY",
|
|
0,
|
|
3,
|
|
-2000,
|
|
0,
|
|
-2000,
|
|
0,
|
|
4.0,
|
|
"ЦентрY"
|
|
],
|
|
[
|
|
"Radius",
|
|
0,
|
|
0,
|
|
-2000,
|
|
0,
|
|
-2000,
|
|
0,
|
|
2.0,
|
|
"Радиус"
|
|
],
|
|
[
|
|
"DistanceX",
|
|
1,
|
|
1,
|
|
-2000,
|
|
0,
|
|
-2000,
|
|
0,
|
|
0.0,
|
|
"КруговойМассив1ЦентрX"
|
|
],
|
|
[
|
|
"DistanceY",
|
|
1,
|
|
1,
|
|
-2000,
|
|
0,
|
|
-2000,
|
|
0,
|
|
0.0,
|
|
"КруговойМассив1ЦентрY"
|
|
],
|
|
[
|
|
"Coincident",
|
|
2,
|
|
1,
|
|
1,
|
|
1,
|
|
-2000,
|
|
0,
|
|
0.0,
|
|
"КруговойМассив1Связь3"
|
|
],
|
|
[
|
|
"Coincident",
|
|
2,
|
|
2,
|
|
0,
|
|
3,
|
|
-2000,
|
|
0,
|
|
0.0,
|
|
"КруговойМассив1Связь4"
|
|
],
|
|
[
|
|
"Equal",
|
|
0,
|
|
0,
|
|
3,
|
|
0,
|
|
-2000,
|
|
0,
|
|
0.0,
|
|
"КруговойМассив1Связь5"
|
|
],
|
|
[
|
|
"Coincident",
|
|
4,
|
|
1,
|
|
1,
|
|
1,
|
|
-2000,
|
|
0,
|
|
0.0,
|
|
"КруговойМассив1Связь6"
|
|
],
|
|
[
|
|
"Coincident",
|
|
4,
|
|
2,
|
|
3,
|
|
3,
|
|
-2000,
|
|
0,
|
|
0.0,
|
|
"КруговойМассив1Связь7"
|
|
],
|
|
[
|
|
"Equal",
|
|
2,
|
|
0,
|
|
4,
|
|
0,
|
|
-2000,
|
|
0,
|
|
0.0,
|
|
"КруговойМассив1Связь8"
|
|
],
|
|
[
|
|
"Angle",
|
|
2,
|
|
0,
|
|
4,
|
|
0,
|
|
-2000,
|
|
0,
|
|
1.570796327,
|
|
"КруговойМассив1УголШага"
|
|
],
|
|
[
|
|
"Equal",
|
|
0,
|
|
0,
|
|
5,
|
|
0,
|
|
-2000,
|
|
0,
|
|
0.0,
|
|
"КруговойМассив1Связь10"
|
|
],
|
|
[
|
|
"Coincident",
|
|
6,
|
|
1,
|
|
1,
|
|
1,
|
|
-2000,
|
|
0,
|
|
0.0,
|
|
"КруговойМассив1Связь11"
|
|
],
|
|
[
|
|
"Coincident",
|
|
6,
|
|
2,
|
|
5,
|
|
3,
|
|
-2000,
|
|
0,
|
|
0.0,
|
|
"КруговойМассив1Связь12"
|
|
],
|
|
[
|
|
"Equal",
|
|
2,
|
|
0,
|
|
6,
|
|
0,
|
|
-2000,
|
|
0,
|
|
0.0,
|
|
"КруговойМассив1Связь13"
|
|
],
|
|
[
|
|
"Angle",
|
|
2,
|
|
0,
|
|
6,
|
|
0,
|
|
-2000,
|
|
0,
|
|
3.141592654,
|
|
"КруговойМассив1Связь14"
|
|
],
|
|
[
|
|
"Equal",
|
|
0,
|
|
0,
|
|
7,
|
|
0,
|
|
-2000,
|
|
0,
|
|
0.0,
|
|
"КруговойМассив1Связь15"
|
|
],
|
|
[
|
|
"Coincident",
|
|
8,
|
|
1,
|
|
1,
|
|
1,
|
|
-2000,
|
|
0,
|
|
0.0,
|
|
"КруговойМассив1Связь16"
|
|
],
|
|
[
|
|
"Coincident",
|
|
8,
|
|
2,
|
|
7,
|
|
3,
|
|
-2000,
|
|
0,
|
|
0.0,
|
|
"КруговойМассив1Связь17"
|
|
],
|
|
[
|
|
"Equal",
|
|
2,
|
|
0,
|
|
8,
|
|
0,
|
|
-2000,
|
|
0,
|
|
0.0,
|
|
"КруговойМассив1Связь18"
|
|
],
|
|
[
|
|
"Angle",
|
|
2,
|
|
0,
|
|
8,
|
|
0,
|
|
-2000,
|
|
0,
|
|
4.71238898,
|
|
"КруговойМассив1Связь19"
|
|
]
|
|
],
|
|
"datum_label_positions": [
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
10.0
|
|
],
|
|
[
|
|
14.0,
|
|
0.0
|
|
],
|
|
[
|
|
14.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
11.363961219787598,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
]
|
|
],
|
|
"construction": [
|
|
false,
|
|
true,
|
|
true,
|
|
false,
|
|
true,
|
|
false,
|
|
true,
|
|
false,
|
|
true
|
|
],
|
|
"property_names": [
|
|
"ArcFitTolerance",
|
|
"AttacherEngine",
|
|
"AttacherType",
|
|
"AttachmentOffset",
|
|
"AttachmentSupport",
|
|
"Constraints",
|
|
"Exports",
|
|
"ExpressionEngine",
|
|
"ExternalGeo",
|
|
"ExternalGeometry",
|
|
"ExternalTypes",
|
|
"FullyConstrained",
|
|
"Geometry",
|
|
"InternalShape",
|
|
"Label",
|
|
"Label2",
|
|
"MakeInternals",
|
|
"MapMode",
|
|
"MapPathParameter",
|
|
"MapReversed",
|
|
"Placement",
|
|
"QISketchPatterns",
|
|
"Shape",
|
|
"ShapeMaterial",
|
|
"Visibility",
|
|
"_ElementMapVersion",
|
|
"_ExternalGeoVersion"
|
|
],
|
|
"patterns": [
|
|
{
|
|
"id": "p1",
|
|
"kind": "circular",
|
|
"parameters": {
|
|
"count": 4,
|
|
"center": [
|
|
0.0,
|
|
0.0
|
|
],
|
|
"angle": 360.0
|
|
},
|
|
"source_geometry_ids": [
|
|
1
|
|
],
|
|
"created_geometry_ids": [
|
|
4,
|
|
6,
|
|
8
|
|
],
|
|
"helper_geometry_ids": [
|
|
2,
|
|
3,
|
|
5,
|
|
7,
|
|
9
|
|
],
|
|
"constraint_names": [
|
|
"КруговойМассив1ЦентрX",
|
|
"КруговойМассив1ЦентрY",
|
|
"КруговойМассив1Связь3",
|
|
"КруговойМассив1Связь4",
|
|
"КруговойМассив1Связь5",
|
|
"КруговойМассив1Связь6",
|
|
"КруговойМассив1Связь7",
|
|
"КруговойМассив1Связь8",
|
|
"КруговойМассив1УголШага",
|
|
"КруговойМассив1Связь10",
|
|
"КруговойМассив1Связь11",
|
|
"КруговойМассив1Связь12",
|
|
"КруговойМассив1Связь13",
|
|
"КруговойМассив1Связь14",
|
|
"КруговойМассив1Связь15",
|
|
"КруговойМассив1Связь16",
|
|
"КруговойМассив1Связь17",
|
|
"КруговойМассив1Связь18",
|
|
"КруговойМассив1Связь19"
|
|
],
|
|
"dimension_names": {
|
|
"ЦентрX": "КруговойМассив1ЦентрX",
|
|
"ЦентрY": "КруговойМассив1ЦентрY",
|
|
"УголШага": "КруговойМассив1УголШага"
|
|
},
|
|
"associative": true,
|
|
"source_ids": [
|
|
0
|
|
],
|
|
"created_ids": [
|
|
3,
|
|
5,
|
|
7
|
|
],
|
|
"generated_ids": [
|
|
3,
|
|
5,
|
|
7
|
|
],
|
|
"helper_ids": [
|
|
1,
|
|
2,
|
|
4,
|
|
6,
|
|
8
|
|
],
|
|
"all_geometry_ids": [
|
|
1,
|
|
2,
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7,
|
|
8
|
|
],
|
|
"constraint_ids": [
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7,
|
|
8,
|
|
9,
|
|
10,
|
|
11,
|
|
12,
|
|
13,
|
|
14,
|
|
15,
|
|
16,
|
|
17,
|
|
18,
|
|
19,
|
|
20,
|
|
21
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"registry": "{\"version\": 1, \"patterns\": [{\"id\": \"p1\", \"kind\": \"circular\", \"parameters\": {\"count\": 4, \"center\": [0.0, 0.0], \"angle\": 360.0}, \"source_geometry_ids\": [1], \"created_geometry_ids\": [4, 6, 8], \"helper_geometry_ids\": [2, 3, 5, 7, 9], \"constraint_names\": [\"КруговойМассив1ЦентрX\", \"КруговойМассив1ЦентрY\", \"КруговойМассив1Связь3\", \"КруговойМассив1Связь4\", \"КруговойМассив1Связь5\", \"КруговойМассив1Связь6\", \"КруговойМассив1Связь7\", \"КруговойМассив1Связь8\", \"КруговойМассив1УголШага\", \"КруговойМассив1Связь10\", \"КруговойМассив1Связь11\", \"КруговойМассив1Связь12\", \"КруговойМассив1Связь13\", \"КруговойМассив1Связь14\", \"КруговойМассив1Связь15\", \"КруговойМассив1Связь16\", \"КруговойМассив1Связь17\", \"КруговойМассив1Связь18\", \"КруговойМассив1Связь19\"], \"dimension_names\": {\"ЦентрX\": \"КруговойМассив1ЦентрX\", \"ЦентрY\": \"КруговойМассив1ЦентрY\", \"УголШага\": \"КруговойМассив1УголШага\"}, \"associative\": true}]}",
|
|
"formulas": [
|
|
[
|
|
".Constraints.КруговойМассив1Связь14",
|
|
"2 * .Constraints.КруговойМассив1УголШага"
|
|
],
|
|
[
|
|
".Constraints.КруговойМассив1Связь19",
|
|
"3 * .Constraints.КруговойМассив1УголШага"
|
|
]
|
|
],
|
|
"point_count": 1
|
|
},
|
|
"revised_native_preview": {
|
|
"circle_count": 6,
|
|
"native_geometry_count": 13,
|
|
"constraint_count": 32,
|
|
"centers_and_radii_mm": [
|
|
[
|
|
-8.01426,
|
|
0.878429,
|
|
2.0
|
|
],
|
|
[
|
|
-7.0,
|
|
-4.0,
|
|
2.0
|
|
],
|
|
[
|
|
-5.967345,
|
|
5.421328,
|
|
2.0
|
|
],
|
|
[
|
|
-1.641107,
|
|
7.893464,
|
|
2.0
|
|
],
|
|
[
|
|
3.311978,
|
|
7.350565,
|
|
2.0
|
|
],
|
|
[
|
|
7.0,
|
|
4.0,
|
|
2.0
|
|
]
|
|
],
|
|
"metadata": [
|
|
{
|
|
"id": "p1",
|
|
"kind": "circular",
|
|
"parameters": {
|
|
"count": 6,
|
|
"center": [
|
|
0.0,
|
|
0.0
|
|
],
|
|
"angle": 180.0
|
|
},
|
|
"source_geometry_ids": [
|
|
1
|
|
],
|
|
"created_geometry_ids": [
|
|
12,
|
|
14,
|
|
16,
|
|
18,
|
|
20
|
|
],
|
|
"helper_geometry_ids": [
|
|
10,
|
|
11,
|
|
13,
|
|
15,
|
|
17,
|
|
19,
|
|
21
|
|
],
|
|
"constraint_names": [
|
|
"КруговойМассив1ЦентрX",
|
|
"КруговойМассив1ЦентрY",
|
|
"КруговойМассив1Связь3",
|
|
"КруговойМассив1Связь4",
|
|
"КруговойМассив1Связь5",
|
|
"КруговойМассив1Связь6",
|
|
"КруговойМассив1Связь7",
|
|
"КруговойМассив1Связь8",
|
|
"КруговойМассив1УголШага",
|
|
"КруговойМассив1Связь10",
|
|
"КруговойМассив1Связь11",
|
|
"КруговойМассив1Связь12",
|
|
"КруговойМассив1Связь13",
|
|
"КруговойМассив1Связь14",
|
|
"КруговойМассив1Связь15",
|
|
"КруговойМассив1Связь16",
|
|
"КруговойМассив1Связь17",
|
|
"КруговойМассив1Связь18",
|
|
"КруговойМассив1Связь19",
|
|
"КруговойМассив1Связь20",
|
|
"КруговойМассив1Связь21",
|
|
"КруговойМассив1Связь22",
|
|
"КруговойМассив1Связь23",
|
|
"КруговойМассив1Связь24",
|
|
"КруговойМассив1Связь25",
|
|
"КруговойМассив1Связь26",
|
|
"КруговойМассив1Связь27",
|
|
"КруговойМассив1Связь28",
|
|
"КруговойМассив1Связь29"
|
|
],
|
|
"dimension_names": {
|
|
"ЦентрX": "КруговойМассив1ЦентрX",
|
|
"ЦентрY": "КруговойМассив1ЦентрY",
|
|
"УголШага": "КруговойМассив1УголШага"
|
|
},
|
|
"associative": true,
|
|
"source_ids": [
|
|
0
|
|
],
|
|
"created_ids": [
|
|
3,
|
|
5,
|
|
7,
|
|
9,
|
|
11
|
|
],
|
|
"generated_ids": [
|
|
3,
|
|
5,
|
|
7,
|
|
9,
|
|
11
|
|
],
|
|
"helper_ids": [
|
|
1,
|
|
2,
|
|
4,
|
|
6,
|
|
8,
|
|
10,
|
|
12
|
|
],
|
|
"all_geometry_ids": [
|
|
1,
|
|
2,
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7,
|
|
8,
|
|
9,
|
|
10,
|
|
11,
|
|
12
|
|
],
|
|
"constraint_ids": [
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7,
|
|
8,
|
|
9,
|
|
10,
|
|
11,
|
|
12,
|
|
13,
|
|
14,
|
|
15,
|
|
16,
|
|
17,
|
|
18,
|
|
19,
|
|
20,
|
|
21,
|
|
22,
|
|
23,
|
|
24,
|
|
25,
|
|
26,
|
|
27,
|
|
28,
|
|
29,
|
|
30,
|
|
31
|
|
]
|
|
}
|
|
],
|
|
"solver_result": 0
|
|
},
|
|
"temporary_document": "QIPreviewbfb737b0690b4c579209a314501884be",
|
|
"original_registry_preserved": true,
|
|
"original_formulas_preserved": true,
|
|
"source_datum_label_positions_before": [
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
10.0
|
|
],
|
|
[
|
|
14.0,
|
|
0.0
|
|
],
|
|
[
|
|
14.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
11.363961219787598,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
]
|
|
],
|
|
"rendered_dialog": "C:\\Repos\\qinventor\\artifacts\\validation\\sketch-circular-existing-pattern-edit-dialog.png",
|
|
"cancel_preserved_native_data_history_dirty_flag": true,
|
|
"source_datum_label_positions_after_cancel": [
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
10.0
|
|
],
|
|
[
|
|
14.0,
|
|
0.0
|
|
],
|
|
[
|
|
14.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
11.363961219787598,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
],
|
|
[
|
|
10.0,
|
|
0.0
|
|
]
|
|
],
|
|
"history_before": {
|
|
"undo_count": 1,
|
|
"redo_count": 1,
|
|
"undo_names": [
|
|
"Круговой массив"
|
|
],
|
|
"redo_names": [
|
|
"Изменить радиус исходной окружности массива"
|
|
]
|
|
},
|
|
"history_after_native_redo": {
|
|
"undo_count": 2,
|
|
"redo_count": 0,
|
|
"undo_names": [
|
|
"Изменить радиус исходной окружности массива",
|
|
"Круговой массив"
|
|
],
|
|
"redo_names": []
|
|
},
|
|
"source_radius_after_native_redo_mm": 3.0,
|
|
"regenerated_pattern_after_native_redo": {
|
|
"circle_count": 4,
|
|
"native_geometry_count": 9,
|
|
"constraint_count": 22,
|
|
"centers_and_radii_mm": [
|
|
[
|
|
-7.0,
|
|
-4.0,
|
|
3.0
|
|
],
|
|
[
|
|
-4.0,
|
|
7.0,
|
|
3.0
|
|
],
|
|
[
|
|
4.0,
|
|
-7.0,
|
|
3.0
|
|
],
|
|
[
|
|
7.0,
|
|
4.0,
|
|
3.0
|
|
]
|
|
],
|
|
"metadata": [
|
|
{
|
|
"id": "p1",
|
|
"kind": "circular",
|
|
"parameters": {
|
|
"count": 4,
|
|
"center": [
|
|
0.0,
|
|
0.0
|
|
],
|
|
"angle": 360.0
|
|
},
|
|
"source_geometry_ids": [
|
|
1
|
|
],
|
|
"created_geometry_ids": [
|
|
4,
|
|
6,
|
|
8
|
|
],
|
|
"helper_geometry_ids": [
|
|
2,
|
|
3,
|
|
5,
|
|
7,
|
|
9
|
|
],
|
|
"constraint_names": [
|
|
"КруговойМассив1ЦентрX",
|
|
"КруговойМассив1ЦентрY",
|
|
"КруговойМассив1Связь3",
|
|
"КруговойМассив1Связь4",
|
|
"КруговойМассив1Связь5",
|
|
"КруговойМассив1Связь6",
|
|
"КруговойМассив1Связь7",
|
|
"КруговойМассив1Связь8",
|
|
"КруговойМассив1УголШага",
|
|
"КруговойМассив1Связь10",
|
|
"КруговойМассив1Связь11",
|
|
"КруговойМассив1Связь12",
|
|
"КруговойМассив1Связь13",
|
|
"КруговойМассив1Связь14",
|
|
"КруговойМассив1Связь15",
|
|
"КруговойМассив1Связь16",
|
|
"КруговойМассив1Связь17",
|
|
"КруговойМассив1Связь18",
|
|
"КруговойМассив1Связь19"
|
|
],
|
|
"dimension_names": {
|
|
"ЦентрX": "КруговойМассив1ЦентрX",
|
|
"ЦентрY": "КруговойМассив1ЦентрY",
|
|
"УголШага": "КруговойМассив1УголШага"
|
|
},
|
|
"associative": true,
|
|
"source_ids": [
|
|
0
|
|
],
|
|
"created_ids": [
|
|
3,
|
|
5,
|
|
7
|
|
],
|
|
"generated_ids": [
|
|
3,
|
|
5,
|
|
7
|
|
],
|
|
"helper_ids": [
|
|
1,
|
|
2,
|
|
4,
|
|
6,
|
|
8
|
|
],
|
|
"all_geometry_ids": [
|
|
1,
|
|
2,
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7,
|
|
8
|
|
],
|
|
"constraint_ids": [
|
|
3,
|
|
4,
|
|
5,
|
|
6,
|
|
7,
|
|
8,
|
|
9,
|
|
10,
|
|
11,
|
|
12,
|
|
13,
|
|
14,
|
|
15,
|
|
16,
|
|
17,
|
|
18,
|
|
19,
|
|
20,
|
|
21
|
|
]
|
|
}
|
|
],
|
|
"solver_result": 0
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "Russian transformation controls and Finish/Cancel remain visible at 1440 px",
|
|
"passed": true,
|
|
"result": {
|
|
"window_width": 1440,
|
|
"controls": {
|
|
"QI_SketchMirror": {
|
|
"caption": "Зеркальное отражение",
|
|
"tooltip": "Выберите геометрию эскиза и задайте ось отражения. Копии связаны с исходными размерами; доступен предпросмотр.",
|
|
"visible_without_scroll": true
|
|
},
|
|
"QI_SketchRectangularPattern": {
|
|
"caption": "Прямоугольный массив",
|
|
"tooltip": "Повторить выбранную геометрию в двух перпендикулярных направлениях. Задайте количество, шаг и угол направления.",
|
|
"visible_without_scroll": true
|
|
},
|
|
"QI_SketchCircularPattern": {
|
|
"caption": "Круговой массив",
|
|
"tooltip": "Повторить выбранную геометрию вокруг заданного центра. Задайте количество и общий угол; копии сохраняют связь.",
|
|
"visible_without_scroll": true
|
|
},
|
|
"QI_SketchOffset": {
|
|
"caption": "Смещение геометрии",
|
|
"tooltip": "Создать смещённую геометрию: выбор контура, расстояние и связь с исходными размерами. Отрицательное расстояние меняет сторону.",
|
|
"visible_without_scroll": true
|
|
},
|
|
"QI_EditSketchPattern": {
|
|
"caption": "Параметры повторений",
|
|
"tooltip": "Изменить ось зеркала, количество, шаг, центр или угол созданного повторения геометрии.",
|
|
"visible_without_scroll": true
|
|
},
|
|
"QI_FinishSketch": {
|
|
"caption": "Завершить\nэскиз",
|
|
"tooltip": "Закрыть редактор и вернуться к модели",
|
|
"visible_without_scroll": true
|
|
},
|
|
"QI_CancelSketch": {
|
|
"caption": "Отменить\nэскиз",
|
|
"tooltip": "Отменить новые построения; существующий эскиз вернётся к состоянию до редактирования",
|
|
"visible_without_scroll": true
|
|
}
|
|
},
|
|
"untranslated_candidates": []
|
|
}
|
|
}
|
|
],
|
|
"input_delivery": "Qt button and keyboard events on native dialogs",
|
|
"selection_method": "explicit native Sketch Edge1 preselection through Selection API",
|
|
"persistence_boundary": "Qt QI_Save and native App.openDocument on the saved FCStd",
|
|
"os_pointer_access": false,
|
|
"native_shadow_guard": {
|
|
"module_file": "C:\\Repos\\qinventor\\src\\QInventor\\qi_sketch_preview.py",
|
|
"point_coordinate_attributes": [
|
|
"X",
|
|
"Y",
|
|
"Z"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "parametric_solid_kernel_suite",
|
|
"passed": true,
|
|
"result": {
|
|
"status": "passed",
|
|
"freecad_version": [
|
|
"1",
|
|
"1",
|
|
"4",
|
|
"20260928 (Git shallow)",
|
|
"Unknown",
|
|
"2026/09/28 13:46:34",
|
|
"(HEAD detached at 4fd3bf320)",
|
|
"4fd3bf320d9566a27e60069fc8387448aaa3a094"
|
|
],
|
|
"gui": true,
|
|
"source": "C:\\Repos\\qinventor\\src\\QInventor\\qi_model.py",
|
|
"passed": 20,
|
|
"failed": 0,
|
|
"skipped": 0,
|
|
"checks": [
|
|
{
|
|
"name": "box_volume_constraints",
|
|
"passed": true,
|
|
"status": "passed",
|
|
"detail": {
|
|
"volume_mm3": 63999.999999999985,
|
|
"fully_constrained": true,
|
|
"feature": "PartDesign::Pad"
|
|
}
|
|
},
|
|
{
|
|
"name": "box_edit_undo_redo",
|
|
"passed": true,
|
|
"status": "passed",
|
|
"detail": {
|
|
"volume_mm3": 15000.0,
|
|
"undo_redo": true,
|
|
"native_parameters": "App::VarSet"
|
|
}
|
|
},
|
|
{
|
|
"name": "creation_undo_redo",
|
|
"passed": true,
|
|
"status": "passed",
|
|
"detail": {
|
|
"single_creation_undo": true
|
|
}
|
|
},
|
|
{
|
|
"name": "cylinder_material",
|
|
"passed": true,
|
|
"status": "passed",
|
|
"detail": {
|
|
"material": "Алюминий",
|
|
"mass_kg": 0.0732870734229427
|
|
}
|
|
},
|
|
{
|
|
"name": "plate_parametric_holes",
|
|
"passed": true,
|
|
"status": "passed",
|
|
"detail": {
|
|
"volume_mm3": 83685.66394729842,
|
|
"fully_constrained": true,
|
|
"holes": 2
|
|
}
|
|
},
|
|
{
|
|
"name": "atomic_dimensions_and_rejection",
|
|
"passed": true,
|
|
"status": "passed",
|
|
"detail": {
|
|
"rejected_without_partial_changes": true
|
|
}
|
|
},
|
|
{
|
|
"name": "invalid_dimension_inputs",
|
|
"passed": true,
|
|
"status": "passed",
|
|
"detail": {
|
|
"invalid_cases": 14,
|
|
"document_unchanged": true
|
|
}
|
|
},
|
|
{
|
|
"name": "free_sketch_dimensions",
|
|
"passed": true,
|
|
"status": "passed",
|
|
"detail": {
|
|
"rectangle_driving_dimensions": [
|
|
"Length",
|
|
"Width"
|
|
],
|
|
"circle_radius": 9
|
|
}
|
|
},
|
|
{
|
|
"name": "all_origin_planes",
|
|
"passed": true,
|
|
"status": "passed",
|
|
"detail": {
|
|
"planes": [
|
|
"XY",
|
|
"XZ",
|
|
"YZ"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "pocket_and_rollback",
|
|
"passed": true,
|
|
"status": "passed",
|
|
"detail": {
|
|
"real_subtractive_volume_mm3": 19214.601836602546,
|
|
"failed_pocket_rolled_back": true
|
|
}
|
|
},
|
|
{
|
|
"name": "save_and_reopen",
|
|
"passed": true,
|
|
"status": "passed",
|
|
"detail": {
|
|
"native_project": "C:\\Repos\\qinventor\\artifacts\\validation\\parametric-bracket.FCStd",
|
|
"editable_after_reopen": true
|
|
}
|
|
},
|
|
{
|
|
"name": "step_round_trip",
|
|
"passed": true,
|
|
"status": "passed",
|
|
"detail": {
|
|
"path": "C:\\Repos\\qinventor\\artifacts\\validation\\bracket.step",
|
|
"imported_volume_mm3": 56743.36293856411,
|
|
"valid": true
|
|
}
|
|
},
|
|
{
|
|
"name": "solid_export_formats",
|
|
"passed": true,
|
|
"status": "passed",
|
|
"detail": {
|
|
"formats": [
|
|
".iges",
|
|
".brep",
|
|
".stl"
|
|
],
|
|
"stl_facets": 12
|
|
}
|
|
},
|
|
{
|
|
"name": "flat_exports_world_geometry_and_history",
|
|
"passed": true,
|
|
"status": "passed",
|
|
"detail": {
|
|
"checks": 45,
|
|
"analytical_geometry_and_history": [
|
|
{
|
|
"case": "placed_assembly-default-brep",
|
|
"known_placements": {
|
|
"root": [
|
|
100,
|
|
200,
|
|
300,
|
|
90
|
|
],
|
|
"A_local": [
|
|
10,
|
|
20,
|
|
30,
|
|
90
|
|
],
|
|
"B_local": [
|
|
40,
|
|
50,
|
|
60,
|
|
180
|
|
],
|
|
"A_world": [
|
|
80,
|
|
210,
|
|
330,
|
|
180
|
|
],
|
|
"B_world": [
|
|
50,
|
|
240,
|
|
360,
|
|
270
|
|
]
|
|
},
|
|
"exact_snapshot_before_first_world_query": true,
|
|
"raw_readback": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 2,
|
|
"shells": 2,
|
|
"faces": 12,
|
|
"volume_mm3": 234.0,
|
|
"native_volume_mm3": 233.99999999999997,
|
|
"com_mm": [
|
|
55.666666666666664,
|
|
234.52564102564102,
|
|
360.2692307692308
|
|
],
|
|
"bounds_mm": [
|
|
50.0,
|
|
207.0,
|
|
330.0,
|
|
80.0,
|
|
240.0,
|
|
367.0
|
|
]
|
|
},
|
|
"comparison": {
|
|
"expected": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 2,
|
|
"shells": 2,
|
|
"faces": 12,
|
|
"volume_mm3": 234.0,
|
|
"native_volume_mm3": 234.00000000000003,
|
|
"com_mm": [
|
|
55.666666666666664,
|
|
234.52564102564102,
|
|
360.2692307692308
|
|
],
|
|
"bounds_mm": [
|
|
50.0,
|
|
207.0,
|
|
330.0,
|
|
80.0,
|
|
240.0,
|
|
367.0
|
|
]
|
|
},
|
|
"actual": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 2,
|
|
"shells": 2,
|
|
"faces": 12,
|
|
"volume_mm3": 234.0,
|
|
"native_volume_mm3": 233.99999999999997,
|
|
"com_mm": [
|
|
55.666666666666664,
|
|
234.52564102564102,
|
|
360.2692307692308
|
|
],
|
|
"bounds_mm": [
|
|
50.0,
|
|
207.0,
|
|
330.0,
|
|
80.0,
|
|
240.0,
|
|
367.0
|
|
]
|
|
},
|
|
"missing_volume_mm3": 0.0,
|
|
"excess_volume_mm3": 0.0,
|
|
"volume_delta_mm3": 0.0,
|
|
"com_distance_mm": 0.0,
|
|
"max_bound_delta_mm": 0.0,
|
|
"matches": true
|
|
},
|
|
"original_redo_executed": true
|
|
},
|
|
{
|
|
"case": "placed_assembly-default-iges",
|
|
"known_placements": {
|
|
"root": [
|
|
100,
|
|
200,
|
|
300,
|
|
90
|
|
],
|
|
"A_local": [
|
|
10,
|
|
20,
|
|
30,
|
|
90
|
|
],
|
|
"B_local": [
|
|
40,
|
|
50,
|
|
60,
|
|
180
|
|
],
|
|
"A_world": [
|
|
80,
|
|
210,
|
|
330,
|
|
180
|
|
],
|
|
"B_world": [
|
|
50,
|
|
240,
|
|
360,
|
|
270
|
|
]
|
|
},
|
|
"exact_snapshot_before_first_world_query": true,
|
|
"raw_readback": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 0,
|
|
"shells": 0,
|
|
"faces": 12,
|
|
"volume_mm3": 0,
|
|
"native_volume_mm3": 233.99999999999994,
|
|
"com_mm": [
|
|
0.0,
|
|
0.0,
|
|
0.0
|
|
],
|
|
"bounds_mm": [
|
|
50.0,
|
|
207.0,
|
|
330.0,
|
|
80.0,
|
|
240.0,
|
|
367.0
|
|
]
|
|
},
|
|
"iges_topology_readback": "native sewShape of raw imported surfaces and closed-shell makeSolid",
|
|
"comparison": {
|
|
"expected": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 2,
|
|
"shells": 2,
|
|
"faces": 12,
|
|
"volume_mm3": 234.0,
|
|
"native_volume_mm3": 234.00000000000003,
|
|
"com_mm": [
|
|
55.666666666666664,
|
|
234.52564102564102,
|
|
360.2692307692308
|
|
],
|
|
"bounds_mm": [
|
|
50.0,
|
|
207.0,
|
|
330.0,
|
|
80.0,
|
|
240.0,
|
|
367.0
|
|
]
|
|
},
|
|
"actual": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 2,
|
|
"shells": 2,
|
|
"faces": 12,
|
|
"volume_mm3": 234.0,
|
|
"native_volume_mm3": 233.99999999999994,
|
|
"com_mm": [
|
|
55.66666666666665,
|
|
234.52564102564102,
|
|
360.26923076923083
|
|
],
|
|
"bounds_mm": [
|
|
50.0,
|
|
207.0,
|
|
330.0,
|
|
80.0,
|
|
240.0,
|
|
367.0
|
|
]
|
|
},
|
|
"missing_volume_mm3": 0.0,
|
|
"excess_volume_mm3": 0.0,
|
|
"volume_delta_mm3": 0.0,
|
|
"com_distance_mm": 5.859285502108464E-14,
|
|
"max_bound_delta_mm": 0.0,
|
|
"matches": true
|
|
},
|
|
"original_redo_executed": true
|
|
},
|
|
{
|
|
"case": "placed_assembly-default-stl",
|
|
"known_placements": {
|
|
"root": [
|
|
100,
|
|
200,
|
|
300,
|
|
90
|
|
],
|
|
"A_local": [
|
|
10,
|
|
20,
|
|
30,
|
|
90
|
|
],
|
|
"B_local": [
|
|
40,
|
|
50,
|
|
60,
|
|
180
|
|
],
|
|
"A_world": [
|
|
80,
|
|
210,
|
|
330,
|
|
180
|
|
],
|
|
"B_world": [
|
|
50,
|
|
240,
|
|
360,
|
|
270
|
|
]
|
|
},
|
|
"exact_snapshot_before_first_world_query": true,
|
|
"stl_facets": 24,
|
|
"volume_mm3": 234.0,
|
|
"bounds_mm": [
|
|
50.0,
|
|
207.0,
|
|
330.0,
|
|
80.0,
|
|
240.0,
|
|
367.0
|
|
],
|
|
"original_redo_executed": true
|
|
},
|
|
{
|
|
"case": "placed_assembly-explicit-brep",
|
|
"known_placements": {
|
|
"root": [
|
|
100,
|
|
200,
|
|
300,
|
|
90
|
|
],
|
|
"A_local": [
|
|
10,
|
|
20,
|
|
30,
|
|
90
|
|
],
|
|
"B_local": [
|
|
40,
|
|
50,
|
|
60,
|
|
180
|
|
],
|
|
"A_world": [
|
|
80,
|
|
210,
|
|
330,
|
|
180
|
|
],
|
|
"B_world": [
|
|
50,
|
|
240,
|
|
360,
|
|
270
|
|
]
|
|
},
|
|
"exact_snapshot_before_first_world_query": true,
|
|
"raw_readback": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 2,
|
|
"shells": 2,
|
|
"faces": 12,
|
|
"volume_mm3": 234.0,
|
|
"native_volume_mm3": 233.99999999999997,
|
|
"com_mm": [
|
|
55.666666666666664,
|
|
234.52564102564102,
|
|
360.2692307692308
|
|
],
|
|
"bounds_mm": [
|
|
50.0,
|
|
207.0,
|
|
330.0,
|
|
80.0,
|
|
240.0,
|
|
367.0
|
|
]
|
|
},
|
|
"comparison": {
|
|
"expected": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 2,
|
|
"shells": 2,
|
|
"faces": 12,
|
|
"volume_mm3": 234.0,
|
|
"native_volume_mm3": 234.00000000000003,
|
|
"com_mm": [
|
|
55.666666666666664,
|
|
234.52564102564102,
|
|
360.2692307692308
|
|
],
|
|
"bounds_mm": [
|
|
50.0,
|
|
207.0,
|
|
330.0,
|
|
80.0,
|
|
240.0,
|
|
367.0
|
|
]
|
|
},
|
|
"actual": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 2,
|
|
"shells": 2,
|
|
"faces": 12,
|
|
"volume_mm3": 234.0,
|
|
"native_volume_mm3": 233.99999999999997,
|
|
"com_mm": [
|
|
55.666666666666664,
|
|
234.52564102564102,
|
|
360.2692307692308
|
|
],
|
|
"bounds_mm": [
|
|
50.0,
|
|
207.0,
|
|
330.0,
|
|
80.0,
|
|
240.0,
|
|
367.0
|
|
]
|
|
},
|
|
"missing_volume_mm3": 0.0,
|
|
"excess_volume_mm3": 0.0,
|
|
"volume_delta_mm3": 0.0,
|
|
"com_distance_mm": 0.0,
|
|
"max_bound_delta_mm": 0.0,
|
|
"matches": true
|
|
},
|
|
"original_redo_executed": true
|
|
},
|
|
{
|
|
"case": "placed_assembly-explicit-iges",
|
|
"known_placements": {
|
|
"root": [
|
|
100,
|
|
200,
|
|
300,
|
|
90
|
|
],
|
|
"A_local": [
|
|
10,
|
|
20,
|
|
30,
|
|
90
|
|
],
|
|
"B_local": [
|
|
40,
|
|
50,
|
|
60,
|
|
180
|
|
],
|
|
"A_world": [
|
|
80,
|
|
210,
|
|
330,
|
|
180
|
|
],
|
|
"B_world": [
|
|
50,
|
|
240,
|
|
360,
|
|
270
|
|
]
|
|
},
|
|
"exact_snapshot_before_first_world_query": true,
|
|
"raw_readback": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 0,
|
|
"shells": 0,
|
|
"faces": 12,
|
|
"volume_mm3": 0,
|
|
"native_volume_mm3": 233.99999999999994,
|
|
"com_mm": [
|
|
0.0,
|
|
0.0,
|
|
0.0
|
|
],
|
|
"bounds_mm": [
|
|
50.0,
|
|
207.0,
|
|
330.0,
|
|
80.0,
|
|
240.0,
|
|
367.0
|
|
]
|
|
},
|
|
"iges_topology_readback": "native sewShape of raw imported surfaces and closed-shell makeSolid",
|
|
"comparison": {
|
|
"expected": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 2,
|
|
"shells": 2,
|
|
"faces": 12,
|
|
"volume_mm3": 234.0,
|
|
"native_volume_mm3": 234.00000000000003,
|
|
"com_mm": [
|
|
55.666666666666664,
|
|
234.52564102564102,
|
|
360.2692307692308
|
|
],
|
|
"bounds_mm": [
|
|
50.0,
|
|
207.0,
|
|
330.0,
|
|
80.0,
|
|
240.0,
|
|
367.0
|
|
]
|
|
},
|
|
"actual": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 2,
|
|
"shells": 2,
|
|
"faces": 12,
|
|
"volume_mm3": 234.0,
|
|
"native_volume_mm3": 233.99999999999994,
|
|
"com_mm": [
|
|
55.66666666666665,
|
|
234.52564102564102,
|
|
360.26923076923083
|
|
],
|
|
"bounds_mm": [
|
|
50.0,
|
|
207.0,
|
|
330.0,
|
|
80.0,
|
|
240.0,
|
|
367.0
|
|
]
|
|
},
|
|
"missing_volume_mm3": 0.0,
|
|
"excess_volume_mm3": 0.0,
|
|
"volume_delta_mm3": 0.0,
|
|
"com_distance_mm": 5.859285502108464E-14,
|
|
"max_bound_delta_mm": 0.0,
|
|
"matches": true
|
|
},
|
|
"original_redo_executed": true
|
|
},
|
|
{
|
|
"case": "placed_assembly-explicit-stl",
|
|
"known_placements": {
|
|
"root": [
|
|
100,
|
|
200,
|
|
300,
|
|
90
|
|
],
|
|
"A_local": [
|
|
10,
|
|
20,
|
|
30,
|
|
90
|
|
],
|
|
"B_local": [
|
|
40,
|
|
50,
|
|
60,
|
|
180
|
|
],
|
|
"A_world": [
|
|
80,
|
|
210,
|
|
330,
|
|
180
|
|
],
|
|
"B_world": [
|
|
50,
|
|
240,
|
|
360,
|
|
270
|
|
]
|
|
},
|
|
"exact_snapshot_before_first_world_query": true,
|
|
"stl_facets": 24,
|
|
"volume_mm3": 234.0,
|
|
"bounds_mm": [
|
|
50.0,
|
|
207.0,
|
|
330.0,
|
|
80.0,
|
|
240.0,
|
|
367.0
|
|
],
|
|
"original_redo_executed": true
|
|
},
|
|
{
|
|
"case": "placed_body-default-brep",
|
|
"known_placements": {
|
|
"parent": [
|
|
50,
|
|
60,
|
|
70,
|
|
90
|
|
],
|
|
"body": [
|
|
10,
|
|
20,
|
|
30,
|
|
90
|
|
],
|
|
"independent_world": [
|
|
30,
|
|
70,
|
|
100,
|
|
180
|
|
]
|
|
},
|
|
"exact_snapshot_before_first_world_query": true,
|
|
"raw_readback": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 1,
|
|
"shells": 1,
|
|
"faces": 6,
|
|
"volume_mm3": 23.999999999999996,
|
|
"native_volume_mm3": 23.999999999999996,
|
|
"com_mm": [
|
|
29.0,
|
|
68.5,
|
|
102.0
|
|
],
|
|
"bounds_mm": [
|
|
28.0,
|
|
67.0,
|
|
100.0,
|
|
30.0,
|
|
70.0,
|
|
104.0
|
|
]
|
|
},
|
|
"comparison": {
|
|
"expected": {
|
|
"type": "Solid",
|
|
"valid": true,
|
|
"solids": 1,
|
|
"shells": 1,
|
|
"faces": 6,
|
|
"volume_mm3": 24.0,
|
|
"native_volume_mm3": 24.0,
|
|
"com_mm": [
|
|
29.0,
|
|
68.5,
|
|
102.0
|
|
],
|
|
"bounds_mm": [
|
|
28.0,
|
|
67.0,
|
|
100.0,
|
|
30.0,
|
|
70.0,
|
|
104.0
|
|
]
|
|
},
|
|
"actual": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 1,
|
|
"shells": 1,
|
|
"faces": 6,
|
|
"volume_mm3": 23.999999999999996,
|
|
"native_volume_mm3": 23.999999999999996,
|
|
"com_mm": [
|
|
29.0,
|
|
68.5,
|
|
102.0
|
|
],
|
|
"bounds_mm": [
|
|
28.0,
|
|
67.0,
|
|
100.0,
|
|
30.0,
|
|
70.0,
|
|
104.0
|
|
]
|
|
},
|
|
"missing_volume_mm3": 0.0,
|
|
"excess_volume_mm3": 0.0,
|
|
"volume_delta_mm3": 3.552713678800501E-15,
|
|
"com_distance_mm": 0.0,
|
|
"max_bound_delta_mm": 0.0,
|
|
"matches": true
|
|
},
|
|
"original_redo_executed": true
|
|
},
|
|
{
|
|
"case": "placed_body-default-iges",
|
|
"known_placements": {
|
|
"parent": [
|
|
50,
|
|
60,
|
|
70,
|
|
90
|
|
],
|
|
"body": [
|
|
10,
|
|
20,
|
|
30,
|
|
90
|
|
],
|
|
"independent_world": [
|
|
30,
|
|
70,
|
|
100,
|
|
180
|
|
]
|
|
},
|
|
"exact_snapshot_before_first_world_query": true,
|
|
"raw_readback": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 0,
|
|
"shells": 0,
|
|
"faces": 6,
|
|
"volume_mm3": 0,
|
|
"native_volume_mm3": 23.999999999999996,
|
|
"com_mm": [
|
|
0.0,
|
|
0.0,
|
|
0.0
|
|
],
|
|
"bounds_mm": [
|
|
28.0,
|
|
67.0,
|
|
100.0,
|
|
30.0,
|
|
70.0,
|
|
104.0
|
|
]
|
|
},
|
|
"iges_topology_readback": "native sewShape of raw imported surfaces and closed-shell makeSolid",
|
|
"comparison": {
|
|
"expected": {
|
|
"type": "Solid",
|
|
"valid": true,
|
|
"solids": 1,
|
|
"shells": 1,
|
|
"faces": 6,
|
|
"volume_mm3": 24.0,
|
|
"native_volume_mm3": 24.0,
|
|
"com_mm": [
|
|
29.0,
|
|
68.5,
|
|
102.0
|
|
],
|
|
"bounds_mm": [
|
|
28.0,
|
|
67.0,
|
|
100.0,
|
|
30.0,
|
|
70.0,
|
|
104.0
|
|
]
|
|
},
|
|
"actual": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 1,
|
|
"shells": 1,
|
|
"faces": 6,
|
|
"volume_mm3": 23.999999999999996,
|
|
"native_volume_mm3": 23.999999999999996,
|
|
"com_mm": [
|
|
29.0,
|
|
68.50000000000001,
|
|
101.99999999999997
|
|
],
|
|
"bounds_mm": [
|
|
28.0,
|
|
67.0,
|
|
100.0,
|
|
30.0,
|
|
70.0,
|
|
104.0
|
|
]
|
|
},
|
|
"missing_volume_mm3": 0.0,
|
|
"excess_volume_mm3": 0.0,
|
|
"volume_delta_mm3": 3.552713678800501E-15,
|
|
"com_distance_mm": 3.1776437161565096E-14,
|
|
"max_bound_delta_mm": 0.0,
|
|
"matches": true
|
|
},
|
|
"original_redo_executed": true
|
|
},
|
|
{
|
|
"case": "placed_body-default-stl",
|
|
"known_placements": {
|
|
"parent": [
|
|
50,
|
|
60,
|
|
70,
|
|
90
|
|
],
|
|
"body": [
|
|
10,
|
|
20,
|
|
30,
|
|
90
|
|
],
|
|
"independent_world": [
|
|
30,
|
|
70,
|
|
100,
|
|
180
|
|
]
|
|
},
|
|
"exact_snapshot_before_first_world_query": true,
|
|
"stl_facets": 12,
|
|
"volume_mm3": 24.0,
|
|
"bounds_mm": [
|
|
28.0,
|
|
67.0,
|
|
100.0,
|
|
30.0,
|
|
70.0,
|
|
104.0
|
|
],
|
|
"original_redo_executed": true
|
|
},
|
|
{
|
|
"case": "placed_body-explicit-brep",
|
|
"known_placements": {
|
|
"parent": [
|
|
50,
|
|
60,
|
|
70,
|
|
90
|
|
],
|
|
"body": [
|
|
10,
|
|
20,
|
|
30,
|
|
90
|
|
],
|
|
"independent_world": [
|
|
30,
|
|
70,
|
|
100,
|
|
180
|
|
]
|
|
},
|
|
"exact_snapshot_before_first_world_query": true,
|
|
"raw_readback": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 1,
|
|
"shells": 1,
|
|
"faces": 6,
|
|
"volume_mm3": 23.999999999999996,
|
|
"native_volume_mm3": 23.999999999999996,
|
|
"com_mm": [
|
|
29.0,
|
|
68.5,
|
|
102.0
|
|
],
|
|
"bounds_mm": [
|
|
28.0,
|
|
67.0,
|
|
100.0,
|
|
30.0,
|
|
70.0,
|
|
104.0
|
|
]
|
|
},
|
|
"comparison": {
|
|
"expected": {
|
|
"type": "Solid",
|
|
"valid": true,
|
|
"solids": 1,
|
|
"shells": 1,
|
|
"faces": 6,
|
|
"volume_mm3": 24.0,
|
|
"native_volume_mm3": 24.0,
|
|
"com_mm": [
|
|
29.0,
|
|
68.5,
|
|
102.0
|
|
],
|
|
"bounds_mm": [
|
|
28.0,
|
|
67.0,
|
|
100.0,
|
|
30.0,
|
|
70.0,
|
|
104.0
|
|
]
|
|
},
|
|
"actual": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 1,
|
|
"shells": 1,
|
|
"faces": 6,
|
|
"volume_mm3": 23.999999999999996,
|
|
"native_volume_mm3": 23.999999999999996,
|
|
"com_mm": [
|
|
29.0,
|
|
68.5,
|
|
102.0
|
|
],
|
|
"bounds_mm": [
|
|
28.0,
|
|
67.0,
|
|
100.0,
|
|
30.0,
|
|
70.0,
|
|
104.0
|
|
]
|
|
},
|
|
"missing_volume_mm3": 0.0,
|
|
"excess_volume_mm3": 0.0,
|
|
"volume_delta_mm3": 3.552713678800501E-15,
|
|
"com_distance_mm": 0.0,
|
|
"max_bound_delta_mm": 0.0,
|
|
"matches": true
|
|
},
|
|
"original_redo_executed": true
|
|
},
|
|
{
|
|
"case": "placed_body-explicit-iges",
|
|
"known_placements": {
|
|
"parent": [
|
|
50,
|
|
60,
|
|
70,
|
|
90
|
|
],
|
|
"body": [
|
|
10,
|
|
20,
|
|
30,
|
|
90
|
|
],
|
|
"independent_world": [
|
|
30,
|
|
70,
|
|
100,
|
|
180
|
|
]
|
|
},
|
|
"exact_snapshot_before_first_world_query": true,
|
|
"raw_readback": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 0,
|
|
"shells": 0,
|
|
"faces": 6,
|
|
"volume_mm3": 0,
|
|
"native_volume_mm3": 23.999999999999996,
|
|
"com_mm": [
|
|
0.0,
|
|
0.0,
|
|
0.0
|
|
],
|
|
"bounds_mm": [
|
|
28.0,
|
|
67.0,
|
|
100.0,
|
|
30.0,
|
|
70.0,
|
|
104.0
|
|
]
|
|
},
|
|
"iges_topology_readback": "native sewShape of raw imported surfaces and closed-shell makeSolid",
|
|
"comparison": {
|
|
"expected": {
|
|
"type": "Solid",
|
|
"valid": true,
|
|
"solids": 1,
|
|
"shells": 1,
|
|
"faces": 6,
|
|
"volume_mm3": 24.0,
|
|
"native_volume_mm3": 24.0,
|
|
"com_mm": [
|
|
29.0,
|
|
68.5,
|
|
102.0
|
|
],
|
|
"bounds_mm": [
|
|
28.0,
|
|
67.0,
|
|
100.0,
|
|
30.0,
|
|
70.0,
|
|
104.0
|
|
]
|
|
},
|
|
"actual": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 1,
|
|
"shells": 1,
|
|
"faces": 6,
|
|
"volume_mm3": 23.999999999999996,
|
|
"native_volume_mm3": 23.999999999999996,
|
|
"com_mm": [
|
|
29.0,
|
|
68.50000000000001,
|
|
101.99999999999997
|
|
],
|
|
"bounds_mm": [
|
|
28.0,
|
|
67.0,
|
|
100.0,
|
|
30.0,
|
|
70.0,
|
|
104.0
|
|
]
|
|
},
|
|
"missing_volume_mm3": 0.0,
|
|
"excess_volume_mm3": 0.0,
|
|
"volume_delta_mm3": 3.552713678800501E-15,
|
|
"com_distance_mm": 3.1776437161565096E-14,
|
|
"max_bound_delta_mm": 0.0,
|
|
"matches": true
|
|
},
|
|
"original_redo_executed": true
|
|
},
|
|
{
|
|
"case": "placed_body-explicit-stl",
|
|
"known_placements": {
|
|
"parent": [
|
|
50,
|
|
60,
|
|
70,
|
|
90
|
|
],
|
|
"body": [
|
|
10,
|
|
20,
|
|
30,
|
|
90
|
|
],
|
|
"independent_world": [
|
|
30,
|
|
70,
|
|
100,
|
|
180
|
|
]
|
|
},
|
|
"exact_snapshot_before_first_world_query": true,
|
|
"stl_facets": 12,
|
|
"volume_mm3": 24.0,
|
|
"bounds_mm": [
|
|
28.0,
|
|
67.0,
|
|
100.0,
|
|
30.0,
|
|
70.0,
|
|
104.0
|
|
],
|
|
"original_redo_executed": true
|
|
},
|
|
{
|
|
"case": "array-default-brep",
|
|
"known_placements": {
|
|
"root": [
|
|
100,
|
|
200,
|
|
300,
|
|
90
|
|
],
|
|
"array_local_x": [
|
|
0,
|
|
10,
|
|
20
|
|
],
|
|
"array_scales": [
|
|
1,
|
|
2,
|
|
3
|
|
],
|
|
"independent_occurrences": 3,
|
|
"all_elements_visible": true
|
|
},
|
|
"exact_snapshot_before_first_world_query": true,
|
|
"raw_readback": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 3,
|
|
"shells": 3,
|
|
"faces": 18,
|
|
"volume_mm3": 864.0,
|
|
"native_volume_mm3": 864.0,
|
|
"com_mm": [
|
|
95.91666666666667,
|
|
219.94444444444446,
|
|
305.44444444444446
|
|
],
|
|
"bounds_mm": [
|
|
91.0,
|
|
200.0,
|
|
300.0,
|
|
100.0,
|
|
226.0,
|
|
312.0
|
|
]
|
|
},
|
|
"comparison": {
|
|
"expected": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 3,
|
|
"shells": 3,
|
|
"faces": 18,
|
|
"volume_mm3": 864.0000000000002,
|
|
"native_volume_mm3": 864.0000000000002,
|
|
"com_mm": [
|
|
95.91666666666667,
|
|
219.94444444444446,
|
|
305.44444444444446
|
|
],
|
|
"bounds_mm": [
|
|
91.0,
|
|
200.0,
|
|
300.0,
|
|
100.0,
|
|
226.0,
|
|
312.0
|
|
]
|
|
},
|
|
"actual": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 3,
|
|
"shells": 3,
|
|
"faces": 18,
|
|
"volume_mm3": 864.0,
|
|
"native_volume_mm3": 864.0,
|
|
"com_mm": [
|
|
95.91666666666667,
|
|
219.94444444444446,
|
|
305.44444444444446
|
|
],
|
|
"bounds_mm": [
|
|
91.0,
|
|
200.0,
|
|
300.0,
|
|
100.0,
|
|
226.0,
|
|
312.0
|
|
]
|
|
},
|
|
"missing_volume_mm3": 0.0,
|
|
"excess_volume_mm3": 0.0,
|
|
"volume_delta_mm3": 2.2737367544323206E-13,
|
|
"com_distance_mm": 0.0,
|
|
"max_bound_delta_mm": 0.0,
|
|
"matches": true
|
|
},
|
|
"original_redo_executed": true
|
|
},
|
|
{
|
|
"case": "array-default-iges",
|
|
"known_placements": {
|
|
"root": [
|
|
100,
|
|
200,
|
|
300,
|
|
90
|
|
],
|
|
"array_local_x": [
|
|
0,
|
|
10,
|
|
20
|
|
],
|
|
"array_scales": [
|
|
1,
|
|
2,
|
|
3
|
|
],
|
|
"independent_occurrences": 3,
|
|
"all_elements_visible": true
|
|
},
|
|
"exact_snapshot_before_first_world_query": true,
|
|
"raw_readback": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 0,
|
|
"shells": 0,
|
|
"faces": 18,
|
|
"volume_mm3": 0,
|
|
"native_volume_mm3": 864.0,
|
|
"com_mm": [
|
|
0.0,
|
|
0.0,
|
|
0.0
|
|
],
|
|
"bounds_mm": [
|
|
91.0,
|
|
200.0,
|
|
300.0,
|
|
100.0,
|
|
226.0,
|
|
312.0
|
|
]
|
|
},
|
|
"iges_topology_readback": "native sewShape of raw imported surfaces and closed-shell makeSolid",
|
|
"comparison": {
|
|
"expected": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 3,
|
|
"shells": 3,
|
|
"faces": 18,
|
|
"volume_mm3": 864.0000000000002,
|
|
"native_volume_mm3": 864.0000000000002,
|
|
"com_mm": [
|
|
95.91666666666667,
|
|
219.94444444444446,
|
|
305.44444444444446
|
|
],
|
|
"bounds_mm": [
|
|
91.0,
|
|
200.0,
|
|
300.0,
|
|
100.0,
|
|
226.0,
|
|
312.0
|
|
]
|
|
},
|
|
"actual": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 3,
|
|
"shells": 3,
|
|
"faces": 18,
|
|
"volume_mm3": 864.0,
|
|
"native_volume_mm3": 864.0,
|
|
"com_mm": [
|
|
95.91666666666669,
|
|
219.94444444444446,
|
|
305.44444444444446
|
|
],
|
|
"bounds_mm": [
|
|
91.0,
|
|
200.0,
|
|
300.0,
|
|
100.0,
|
|
226.0,
|
|
312.0
|
|
]
|
|
},
|
|
"missing_volume_mm3": 0.0,
|
|
"excess_volume_mm3": 0.0,
|
|
"volume_delta_mm3": 2.2737367544323206E-13,
|
|
"com_distance_mm": 1.4210854715202004E-14,
|
|
"max_bound_delta_mm": 0.0,
|
|
"matches": true
|
|
},
|
|
"original_redo_executed": true
|
|
},
|
|
{
|
|
"case": "array-default-stl",
|
|
"known_placements": {
|
|
"root": [
|
|
100,
|
|
200,
|
|
300,
|
|
90
|
|
],
|
|
"array_local_x": [
|
|
0,
|
|
10,
|
|
20
|
|
],
|
|
"array_scales": [
|
|
1,
|
|
2,
|
|
3
|
|
],
|
|
"independent_occurrences": 3,
|
|
"all_elements_visible": true
|
|
},
|
|
"exact_snapshot_before_first_world_query": true,
|
|
"stl_facets": 36,
|
|
"volume_mm3": 864.0,
|
|
"bounds_mm": [
|
|
91.0,
|
|
200.0,
|
|
300.0,
|
|
100.0,
|
|
226.0,
|
|
312.0
|
|
],
|
|
"original_redo_executed": true
|
|
},
|
|
{
|
|
"case": "array-explicit-brep",
|
|
"known_placements": {
|
|
"root": [
|
|
100,
|
|
200,
|
|
300,
|
|
90
|
|
],
|
|
"array_local_x": [
|
|
0,
|
|
10,
|
|
20
|
|
],
|
|
"array_scales": [
|
|
1,
|
|
2,
|
|
3
|
|
],
|
|
"independent_occurrences": 3,
|
|
"all_elements_visible": true
|
|
},
|
|
"exact_snapshot_before_first_world_query": true,
|
|
"raw_readback": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 3,
|
|
"shells": 3,
|
|
"faces": 18,
|
|
"volume_mm3": 864.0,
|
|
"native_volume_mm3": 864.0,
|
|
"com_mm": [
|
|
95.91666666666667,
|
|
219.94444444444446,
|
|
305.44444444444446
|
|
],
|
|
"bounds_mm": [
|
|
91.0,
|
|
200.0,
|
|
300.0,
|
|
100.0,
|
|
226.0,
|
|
312.0
|
|
]
|
|
},
|
|
"comparison": {
|
|
"expected": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 3,
|
|
"shells": 3,
|
|
"faces": 18,
|
|
"volume_mm3": 864.0000000000002,
|
|
"native_volume_mm3": 864.0000000000002,
|
|
"com_mm": [
|
|
95.91666666666667,
|
|
219.94444444444446,
|
|
305.44444444444446
|
|
],
|
|
"bounds_mm": [
|
|
91.0,
|
|
200.0,
|
|
300.0,
|
|
100.0,
|
|
226.0,
|
|
312.0
|
|
]
|
|
},
|
|
"actual": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 3,
|
|
"shells": 3,
|
|
"faces": 18,
|
|
"volume_mm3": 864.0,
|
|
"native_volume_mm3": 864.0,
|
|
"com_mm": [
|
|
95.91666666666667,
|
|
219.94444444444446,
|
|
305.44444444444446
|
|
],
|
|
"bounds_mm": [
|
|
91.0,
|
|
200.0,
|
|
300.0,
|
|
100.0,
|
|
226.0,
|
|
312.0
|
|
]
|
|
},
|
|
"missing_volume_mm3": 0.0,
|
|
"excess_volume_mm3": 0.0,
|
|
"volume_delta_mm3": 2.2737367544323206E-13,
|
|
"com_distance_mm": 0.0,
|
|
"max_bound_delta_mm": 0.0,
|
|
"matches": true
|
|
},
|
|
"original_redo_executed": true
|
|
},
|
|
{
|
|
"case": "array-explicit-iges",
|
|
"known_placements": {
|
|
"root": [
|
|
100,
|
|
200,
|
|
300,
|
|
90
|
|
],
|
|
"array_local_x": [
|
|
0,
|
|
10,
|
|
20
|
|
],
|
|
"array_scales": [
|
|
1,
|
|
2,
|
|
3
|
|
],
|
|
"independent_occurrences": 3,
|
|
"all_elements_visible": true
|
|
},
|
|
"exact_snapshot_before_first_world_query": true,
|
|
"raw_readback": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 0,
|
|
"shells": 0,
|
|
"faces": 18,
|
|
"volume_mm3": 0,
|
|
"native_volume_mm3": 864.0,
|
|
"com_mm": [
|
|
0.0,
|
|
0.0,
|
|
0.0
|
|
],
|
|
"bounds_mm": [
|
|
91.0,
|
|
200.0,
|
|
300.0,
|
|
100.0,
|
|
226.0,
|
|
312.0
|
|
]
|
|
},
|
|
"iges_topology_readback": "native sewShape of raw imported surfaces and closed-shell makeSolid",
|
|
"comparison": {
|
|
"expected": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 3,
|
|
"shells": 3,
|
|
"faces": 18,
|
|
"volume_mm3": 864.0000000000002,
|
|
"native_volume_mm3": 864.0000000000002,
|
|
"com_mm": [
|
|
95.91666666666667,
|
|
219.94444444444446,
|
|
305.44444444444446
|
|
],
|
|
"bounds_mm": [
|
|
91.0,
|
|
200.0,
|
|
300.0,
|
|
100.0,
|
|
226.0,
|
|
312.0
|
|
]
|
|
},
|
|
"actual": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 3,
|
|
"shells": 3,
|
|
"faces": 18,
|
|
"volume_mm3": 864.0,
|
|
"native_volume_mm3": 864.0,
|
|
"com_mm": [
|
|
95.91666666666669,
|
|
219.94444444444446,
|
|
305.44444444444446
|
|
],
|
|
"bounds_mm": [
|
|
91.0,
|
|
200.0,
|
|
300.0,
|
|
100.0,
|
|
226.0,
|
|
312.0
|
|
]
|
|
},
|
|
"missing_volume_mm3": 0.0,
|
|
"excess_volume_mm3": 0.0,
|
|
"volume_delta_mm3": 2.2737367544323206E-13,
|
|
"com_distance_mm": 1.4210854715202004E-14,
|
|
"max_bound_delta_mm": 0.0,
|
|
"matches": true
|
|
},
|
|
"original_redo_executed": true
|
|
},
|
|
{
|
|
"case": "array-explicit-stl",
|
|
"known_placements": {
|
|
"root": [
|
|
100,
|
|
200,
|
|
300,
|
|
90
|
|
],
|
|
"array_local_x": [
|
|
0,
|
|
10,
|
|
20
|
|
],
|
|
"array_scales": [
|
|
1,
|
|
2,
|
|
3
|
|
],
|
|
"independent_occurrences": 3,
|
|
"all_elements_visible": true
|
|
},
|
|
"exact_snapshot_before_first_world_query": true,
|
|
"stl_facets": 36,
|
|
"volume_mm3": 864.0,
|
|
"bounds_mm": [
|
|
91.0,
|
|
200.0,
|
|
300.0,
|
|
100.0,
|
|
226.0,
|
|
312.0
|
|
],
|
|
"original_redo_executed": true
|
|
},
|
|
{
|
|
"case": "scaled_mirror_subassembly-default-brep",
|
|
"known_placements": {
|
|
"root": [
|
|
100,
|
|
200,
|
|
300,
|
|
90
|
|
],
|
|
"source_child_x": [
|
|
10,
|
|
30
|
|
],
|
|
"source_child_rotations_z": [
|
|
0,
|
|
90
|
|
],
|
|
"linked_subassembly_local_x": [
|
|
50,
|
|
200
|
|
],
|
|
"linked_subassembly_scales": [
|
|
2,
|
|
-1
|
|
],
|
|
"independent_occurrences": 4,
|
|
"independent_volume_mm3": 432
|
|
},
|
|
"exact_snapshot_before_first_world_query": true,
|
|
"raw_readback": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 4,
|
|
"shells": 4,
|
|
"faces": 24,
|
|
"volume_mm3": 432.0,
|
|
"native_volume_mm3": 432.0,
|
|
"com_mm": [
|
|
97.91666666666669,
|
|
299.5833333333333,
|
|
303.3333333333333
|
|
],
|
|
"bounds_mm": [
|
|
94.00000000000001,
|
|
270.0,
|
|
296.0,
|
|
103.00000000000004,
|
|
390.0,
|
|
308.0
|
|
]
|
|
},
|
|
"comparison": {
|
|
"expected": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 4,
|
|
"shells": 4,
|
|
"faces": 24,
|
|
"volume_mm3": 432.00000000000006,
|
|
"native_volume_mm3": 431.9999999999999,
|
|
"com_mm": [
|
|
97.91666666666667,
|
|
299.5833333333333,
|
|
303.3333333333333
|
|
],
|
|
"bounds_mm": [
|
|
94.0,
|
|
270.0,
|
|
296.0,
|
|
103.0,
|
|
390.0,
|
|
308.0
|
|
]
|
|
},
|
|
"actual": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 4,
|
|
"shells": 4,
|
|
"faces": 24,
|
|
"volume_mm3": 432.0,
|
|
"native_volume_mm3": 432.0,
|
|
"com_mm": [
|
|
97.91666666666669,
|
|
299.5833333333333,
|
|
303.3333333333333
|
|
],
|
|
"bounds_mm": [
|
|
94.00000000000001,
|
|
270.0,
|
|
296.0,
|
|
103.00000000000004,
|
|
390.0,
|
|
308.0
|
|
]
|
|
},
|
|
"missing_volume_mm3": 0.0,
|
|
"excess_volume_mm3": 0.0,
|
|
"volume_delta_mm3": 5.684341886080802E-14,
|
|
"com_distance_mm": 1.4210854715202004E-14,
|
|
"max_bound_delta_mm": 4.263256414560601E-14,
|
|
"matches": true
|
|
},
|
|
"original_redo_executed": true
|
|
},
|
|
{
|
|
"case": "scaled_mirror_subassembly-default-iges",
|
|
"known_placements": {
|
|
"root": [
|
|
100,
|
|
200,
|
|
300,
|
|
90
|
|
],
|
|
"source_child_x": [
|
|
10,
|
|
30
|
|
],
|
|
"source_child_rotations_z": [
|
|
0,
|
|
90
|
|
],
|
|
"linked_subassembly_local_x": [
|
|
50,
|
|
200
|
|
],
|
|
"linked_subassembly_scales": [
|
|
2,
|
|
-1
|
|
],
|
|
"independent_occurrences": 4,
|
|
"independent_volume_mm3": 432
|
|
},
|
|
"exact_snapshot_before_first_world_query": true,
|
|
"raw_readback": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 0,
|
|
"shells": 0,
|
|
"faces": 24,
|
|
"volume_mm3": 0,
|
|
"native_volume_mm3": 432.0,
|
|
"com_mm": [
|
|
0.0,
|
|
0.0,
|
|
0.0
|
|
],
|
|
"bounds_mm": [
|
|
94.0,
|
|
270.0,
|
|
296.0,
|
|
103.0,
|
|
390.0,
|
|
308.0
|
|
]
|
|
},
|
|
"iges_topology_readback": "native sewShape of raw imported surfaces and closed-shell makeSolid",
|
|
"comparison": {
|
|
"expected": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 4,
|
|
"shells": 4,
|
|
"faces": 24,
|
|
"volume_mm3": 432.00000000000006,
|
|
"native_volume_mm3": 431.9999999999999,
|
|
"com_mm": [
|
|
97.91666666666667,
|
|
299.5833333333333,
|
|
303.3333333333333
|
|
],
|
|
"bounds_mm": [
|
|
94.0,
|
|
270.0,
|
|
296.0,
|
|
103.0,
|
|
390.0,
|
|
308.0
|
|
]
|
|
},
|
|
"actual": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 4,
|
|
"shells": 4,
|
|
"faces": 24,
|
|
"volume_mm3": 432.0,
|
|
"native_volume_mm3": 432.0,
|
|
"com_mm": [
|
|
97.91666666666667,
|
|
299.5833333333333,
|
|
303.3333333333333
|
|
],
|
|
"bounds_mm": [
|
|
94.0,
|
|
270.0,
|
|
296.0,
|
|
103.0,
|
|
390.0,
|
|
308.0
|
|
]
|
|
},
|
|
"missing_volume_mm3": 0.0,
|
|
"excess_volume_mm3": 0.0,
|
|
"volume_delta_mm3": 5.684341886080802E-14,
|
|
"com_distance_mm": 0.0,
|
|
"max_bound_delta_mm": 0.0,
|
|
"matches": true
|
|
},
|
|
"original_redo_executed": true
|
|
},
|
|
{
|
|
"case": "scaled_mirror_subassembly-default-stl",
|
|
"known_placements": {
|
|
"root": [
|
|
100,
|
|
200,
|
|
300,
|
|
90
|
|
],
|
|
"source_child_x": [
|
|
10,
|
|
30
|
|
],
|
|
"source_child_rotations_z": [
|
|
0,
|
|
90
|
|
],
|
|
"linked_subassembly_local_x": [
|
|
50,
|
|
200
|
|
],
|
|
"linked_subassembly_scales": [
|
|
2,
|
|
-1
|
|
],
|
|
"independent_occurrences": 4,
|
|
"independent_volume_mm3": 432
|
|
},
|
|
"exact_snapshot_before_first_world_query": true,
|
|
"stl_facets": 48,
|
|
"volume_mm3": 432.0,
|
|
"bounds_mm": [
|
|
94.0,
|
|
270.0,
|
|
296.0,
|
|
103.0,
|
|
390.0,
|
|
308.0
|
|
],
|
|
"original_redo_executed": true
|
|
},
|
|
{
|
|
"case": "scaled_mirror_subassembly-explicit-brep",
|
|
"known_placements": {
|
|
"root": [
|
|
100,
|
|
200,
|
|
300,
|
|
90
|
|
],
|
|
"source_child_x": [
|
|
10,
|
|
30
|
|
],
|
|
"source_child_rotations_z": [
|
|
0,
|
|
90
|
|
],
|
|
"linked_subassembly_local_x": [
|
|
50,
|
|
200
|
|
],
|
|
"linked_subassembly_scales": [
|
|
2,
|
|
-1
|
|
],
|
|
"independent_occurrences": 4,
|
|
"independent_volume_mm3": 432
|
|
},
|
|
"exact_snapshot_before_first_world_query": true,
|
|
"raw_readback": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 4,
|
|
"shells": 4,
|
|
"faces": 24,
|
|
"volume_mm3": 432.0,
|
|
"native_volume_mm3": 432.0,
|
|
"com_mm": [
|
|
97.91666666666669,
|
|
299.5833333333333,
|
|
303.3333333333333
|
|
],
|
|
"bounds_mm": [
|
|
94.00000000000001,
|
|
270.0,
|
|
296.0,
|
|
103.00000000000004,
|
|
390.0,
|
|
308.0
|
|
]
|
|
},
|
|
"comparison": {
|
|
"expected": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 4,
|
|
"shells": 4,
|
|
"faces": 24,
|
|
"volume_mm3": 432.00000000000006,
|
|
"native_volume_mm3": 431.9999999999999,
|
|
"com_mm": [
|
|
97.91666666666667,
|
|
299.5833333333333,
|
|
303.3333333333333
|
|
],
|
|
"bounds_mm": [
|
|
94.0,
|
|
270.0,
|
|
296.0,
|
|
103.0,
|
|
390.0,
|
|
308.0
|
|
]
|
|
},
|
|
"actual": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 4,
|
|
"shells": 4,
|
|
"faces": 24,
|
|
"volume_mm3": 432.0,
|
|
"native_volume_mm3": 432.0,
|
|
"com_mm": [
|
|
97.91666666666669,
|
|
299.5833333333333,
|
|
303.3333333333333
|
|
],
|
|
"bounds_mm": [
|
|
94.00000000000001,
|
|
270.0,
|
|
296.0,
|
|
103.00000000000004,
|
|
390.0,
|
|
308.0
|
|
]
|
|
},
|
|
"missing_volume_mm3": 0.0,
|
|
"excess_volume_mm3": 0.0,
|
|
"volume_delta_mm3": 5.684341886080802E-14,
|
|
"com_distance_mm": 1.4210854715202004E-14,
|
|
"max_bound_delta_mm": 4.263256414560601E-14,
|
|
"matches": true
|
|
},
|
|
"original_redo_executed": true
|
|
},
|
|
{
|
|
"case": "scaled_mirror_subassembly-explicit-iges",
|
|
"known_placements": {
|
|
"root": [
|
|
100,
|
|
200,
|
|
300,
|
|
90
|
|
],
|
|
"source_child_x": [
|
|
10,
|
|
30
|
|
],
|
|
"source_child_rotations_z": [
|
|
0,
|
|
90
|
|
],
|
|
"linked_subassembly_local_x": [
|
|
50,
|
|
200
|
|
],
|
|
"linked_subassembly_scales": [
|
|
2,
|
|
-1
|
|
],
|
|
"independent_occurrences": 4,
|
|
"independent_volume_mm3": 432
|
|
},
|
|
"exact_snapshot_before_first_world_query": true,
|
|
"raw_readback": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 0,
|
|
"shells": 0,
|
|
"faces": 24,
|
|
"volume_mm3": 0,
|
|
"native_volume_mm3": 432.0,
|
|
"com_mm": [
|
|
0.0,
|
|
0.0,
|
|
0.0
|
|
],
|
|
"bounds_mm": [
|
|
94.0,
|
|
270.0,
|
|
296.0,
|
|
103.0,
|
|
390.0,
|
|
308.0
|
|
]
|
|
},
|
|
"iges_topology_readback": "native sewShape of raw imported surfaces and closed-shell makeSolid",
|
|
"comparison": {
|
|
"expected": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 4,
|
|
"shells": 4,
|
|
"faces": 24,
|
|
"volume_mm3": 432.00000000000006,
|
|
"native_volume_mm3": 431.9999999999999,
|
|
"com_mm": [
|
|
97.91666666666667,
|
|
299.5833333333333,
|
|
303.3333333333333
|
|
],
|
|
"bounds_mm": [
|
|
94.0,
|
|
270.0,
|
|
296.0,
|
|
103.0,
|
|
390.0,
|
|
308.0
|
|
]
|
|
},
|
|
"actual": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 4,
|
|
"shells": 4,
|
|
"faces": 24,
|
|
"volume_mm3": 432.0,
|
|
"native_volume_mm3": 432.0,
|
|
"com_mm": [
|
|
97.91666666666667,
|
|
299.5833333333333,
|
|
303.3333333333333
|
|
],
|
|
"bounds_mm": [
|
|
94.0,
|
|
270.0,
|
|
296.0,
|
|
103.0,
|
|
390.0,
|
|
308.0
|
|
]
|
|
},
|
|
"missing_volume_mm3": 0.0,
|
|
"excess_volume_mm3": 0.0,
|
|
"volume_delta_mm3": 5.684341886080802E-14,
|
|
"com_distance_mm": 0.0,
|
|
"max_bound_delta_mm": 0.0,
|
|
"matches": true
|
|
},
|
|
"original_redo_executed": true
|
|
},
|
|
{
|
|
"case": "scaled_mirror_subassembly-explicit-stl",
|
|
"known_placements": {
|
|
"root": [
|
|
100,
|
|
200,
|
|
300,
|
|
90
|
|
],
|
|
"source_child_x": [
|
|
10,
|
|
30
|
|
],
|
|
"source_child_rotations_z": [
|
|
0,
|
|
90
|
|
],
|
|
"linked_subassembly_local_x": [
|
|
50,
|
|
200
|
|
],
|
|
"linked_subassembly_scales": [
|
|
2,
|
|
-1
|
|
],
|
|
"independent_occurrences": 4,
|
|
"independent_volume_mm3": 432
|
|
},
|
|
"exact_snapshot_before_first_world_query": true,
|
|
"stl_facets": 48,
|
|
"volume_mm3": 432.0,
|
|
"bounds_mm": [
|
|
94.0,
|
|
270.0,
|
|
296.0,
|
|
103.0,
|
|
390.0,
|
|
308.0
|
|
],
|
|
"original_redo_executed": true
|
|
},
|
|
{
|
|
"case": "masked_array_virtual-default-brep",
|
|
"known_placements": {
|
|
"root": [
|
|
100,
|
|
200,
|
|
300,
|
|
90
|
|
],
|
|
"array_local_x": [
|
|
0,
|
|
10,
|
|
20
|
|
],
|
|
"array_scales": [
|
|
1,
|
|
2,
|
|
3
|
|
],
|
|
"independent_occurrences": 2,
|
|
"all_elements_visible": false,
|
|
"native_element_visibility": [
|
|
1,
|
|
0,
|
|
1
|
|
]
|
|
},
|
|
"exact_snapshot_before_first_world_query": true,
|
|
"raw_readback": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 2,
|
|
"shells": 2,
|
|
"faces": 12,
|
|
"volume_mm3": 672.0,
|
|
"native_volume_mm3": 672.0,
|
|
"com_mm": [
|
|
95.60714285714286,
|
|
222.21428571428572,
|
|
305.85714285714283
|
|
],
|
|
"bounds_mm": [
|
|
91.0,
|
|
200.0,
|
|
300.0,
|
|
100.0,
|
|
226.0,
|
|
312.0
|
|
]
|
|
},
|
|
"comparison": {
|
|
"expected": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 2,
|
|
"shells": 2,
|
|
"faces": 12,
|
|
"volume_mm3": 672.0000000000002,
|
|
"native_volume_mm3": 672.0000000000002,
|
|
"com_mm": [
|
|
95.60714285714286,
|
|
222.21428571428572,
|
|
305.85714285714283
|
|
],
|
|
"bounds_mm": [
|
|
91.0,
|
|
200.0,
|
|
300.0,
|
|
100.0,
|
|
226.0,
|
|
312.0
|
|
]
|
|
},
|
|
"actual": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 2,
|
|
"shells": 2,
|
|
"faces": 12,
|
|
"volume_mm3": 672.0,
|
|
"native_volume_mm3": 672.0,
|
|
"com_mm": [
|
|
95.60714285714286,
|
|
222.21428571428572,
|
|
305.85714285714283
|
|
],
|
|
"bounds_mm": [
|
|
91.0,
|
|
200.0,
|
|
300.0,
|
|
100.0,
|
|
226.0,
|
|
312.0
|
|
]
|
|
},
|
|
"missing_volume_mm3": 0.0,
|
|
"excess_volume_mm3": 0.0,
|
|
"volume_delta_mm3": 2.2737367544323206E-13,
|
|
"com_distance_mm": 0.0,
|
|
"max_bound_delta_mm": 0.0,
|
|
"matches": true
|
|
},
|
|
"original_redo_executed": true
|
|
},
|
|
{
|
|
"case": "masked_array_virtual-default-iges",
|
|
"known_placements": {
|
|
"root": [
|
|
100,
|
|
200,
|
|
300,
|
|
90
|
|
],
|
|
"array_local_x": [
|
|
0,
|
|
10,
|
|
20
|
|
],
|
|
"array_scales": [
|
|
1,
|
|
2,
|
|
3
|
|
],
|
|
"independent_occurrences": 2,
|
|
"all_elements_visible": false,
|
|
"native_element_visibility": [
|
|
1,
|
|
0,
|
|
1
|
|
]
|
|
},
|
|
"exact_snapshot_before_first_world_query": true,
|
|
"raw_readback": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 0,
|
|
"shells": 0,
|
|
"faces": 12,
|
|
"volume_mm3": 0,
|
|
"native_volume_mm3": 672.0,
|
|
"com_mm": [
|
|
0.0,
|
|
0.0,
|
|
0.0
|
|
],
|
|
"bounds_mm": [
|
|
91.0,
|
|
200.0,
|
|
300.0,
|
|
100.0,
|
|
226.0,
|
|
312.0
|
|
]
|
|
},
|
|
"iges_topology_readback": "native sewShape of raw imported surfaces and closed-shell makeSolid",
|
|
"comparison": {
|
|
"expected": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 2,
|
|
"shells": 2,
|
|
"faces": 12,
|
|
"volume_mm3": 672.0000000000002,
|
|
"native_volume_mm3": 672.0000000000002,
|
|
"com_mm": [
|
|
95.60714285714286,
|
|
222.21428571428572,
|
|
305.85714285714283
|
|
],
|
|
"bounds_mm": [
|
|
91.0,
|
|
200.0,
|
|
300.0,
|
|
100.0,
|
|
226.0,
|
|
312.0
|
|
]
|
|
},
|
|
"actual": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 2,
|
|
"shells": 2,
|
|
"faces": 12,
|
|
"volume_mm3": 672.0,
|
|
"native_volume_mm3": 672.0,
|
|
"com_mm": [
|
|
95.60714285714286,
|
|
222.21428571428572,
|
|
305.85714285714283
|
|
],
|
|
"bounds_mm": [
|
|
91.0,
|
|
200.0,
|
|
300.0,
|
|
100.0,
|
|
226.0,
|
|
312.0
|
|
]
|
|
},
|
|
"missing_volume_mm3": 0.0,
|
|
"excess_volume_mm3": 0.0,
|
|
"volume_delta_mm3": 2.2737367544323206E-13,
|
|
"com_distance_mm": 0.0,
|
|
"max_bound_delta_mm": 0.0,
|
|
"matches": true
|
|
},
|
|
"original_redo_executed": true
|
|
},
|
|
{
|
|
"case": "masked_array_virtual-default-stl",
|
|
"known_placements": {
|
|
"root": [
|
|
100,
|
|
200,
|
|
300,
|
|
90
|
|
],
|
|
"array_local_x": [
|
|
0,
|
|
10,
|
|
20
|
|
],
|
|
"array_scales": [
|
|
1,
|
|
2,
|
|
3
|
|
],
|
|
"independent_occurrences": 2,
|
|
"all_elements_visible": false,
|
|
"native_element_visibility": [
|
|
1,
|
|
0,
|
|
1
|
|
]
|
|
},
|
|
"exact_snapshot_before_first_world_query": true,
|
|
"stl_facets": 24,
|
|
"volume_mm3": 672.0,
|
|
"bounds_mm": [
|
|
91.0,
|
|
200.0,
|
|
300.0,
|
|
100.0,
|
|
226.0,
|
|
312.0
|
|
],
|
|
"original_redo_executed": true
|
|
},
|
|
{
|
|
"case": "masked_array_virtual-explicit-brep",
|
|
"known_placements": {
|
|
"root": [
|
|
100,
|
|
200,
|
|
300,
|
|
90
|
|
],
|
|
"array_local_x": [
|
|
0,
|
|
10,
|
|
20
|
|
],
|
|
"array_scales": [
|
|
1,
|
|
2,
|
|
3
|
|
],
|
|
"independent_occurrences": 2,
|
|
"all_elements_visible": false,
|
|
"native_element_visibility": [
|
|
1,
|
|
0,
|
|
1
|
|
]
|
|
},
|
|
"exact_snapshot_before_first_world_query": true,
|
|
"raw_readback": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 2,
|
|
"shells": 2,
|
|
"faces": 12,
|
|
"volume_mm3": 672.0,
|
|
"native_volume_mm3": 672.0,
|
|
"com_mm": [
|
|
95.60714285714286,
|
|
222.21428571428572,
|
|
305.85714285714283
|
|
],
|
|
"bounds_mm": [
|
|
91.0,
|
|
200.0,
|
|
300.0,
|
|
100.0,
|
|
226.0,
|
|
312.0
|
|
]
|
|
},
|
|
"comparison": {
|
|
"expected": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 2,
|
|
"shells": 2,
|
|
"faces": 12,
|
|
"volume_mm3": 672.0000000000002,
|
|
"native_volume_mm3": 672.0000000000002,
|
|
"com_mm": [
|
|
95.60714285714286,
|
|
222.21428571428572,
|
|
305.85714285714283
|
|
],
|
|
"bounds_mm": [
|
|
91.0,
|
|
200.0,
|
|
300.0,
|
|
100.0,
|
|
226.0,
|
|
312.0
|
|
]
|
|
},
|
|
"actual": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 2,
|
|
"shells": 2,
|
|
"faces": 12,
|
|
"volume_mm3": 672.0,
|
|
"native_volume_mm3": 672.0,
|
|
"com_mm": [
|
|
95.60714285714286,
|
|
222.21428571428572,
|
|
305.85714285714283
|
|
],
|
|
"bounds_mm": [
|
|
91.0,
|
|
200.0,
|
|
300.0,
|
|
100.0,
|
|
226.0,
|
|
312.0
|
|
]
|
|
},
|
|
"missing_volume_mm3": 0.0,
|
|
"excess_volume_mm3": 0.0,
|
|
"volume_delta_mm3": 2.2737367544323206E-13,
|
|
"com_distance_mm": 0.0,
|
|
"max_bound_delta_mm": 0.0,
|
|
"matches": true
|
|
},
|
|
"original_redo_executed": true
|
|
},
|
|
{
|
|
"case": "masked_array_virtual-explicit-iges",
|
|
"known_placements": {
|
|
"root": [
|
|
100,
|
|
200,
|
|
300,
|
|
90
|
|
],
|
|
"array_local_x": [
|
|
0,
|
|
10,
|
|
20
|
|
],
|
|
"array_scales": [
|
|
1,
|
|
2,
|
|
3
|
|
],
|
|
"independent_occurrences": 2,
|
|
"all_elements_visible": false,
|
|
"native_element_visibility": [
|
|
1,
|
|
0,
|
|
1
|
|
]
|
|
},
|
|
"exact_snapshot_before_first_world_query": true,
|
|
"raw_readback": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 0,
|
|
"shells": 0,
|
|
"faces": 12,
|
|
"volume_mm3": 0,
|
|
"native_volume_mm3": 672.0,
|
|
"com_mm": [
|
|
0.0,
|
|
0.0,
|
|
0.0
|
|
],
|
|
"bounds_mm": [
|
|
91.0,
|
|
200.0,
|
|
300.0,
|
|
100.0,
|
|
226.0,
|
|
312.0
|
|
]
|
|
},
|
|
"iges_topology_readback": "native sewShape of raw imported surfaces and closed-shell makeSolid",
|
|
"comparison": {
|
|
"expected": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 2,
|
|
"shells": 2,
|
|
"faces": 12,
|
|
"volume_mm3": 672.0000000000002,
|
|
"native_volume_mm3": 672.0000000000002,
|
|
"com_mm": [
|
|
95.60714285714286,
|
|
222.21428571428572,
|
|
305.85714285714283
|
|
],
|
|
"bounds_mm": [
|
|
91.0,
|
|
200.0,
|
|
300.0,
|
|
100.0,
|
|
226.0,
|
|
312.0
|
|
]
|
|
},
|
|
"actual": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 2,
|
|
"shells": 2,
|
|
"faces": 12,
|
|
"volume_mm3": 672.0,
|
|
"native_volume_mm3": 672.0,
|
|
"com_mm": [
|
|
95.60714285714286,
|
|
222.21428571428572,
|
|
305.85714285714283
|
|
],
|
|
"bounds_mm": [
|
|
91.0,
|
|
200.0,
|
|
300.0,
|
|
100.0,
|
|
226.0,
|
|
312.0
|
|
]
|
|
},
|
|
"missing_volume_mm3": 0.0,
|
|
"excess_volume_mm3": 0.0,
|
|
"volume_delta_mm3": 2.2737367544323206E-13,
|
|
"com_distance_mm": 0.0,
|
|
"max_bound_delta_mm": 0.0,
|
|
"matches": true
|
|
},
|
|
"original_redo_executed": true
|
|
},
|
|
{
|
|
"case": "masked_array_virtual-explicit-stl",
|
|
"known_placements": {
|
|
"root": [
|
|
100,
|
|
200,
|
|
300,
|
|
90
|
|
],
|
|
"array_local_x": [
|
|
0,
|
|
10,
|
|
20
|
|
],
|
|
"array_scales": [
|
|
1,
|
|
2,
|
|
3
|
|
],
|
|
"independent_occurrences": 2,
|
|
"all_elements_visible": false,
|
|
"native_element_visibility": [
|
|
1,
|
|
0,
|
|
1
|
|
]
|
|
},
|
|
"exact_snapshot_before_first_world_query": true,
|
|
"stl_facets": 24,
|
|
"volume_mm3": 672.0,
|
|
"bounds_mm": [
|
|
91.0,
|
|
200.0,
|
|
300.0,
|
|
100.0,
|
|
226.0,
|
|
312.0
|
|
],
|
|
"original_redo_executed": true
|
|
},
|
|
{
|
|
"case": "masked_array_expanded-default-brep",
|
|
"known_placements": {
|
|
"root": [
|
|
100,
|
|
200,
|
|
300,
|
|
90
|
|
],
|
|
"array_local_x": [
|
|
0,
|
|
10,
|
|
20
|
|
],
|
|
"array_scales": [
|
|
1,
|
|
2,
|
|
3
|
|
],
|
|
"independent_occurrences": 2,
|
|
"all_elements_visible": false,
|
|
"native_element_visibility": [
|
|
1,
|
|
0,
|
|
1
|
|
]
|
|
},
|
|
"exact_snapshot_before_first_world_query": true,
|
|
"raw_readback": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 2,
|
|
"shells": 2,
|
|
"faces": 12,
|
|
"volume_mm3": 672.0,
|
|
"native_volume_mm3": 672.0,
|
|
"com_mm": [
|
|
95.60714285714286,
|
|
222.21428571428572,
|
|
305.85714285714283
|
|
],
|
|
"bounds_mm": [
|
|
91.0,
|
|
200.0,
|
|
300.0,
|
|
100.0,
|
|
226.0,
|
|
312.0
|
|
]
|
|
},
|
|
"comparison": {
|
|
"expected": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 2,
|
|
"shells": 2,
|
|
"faces": 12,
|
|
"volume_mm3": 672.0000000000002,
|
|
"native_volume_mm3": 672.0000000000002,
|
|
"com_mm": [
|
|
95.60714285714286,
|
|
222.21428571428572,
|
|
305.85714285714283
|
|
],
|
|
"bounds_mm": [
|
|
91.0,
|
|
200.0,
|
|
300.0,
|
|
100.0,
|
|
226.0,
|
|
312.0
|
|
]
|
|
},
|
|
"actual": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 2,
|
|
"shells": 2,
|
|
"faces": 12,
|
|
"volume_mm3": 672.0,
|
|
"native_volume_mm3": 672.0,
|
|
"com_mm": [
|
|
95.60714285714286,
|
|
222.21428571428572,
|
|
305.85714285714283
|
|
],
|
|
"bounds_mm": [
|
|
91.0,
|
|
200.0,
|
|
300.0,
|
|
100.0,
|
|
226.0,
|
|
312.0
|
|
]
|
|
},
|
|
"missing_volume_mm3": 0.0,
|
|
"excess_volume_mm3": 0.0,
|
|
"volume_delta_mm3": 2.2737367544323206E-13,
|
|
"com_distance_mm": 0.0,
|
|
"max_bound_delta_mm": 0.0,
|
|
"matches": true
|
|
},
|
|
"original_redo_executed": true
|
|
},
|
|
{
|
|
"case": "masked_array_expanded-default-iges",
|
|
"known_placements": {
|
|
"root": [
|
|
100,
|
|
200,
|
|
300,
|
|
90
|
|
],
|
|
"array_local_x": [
|
|
0,
|
|
10,
|
|
20
|
|
],
|
|
"array_scales": [
|
|
1,
|
|
2,
|
|
3
|
|
],
|
|
"independent_occurrences": 2,
|
|
"all_elements_visible": false,
|
|
"native_element_visibility": [
|
|
1,
|
|
0,
|
|
1
|
|
]
|
|
},
|
|
"exact_snapshot_before_first_world_query": true,
|
|
"raw_readback": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 0,
|
|
"shells": 0,
|
|
"faces": 12,
|
|
"volume_mm3": 0,
|
|
"native_volume_mm3": 672.0,
|
|
"com_mm": [
|
|
0.0,
|
|
0.0,
|
|
0.0
|
|
],
|
|
"bounds_mm": [
|
|
91.0,
|
|
200.0,
|
|
300.0,
|
|
100.0,
|
|
226.0,
|
|
312.0
|
|
]
|
|
},
|
|
"iges_topology_readback": "native sewShape of raw imported surfaces and closed-shell makeSolid",
|
|
"comparison": {
|
|
"expected": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 2,
|
|
"shells": 2,
|
|
"faces": 12,
|
|
"volume_mm3": 672.0000000000002,
|
|
"native_volume_mm3": 672.0000000000002,
|
|
"com_mm": [
|
|
95.60714285714286,
|
|
222.21428571428572,
|
|
305.85714285714283
|
|
],
|
|
"bounds_mm": [
|
|
91.0,
|
|
200.0,
|
|
300.0,
|
|
100.0,
|
|
226.0,
|
|
312.0
|
|
]
|
|
},
|
|
"actual": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 2,
|
|
"shells": 2,
|
|
"faces": 12,
|
|
"volume_mm3": 672.0,
|
|
"native_volume_mm3": 672.0,
|
|
"com_mm": [
|
|
95.60714285714286,
|
|
222.21428571428572,
|
|
305.85714285714283
|
|
],
|
|
"bounds_mm": [
|
|
91.0,
|
|
200.0,
|
|
300.0,
|
|
100.0,
|
|
226.0,
|
|
312.0
|
|
]
|
|
},
|
|
"missing_volume_mm3": 0.0,
|
|
"excess_volume_mm3": 0.0,
|
|
"volume_delta_mm3": 2.2737367544323206E-13,
|
|
"com_distance_mm": 0.0,
|
|
"max_bound_delta_mm": 0.0,
|
|
"matches": true
|
|
},
|
|
"original_redo_executed": true
|
|
},
|
|
{
|
|
"case": "masked_array_expanded-default-stl",
|
|
"known_placements": {
|
|
"root": [
|
|
100,
|
|
200,
|
|
300,
|
|
90
|
|
],
|
|
"array_local_x": [
|
|
0,
|
|
10,
|
|
20
|
|
],
|
|
"array_scales": [
|
|
1,
|
|
2,
|
|
3
|
|
],
|
|
"independent_occurrences": 2,
|
|
"all_elements_visible": false,
|
|
"native_element_visibility": [
|
|
1,
|
|
0,
|
|
1
|
|
]
|
|
},
|
|
"exact_snapshot_before_first_world_query": true,
|
|
"stl_facets": 24,
|
|
"volume_mm3": 672.0,
|
|
"bounds_mm": [
|
|
91.0,
|
|
200.0,
|
|
300.0,
|
|
100.0,
|
|
226.0,
|
|
312.0
|
|
],
|
|
"original_redo_executed": true
|
|
},
|
|
{
|
|
"case": "masked_array_expanded-explicit-brep",
|
|
"known_placements": {
|
|
"root": [
|
|
100,
|
|
200,
|
|
300,
|
|
90
|
|
],
|
|
"array_local_x": [
|
|
0,
|
|
10,
|
|
20
|
|
],
|
|
"array_scales": [
|
|
1,
|
|
2,
|
|
3
|
|
],
|
|
"independent_occurrences": 2,
|
|
"all_elements_visible": false,
|
|
"native_element_visibility": [
|
|
1,
|
|
0,
|
|
1
|
|
]
|
|
},
|
|
"exact_snapshot_before_first_world_query": true,
|
|
"raw_readback": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 2,
|
|
"shells": 2,
|
|
"faces": 12,
|
|
"volume_mm3": 672.0,
|
|
"native_volume_mm3": 672.0,
|
|
"com_mm": [
|
|
95.60714285714286,
|
|
222.21428571428572,
|
|
305.85714285714283
|
|
],
|
|
"bounds_mm": [
|
|
91.0,
|
|
200.0,
|
|
300.0,
|
|
100.0,
|
|
226.0,
|
|
312.0
|
|
]
|
|
},
|
|
"comparison": {
|
|
"expected": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 2,
|
|
"shells": 2,
|
|
"faces": 12,
|
|
"volume_mm3": 672.0000000000002,
|
|
"native_volume_mm3": 672.0000000000002,
|
|
"com_mm": [
|
|
95.60714285714286,
|
|
222.21428571428572,
|
|
305.85714285714283
|
|
],
|
|
"bounds_mm": [
|
|
91.0,
|
|
200.0,
|
|
300.0,
|
|
100.0,
|
|
226.0,
|
|
312.0
|
|
]
|
|
},
|
|
"actual": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 2,
|
|
"shells": 2,
|
|
"faces": 12,
|
|
"volume_mm3": 672.0,
|
|
"native_volume_mm3": 672.0,
|
|
"com_mm": [
|
|
95.60714285714286,
|
|
222.21428571428572,
|
|
305.85714285714283
|
|
],
|
|
"bounds_mm": [
|
|
91.0,
|
|
200.0,
|
|
300.0,
|
|
100.0,
|
|
226.0,
|
|
312.0
|
|
]
|
|
},
|
|
"missing_volume_mm3": 0.0,
|
|
"excess_volume_mm3": 0.0,
|
|
"volume_delta_mm3": 2.2737367544323206E-13,
|
|
"com_distance_mm": 0.0,
|
|
"max_bound_delta_mm": 0.0,
|
|
"matches": true
|
|
},
|
|
"original_redo_executed": true
|
|
},
|
|
{
|
|
"case": "masked_array_expanded-explicit-iges",
|
|
"known_placements": {
|
|
"root": [
|
|
100,
|
|
200,
|
|
300,
|
|
90
|
|
],
|
|
"array_local_x": [
|
|
0,
|
|
10,
|
|
20
|
|
],
|
|
"array_scales": [
|
|
1,
|
|
2,
|
|
3
|
|
],
|
|
"independent_occurrences": 2,
|
|
"all_elements_visible": false,
|
|
"native_element_visibility": [
|
|
1,
|
|
0,
|
|
1
|
|
]
|
|
},
|
|
"exact_snapshot_before_first_world_query": true,
|
|
"raw_readback": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 0,
|
|
"shells": 0,
|
|
"faces": 12,
|
|
"volume_mm3": 0,
|
|
"native_volume_mm3": 672.0,
|
|
"com_mm": [
|
|
0.0,
|
|
0.0,
|
|
0.0
|
|
],
|
|
"bounds_mm": [
|
|
91.0,
|
|
200.0,
|
|
300.0,
|
|
100.0,
|
|
226.0,
|
|
312.0
|
|
]
|
|
},
|
|
"iges_topology_readback": "native sewShape of raw imported surfaces and closed-shell makeSolid",
|
|
"comparison": {
|
|
"expected": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 2,
|
|
"shells": 2,
|
|
"faces": 12,
|
|
"volume_mm3": 672.0000000000002,
|
|
"native_volume_mm3": 672.0000000000002,
|
|
"com_mm": [
|
|
95.60714285714286,
|
|
222.21428571428572,
|
|
305.85714285714283
|
|
],
|
|
"bounds_mm": [
|
|
91.0,
|
|
200.0,
|
|
300.0,
|
|
100.0,
|
|
226.0,
|
|
312.0
|
|
]
|
|
},
|
|
"actual": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 2,
|
|
"shells": 2,
|
|
"faces": 12,
|
|
"volume_mm3": 672.0,
|
|
"native_volume_mm3": 672.0,
|
|
"com_mm": [
|
|
95.60714285714286,
|
|
222.21428571428572,
|
|
305.85714285714283
|
|
],
|
|
"bounds_mm": [
|
|
91.0,
|
|
200.0,
|
|
300.0,
|
|
100.0,
|
|
226.0,
|
|
312.0
|
|
]
|
|
},
|
|
"missing_volume_mm3": 0.0,
|
|
"excess_volume_mm3": 0.0,
|
|
"volume_delta_mm3": 2.2737367544323206E-13,
|
|
"com_distance_mm": 0.0,
|
|
"max_bound_delta_mm": 0.0,
|
|
"matches": true
|
|
},
|
|
"original_redo_executed": true
|
|
},
|
|
{
|
|
"case": "masked_array_expanded-explicit-stl",
|
|
"known_placements": {
|
|
"root": [
|
|
100,
|
|
200,
|
|
300,
|
|
90
|
|
],
|
|
"array_local_x": [
|
|
0,
|
|
10,
|
|
20
|
|
],
|
|
"array_scales": [
|
|
1,
|
|
2,
|
|
3
|
|
],
|
|
"independent_occurrences": 2,
|
|
"all_elements_visible": false,
|
|
"native_element_visibility": [
|
|
1,
|
|
0,
|
|
1
|
|
]
|
|
},
|
|
"exact_snapshot_before_first_world_query": true,
|
|
"stl_facets": 24,
|
|
"volume_mm3": 672.0,
|
|
"bounds_mm": [
|
|
91.0,
|
|
200.0,
|
|
300.0,
|
|
100.0,
|
|
226.0,
|
|
312.0
|
|
],
|
|
"original_redo_executed": true
|
|
},
|
|
{
|
|
"case": "hidden_element-explicit-brep",
|
|
"known_placements": {
|
|
"root": [
|
|
100,
|
|
200,
|
|
300,
|
|
90
|
|
],
|
|
"array_local_x": [
|
|
0,
|
|
10,
|
|
20
|
|
],
|
|
"array_scales": [
|
|
1,
|
|
2,
|
|
3
|
|
],
|
|
"independent_occurrences": 1,
|
|
"all_elements_visible": false,
|
|
"explicitly_selected_hidden_element": "Array_i1",
|
|
"native_element_visibility": [
|
|
1,
|
|
0,
|
|
1
|
|
]
|
|
},
|
|
"exact_snapshot_before_first_world_query": true,
|
|
"raw_readback": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 1,
|
|
"shells": 1,
|
|
"faces": 6,
|
|
"volume_mm3": 191.99999999999997,
|
|
"native_volume_mm3": 191.99999999999997,
|
|
"com_mm": [
|
|
97.0,
|
|
212.0,
|
|
304.0
|
|
],
|
|
"bounds_mm": [
|
|
94.0,
|
|
210.0,
|
|
300.0,
|
|
100.0,
|
|
214.0,
|
|
308.0
|
|
]
|
|
},
|
|
"comparison": {
|
|
"expected": {
|
|
"type": "Solid",
|
|
"valid": true,
|
|
"solids": 1,
|
|
"shells": 1,
|
|
"faces": 6,
|
|
"volume_mm3": 192.00000000000006,
|
|
"native_volume_mm3": 192.00000000000006,
|
|
"com_mm": [
|
|
97.00000000000001,
|
|
212.0,
|
|
304.0
|
|
],
|
|
"bounds_mm": [
|
|
94.0,
|
|
210.0,
|
|
300.0,
|
|
100.0,
|
|
214.0,
|
|
308.0
|
|
]
|
|
},
|
|
"actual": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 1,
|
|
"shells": 1,
|
|
"faces": 6,
|
|
"volume_mm3": 191.99999999999997,
|
|
"native_volume_mm3": 191.99999999999997,
|
|
"com_mm": [
|
|
97.0,
|
|
212.0,
|
|
304.0
|
|
],
|
|
"bounds_mm": [
|
|
94.0,
|
|
210.0,
|
|
300.0,
|
|
100.0,
|
|
214.0,
|
|
308.0
|
|
]
|
|
},
|
|
"missing_volume_mm3": 0.0,
|
|
"excess_volume_mm3": 0.0,
|
|
"volume_delta_mm3": 8.526512829121202E-14,
|
|
"com_distance_mm": 1.4210854715202004E-14,
|
|
"max_bound_delta_mm": 0.0,
|
|
"matches": true
|
|
},
|
|
"original_redo_executed": true
|
|
},
|
|
{
|
|
"case": "hidden_element-explicit-iges",
|
|
"known_placements": {
|
|
"root": [
|
|
100,
|
|
200,
|
|
300,
|
|
90
|
|
],
|
|
"array_local_x": [
|
|
0,
|
|
10,
|
|
20
|
|
],
|
|
"array_scales": [
|
|
1,
|
|
2,
|
|
3
|
|
],
|
|
"independent_occurrences": 1,
|
|
"all_elements_visible": false,
|
|
"explicitly_selected_hidden_element": "Array_i1",
|
|
"native_element_visibility": [
|
|
1,
|
|
0,
|
|
1
|
|
]
|
|
},
|
|
"exact_snapshot_before_first_world_query": true,
|
|
"raw_readback": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 0,
|
|
"shells": 0,
|
|
"faces": 6,
|
|
"volume_mm3": 0,
|
|
"native_volume_mm3": 192.0,
|
|
"com_mm": [
|
|
0.0,
|
|
0.0,
|
|
0.0
|
|
],
|
|
"bounds_mm": [
|
|
94.0,
|
|
210.0,
|
|
300.0,
|
|
100.0,
|
|
214.0,
|
|
308.0
|
|
]
|
|
},
|
|
"iges_topology_readback": "native sewShape of raw imported surfaces and closed-shell makeSolid",
|
|
"comparison": {
|
|
"expected": {
|
|
"type": "Solid",
|
|
"valid": true,
|
|
"solids": 1,
|
|
"shells": 1,
|
|
"faces": 6,
|
|
"volume_mm3": 192.00000000000006,
|
|
"native_volume_mm3": 192.00000000000006,
|
|
"com_mm": [
|
|
97.00000000000001,
|
|
212.0,
|
|
304.0
|
|
],
|
|
"bounds_mm": [
|
|
94.0,
|
|
210.0,
|
|
300.0,
|
|
100.0,
|
|
214.0,
|
|
308.0
|
|
]
|
|
},
|
|
"actual": {
|
|
"type": "Compound",
|
|
"valid": true,
|
|
"solids": 1,
|
|
"shells": 1,
|
|
"faces": 6,
|
|
"volume_mm3": 192.0,
|
|
"native_volume_mm3": 192.0,
|
|
"com_mm": [
|
|
97.00000000000001,
|
|
212.0,
|
|
304.0
|
|
],
|
|
"bounds_mm": [
|
|
94.0,
|
|
210.0,
|
|
300.0,
|
|
100.0,
|
|
214.0,
|
|
308.0
|
|
]
|
|
},
|
|
"missing_volume_mm3": 0.0,
|
|
"excess_volume_mm3": 0.0,
|
|
"volume_delta_mm3": 5.684341886080802E-14,
|
|
"com_distance_mm": 0.0,
|
|
"max_bound_delta_mm": 0.0,
|
|
"matches": true
|
|
},
|
|
"original_redo_executed": true
|
|
},
|
|
{
|
|
"case": "hidden_element-explicit-stl",
|
|
"known_placements": {
|
|
"root": [
|
|
100,
|
|
200,
|
|
300,
|
|
90
|
|
],
|
|
"array_local_x": [
|
|
0,
|
|
10,
|
|
20
|
|
],
|
|
"array_scales": [
|
|
1,
|
|
2,
|
|
3
|
|
],
|
|
"independent_occurrences": 1,
|
|
"all_elements_visible": false,
|
|
"explicitly_selected_hidden_element": "Array_i1",
|
|
"native_element_visibility": [
|
|
1,
|
|
0,
|
|
1
|
|
]
|
|
},
|
|
"exact_snapshot_before_first_world_query": true,
|
|
"stl_facets": 12,
|
|
"volume_mm3": 192.0,
|
|
"bounds_mm": [
|
|
94.0,
|
|
210.0,
|
|
300.0,
|
|
100.0,
|
|
214.0,
|
|
308.0
|
|
],
|
|
"original_redo_executed": true
|
|
},
|
|
{
|
|
"case": "post-native-writer-fault.brep",
|
|
"original_exact_payload_history_active_doc": true,
|
|
"original_redo_executed": true,
|
|
"old_destination_exact": true,
|
|
"temporary_cleanup_exact": true,
|
|
"native_writer_completed_before_injected_failure": true,
|
|
"before_first_world_query": true
|
|
},
|
|
{
|
|
"case": "post-native-writer-fault.iges",
|
|
"original_exact_payload_history_active_doc": true,
|
|
"original_redo_executed": true,
|
|
"old_destination_exact": true,
|
|
"temporary_cleanup_exact": true,
|
|
"native_writer_completed_before_injected_failure": true,
|
|
"before_first_world_query": true
|
|
},
|
|
{
|
|
"case": "post-native-writer-fault.stl",
|
|
"original_exact_payload_history_active_doc": true,
|
|
"original_redo_executed": true,
|
|
"old_destination_exact": true,
|
|
"temporary_cleanup_exact": true,
|
|
"native_writer_completed_before_injected_failure": true,
|
|
"before_first_world_query": true
|
|
},
|
|
{
|
|
"case": "all-hidden-array-rejection.brep",
|
|
"original_exact_payload_history_active_doc": true,
|
|
"original_redo_executed": true,
|
|
"old_destination_exact": true,
|
|
"temporary_cleanup_exact": true,
|
|
"empty_geometry_rejected": "Нет твердых тел для экспорта",
|
|
"before_first_world_query": true
|
|
},
|
|
{
|
|
"case": "all-hidden-array-rejection.iges",
|
|
"original_exact_payload_history_active_doc": true,
|
|
"original_redo_executed": true,
|
|
"old_destination_exact": true,
|
|
"temporary_cleanup_exact": true,
|
|
"empty_geometry_rejected": "Нет твердых тел для экспорта",
|
|
"before_first_world_query": true
|
|
},
|
|
{
|
|
"case": "all-hidden-array-rejection.stl",
|
|
"original_exact_payload_history_active_doc": true,
|
|
"original_redo_executed": true,
|
|
"old_destination_exact": true,
|
|
"temporary_cleanup_exact": true,
|
|
"empty_geometry_rejected": "Нет твердых тел для экспорта",
|
|
"before_first_world_query": true
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "export_rejects_non_solids",
|
|
"passed": true,
|
|
"status": "passed",
|
|
"detail": {
|
|
"rejected_selections": [
|
|
"Sketch.step",
|
|
"Sketch.iges",
|
|
"Sketch.brep",
|
|
"Sketch.stl",
|
|
"Empty.step",
|
|
"Empty.iges",
|
|
"Empty.brep",
|
|
"Empty.stl",
|
|
"Wire.step",
|
|
"Wire.iges",
|
|
"Wire.brep",
|
|
"Wire.stl",
|
|
"Mixed.step",
|
|
"Mixed.iges",
|
|
"Mixed.brep",
|
|
"Mixed.stl"
|
|
],
|
|
"existing_file_preserved": true
|
|
}
|
|
},
|
|
{
|
|
"name": "export_rejects_cached_failed_feature",
|
|
"passed": true,
|
|
"status": "passed",
|
|
"detail": {
|
|
"native_error": "Cannot create a pad with a total length of zero.",
|
|
"cached_volume_mm3": 999.9999999999998,
|
|
"rejected_exports": 16,
|
|
"independent_and_recovered_exports": true
|
|
}
|
|
},
|
|
{
|
|
"name": "assembly_solver_links_bom",
|
|
"passed": true,
|
|
"status": "passed",
|
|
"detail": {
|
|
"solver_status": 0,
|
|
"joint_types": [
|
|
"Fixed",
|
|
"Revolute"
|
|
],
|
|
"components": 3,
|
|
"bom_rows": [
|
|
{
|
|
"position": "1",
|
|
"parent_position": "",
|
|
"level": 0,
|
|
"part_number": "QI-001",
|
|
"name": "Плита с отверстиями",
|
|
"quantity": 1,
|
|
"quantity_total": 1,
|
|
"material": "Алюминий",
|
|
"density_kg_m3": 2700.0,
|
|
"unit_mass_kg": 0.15063419510513718,
|
|
"mass_kg": 0.15063419510513718,
|
|
"source_id": "QInventorAssembly#Body",
|
|
"source_name": "Body",
|
|
"source_doc": "QInventorAssembly",
|
|
"is_assembly": false,
|
|
"kind": "part",
|
|
"row_id": "QInventorAssembly#Body|1",
|
|
"variant_id": "(((1.0, 0.0, 0.0, 1.0, 0.0, 1.0), 1), 'Алюминий', 2700.0, 55790.4426315, 17430.7964474)",
|
|
"materials": [
|
|
"Алюминий"
|
|
]
|
|
},
|
|
{
|
|
"position": "2",
|
|
"parent_position": "",
|
|
"level": 0,
|
|
"part_number": "QI-002",
|
|
"name": "Штифт",
|
|
"quantity": 2,
|
|
"quantity_total": 2,
|
|
"material": "Сталь",
|
|
"density_kg_m3": 7850.000000000001,
|
|
"unit_mass_kg": 0.02903645284414249,
|
|
"mass_kg": 0.05807290568828498,
|
|
"source_id": "QInventorAssembly#Body001",
|
|
"source_name": "Body001",
|
|
"source_doc": "QInventorAssembly",
|
|
"is_assembly": false,
|
|
"kind": "part",
|
|
"row_id": "QInventorAssembly#Body001|2",
|
|
"variant_id": "(((1.0, 0.0, 0.0, 1.0, 0.0, 1.0), 1), 'Сталь', 7850.0, 3698.91119034, 1486.85297109)",
|
|
"materials": [
|
|
"Сталь"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "assembly_reopen_step",
|
|
"passed": true,
|
|
"status": "passed",
|
|
"detail": {
|
|
"reopened_joints": true,
|
|
"step_solids": 3
|
|
}
|
|
},
|
|
{
|
|
"name": "drawing_associativity",
|
|
"passed": true,
|
|
"status": "passed",
|
|
"detail": {
|
|
"views": 3,
|
|
"model_change_recomputed": true,
|
|
"gui_exports": true,
|
|
"direct_dxf_after_rapid_edits": true,
|
|
"dxf_front_width_mm": 100.0,
|
|
"dxf_front_height_mm": 50.0
|
|
}
|
|
},
|
|
{
|
|
"name": "complete_examples",
|
|
"passed": true,
|
|
"status": "passed",
|
|
"detail": {
|
|
"volumes_mm3": {
|
|
"bracket": 56743.36293856411,
|
|
"plate": 38743.362938564074,
|
|
"shaft": 45238.93421169302,
|
|
"pulley": 50265.48245743669
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"artifacts": [
|
|
"C:\\Repos\\qinventor\\artifacts\\validation\\parametric-bracket.FCStd",
|
|
"C:\\Repos\\qinventor\\artifacts\\validation\\bracket.step",
|
|
"C:\\Repos\\qinventor\\artifacts\\validation\\solid.iges",
|
|
"C:\\Repos\\qinventor\\artifacts\\validation\\solid.brep",
|
|
"C:\\Repos\\qinventor\\artifacts\\validation\\solid.stl",
|
|
"C:\\Repos\\qinventor\\artifacts\\validation\\independent-good-body.step",
|
|
"C:\\Repos\\qinventor\\artifacts\\validation\\recovered-body.step",
|
|
"C:\\Repos\\qinventor\\artifacts\\validation\\assembly-bom.csv",
|
|
"C:\\Repos\\qinventor\\artifacts\\validation\\native-assembly.FCStd",
|
|
"C:\\Repos\\qinventor\\artifacts\\validation\\assembly.step",
|
|
"C:\\Repos\\qinventor\\artifacts\\validation\\associative-drawing.dxf",
|
|
"C:\\Repos\\qinventor\\artifacts\\validation\\associative-drawing.FCStd",
|
|
"C:\\Repos\\qinventor\\artifacts\\validation\\associative-drawing.svg",
|
|
"C:\\Repos\\qinventor\\artifacts\\validation\\associative-drawing.pdf"
|
|
],
|
|
"success": true
|
|
}
|
|
},
|
|
{
|
|
"name": "native_project_russian_label_suite",
|
|
"passed": true,
|
|
"result": {
|
|
"status": "passed",
|
|
"passed": 12,
|
|
"failed": 0,
|
|
"skipped": 0,
|
|
"checks": [
|
|
{
|
|
"name": "native_label_roundtrip",
|
|
"passed": true,
|
|
"status": "passed",
|
|
"detail": {
|
|
"native_open_label": "ascii-part",
|
|
"restored_label": "Деталь — русское имя № 1",
|
|
"sha256": "12bb1c1827f0e229c2abc3b2853fe287b4a8467dab7f5d5007e8b1f9948ab09e",
|
|
"file_unchanged": true
|
|
}
|
|
},
|
|
{
|
|
"name": "missing_invalid_other_formats",
|
|
"passed": true,
|
|
"status": "passed",
|
|
"detail": {
|
|
"rejected": 4,
|
|
"files_and_label_unchanged": true
|
|
}
|
|
},
|
|
{
|
|
"name": "malformed_xml_missing_label",
|
|
"passed": true,
|
|
"status": "passed",
|
|
"detail": {
|
|
"rejected": 5,
|
|
"child_label_ignored": true
|
|
}
|
|
},
|
|
{
|
|
"name": "reject_dtd_and_entities",
|
|
"passed": true,
|
|
"status": "passed",
|
|
"detail": {
|
|
"rejected_encodings": [
|
|
"utf-8",
|
|
"utf-16",
|
|
"utf-32"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "reject_oversize_without_extraction",
|
|
"passed": true,
|
|
"status": "passed",
|
|
"detail": {
|
|
"max_xml_bytes": 8388608,
|
|
"oversize_rejected": true,
|
|
"no_extraction": true
|
|
}
|
|
},
|
|
{
|
|
"name": "gui_modified_state_and_history",
|
|
"passed": true,
|
|
"status": "passed",
|
|
"detail": {
|
|
"clean_preserved": true,
|
|
"dirty_preserved": true,
|
|
"undo_redo_unchanged": true,
|
|
"file_unchanged": true,
|
|
"title_marker_after_recompute": true,
|
|
"title_marker_cleared_on_save": true,
|
|
"native_save_return": null,
|
|
"states": {
|
|
"before_native_save": {
|
|
"gui_document_modified": true,
|
|
"window_modified": true
|
|
},
|
|
"after_native_save": {
|
|
"gui_document_modified": true,
|
|
"window_modified": true
|
|
},
|
|
"before_qi_save_as": {
|
|
"gui_document_modified": true,
|
|
"window_modified": true
|
|
},
|
|
"after_qi_save_as": {
|
|
"gui_document_modified": false,
|
|
"window_modified": false
|
|
},
|
|
"before_qi_save": {
|
|
"gui_document_modified": true,
|
|
"window_modified": true
|
|
},
|
|
"after_qi_save": {
|
|
"gui_document_modified": false,
|
|
"window_modified": false
|
|
},
|
|
"before_failed_save": {
|
|
"gui_document_modified": true,
|
|
"window_modified": true
|
|
},
|
|
"after_failed_save": {
|
|
"gui_document_modified": true,
|
|
"window_modified": true
|
|
},
|
|
"before_cancel_save_as": {
|
|
"gui_document_modified": true,
|
|
"window_modified": true
|
|
},
|
|
"after_cancel_save_as": {
|
|
"gui_document_modified": true,
|
|
"window_modified": true
|
|
}
|
|
},
|
|
"saved_geometry_reopened_mm": [
|
|
19,
|
|
23
|
|
],
|
|
"failed_save_errors": [
|
|
{
|
|
"title": "QInventor",
|
|
"text": "Не удалось выполнить команду. Проверьте выбранную геометрию и параметры."
|
|
}
|
|
],
|
|
"failed_and_cancelled_saves_preserve_dirty_history_and_file": true
|
|
}
|
|
},
|
|
{
|
|
"name": "gui_qi_open_fcstd",
|
|
"passed": true,
|
|
"status": "passed",
|
|
"detail": {
|
|
"suffix": ".fcstd",
|
|
"document": "ascii_part1",
|
|
"native_modified": false,
|
|
"opened_modified": false,
|
|
"geometry": {
|
|
"volume_mm3": 999.9999999999998
|
|
},
|
|
"saved_russian_label": "Деталь — русское имя № 1",
|
|
"existing_unsaved_edits_preserved": true,
|
|
"source_unchanged": true
|
|
}
|
|
},
|
|
{
|
|
"name": "gui_qi_open_step",
|
|
"passed": true,
|
|
"status": "passed",
|
|
"detail": {
|
|
"suffix": ".step",
|
|
"document": "Unnamed",
|
|
"native_modified": true,
|
|
"opened_modified": true,
|
|
"geometry": {
|
|
"volume_mm3": 999.9999999999998
|
|
},
|
|
"source_unchanged": true
|
|
}
|
|
},
|
|
{
|
|
"name": "gui_qi_open_iges",
|
|
"passed": true,
|
|
"status": "passed",
|
|
"detail": {
|
|
"suffix": ".iges",
|
|
"document": "Unnamed",
|
|
"native_modified": true,
|
|
"opened_modified": true,
|
|
"geometry": {
|
|
"volume_mm3": 999.9999999999998
|
|
},
|
|
"source_unchanged": true
|
|
}
|
|
},
|
|
{
|
|
"name": "gui_qi_open_brep",
|
|
"passed": true,
|
|
"status": "passed",
|
|
"detail": {
|
|
"suffix": ".brep",
|
|
"document": "Обмен",
|
|
"native_modified": true,
|
|
"opened_modified": true,
|
|
"geometry": {
|
|
"volume_mm3": 999.9999999999998
|
|
},
|
|
"source_unchanged": true
|
|
}
|
|
},
|
|
{
|
|
"name": "gui_qi_open_stl",
|
|
"passed": true,
|
|
"status": "passed",
|
|
"detail": {
|
|
"suffix": ".stl",
|
|
"document": "Unnamed",
|
|
"native_modified": true,
|
|
"opened_modified": true,
|
|
"geometry": {
|
|
"facets": 12,
|
|
"dimensions_mm": [
|
|
10.0,
|
|
10.0,
|
|
10.0
|
|
]
|
|
},
|
|
"source_unchanged": true
|
|
}
|
|
},
|
|
{
|
|
"name": "gui_qi_open_failures",
|
|
"passed": true,
|
|
"status": "passed",
|
|
"detail": {
|
|
"rejected": 6,
|
|
"errors": [
|
|
{
|
|
"title": "QInventor",
|
|
"text": "Формат файла не поддерживается. Выберите FCStd, STEP, IGES, BREP или STL."
|
|
},
|
|
{
|
|
"title": "QInventor",
|
|
"text": "Не удалось прочитать файл модели. Проверьте его наличие и доступ к нему."
|
|
},
|
|
{
|
|
"title": "QInventor",
|
|
"text": "Файл модели пуст."
|
|
},
|
|
{
|
|
"title": "QInventor",
|
|
"text": "Не удалось открыть модель. Файл повреждён или его содержимое не соответствует формату."
|
|
},
|
|
{
|
|
"title": "QInventor",
|
|
"text": "Не удалось открыть модель. Файл повреждён или его содержимое не соответствует формату."
|
|
},
|
|
{
|
|
"title": "QInventor",
|
|
"text": "Не удалось прочитать файл модели. Проверьте его наличие и доступ к нему."
|
|
}
|
|
],
|
|
"previous_model_preserved": true,
|
|
"cancel_preserved": true
|
|
}
|
|
}
|
|
],
|
|
"artifacts": [
|
|
"C:\\Repos\\qinventor\\artifacts\\validation\\ascii-part.FCStd",
|
|
"C:\\Repos\\qinventor\\artifacts\\validation\\title-indicator.FCStd",
|
|
"C:\\Repos\\qinventor\\artifacts\\validation\\Обмен.step",
|
|
"C:\\Repos\\qinventor\\artifacts\\validation\\Обмен.iges",
|
|
"C:\\Repos\\qinventor\\artifacts\\validation\\Обмен.brep",
|
|
"C:\\Repos\\qinventor\\artifacts\\validation\\Обмен.stl"
|
|
],
|
|
"source": "C:\\Repos\\qinventor\\src\\QInventor\\qi_io.py",
|
|
"success": true
|
|
}
|
|
},
|
|
{
|
|
"name": "unified_extrude_suite",
|
|
"passed": true,
|
|
"result": {
|
|
"passed": true,
|
|
"count": 41,
|
|
"gui": true,
|
|
"scenarios": [
|
|
{
|
|
"name": "XY forward",
|
|
"passed": true,
|
|
"volume": 239.99999999999997,
|
|
"bbox": [
|
|
10.0,
|
|
6.0,
|
|
4.0
|
|
]
|
|
},
|
|
{
|
|
"name": "XY reverse",
|
|
"passed": true,
|
|
"volume": 239.99999999999997,
|
|
"bbox": [
|
|
10.0,
|
|
6.0,
|
|
4.0
|
|
]
|
|
},
|
|
{
|
|
"name": "XY symmetric",
|
|
"passed": true,
|
|
"volume": 239.99999999999997,
|
|
"bbox": [
|
|
10.0,
|
|
6.0,
|
|
4.0
|
|
]
|
|
},
|
|
{
|
|
"name": "XZ plane placement",
|
|
"passed": true,
|
|
"volume": 240.0000000000001,
|
|
"bbox": [
|
|
10.000000000000002,
|
|
4.000000000000001,
|
|
6.000000000000002
|
|
]
|
|
},
|
|
{
|
|
"name": "YZ plane placement",
|
|
"passed": true,
|
|
"volume": 240.00000000000006,
|
|
"bbox": [
|
|
4.000000000000002,
|
|
6.000000000000002,
|
|
10.000000000000002
|
|
]
|
|
},
|
|
{
|
|
"name": "Nested wires preserve hole",
|
|
"passed": true,
|
|
"volume": 1143.5397259066845
|
|
},
|
|
{
|
|
"name": "Sketch edits, length expressions and FCStd reopen",
|
|
"passed": true,
|
|
"volumeAfterReopenAndEdit": 763.4070148223199,
|
|
"file": "C:\\Repos\\qinventor\\artifacts\\validation\\parametric-extrusion.FCStd"
|
|
},
|
|
{
|
|
"name": "Join against previous solid Body Tip",
|
|
"passed": true,
|
|
"volume": 4500.0,
|
|
"base": "Pad"
|
|
},
|
|
{
|
|
"name": "Cut reverse against previous solid Body Tip",
|
|
"passed": true,
|
|
"volume": 3915.1769983530758,
|
|
"base": "Pad"
|
|
},
|
|
{
|
|
"name": "Cut through all",
|
|
"passed": true,
|
|
"volume": 3717.256661176918,
|
|
"base": "Pad"
|
|
},
|
|
{
|
|
"name": "True OCCT intersection",
|
|
"passed": true,
|
|
"volume": 399.9999999999999,
|
|
"base": "Pad"
|
|
},
|
|
{
|
|
"name": "Through all recalculates extent after base change",
|
|
"passed": true,
|
|
"volumeAfterBaseChange": 5947.610657883069
|
|
},
|
|
{
|
|
"name": "New Solid is independent and preserves body placement",
|
|
"passed": true,
|
|
"bodies": 2
|
|
},
|
|
{
|
|
"name": "New Solid remains a sibling inside transformed App Part",
|
|
"passed": true,
|
|
"samePartSiblingAndLocalPlacementPreserved": true
|
|
},
|
|
{
|
|
"name": "Open profile and invalid lengths leave document unchanged",
|
|
"passed": true,
|
|
"objectsUnchanged": true
|
|
},
|
|
{
|
|
"name": "Disjoint booleans are rejected before mutation",
|
|
"passed": true,
|
|
"objectsUnchanged": true
|
|
},
|
|
{
|
|
"name": "Native undo redo retains geometry",
|
|
"passed": true,
|
|
"undoRedo": true
|
|
},
|
|
{
|
|
"name": "Asymmetric persisted distances, expressions, undo and reopen",
|
|
"passed": true,
|
|
"length2ExpressionUndoAndReopen": true,
|
|
"volumeAfterReopen": 899.9999999999999
|
|
},
|
|
{
|
|
"name": "To face planar termination and support movement",
|
|
"passed": true,
|
|
"slope": 0,
|
|
"reverse": false,
|
|
"volumeAfterPlaneMove": 719.9999999999999
|
|
},
|
|
{
|
|
"name": "To face exact oblique termination",
|
|
"passed": true,
|
|
"slope": 0.5,
|
|
"reverse": false,
|
|
"volumeAfterPlaneMove": 870.0000000000003
|
|
},
|
|
{
|
|
"name": "To face exact oblique reverse termination",
|
|
"passed": true,
|
|
"slope": 0.5,
|
|
"reverse": true,
|
|
"volumeAfterPlaneMove": 870.0
|
|
},
|
|
{
|
|
"name": "To face exact oblique cap preserves nested holes",
|
|
"passed": true,
|
|
"obliqueAnnulusVolume": 5717.698630133525
|
|
},
|
|
{
|
|
"name": "To face finite support coverage and explicit extension",
|
|
"passed": true,
|
|
"finiteBoundaryRejected": true,
|
|
"extendedPlaneVolume": 750.0000000000002
|
|
},
|
|
{
|
|
"name": "To face cut references previous solid and survives undo redo",
|
|
"passed": true,
|
|
"sameBodyFaceReferenceWithoutDependencyCycle": true
|
|
},
|
|
{
|
|
"name": "To face finite boundary honors holes in termination support",
|
|
"passed": true,
|
|
"terminationFaceHoleRespected": true
|
|
},
|
|
{
|
|
"name": "To face across transformed containers and FCStd reopen",
|
|
"passed": true,
|
|
"globalPlacementsAndReopen": true,
|
|
"volumeAfterReopen": 968.2982453146791
|
|
},
|
|
{
|
|
"name": "Invalid target surfaces, directions and second length rejected in Russian",
|
|
"passed": true,
|
|
"invalidTargetsAndDirectionsLeaveDocumentUnchanged": true
|
|
},
|
|
{
|
|
"name": "To next true planar termination on preceding solid",
|
|
"passed": true,
|
|
"nextWholePlanarFace": true,
|
|
"volumeAfterBaseChange": 5717.256661176918
|
|
},
|
|
{
|
|
"name": "To next explicit terminator tracks nearest complete face",
|
|
"passed": true,
|
|
"selectedTerminatorRegenerates": true,
|
|
"volume": 4780.000000000001
|
|
},
|
|
{
|
|
"name": "To next rejects ambiguous crossing support planes",
|
|
"passed": true,
|
|
"ambiguousCrossingPlanesRejected": true
|
|
},
|
|
{
|
|
"name": "To next explicitly rejects curved terminators",
|
|
"passed": true,
|
|
"curvedNextLimitationExplicit": true
|
|
},
|
|
{
|
|
"name": "Changing operation moves real history between solid bodies with undo redo",
|
|
"passed": true,
|
|
"operationChangeMovesFeatureAndUndoRestoresBodies": true
|
|
},
|
|
{
|
|
"name": "GUI real preview update and cancel rollback",
|
|
"passed": true,
|
|
"previewDeleted": true,
|
|
"visibilityRestored": true
|
|
},
|
|
{
|
|
"name": "GUI accept, parameter edit and undo",
|
|
"passed": true,
|
|
"acceptPreviewDeleted": true,
|
|
"editUndo": true
|
|
},
|
|
{
|
|
"name": "GUI preview respects sketch and body placements",
|
|
"passed": true,
|
|
"rotatedSketchAndTranslatedBody": true
|
|
},
|
|
{
|
|
"name": "GUI Control.showDialog and selected profile",
|
|
"passed": true,
|
|
"nativeTaskDialog": true,
|
|
"nativeOkCancelButtons": true,
|
|
"nativeFeatureEdit": true,
|
|
"screenshot": "C:\\Repos\\qinventor\\artifacts\\validation\\extrusion-task-panel.png"
|
|
},
|
|
{
|
|
"name": "GUI asymmetric distances and direction inversion",
|
|
"passed": true,
|
|
"asymmetricSwapPreviewAcceptEditUndo": true
|
|
},
|
|
{
|
|
"name": "GUI native selection of oblique face, automatic extension and edit undo",
|
|
"passed": true,
|
|
"nativeFaceSelectionAndEditUndo": true,
|
|
"previewEqualsAcceptedSolid": true,
|
|
"screenshot": "C:\\Repos\\qinventor\\artifacts\\validation\\extrusion-to-oblique-face.png"
|
|
},
|
|
{
|
|
"name": "GUI selected next-face terminator",
|
|
"passed": true,
|
|
"nextTerminatorSelectionPreviewAcceptUndo": true
|
|
},
|
|
{
|
|
"name": "GUI invalid target rolls back and cancels cleanly",
|
|
"passed": true,
|
|
"invalidTargetAcceptRollbackAndCancel": true
|
|
},
|
|
{
|
|
"name": "GUI native operation edits migrate solid history and undo",
|
|
"passed": true,
|
|
"nativeOperationChangeAndBodyMigrationUndo": true
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "typed_parameter_editor_suite",
|
|
"passed": true,
|
|
"result": {
|
|
"passed": true,
|
|
"count": 9,
|
|
"gui": true,
|
|
"checks": [
|
|
{
|
|
"name": "Signed coordinates, zero and undo redo",
|
|
"passed": true,
|
|
"evidence": {
|
|
"signed_x_mm": -18,
|
|
"zero_y_mm": 0,
|
|
"native_undo_redo": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Native degree and radian angle units",
|
|
"passed": true,
|
|
"evidence": {
|
|
"editor_unit": "degrees",
|
|
"kernel_constraint_unit": "radians",
|
|
"signed_angle_degrees": -30
|
|
}
|
|
},
|
|
{
|
|
"name": "Indexed and named formulas remain read only",
|
|
"passed": true,
|
|
"evidence": {
|
|
"indexed_and_named_formula_paths": [
|
|
[
|
|
".Constraints.РадиусКруга",
|
|
"4 mm"
|
|
],
|
|
[
|
|
".Constraints.ЦентрX",
|
|
"SourceSizes.X"
|
|
]
|
|
],
|
|
"no_op_preserves_undo": true,
|
|
"formula_updates_still_associative": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Native reference dimensions remain read only",
|
|
"passed": true,
|
|
"evidence": {
|
|
"reference_radius_read_only": true,
|
|
"rejected_edit_is_atomic": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Body VarSet delegation and user formulas",
|
|
"passed": true,
|
|
"evidence": {
|
|
"internal_delegation_remains_editable": true,
|
|
"source_formula_read_only": true,
|
|
"overridden_body_formula_read_only": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Invalid values and dimensional units rejected atomically",
|
|
"passed": true,
|
|
"evidence": {
|
|
"invalid_numbers_units_unknown_parameters_rejected": true,
|
|
"all_inputs_atomic": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Typed parameter FCStd persistence",
|
|
"passed": true,
|
|
"evidence": {
|
|
"native_project": "C:\\Repos\\qinventor\\artifacts\\validation\\typed-parameters.FCStd",
|
|
"typed_metadata_and_formulas_survive_reopen": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Drawing refuses cached invalid source geometry",
|
|
"passed": true,
|
|
"evidence": {
|
|
"cached_invalid_source_rejected_before_document_mutation": true,
|
|
"recovered_source_creates_three_native_views": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Qt parameter editor preserves readonly values, precision and undo",
|
|
"passed": true,
|
|
"evidence": {
|
|
"screenshot": "C:\\Repos\\qinventor\\artifacts\\validation\\typed-parameter-dialog.png",
|
|
"actual_apply_button": true,
|
|
"untouched_precision_preserved": true,
|
|
"one_native_undo_step": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "document_parameter_table_kernel_suite",
|
|
"passed": true,
|
|
"result": {
|
|
"passed": true,
|
|
"count": 16,
|
|
"checks": [
|
|
{
|
|
"name": "Discover native model sources and stable identities",
|
|
"passed": true,
|
|
"evidence": {
|
|
"native_controller_source": true,
|
|
"no_discovery_mutation": true,
|
|
"label_independent_ids": true,
|
|
"rows": 11
|
|
}
|
|
},
|
|
{
|
|
"name": "Native user parameter types and Russian literals",
|
|
"passed": true,
|
|
"evidence": {
|
|
"native_types": [
|
|
"Distance (signed length)",
|
|
"Angle",
|
|
"Float"
|
|
],
|
|
"unit_conversions": true,
|
|
"russian_literals": true,
|
|
"one_undo_creation": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Create chain and model bindings in one batch",
|
|
"passed": true,
|
|
"evidence": {
|
|
"add_bind_chain_atomic": true,
|
|
"native_expressions": true,
|
|
"kernel_volume_mm3": 6433.9817545518945,
|
|
"undo_redo": true
|
|
}
|
|
},
|
|
{
|
|
"name": "No-op and foreign CAD transactions",
|
|
"passed": true,
|
|
"evidence": {
|
|
"numeric_noop_no_undo": true,
|
|
"foreign_empty_and_pending_transaction_preserved": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Reject invalid inputs without losing existing redo",
|
|
"passed": true,
|
|
"evidence": {
|
|
"rejected_cases": 18,
|
|
"existing_redo_branch_usable": true,
|
|
"native_clamping_rejected": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Validate native expression dimensions",
|
|
"passed": true,
|
|
"evidence": {
|
|
"native_expression_quantity_checks": 4,
|
|
"native_functions_and_unit_conversion": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Native syntax missing references and cycles",
|
|
"passed": true,
|
|
"evidence": {
|
|
"native_syntax_missing_divide_zero_self_and_cycle_rejected": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Native rename and transactional comments",
|
|
"passed": true,
|
|
"evidence": {
|
|
"native_dependency_rename": true,
|
|
"comment_metadata_transactional": true,
|
|
"comment_only_undo": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Referenced delete and clear formulas",
|
|
"passed": true,
|
|
"evidence": {
|
|
"referenced_delete_rejected_with_redo": true,
|
|
"native_cached_dangling_formula_detected": true,
|
|
"unbind_and_delete_same_batch": true,
|
|
"clear_preserves_evaluated_value": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Unnamed angular and reference constraints",
|
|
"passed": true,
|
|
"evidence": {
|
|
"unnamed_native_paths": true,
|
|
"degrees_not_radians": true,
|
|
"reference_readonly": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Native solver and cached shape errors",
|
|
"passed": true,
|
|
"evidence": {
|
|
"native_unsolvable_constraints_rejected": true,
|
|
"native_invalid_feature_with_cached_valid_shape_rejected": true,
|
|
"rejected_kernel_edits_preserve_redo": true
|
|
}
|
|
},
|
|
{
|
|
"name": "FCStd persistence and continued parametric rebuild",
|
|
"passed": true,
|
|
"evidence": {
|
|
"file": "C:\\Repos\\qinventor\\artifacts\\validation\\document-parameters.FCStd",
|
|
"native_saved_formulas_comments_values": true,
|
|
"reopened_edit_rebuilds_solid": true
|
|
}
|
|
},
|
|
{
|
|
"name": "New native document-qualified expressions",
|
|
"passed": true,
|
|
"evidence": {
|
|
"new_qualified_expression_reads_proposed_values": true,
|
|
"rejected_qualified_expression_preserves_redo": true,
|
|
"native_quoted_document_and_object_labels": true,
|
|
"raw_cyrillic_document_and_object_identifiers": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Cross-document consumers and global Undo",
|
|
"passed": true,
|
|
"evidence": {
|
|
"external_consumers_recomputed": true,
|
|
"native_global_undo_redo": true,
|
|
"both_document_redo_preserved_after_rejected_delete": true,
|
|
"external_rename_dependency_preserved": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Real document cycles and FCStd requirements",
|
|
"passed": true,
|
|
"evidence": {
|
|
"real_unsaved_owner_and_target_rejected_before_mutation": true,
|
|
"valid_saved_external_binding": true,
|
|
"object_acyclic_document_cycle_rejected": true,
|
|
"redo_preserved": true,
|
|
"first_external_bound_user_parameter_preserves_source_name": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Generated plate rules and grouped native drawing",
|
|
"passed": true,
|
|
"evidence": {
|
|
"generated_hole_fit_rules_preserved": true,
|
|
"group_does_not_reimport_techdraw_in_clone": true,
|
|
"real_page_and_group_preserved": true,
|
|
"clone_cad_objects": 15
|
|
}
|
|
}
|
|
],
|
|
"summary": {
|
|
"total": 16,
|
|
"passed": 16,
|
|
"failed": 0
|
|
},
|
|
"gui_exercised": false
|
|
}
|
|
},
|
|
{
|
|
"name": "native_parameter_preflight_fidelity_suite",
|
|
"passed": true,
|
|
"result": {
|
|
"passed": true,
|
|
"count": 10,
|
|
"checks": [
|
|
{
|
|
"name": "Persistent topology rejects before live and retains executable Redo",
|
|
"passed": true,
|
|
"evidence": {
|
|
"rejections": [
|
|
{
|
|
"message": "Перестроение объекта «FaceProfile» завершилось ошибкой: AttachEngine3D: subshape not found Groove.?Face8",
|
|
"original_exact_unchanged": true,
|
|
"undo": 0,
|
|
"redo": 1
|
|
},
|
|
{
|
|
"message": "Перестроение объекта «FaceProfile» завершилось ошибкой: AttachEngine3D: subshape not found Groove.?Face8",
|
|
"original_exact_unchanged": true,
|
|
"undo": 0,
|
|
"redo": 1
|
|
}
|
|
],
|
|
"original_redo_executed": true,
|
|
"native_redo_x_mm": 110.0
|
|
}
|
|
},
|
|
{
|
|
"name": "Valid reference retaining Pocket edit native shapes Undo Redo",
|
|
"passed": true,
|
|
"evidence": {
|
|
"volume_mm3": 1809.5573684677208,
|
|
"undo_native_shape_comparison": {
|
|
"revolution": {
|
|
"volume_mm3": 2010.6192982974676,
|
|
"area_mm2": 1023.7167544041137,
|
|
"bounds_mm": [
|
|
-8.0,
|
|
0.0,
|
|
-8.0,
|
|
8.0,
|
|
20.0,
|
|
9.797174393178826E-16
|
|
],
|
|
"volume_weighted_solid_com_mm": [
|
|
7.953604365817317E-17,
|
|
9.999999999999998,
|
|
-3.3953054526271003
|
|
],
|
|
"bidirectional_boolean_difference_volume_mm3": [
|
|
0.0,
|
|
0.0
|
|
]
|
|
},
|
|
"groove": {
|
|
"volume_mm3": 1834.6901096964393,
|
|
"area_mm2": 1070.5486074759096,
|
|
"bounds_mm": [
|
|
-8.0,
|
|
0.0,
|
|
-8.0,
|
|
8.0,
|
|
20.0,
|
|
9.79718964375792E-16
|
|
],
|
|
"volume_weighted_solid_com_mm": [
|
|
9.325808307180692E-17,
|
|
10.0,
|
|
-3.2906556270324296
|
|
],
|
|
"bidirectional_boolean_difference_volume_mm3": [
|
|
0.0,
|
|
0.0
|
|
]
|
|
},
|
|
"pocket": {
|
|
"volume_mm3": 1815.8405537749002,
|
|
"area_mm2": 1077.3981633974483,
|
|
"bounds_mm": [
|
|
-8.0,
|
|
0.0,
|
|
-8.0,
|
|
8.0,
|
|
20.0,
|
|
9.79718964375792E-16
|
|
],
|
|
"volume_weighted_solid_com_mm": [
|
|
-5.936976608789613E-17,
|
|
9.911764705882351,
|
|
-3.3160033356539773
|
|
],
|
|
"bidirectional_boolean_difference_volume_mm3": [
|
|
0.0,
|
|
0.0
|
|
]
|
|
},
|
|
"body_local": {
|
|
"volume_mm3": 1815.8405537749006,
|
|
"area_mm2": 1077.3981633974483,
|
|
"bounds_mm": [
|
|
-6.928203230275509,
|
|
16.0,
|
|
22.0,
|
|
16.92820323027551,
|
|
41.32050807568878,
|
|
30.000000000000004
|
|
],
|
|
"volume_weighted_solid_com_mm": [
|
|
5.044117647058824,
|
|
28.583840031628114,
|
|
26.683996664346022
|
|
],
|
|
"bidirectional_boolean_difference_volume_mm3": [
|
|
0.0,
|
|
0.0
|
|
]
|
|
},
|
|
"body_world": {
|
|
"volume_mm3": 1815.840553774901,
|
|
"area_mm2": 1077.398163397449,
|
|
"bounds_mm": [
|
|
58.67949192431122,
|
|
193.07179676972447,
|
|
322.0,
|
|
84.0,
|
|
216.9282032302755,
|
|
330.0
|
|
],
|
|
"volume_weighted_solid_com_mm": [
|
|
71.41615996837189,
|
|
205.0441176470588,
|
|
326.683996664346
|
|
],
|
|
"bidirectional_boolean_difference_volume_mm3": [
|
|
0.0,
|
|
0.0
|
|
]
|
|
},
|
|
"occurrence_a": {
|
|
"volume_mm3": 1815.840553774902,
|
|
"area_mm2": 1077.398163397449,
|
|
"bounds_mm": [
|
|
958.6794919243113,
|
|
43.071796769724486,
|
|
62.0,
|
|
984.0,
|
|
66.92820323027551,
|
|
70.0
|
|
],
|
|
"volume_weighted_solid_com_mm": [
|
|
971.4161599683719,
|
|
55.04411764705882,
|
|
66.68399666434603
|
|
],
|
|
"bidirectional_boolean_difference_volume_mm3": [
|
|
0.0,
|
|
0.0
|
|
]
|
|
},
|
|
"occurrence_b": {
|
|
"volume_mm3": 1815.8405537749024,
|
|
"area_mm2": 1077.398163397449,
|
|
"bounds_mm": [
|
|
1016.0,
|
|
133.0717967697245,
|
|
62.0,
|
|
1041.3205080756888,
|
|
156.92820323027553,
|
|
70.0
|
|
],
|
|
"volume_weighted_solid_com_mm": [
|
|
1028.5838400316281,
|
|
144.9558823529412,
|
|
66.68399666434603
|
|
],
|
|
"bidirectional_boolean_difference_volume_mm3": [
|
|
0.0,
|
|
0.0
|
|
]
|
|
},
|
|
"assembly_world": {
|
|
"volume_mm3": 3631.6811075498035,
|
|
"area_mm2": 2154.796326794898,
|
|
"bounds_mm": [
|
|
958.6794919243113,
|
|
43.071796769724486,
|
|
62.0,
|
|
1041.3205080756888,
|
|
156.92820323027553,
|
|
70.0
|
|
],
|
|
"volume_weighted_solid_com_mm": [
|
|
1000.0,
|
|
100.00000000000001,
|
|
66.68399666434603
|
|
],
|
|
"bidirectional_boolean_difference_volume_mm3": [
|
|
0.0,
|
|
0.0
|
|
]
|
|
}
|
|
},
|
|
"redo_native_shape_comparison": {
|
|
"revolution": {
|
|
"volume_mm3": 2010.6192982974676,
|
|
"area_mm2": 1023.7167544041137,
|
|
"bounds_mm": [
|
|
-8.0,
|
|
0.0,
|
|
-8.0,
|
|
8.0,
|
|
20.0,
|
|
9.797174393178826E-16
|
|
],
|
|
"volume_weighted_solid_com_mm": [
|
|
7.953604365817317E-17,
|
|
9.999999999999998,
|
|
-3.3953054526271003
|
|
],
|
|
"bidirectional_boolean_difference_volume_mm3": [
|
|
0.0,
|
|
0.0
|
|
]
|
|
},
|
|
"groove": {
|
|
"volume_mm3": 1834.6901096964393,
|
|
"area_mm2": 1070.5486074759096,
|
|
"bounds_mm": [
|
|
-8.0,
|
|
0.0,
|
|
-8.0,
|
|
8.0,
|
|
20.0,
|
|
9.79718964375792E-16
|
|
],
|
|
"volume_weighted_solid_com_mm": [
|
|
9.325808307180692E-17,
|
|
10.0,
|
|
-3.2906556270324296
|
|
],
|
|
"bidirectional_boolean_difference_volume_mm3": [
|
|
0.0,
|
|
0.0
|
|
]
|
|
},
|
|
"pocket": {
|
|
"volume_mm3": 1809.5573684677208,
|
|
"area_mm2": 1079.681348704628,
|
|
"bounds_mm": [
|
|
-8.0,
|
|
0.0,
|
|
-8.0,
|
|
8.0,
|
|
20.0,
|
|
1.133107779529596E-15
|
|
],
|
|
"volume_weighted_solid_com_mm": [
|
|
-1.6107560374667792E-17,
|
|
9.888888888888888,
|
|
-3.3245699223640366
|
|
],
|
|
"bidirectional_boolean_difference_volume_mm3": [
|
|
0.0,
|
|
0.0
|
|
]
|
|
},
|
|
"body_local": {
|
|
"volume_mm3": 1809.5573684677204,
|
|
"area_mm2": 1079.681348704628,
|
|
"bounds_mm": [
|
|
-6.928203230275509,
|
|
16.0,
|
|
22.0,
|
|
16.92820323027551,
|
|
41.32050807568878,
|
|
30.000000000000004
|
|
],
|
|
"volume_weighted_solid_com_mm": [
|
|
5.055555555555555,
|
|
28.564028992979452,
|
|
26.675430077635962
|
|
],
|
|
"bidirectional_boolean_difference_volume_mm3": [
|
|
0.0,
|
|
0.0
|
|
]
|
|
},
|
|
"body_world": {
|
|
"volume_mm3": 1809.5573684677215,
|
|
"area_mm2": 1079.6813487046286,
|
|
"bounds_mm": [
|
|
58.67949192431122,
|
|
193.07179676972447,
|
|
322.0,
|
|
84.0,
|
|
216.9282032302755,
|
|
330.0
|
|
],
|
|
"volume_weighted_solid_com_mm": [
|
|
71.43597100702056,
|
|
205.05555555555554,
|
|
326.67543007763595
|
|
],
|
|
"bidirectional_boolean_difference_volume_mm3": [
|
|
0.0,
|
|
0.0
|
|
]
|
|
},
|
|
"occurrence_a": {
|
|
"volume_mm3": 1809.5573684677222,
|
|
"area_mm2": 1079.6813487046286,
|
|
"bounds_mm": [
|
|
958.6794919243113,
|
|
43.071796769724486,
|
|
62.0,
|
|
984.0,
|
|
66.92820323027551,
|
|
70.0
|
|
],
|
|
"volume_weighted_solid_com_mm": [
|
|
971.4359710070205,
|
|
55.05555555555554,
|
|
66.67543007763597
|
|
],
|
|
"bidirectional_boolean_difference_volume_mm3": [
|
|
0.0,
|
|
0.0
|
|
]
|
|
},
|
|
"occurrence_b": {
|
|
"volume_mm3": 1809.5573684677233,
|
|
"area_mm2": 1079.6813487046286,
|
|
"bounds_mm": [
|
|
1016.0,
|
|
133.0717967697245,
|
|
62.0,
|
|
1041.3205080756888,
|
|
156.92820323027553,
|
|
70.0
|
|
],
|
|
"volume_weighted_solid_com_mm": [
|
|
1028.5640289929795,
|
|
144.94444444444446,
|
|
66.67543007763597
|
|
],
|
|
"bidirectional_boolean_difference_volume_mm3": [
|
|
0.0,
|
|
0.0
|
|
]
|
|
},
|
|
"assembly_world": {
|
|
"volume_mm3": 3619.1147369354444,
|
|
"area_mm2": 2159.3626974092567,
|
|
"bounds_mm": [
|
|
958.6794919243113,
|
|
43.071796769724486,
|
|
62.0,
|
|
1041.3205080756888,
|
|
156.92820323027553,
|
|
70.0
|
|
],
|
|
"volume_weighted_solid_com_mm": [
|
|
1000.0,
|
|
100.00000000000001,
|
|
66.67543007763597
|
|
],
|
|
"bidirectional_boolean_difference_volume_mm3": [
|
|
0.0,
|
|
0.0
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "Valid native270 without face support",
|
|
"passed": true,
|
|
"evidence": {
|
|
"native_type": "PartDesign::Revolution",
|
|
"actual_volume_mm3": 706.8583470577034,
|
|
"scope": "No downstream face attachment; 270 is not generally invalid"
|
|
}
|
|
},
|
|
{
|
|
"name": "Ordinary user SheetPython remains genuine model input",
|
|
"passed": true,
|
|
"evidence": {
|
|
"actual_input_type": "Spreadsheet::SheetPython",
|
|
"native_input_contents_preserved": {
|
|
"A1": "=4 mm",
|
|
"alias": "Height"
|
|
},
|
|
"cad": {
|
|
"parameter_key": "Parameters:QIHeight",
|
|
"height_mm": 8.0,
|
|
"volume_mm3": 48.0
|
|
},
|
|
"rejection": {
|
|
"message": "Не удалось применить параметры: Property 'MissingAlias' not found in 'UserInput.MissingAlias'",
|
|
"original_exact_unchanged": true,
|
|
"undo": 1,
|
|
"redo": 0
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "Parameters after real drawing BOM source cells mass and direct DXF",
|
|
"passed": true,
|
|
"evidence": {
|
|
"initial": {
|
|
"parameter_key": "Parameters:QIHeight",
|
|
"height_mm": 4.0,
|
|
"volume_mm3": 24.0,
|
|
"mass_kg": 0.0001884,
|
|
"cells": {
|
|
"A1": "'Поз.",
|
|
"A2": "'1",
|
|
"B1": "'Обозначение",
|
|
"B2": "'PARAM-BOX",
|
|
"C1": "'Наименование",
|
|
"C2": "'Брусок",
|
|
"C3": "'Итого",
|
|
"D1": "'Кол.",
|
|
"D2": "1",
|
|
"E1": "'Материал",
|
|
"E2": "'Сталь",
|
|
"F1": "'Масса, кг",
|
|
"F2": "'0,0001884",
|
|
"F3": "'0,0001884"
|
|
},
|
|
"actual_mass_cell": "'0,0001884"
|
|
},
|
|
"immediate": {
|
|
"parameter_key": "Parameters:QIHeight",
|
|
"height_mm": 8.0,
|
|
"volume_mm3": 48.0,
|
|
"mass_kg": 0.0003768,
|
|
"cells": {
|
|
"A1": "'Поз.",
|
|
"A2": "'1",
|
|
"B1": "'Обозначение",
|
|
"B2": "'PARAM-BOX",
|
|
"C1": "'Наименование",
|
|
"C2": "'Брусок",
|
|
"C3": "'Итого",
|
|
"D1": "'Кол.",
|
|
"D2": "1",
|
|
"E1": "'Материал",
|
|
"E2": "'Сталь",
|
|
"F1": "'Масса, кг",
|
|
"F2": "'0,0003768",
|
|
"F3": "'0,0003768"
|
|
},
|
|
"actual_mass_cell": "'0,0003768"
|
|
},
|
|
"one_native_undo_step": true,
|
|
"undo": {
|
|
"parameter_key": "Parameters:QIHeight",
|
|
"height_mm": 4.0,
|
|
"volume_mm3": 24.0,
|
|
"mass_kg": 0.0001884,
|
|
"cells": {
|
|
"A1": "'Поз.",
|
|
"A2": "'1",
|
|
"B1": "'Обозначение",
|
|
"B2": "'PARAM-BOX",
|
|
"C1": "'Наименование",
|
|
"C2": "'Брусок",
|
|
"C3": "'Итого",
|
|
"D1": "'Кол.",
|
|
"D2": "1",
|
|
"E1": "'Материал",
|
|
"E2": "'Сталь",
|
|
"F1": "'Масса, кг",
|
|
"F2": "'0,0001884",
|
|
"F3": "'0,0001884"
|
|
},
|
|
"actual_mass_cell": "'0,0001884"
|
|
},
|
|
"redo": {
|
|
"parameter_key": "Parameters:QIHeight",
|
|
"height_mm": 8.0,
|
|
"volume_mm3": 48.0,
|
|
"mass_kg": 0.0003768,
|
|
"cells": {
|
|
"A1": "'Поз.",
|
|
"A2": "'1",
|
|
"B1": "'Обозначение",
|
|
"B2": "'PARAM-BOX",
|
|
"C1": "'Наименование",
|
|
"C2": "'Брусок",
|
|
"C3": "'Итого",
|
|
"D1": "'Кол.",
|
|
"D2": "1",
|
|
"E1": "'Материал",
|
|
"E2": "'Сталь",
|
|
"F1": "'Масса, кг",
|
|
"F2": "'0,0003768",
|
|
"F3": "'0,0003768"
|
|
},
|
|
"actual_mass_cell": "'0,0003768"
|
|
},
|
|
"actual_direct_DXF": [
|
|
{
|
|
"path": "C:\\Repos\\qinventor\\artifacts\\validation\\integrated-height8-direct.dxf",
|
|
"sha256": "2a7b7cf2ea0fab6b75c3feedbfd8c7aacc1d0c144dbcf8854093fade825ae880",
|
|
"texts": [
|
|
"Поз.",
|
|
"1",
|
|
"Обозначение",
|
|
"PARAM-BOX",
|
|
"Наименование",
|
|
"Брусок",
|
|
"Итого",
|
|
"Кол.",
|
|
"1",
|
|
"Материал",
|
|
"Сталь",
|
|
"Масса, кг",
|
|
"0,0003768",
|
|
"0,0003768"
|
|
],
|
|
"actual_native_front_width_mm": 2.0,
|
|
"actual_native_front_height_mm": 8.0
|
|
},
|
|
{
|
|
"path": "C:\\Repos\\qinventor\\artifacts\\validation\\integrated-height4-undo-direct.dxf",
|
|
"sha256": "446acedb1f778e66001001b0b48c2f8560c27c44c8247e9b7e3732d930169465",
|
|
"texts": [
|
|
"Поз.",
|
|
"1",
|
|
"Обозначение",
|
|
"PARAM-BOX",
|
|
"Наименование",
|
|
"Брусок",
|
|
"Итого",
|
|
"Кол.",
|
|
"1",
|
|
"Материал",
|
|
"Сталь",
|
|
"Масса, кг",
|
|
"0,0001884",
|
|
"0,0001884"
|
|
],
|
|
"actual_native_front_width_mm": 2.0,
|
|
"actual_native_front_height_mm": 4.0
|
|
},
|
|
{
|
|
"path": "C:\\Repos\\qinventor\\artifacts\\validation\\integrated-height8-redo-direct.dxf",
|
|
"sha256": "2a7b7cf2ea0fab6b75c3feedbfd8c7aacc1d0c144dbcf8854093fade825ae880",
|
|
"texts": [
|
|
"Поз.",
|
|
"1",
|
|
"Обозначение",
|
|
"PARAM-BOX",
|
|
"Наименование",
|
|
"Брусок",
|
|
"Итого",
|
|
"Кол.",
|
|
"1",
|
|
"Материал",
|
|
"Сталь",
|
|
"Масса, кг",
|
|
"0,0003768",
|
|
"0,0003768"
|
|
],
|
|
"actual_native_front_width_mm": 2.0,
|
|
"actual_native_front_height_mm": 8.0
|
|
}
|
|
],
|
|
"GUI_parameter_Apply_unproven_here": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Own output used as native CAD input is guarded before live",
|
|
"passed": true,
|
|
"evidence": {
|
|
"native_input_expression": "DrawingBOM.D2",
|
|
"valid_native_noncyclic_fixture": true,
|
|
"rejection": {
|
|
"message": "Лист спецификации «Данные спецификации» используется как вход «Размеры — Брусок001». Такую связь необходимо отделить от выходной спецификации перед изменением параметров",
|
|
"original_exact_unchanged": true,
|
|
"undo": 0,
|
|
"redo": 1
|
|
},
|
|
"original_redo_executed": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Native drawing scale and ordinary BOM cell expressions validate before live",
|
|
"passed": true,
|
|
"evidence": {
|
|
"native_front_scale_expression_and_BOM_note_delete_rejection": {
|
|
"message": "Не удалось применить параметры: Property 'ViewScale' not found in 'QIUserParameters.ViewScale'",
|
|
"original_exact_unchanged": true,
|
|
"undo": 5,
|
|
"redo": 1
|
|
},
|
|
"original_scale_redo_executed": true,
|
|
"valid_change_has_one_native_undo": true,
|
|
"first_undo_before_recompute": {
|
|
"present": true,
|
|
"type": "App::PropertyFloat",
|
|
"value": 2.2,
|
|
"formula": "=QIUserParameters.ViewScale * 2"
|
|
},
|
|
"undo_before_recompute": {
|
|
"present": true,
|
|
"type": "App::PropertyFloat",
|
|
"value": 2.4,
|
|
"formula": "=QIUserParameters.ViewScale * 2"
|
|
},
|
|
"redo_before_recompute": {
|
|
"present": true,
|
|
"type": "App::PropertyFloat",
|
|
"value": 2.6,
|
|
"formula": "=QIUserParameters.ViewScale * 2"
|
|
},
|
|
"isolated_undo_before_recompute": {
|
|
"present": true,
|
|
"type": "App::PropertyFloat",
|
|
"value": 2.6,
|
|
"formula": "=QIUserParameters.ViewScale * 2"
|
|
},
|
|
"BOM_user_note_formula_preserved": "=QIUserParameters.ViewScale * 2",
|
|
"isolated_BOM_user_note_delete_rejection": {
|
|
"message": "Перестроение объекта «Данные спецификации» завершилось ошибкой: One or more cells failed contains errors.",
|
|
"original_exact_unchanged": true,
|
|
"undo": 7,
|
|
"redo": 1
|
|
},
|
|
"isolated_BOM_user_note_original_redo_executed": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Native Spreadsheet and own BOM cell type changes preserve executable history",
|
|
"passed": true,
|
|
"evidence": [
|
|
{
|
|
"kind": "Spreadsheet::Sheet",
|
|
"genuine_CAD_input": true,
|
|
"integer_to_float_rejection": {
|
|
"message": "Изменение параметров меняет тип вычисленной ячейки «UserInput.H1»; штатная отмена не сохраняет такую ячейку. Сохраните тип результата её формулы перед изменением параметров",
|
|
"original_exact_unchanged": true,
|
|
"undo": 1,
|
|
"redo": 1
|
|
},
|
|
"original_redo_x_mm": 11.0,
|
|
"stable_float_change_one_undo": true,
|
|
"undo_before_recompute": {
|
|
"present": true,
|
|
"type": "App::PropertyFloat",
|
|
"value": 2.2,
|
|
"formula": "=QIUserParameters.Scale * 2"
|
|
},
|
|
"redo_before_recompute": {
|
|
"present": true,
|
|
"type": "App::PropertyFloat",
|
|
"value": 2.4,
|
|
"formula": "=QIUserParameters.Scale * 2"
|
|
},
|
|
"float_to_integer_rejection": {
|
|
"message": "Изменение параметров меняет тип вычисленной ячейки «UserInput.H1»; штатная отмена не сохраняет такую ячейку. Сохраните тип результата её формулы перед изменением параметров",
|
|
"original_exact_unchanged": true,
|
|
"undo": 3,
|
|
"redo": 0
|
|
}
|
|
},
|
|
{
|
|
"kind": "Spreadsheet::SheetPython",
|
|
"genuine_CAD_input": true,
|
|
"integer_to_float_rejection": {
|
|
"message": "Изменение параметров меняет тип вычисленной ячейки «UserInput.H1»; штатная отмена не сохраняет такую ячейку. Сохраните тип результата её формулы перед изменением параметров",
|
|
"original_exact_unchanged": true,
|
|
"undo": 1,
|
|
"redo": 1
|
|
},
|
|
"original_redo_x_mm": 11.0,
|
|
"stable_float_change_one_undo": true,
|
|
"undo_before_recompute": {
|
|
"present": true,
|
|
"type": "App::PropertyFloat",
|
|
"value": 2.2,
|
|
"formula": "=QIUserParameters.Scale * 2"
|
|
},
|
|
"redo_before_recompute": {
|
|
"present": true,
|
|
"type": "App::PropertyFloat",
|
|
"value": 2.4,
|
|
"formula": "=QIUserParameters.Scale * 2"
|
|
},
|
|
"float_to_integer_rejection": {
|
|
"message": "Изменение параметров меняет тип вычисленной ячейки «UserInput.H1»; штатная отмена не сохраняет такую ячейку. Сохраните тип результата её формулы перед изменением параметров",
|
|
"original_exact_unchanged": true,
|
|
"undo": 3,
|
|
"redo": 0
|
|
}
|
|
},
|
|
{
|
|
"kind": "OwnBOM",
|
|
"genuine_CAD_input": false,
|
|
"integer_to_float_rejection": {
|
|
"message": "Изменение параметров меняет тип вычисленной ячейки «Данные спецификации.H1»; штатная отмена не сохраняет такую ячейку. Сохраните тип результата её формулы перед изменением параметров",
|
|
"original_exact_unchanged": true,
|
|
"undo": 4,
|
|
"redo": 1
|
|
},
|
|
"original_redo_x_mm": 11.0,
|
|
"stable_float_change_one_undo": true,
|
|
"undo_before_recompute": {
|
|
"present": true,
|
|
"type": "App::PropertyFloat",
|
|
"value": 2.2,
|
|
"formula": "=QIUserParameters.Scale * 2"
|
|
},
|
|
"redo_before_recompute": {
|
|
"present": true,
|
|
"type": "App::PropertyFloat",
|
|
"value": 2.4,
|
|
"formula": "=QIUserParameters.Scale * 2"
|
|
},
|
|
"float_to_integer_rejection": {
|
|
"message": "Изменение параметров меняет тип вычисленной ячейки «Данные спецификации.H1»; штатная отмена не сохраняет такую ячейку. Сохраните тип результата её формулы перед изменением параметров",
|
|
"original_exact_unchanged": true,
|
|
"undo": 6,
|
|
"redo": 0
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Native canonical formula no-op preserves executable history; distinct equal-value formulas remain edits",
|
|
"passed": true,
|
|
"evidence": {
|
|
"qualified_canonical_noop_exact_payload_history_active_document": true,
|
|
"independent_original_redo_executed": true,
|
|
"equal_value_other_dependency_and_arithmetic_are_real_edits": true,
|
|
"actual_comment_change_is_edit": true,
|
|
"rejected_formula_exact_state": {
|
|
"message": "Не удалось применить параметры: Document object 'MissingCanonicalSource' not found in 'ParameterCanonicalNoop#MissingCanonicalSource.Size'",
|
|
"original_exact_unchanged": true,
|
|
"undo": 0,
|
|
"redo": 1
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "Fresh native process FCStd history inputs outputs and real reedit",
|
|
"passed": true,
|
|
"evidence": {
|
|
"passed": true,
|
|
"gui_up": false,
|
|
"parameter_module": "C:\\Repos\\qinventor\\src\\QInventor\\qi_parameters.py",
|
|
"parameter_module_sha256": "9f384e40b930b6ebc4e7f068651c0797134818803b82704258e26215997c01c2",
|
|
"checks": [
|
|
{
|
|
"name": "persistent_support_native_history_and_reedit",
|
|
"passed": true,
|
|
"structure": {
|
|
"serialized_placement_rounding": [
|
|
{
|
|
"object": "XZ_Plane",
|
|
"property": "Placement",
|
|
"component": 1,
|
|
"index": 0,
|
|
"expected": 0.7071067811865475,
|
|
"actual": 0.7071067811865476,
|
|
"absolute_delta": 1.1102230246251565E-16
|
|
},
|
|
{
|
|
"object": "XZ_Plane001",
|
|
"property": "Placement",
|
|
"component": 1,
|
|
"index": 0,
|
|
"expected": 0.7071067811865475,
|
|
"actual": 0.7071067811865476,
|
|
"absolute_delta": 1.1102230246251565E-16
|
|
},
|
|
{
|
|
"object": "XZ_Plane002",
|
|
"property": "Placement",
|
|
"component": 1,
|
|
"index": 0,
|
|
"expected": 0.7071067811865475,
|
|
"actual": 0.7071067811865476,
|
|
"absolute_delta": 1.1102230246251565E-16
|
|
}
|
|
],
|
|
"base_absolute_tolerance_mm": 1E-09,
|
|
"quaternion_absolute_tolerance": 1E-12,
|
|
"all_nonplacement_fields_exact": true
|
|
},
|
|
"shapes": {
|
|
"revolution": {
|
|
"volume_mm3": 2010.6192982974676,
|
|
"area_mm2": 1023.7167544041137,
|
|
"bounds_mm": [
|
|
-8.0,
|
|
0.0,
|
|
-8.0,
|
|
8.0,
|
|
20.0,
|
|
9.4E-16
|
|
],
|
|
"volume_weighted_solid_com_mm": [
|
|
1.0765503945384812E-16,
|
|
9.999999999999998,
|
|
-3.3953054526271007
|
|
],
|
|
"bidirectional_boolean_difference_volume_mm3": [
|
|
0.0,
|
|
0.0
|
|
]
|
|
},
|
|
"groove": {
|
|
"volume_mm3": 1834.6901096964393,
|
|
"area_mm2": 1070.5486074759096,
|
|
"bounds_mm": [
|
|
-8.0,
|
|
0.0,
|
|
-8.0,
|
|
8.0,
|
|
20.0,
|
|
9.4E-16
|
|
],
|
|
"volume_weighted_solid_com_mm": [
|
|
1.2287337249806946E-16,
|
|
10.0,
|
|
-3.290655627032431
|
|
],
|
|
"bidirectional_boolean_difference_volume_mm3": [
|
|
0.0,
|
|
0.0
|
|
]
|
|
},
|
|
"pocket": {
|
|
"volume_mm3": 1809.5573684677208,
|
|
"area_mm2": 1079.681348704628,
|
|
"bounds_mm": [
|
|
-8.0,
|
|
0.0,
|
|
-8.0,
|
|
8.0,
|
|
20.0,
|
|
1.2449293598294708E-15
|
|
],
|
|
"volume_weighted_solid_com_mm": [
|
|
-1.6678840012356495E-17,
|
|
9.888888888888888,
|
|
-3.3245699223640366
|
|
],
|
|
"bidirectional_boolean_difference_volume_mm3": [
|
|
0.0,
|
|
0.0
|
|
]
|
|
},
|
|
"body_local": {
|
|
"volume_mm3": 1809.5573684677224,
|
|
"area_mm2": 1079.6813487046286,
|
|
"bounds_mm": [
|
|
-6.928203230275512,
|
|
16.0,
|
|
22.0,
|
|
16.928203230275514,
|
|
41.32050807568878,
|
|
30.000000000000004
|
|
],
|
|
"volume_weighted_solid_com_mm": [
|
|
5.055555555555556,
|
|
28.564028992979452,
|
|
26.675430077635962
|
|
],
|
|
"bidirectional_boolean_difference_volume_mm3": [
|
|
0.0,
|
|
0.0
|
|
]
|
|
},
|
|
"body_world": {
|
|
"volume_mm3": 1809.5573684677227,
|
|
"area_mm2": 1079.6813487046288,
|
|
"bounds_mm": [
|
|
58.67949192431122,
|
|
193.07179676972447,
|
|
322.0,
|
|
84.0,
|
|
216.9282032302755,
|
|
330.0
|
|
],
|
|
"volume_weighted_solid_com_mm": [
|
|
71.43597100702056,
|
|
205.05555555555554,
|
|
326.67543007763595
|
|
],
|
|
"bidirectional_boolean_difference_volume_mm3": [
|
|
0.0,
|
|
0.0
|
|
]
|
|
},
|
|
"occurrence_a": {
|
|
"volume_mm3": 1809.5573684677238,
|
|
"area_mm2": 1079.6813487046288,
|
|
"bounds_mm": [
|
|
958.6794919243113,
|
|
43.07179676972448,
|
|
62.0,
|
|
984.0,
|
|
66.92820323027551,
|
|
70.0
|
|
],
|
|
"volume_weighted_solid_com_mm": [
|
|
971.4359710070205,
|
|
55.05555555555554,
|
|
66.67543007763597
|
|
],
|
|
"bidirectional_boolean_difference_volume_mm3": [
|
|
0.0,
|
|
0.0
|
|
]
|
|
},
|
|
"occurrence_b": {
|
|
"volume_mm3": 1809.5573684677233,
|
|
"area_mm2": 1079.6813487046286,
|
|
"bounds_mm": [
|
|
1016.0,
|
|
133.0717967697245,
|
|
62.0,
|
|
1041.3205080756888,
|
|
156.92820323027553,
|
|
70.0
|
|
],
|
|
"volume_weighted_solid_com_mm": [
|
|
1028.5640289929795,
|
|
144.94444444444446,
|
|
66.67543007763597
|
|
],
|
|
"bidirectional_boolean_difference_volume_mm3": [
|
|
0.0,
|
|
0.0
|
|
]
|
|
},
|
|
"assembly_world": {
|
|
"volume_mm3": 3619.114736935446,
|
|
"area_mm2": 2159.362697409257,
|
|
"bounds_mm": [
|
|
958.6794919243113,
|
|
43.07179676972448,
|
|
62.0,
|
|
1041.3205080756888,
|
|
156.92820323027553,
|
|
70.0
|
|
],
|
|
"volume_weighted_solid_com_mm": [
|
|
1000.0,
|
|
100.00000000000001,
|
|
66.67543007763597
|
|
],
|
|
"bidirectional_boolean_difference_volume_mm3": [
|
|
0.0,
|
|
0.0
|
|
]
|
|
}
|
|
},
|
|
"actual_reedit_volume_mm3": 1822.1237390820797
|
|
},
|
|
{
|
|
"name": "valid270_native90_reedit",
|
|
"passed": true,
|
|
"volume_mm3": 235.61944901923448
|
|
},
|
|
{
|
|
"name": "ordinary_user_sheet_real_input",
|
|
"passed": true,
|
|
"cad": {
|
|
"parameter_key": "Parameters:QIHeight",
|
|
"height_mm": 12.0,
|
|
"volume_mm3": 72.0
|
|
}
|
|
},
|
|
{
|
|
"name": "parameters_after_BOM_actual_reedit_and_direct_export",
|
|
"passed": true,
|
|
"restored": {
|
|
"parameter_key": "Parameters:QIHeight",
|
|
"height_mm": 8.0,
|
|
"volume_mm3": 48.0,
|
|
"mass_kg": 0.0003768,
|
|
"cells": {
|
|
"A1": "'Поз.",
|
|
"A2": "'1",
|
|
"B1": "'Обозначение",
|
|
"B2": "'PARAM-BOX",
|
|
"C1": "'Наименование",
|
|
"C2": "'Брусок",
|
|
"C3": "'Итого",
|
|
"D1": "'Кол.",
|
|
"D2": "1",
|
|
"E1": "'Материал",
|
|
"E2": "'Сталь",
|
|
"F1": "'Масса, кг",
|
|
"F2": "'0,0003768",
|
|
"F3": "'0,0003768"
|
|
},
|
|
"actual_mass_cell": "'0,0003768"
|
|
},
|
|
"immediate": {
|
|
"parameter_key": "Parameters:QIHeight",
|
|
"height_mm": 6.0,
|
|
"volume_mm3": 36.0,
|
|
"mass_kg": 0.0002826,
|
|
"cells": {
|
|
"A1": "'Поз.",
|
|
"A2": "'1",
|
|
"B1": "'Обозначение",
|
|
"B2": "'PARAM-BOX",
|
|
"C1": "'Наименование",
|
|
"C2": "'Брусок",
|
|
"C3": "'Итого",
|
|
"D1": "'Кол.",
|
|
"D2": "1",
|
|
"E1": "'Материал",
|
|
"E2": "'Сталь",
|
|
"F1": "'Масса, кг",
|
|
"F2": "'0,0002826",
|
|
"F3": "'0,0002826"
|
|
},
|
|
"actual_mass_cell": "'0,0002826"
|
|
},
|
|
"direct_DXF": {
|
|
"path": "C:\\Repos\\qinventor\\artifacts\\validation\\restored-height6-direct.dxf",
|
|
"sha256": "ff21b3ad86ef0eff449d37e0dac7044586abee3097eac269bbb2cba64cd5c0ba",
|
|
"texts": [
|
|
"Поз.",
|
|
"1",
|
|
"Обозначение",
|
|
"PARAM-BOX",
|
|
"Наименование",
|
|
"Брусок",
|
|
"Итого",
|
|
"Кол.",
|
|
"1",
|
|
"Материал",
|
|
"Сталь",
|
|
"Масса, кг",
|
|
"0,0002826",
|
|
"0,0002826"
|
|
],
|
|
"actual_native_front_width_mm": 2.0,
|
|
"actual_native_front_height_mm": 6.0
|
|
}
|
|
}
|
|
],
|
|
"source_stable": true,
|
|
"native_exit_code": 0,
|
|
"native_pid": 4500,
|
|
"report_path": "C:\\Repos\\qinventor\\artifacts\\validation\\parameter-preflight-reopen-p4grki90\\report.json"
|
|
}
|
|
}
|
|
],
|
|
"gui": true,
|
|
"source_sha256": {
|
|
"src/QInventor/Init.py": "7d2681813d2efe5a3b79147da578b67290117e61575e4e1735dd6a9aab7a37e1",
|
|
"src/QInventor/InitGui.py": "0f6fa12520a656980d3a3d61582cfcbebfa3f41728d63b75ad2fb001116a850e",
|
|
"src/QInventor/qi_bom.py": "548b7196392650b790f8263440cc12039eb1aae20c19ce6158e4588f9cc2053d",
|
|
"src/QInventor/qi_bom_ui.py": "522ea28fcce9f7a22e0ea107304ca32406846ec99af16b6adf04ef3da008811d",
|
|
"src/QInventor/qi_commands.py": "19816cbda6a9cc15023484022d0a13f84bd176d6e9eae0b681b968da21732f61",
|
|
"src/QInventor/qi_drawing_bom.py": "143dfa91623c6ac08c80e02e1671f6628ec18a5fd551bda362d7d99d252a4d11",
|
|
"src/QInventor/qi_drawing_bom_export.py": "1e0fbe90cafcf2321ce4eae90868211be7db105767f98bcf42789950d52dab2f",
|
|
"src/QInventor/qi_drawing_bom_ui.py": "8a50502dd648a42a2e6e4b436972c67b71ec0683f0c4276b13f313357d0c103a",
|
|
"src/QInventor/qi_extrude.py": "03b5b7eea4adbf168d623995e84e0d3af4ccea58494b3b34542b10447ef0c072",
|
|
"src/QInventor/qi_io.py": "77ea249f6d3a374e89ac294e0de8a386356ed47f908ba494cbe8fea37c34df1f",
|
|
"src/QInventor/qi_localization.py": "84041c5888157e7844b99ebda3fddf9e86531667c9e1aa56cde917795f1b91e1",
|
|
"src/QInventor/qi_messages.py": "5c0c41cf0c1bd60f30d0aec0da6934c2af70a88765d86c07e500046714eeecb5",
|
|
"src/QInventor/qi_model.py": "08c094382cfadd5e94e3ab6d1ce01ad1214985cc2a3222814ab5b2da26c4d762",
|
|
"src/QInventor/qi_parameters.py": "9f384e40b930b6ebc4e7f068651c0797134818803b82704258e26215997c01c2",
|
|
"src/QInventor/qi_parameters_ui.py": "4e10337d61bb38f229736f0e877d16cc99106943fa3a8f4333fa905aad7ec19f",
|
|
"src/QInventor/qi_projection.py": "a4923dd69f7dcb3230a4b60bd001698d90d6d02db5aa016362034ee73520925d",
|
|
"src/QInventor/qi_sketch_offset.py": "ffb0f2a000b91528587110d7f5d47b7e26902b499e1b35220e3c09fc89786cb9",
|
|
"src/QInventor/qi_sketch_patterns.py": "c98dfd369c639436f0aed0664cf43cc6345b6639c102309efb90041fe65d4e1e",
|
|
"src/QInventor/qi_sketch_preview.py": "4858dc39046bad95306179212fe44a63e2e1437259a9c6d14bc847b68c7aab76",
|
|
"src/QInventor/qi_sketch_ui.py": "d505b802c65f1566a64d7687e290a64226aff91958db59b8d621ac69909ead37",
|
|
"src/QInventor/qi_step_export.py": "754f7f8b841f87a696ddf800e19f947d5e8712fc53faf8fce4d2d0d0f3ee51f6",
|
|
"src/QInventor/qi_ui.py": "7432d1939919b30e5fc81cd333caf220ca3b490d71851328aa26d8070a7ac307",
|
|
"src/QInventor/qi_workbench.py": "312d49f40d78e8bde48cd8fa57232cd380565fe5b30a688e4612d57bde210c59",
|
|
"src/QInventor/resources/qinventor-a4.svg": "f77419e8559cb24b29a62ebcdc02d781f52c6910c0299d4820d1dd8c820c4128",
|
|
"src/QInventor/resources/qinventor.ico": "ea229e71d0fcdd749c35977fc0f11720a972c3ee04b3d9042d850182e0a6ed1c",
|
|
"src/QInventor/resources/qinventor.png": "3de618b2d07a1fd36a14f71d3f0b85f36a5dcc22ccf070b4629491da6e6f9e32",
|
|
"src/QInventor/resources/qinventor.svg": "12e95fa28c4aaf927311a777b3928d0518799e51663aab2f0f036015210dc954",
|
|
"tests/assembly_suite.py": "988aaa37573ab5c6543fd4f8f67b7fa7fff604721dcc6fe31b7c71abea747709",
|
|
"tests/bom_gui_suite.py": "043aa3632033bf5a6cc4fba0b1167b9cc6e89610f1db562067b00b32c62640de",
|
|
"tests/bom_suite.py": "2a52ef5fb7f99f4f21d6858f0860eba2db0a18993f7092059029c3f73b145f9e",
|
|
"tests/command_workflows_suite.py": "9c2cd271b6cde306dc9c228755579c299ead6ab6d4773d83dfefe7b37ecdb950",
|
|
"tests/drawing_bom_gui_suite.py": "12a60a1f8550922b5e3b069df09e3416111e367ba82a1d2f25fed5abf7555393",
|
|
"tests/drawing_bom_suite.py": "3da48ba3aa9b7f70ac02732fe41699776542d72e840a4d5843bc98f9e72a2509",
|
|
"tests/extrude_suite.py": "83da33ea4ce4d5da538f46e0a03a88acdb4e46a1424da32d899602a4b735605a",
|
|
"tests/gui_suite.py": "87cee20dc57dffa1384be594d7e8ba96580808685c0ec9419c8fd3a3a4f9007b",
|
|
"tests/io_suite.py": "53f8662e37fac45216d2858e732a2e8bbccf3d344c607aa57a99d9cb8d630c45",
|
|
"tests/kernel_suite.py": "bfd56a485e11b76f4b402439185db813601d93ce001b54a68e0303826157f3f8",
|
|
"tests/parameter_preflight_suite.py": "dc0dd00f59ea60baa90ab6930d7b8a68ebcb33f5e5ea00f3354d94a67d75a966",
|
|
"tests/parameter_table_gui_suite.py": "c19beaaf1c0dda693dbdd964319b1c199ea51bb79a4300f0b15177c15b5f8489",
|
|
"tests/parameter_table_suite.py": "f0c9eb2975bbac0a5d6a0a6f50bf64bc8cbd094b09942c167207574d3e1ba895",
|
|
"tests/parameters_suite.py": "7bbcc44d6d9f1595ac2ab90e8a8f01fb1d0d0acfd32294241d3ef595713f985b",
|
|
"tests/probe.FCMacro": "928efa45b20a145f313cf2ae6dcbcbc7ee9f3609df67ec678078aed8e264bd07",
|
|
"tests/projection_suite.py": "77770dc7c82656794ed68770d26c5da7871f2a8949ea8acc7ee637f8caaa1d24",
|
|
"tests/ribbon_camera_probe.FCMacro": "ed96daba842fbd362bf2ce7ec8014e011a46cc0941fae48b05f78714aeefc3c6",
|
|
"tests/ribbon_gui.FCMacro": "bbaa7367526cb924f096a97bc3f6005a6184061955abfdd15d0e91d1f5986575",
|
|
"tests/ribbon_probe.FCMacro": "b519579dcb0cee106aa40caf674fa611e105168299e933fe9930ac20a6238872",
|
|
"tests/ribbon_suite.py": "b5d5459532bdfb7113da2fea228248e87aa0e7abfa8ecec116e1222141aae05b",
|
|
"tests/sketch_offset_suite.py": "97de15e62d59b7c3113dda26d48670163853acf8a404067d676c6db3a2cc82f1",
|
|
"tests/sketch_operations_gui_suite.py": "4b088da978f506f3afe04fac6c9a3762895eb8fb1f21b2e7f5d8f08a656e53a1",
|
|
"tests/sketch_patterns_suite.py": "2205b605bd5ab7b8077cbd2421bdb469105d04daa5806fdc02edadb7a5f68414",
|
|
"scripts/bootstrap.ps1": "aeecd11aa2b609fbbbc6d4bcaf6eb6a4c236913aff26cd5096b3cb5a33dd499c",
|
|
"scripts/build-launcher.ps1": "b78168056b1009576872bc7d93f35fb7db5d409e8dd24418cfe74b42c30c6c7e",
|
|
"scripts/launcher/Program.cs": "7cee5b394ba055bb63619a5aef4c9b9db82055c3ca1a61a2550da221a996cfc5",
|
|
"scripts/launcher/QInventor.Launcher.csproj": "b46bb80c4b39b66a66b9d2e25ba97c186a9ca48d9e6bc4cdd11531b9c89990d8",
|
|
"scripts/launcher/RuntimePath.cs": "13fd9e93326afef703fa1926f83ea519dceaccb3781526e1e5e2c23243f78057",
|
|
"scripts/package.ps1": "9352bd79ee9ac41a1766745a86fd1e1c9193163f544cf838e122dcf4b770fdbb",
|
|
"scripts/render-icon.py": "2063594fde4d169f141b3a386f455be1f116b3c8a01f8bb257f4ff575b02aa42",
|
|
"scripts/startup.FCMacro": "813b4e857b3e184f3a41c7b72debfd995e7ee36ad2532aa3f57a4c878d6fc38b",
|
|
"scripts/sync.ps1": "e1349b8d1527bab9f700d0e8418a6e6be6d3df97838103efc5c473d2bcb3a5de",
|
|
"scripts/test.ps1": "6e827d4aa63e150006b2a77e77243d8445612d684bb0cea79ef4d67811c599dd",
|
|
"scripts/translator-probe.py": "5ee83e97742a65eb147227cf6c020f4307122908a3c06e1417727ee603a819ae"
|
|
},
|
|
"source_stable": true,
|
|
"parameter_module": "C:\\Repos\\qinventor\\src\\QInventor\\qi_parameters.py",
|
|
"parameter_module_sha256": "9f384e40b930b6ebc4e7f068651c0797134818803b82704258e26215997c01c2"
|
|
}
|
|
},
|
|
{
|
|
"name": "document_parameter_table_gui_suite",
|
|
"passed": true,
|
|
"result": {
|
|
"status": "passed",
|
|
"passed": 9,
|
|
"failed": 0,
|
|
"checks": [
|
|
{
|
|
"name": "Add user parameters, edit model formulas and rebuild native solid",
|
|
"passed": true,
|
|
"evidence": {
|
|
"screenshot": "C:\\Repos\\qinventor\\artifacts\\validation\\parameter-table-formulas.png",
|
|
"native_project": "C:\\Repos\\qinventor\\artifacts\\validation\\document-parameters.FCStd",
|
|
"new_user_and_model_formulas_one_undo": true,
|
|
"expression_chain_drives_solid": true,
|
|
"hidden_draft_applies": true,
|
|
"FCStd_reopen": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Units and cyclic formulas reject atomically and recover in the open table",
|
|
"passed": true,
|
|
"evidence": {
|
|
"units_error": "Параметр «Size» должен быть числом в мм",
|
|
"cycle_error": "Обнаружена циклическая зависимость. Измените формулы так, чтобы параметр не зависел от самого себя.",
|
|
"screenshot": "C:\\Repos\\qinventor\\artifacts\\validation\\parameter-table-cycle-error.png",
|
|
"errors_keep_document_and_drafts": true,
|
|
"corrected_apply_rebuilds_native_solid": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Reference dimensions, unchanged precision and Close discard drafts",
|
|
"passed": true,
|
|
"evidence": {
|
|
"screenshot": "C:\\Repos\\qinventor\\artifacts\\validation\\parameter-table-reference-and-draft.png",
|
|
"untouched_native_precision": 3.141592653589793,
|
|
"reference_not_editable": true,
|
|
"close_discards_unapplied_rows_and_values": true
|
|
}
|
|
},
|
|
{
|
|
"name": "User rename updates formula consumers and guarded deletion",
|
|
"passed": true,
|
|
"evidence": {
|
|
"native_rename_updates_consumers": true,
|
|
"referenced_delete_rejected": "Параметр или объект, указанный в формуле, не найден. Проверьте ссылку выбранной строки.",
|
|
"unused_parameter_removed_in_one_undo": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Closed document refuses pending Apply",
|
|
"passed": true,
|
|
"evidence": {
|
|
"closed_document_has_no_write": true,
|
|
"dialog_error_stays_visible": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Native Sketcher task protects its edit transaction",
|
|
"passed": true,
|
|
"evidence": {
|
|
"actual_Sketcher_task_blocks_floating_apply": true,
|
|
"after_finishing_task_apply_succeeds": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Parameter command updates a grouped existing drawing, exports and reopens",
|
|
"passed": true,
|
|
"evidence": {
|
|
"screenshot": "C:\\Repos\\qinventor\\artifacts\\validation\\parameter-table-existing-grouped-drawing.png",
|
|
"opened_by_QI_Dimensions_without_selection": true,
|
|
"grouped_native_page_preserved": true,
|
|
"front_heights_mm": [
|
|
24.0,
|
|
32.0,
|
|
32.0
|
|
],
|
|
"new_expressions_drive_existing_projection": true,
|
|
"FCStd_group_and_association_reopen": true,
|
|
"rejected_geometry_preserves_usable_native_redo": "Параметр «Radius» должен быть больше нуля",
|
|
"no_hidden_validation_documents": true,
|
|
"pdf": "C:\\Repos\\qinventor\\artifacts\\validation\\parameter-table-grouped-drawing.pdf",
|
|
"svg": "C:\\Repos\\qinventor\\artifacts\\validation\\parameter-table-grouped-drawing.svg",
|
|
"project": "C:\\Repos\\qinventor\\artifacts\\validation\\parameter-table-grouped-drawing.FCStd"
|
|
}
|
|
},
|
|
{
|
|
"name": "Filtering clears hidden user selection and prevents unseen deletion",
|
|
"passed": true,
|
|
"evidence": {
|
|
"screenshot": "C:\\Repos\\qinventor\\artifacts\\validation\\parameter-table-filter-protected-selection.png",
|
|
"hidden_selected_row_cleared": true,
|
|
"hidden_delete_slot_refuses_removal": true,
|
|
"filter_does_not_write_native_document": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Native Undo, external edits and unnamed index shifts protect table drafts",
|
|
"passed": true,
|
|
"evidence": {
|
|
"screenshot": "C:\\Repos\\qinventor\\artifacts\\validation\\parameter-table-stale-constraint-edit.png",
|
|
"undo_refresh_preserves_redo": true,
|
|
"external_native_property_rejects_stale_draft": true,
|
|
"unnamed_constraint_index_shift_rejects_old_target": true,
|
|
"refresh_is_read_only_and_discards_drafts": true,
|
|
"own_apply_updates_baseline": true,
|
|
"external_edit_delivery": "FreeCAD native transactions and public property/constraint APIs"
|
|
}
|
|
}
|
|
],
|
|
"input_delivery": "actual Qt buttons, keyboard and Russian input-method events in QI_ParameterTable",
|
|
"kernel_boundary": "native Sketcher, PartDesign Pad, App::VarSet and FreeCAD expressions",
|
|
"os_pointer_access": false,
|
|
"count": 9
|
|
}
|
|
},
|
|
{
|
|
"name": "assembly_joint_validation_suite",
|
|
"passed": true,
|
|
"result": {
|
|
"passed": true,
|
|
"checks": [
|
|
{
|
|
"name": "Joint rejects connection to the same component before mutation",
|
|
"passed": true,
|
|
"evidence": {
|
|
"message": "Выберите два разных компонента для соединения",
|
|
"unchanged": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Joint and grounding reject components outside the assembly",
|
|
"passed": true,
|
|
"evidence": {
|
|
"joint_message": "Выберите компоненты выбранной сборки",
|
|
"ground_message": "Выберите компоненты выбранной сборки",
|
|
"unchanged": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Joint and grounding reject components from another document",
|
|
"passed": true,
|
|
"evidence": {
|
|
"joint_message": "Выберите компоненты выбранной сборки",
|
|
"ground_message": "Выберите компоненты выбранной сборки",
|
|
"both_documents_unchanged": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Conflicting native joint rolls back objects and all component placements",
|
|
"passed": true,
|
|
"evidence": {
|
|
"message": "Соединение «Жёсткое соединение002» конфликтует с положением компонентов. Проверьте существующие соединения.",
|
|
"all_three_placements_restored": true,
|
|
"remaining_solver_status": 0
|
|
}
|
|
},
|
|
{
|
|
"name": "Conflicting indirect loop preserves both previous fixed joints",
|
|
"passed": true,
|
|
"evidence": {
|
|
"message": "Соединение «Жёсткое соединение001» конфликтует с положением компонентов. Проверьте существующие соединения.",
|
|
"indirect_loop_rejected": true,
|
|
"both_previous_joints_preserved": true,
|
|
"all_three_placements_restored": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Accepted native joint is one undo step and survives redo save reopen",
|
|
"passed": true,
|
|
"evidence": {
|
|
"native_joint": true,
|
|
"undo_redo": true,
|
|
"reopened": true,
|
|
"project": "C:\\Repos\\qinventor\\artifacts\\validation\\atomic-joint.FCStd",
|
|
"solver_status": 0
|
|
}
|
|
}
|
|
],
|
|
"summary": {
|
|
"total": 6,
|
|
"passed": 6,
|
|
"failed": 0
|
|
},
|
|
"gui_exercised": true
|
|
}
|
|
},
|
|
{
|
|
"name": "nested_assembly_bom_kernel_suite",
|
|
"passed": true,
|
|
"result": {
|
|
"passed": true,
|
|
"count": 14,
|
|
"checks": [
|
|
{
|
|
"name": "STEP world frames readonly payload shared identities and atomic writer",
|
|
"passed": true,
|
|
"evidence": {
|
|
"exchanges": [
|
|
{
|
|
"path": "C:\\Repos\\qinventor\\artifacts\\validation\\placed-root-default.step",
|
|
"solids": 7,
|
|
"volume_mm3": 2120.000000000001,
|
|
"world_com_mm": [
|
|
995.1981132075472,
|
|
225.56603773584908,
|
|
4.830188679245285
|
|
],
|
|
"source_exact_and_redo_executes": true,
|
|
"products": [
|
|
[
|
|
"Экспорт модели",
|
|
"Экспорт модели"
|
|
],
|
|
[
|
|
"Assembly",
|
|
"Assembly"
|
|
],
|
|
[
|
|
"Узел",
|
|
"Узел"
|
|
],
|
|
[
|
|
"Болт",
|
|
"Болт"
|
|
],
|
|
[
|
|
"Корпус",
|
|
"Корпус"
|
|
],
|
|
[
|
|
"Узел",
|
|
"Узел"
|
|
]
|
|
],
|
|
"occurrences": [
|
|
"Assembly",
|
|
"SubA",
|
|
"BoltA001",
|
|
"BoltB001",
|
|
"HousingOccurrence001",
|
|
"SubB",
|
|
"BoltA002",
|
|
"BoltB002",
|
|
"HousingOccurrence002",
|
|
"DirectBolt"
|
|
]
|
|
},
|
|
{
|
|
"path": "C:\\Repos\\qinventor\\artifacts\\validation\\placed-root-explicit.step",
|
|
"solids": 7,
|
|
"volume_mm3": 2120.000000000001,
|
|
"world_com_mm": [
|
|
995.1981132075472,
|
|
225.56603773584908,
|
|
4.830188679245285
|
|
],
|
|
"source_exact_and_redo_executes": true,
|
|
"products": [
|
|
[
|
|
"Экспорт модели",
|
|
"Экспорт модели"
|
|
],
|
|
[
|
|
"Assembly",
|
|
"Assembly"
|
|
],
|
|
[
|
|
"Узел",
|
|
"Узел"
|
|
],
|
|
[
|
|
"Болт",
|
|
"Болт"
|
|
],
|
|
[
|
|
"Корпус",
|
|
"Корпус"
|
|
],
|
|
[
|
|
"Узел",
|
|
"Узел"
|
|
]
|
|
],
|
|
"occurrences": [
|
|
"Assembly",
|
|
"SubA",
|
|
"BoltA001",
|
|
"BoltB001",
|
|
"HousingOccurrence001",
|
|
"SubB",
|
|
"BoltA002",
|
|
"BoltB002",
|
|
"HousingOccurrence002",
|
|
"DirectBolt"
|
|
]
|
|
},
|
|
{
|
|
"path": "C:\\Repos\\qinventor\\artifacts\\validation\\placed-body-default.step",
|
|
"solids": 1,
|
|
"volume_mm3": 24.000000000000007,
|
|
"world_com_mm": [
|
|
28.200961894323342,
|
|
70.11602540378443,
|
|
102.00000000000001
|
|
],
|
|
"source_exact_and_redo_executes": true,
|
|
"products": [
|
|
[
|
|
"Экспорт модели",
|
|
"Экспорт модели"
|
|
],
|
|
[
|
|
"Брусок",
|
|
"Брусок"
|
|
]
|
|
],
|
|
"occurrences": [
|
|
"Брусок"
|
|
]
|
|
},
|
|
{
|
|
"path": "C:\\Repos\\qinventor\\artifacts\\validation\\placed-body-explicit.step",
|
|
"solids": 1,
|
|
"volume_mm3": 24.000000000000007,
|
|
"world_com_mm": [
|
|
28.200961894323342,
|
|
70.11602540378443,
|
|
102.00000000000001
|
|
],
|
|
"source_exact_and_redo_executes": true,
|
|
"products": [
|
|
[
|
|
"Экспорт модели",
|
|
"Экспорт модели"
|
|
],
|
|
[
|
|
"Брусок",
|
|
"Брусок"
|
|
]
|
|
],
|
|
"occurrences": [
|
|
"Брусок"
|
|
]
|
|
}
|
|
],
|
|
"native_writer_fault_old_bytes_and_source_exact": true,
|
|
"native_instance_identity_labels_and_world_geometry_proved": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Nested rigid/flexible quantities density and world COM",
|
|
"passed": true,
|
|
"evidence": {
|
|
"flat": [
|
|
{
|
|
"position": "1",
|
|
"parent_position": "",
|
|
"level": 0,
|
|
"part_number": "BOLT",
|
|
"name": "Болт",
|
|
"quantity": 5,
|
|
"quantity_total": 5,
|
|
"material": "Сталь",
|
|
"density_kg_m3": 7850.000000000001,
|
|
"unit_mass_kg": 0.00018840000000000013,
|
|
"mass_kg": 0.0009420000000000007,
|
|
"source_id": "QInventorPart3#Body",
|
|
"source_name": "Body",
|
|
"source_doc": "QInventorPart3",
|
|
"is_assembly": false,
|
|
"kind": "part",
|
|
"row_id": "QInventorPart3#Body|1",
|
|
"variant_id": "(((1.0, 0.0, 0.0, 1.0, 0.0, 1.0), 1), 'Сталь', 7850.0, 24.0, 52.0)",
|
|
"materials": [
|
|
"Сталь"
|
|
]
|
|
},
|
|
{
|
|
"position": "2",
|
|
"parent_position": "",
|
|
"level": 0,
|
|
"part_number": "HOUSING",
|
|
"name": "Корпус",
|
|
"quantity": 2,
|
|
"quantity_total": 2,
|
|
"material": "Алюминий",
|
|
"density_kg_m3": 2700.0,
|
|
"unit_mass_kg": 0.0027000000000000014,
|
|
"mass_kg": 0.005400000000000003,
|
|
"source_id": "QInventorPart3#Body001",
|
|
"source_name": "Body001",
|
|
"source_doc": "QInventorPart3",
|
|
"is_assembly": false,
|
|
"kind": "part",
|
|
"row_id": "QInventorPart3#Body001|2",
|
|
"variant_id": "(((1.0, 0.0, 0.0, 1.0, 0.0, 1.0), 1), 'Алюминий', 2700.0, 1000.0, 600.0)",
|
|
"materials": [
|
|
"Алюминий"
|
|
]
|
|
}
|
|
],
|
|
"mass": {
|
|
"volume_mm3": 2120.000000000001,
|
|
"area_mm2": 1460.0000000000002,
|
|
"mass_kg": 0.006342000000000003,
|
|
"density_kg_m3": 2991.509433962264,
|
|
"material": "Смешанные материалы",
|
|
"materials": [
|
|
"Сталь",
|
|
"Алюминий"
|
|
],
|
|
"center_mm": [
|
|
995.5198675496691,
|
|
226.48533585619683,
|
|
4.554399243140967
|
|
],
|
|
"dimensions_mm": [
|
|
10.0,
|
|
202.00000000000003,
|
|
10.000000000000002
|
|
],
|
|
"solids": 7,
|
|
"components": 7,
|
|
"assembly_count": 3
|
|
},
|
|
"independent_world_com": [
|
|
995.5198675496688,
|
|
226.4853358561968,
|
|
4.554399243140964
|
|
],
|
|
"rigid_and_flexible_native_links": true,
|
|
"read_only_persistence_history": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Structured local/cumulative multiplicity and explicit roots",
|
|
"passed": true,
|
|
"evidence": {
|
|
"rows": [
|
|
{
|
|
"position": "1",
|
|
"parent_position": "",
|
|
"level": 0,
|
|
"part_number": "SubAssembly",
|
|
"name": "Узел",
|
|
"quantity": 2,
|
|
"quantity_total": 2,
|
|
"material": "Смешанные материалы",
|
|
"density_kg_m3": 2935.87786259542,
|
|
"unit_mass_kg": 0.0030767999999999993,
|
|
"mass_kg": 0.006153599999999999,
|
|
"source_id": "QInventorPart4#SubAssembly",
|
|
"source_name": "SubAssembly",
|
|
"source_doc": "QInventorPart4",
|
|
"is_assembly": true,
|
|
"kind": "assembly",
|
|
"row_id": "QInventorPart4#SubAssembly|1",
|
|
"variant_id": "('assembly', ((('QInventorPart4', 'Body'), ((1.0, 0.0, 0.0, 1.0, 0.0, 1.0), 1), 'Сталь', 7850.0, 24.0, 52.0), (('QInventorPart4', 'Body'), ((1.0, 0.0, 0.0, 1.0, 0.0, 1.0), 1), 'Сталь', 7850.0, 24.0, 52.0), (('QInventorPart4', 'Body001'), ((1.0, 0.0, 0.0, 1.0, 0.0, 1.0), 1), 'Алюминий', 2700.0, 1000.0, 600.0)))",
|
|
"materials": [
|
|
"Алюминий",
|
|
"Сталь"
|
|
]
|
|
},
|
|
{
|
|
"position": "1.1",
|
|
"parent_position": "1",
|
|
"level": 1,
|
|
"part_number": "BOLT",
|
|
"name": "Болт",
|
|
"quantity": 2,
|
|
"quantity_total": 4,
|
|
"material": "Сталь",
|
|
"density_kg_m3": 7850.0,
|
|
"unit_mass_kg": 0.00018840000000000003,
|
|
"mass_kg": 0.0007536000000000001,
|
|
"source_id": "QInventorPart4#Body",
|
|
"source_name": "Body",
|
|
"source_doc": "QInventorPart4",
|
|
"is_assembly": false,
|
|
"kind": "part",
|
|
"row_id": "QInventorPart4#Body|1.1",
|
|
"variant_id": "(((1.0, 0.0, 0.0, 1.0, 0.0, 1.0), 1), 'Сталь', 7850.0, 24.0, 52.0)",
|
|
"materials": [
|
|
"Сталь"
|
|
]
|
|
},
|
|
{
|
|
"position": "1.2",
|
|
"parent_position": "1",
|
|
"level": 1,
|
|
"part_number": "HOUSING",
|
|
"name": "Корпус",
|
|
"quantity": 1,
|
|
"quantity_total": 2,
|
|
"material": "Алюминий",
|
|
"density_kg_m3": 2700.0,
|
|
"unit_mass_kg": 0.0026999999999999993,
|
|
"mass_kg": 0.0053999999999999986,
|
|
"source_id": "QInventorPart4#Body001",
|
|
"source_name": "Body001",
|
|
"source_doc": "QInventorPart4",
|
|
"is_assembly": false,
|
|
"kind": "part",
|
|
"row_id": "QInventorPart4#Body001|1.2",
|
|
"variant_id": "(((1.0, 0.0, 0.0, 1.0, 0.0, 1.0), 1), 'Алюминий', 2700.0, 1000.0, 600.0)",
|
|
"materials": [
|
|
"Алюминий"
|
|
]
|
|
},
|
|
{
|
|
"position": "2",
|
|
"parent_position": "",
|
|
"level": 0,
|
|
"part_number": "BOLT",
|
|
"name": "Болт",
|
|
"quantity": 1,
|
|
"quantity_total": 1,
|
|
"material": "Сталь",
|
|
"density_kg_m3": 7850.0,
|
|
"unit_mass_kg": 0.00018840000000000003,
|
|
"mass_kg": 0.00018840000000000003,
|
|
"source_id": "QInventorPart4#Body",
|
|
"source_name": "Body",
|
|
"source_doc": "QInventorPart4",
|
|
"is_assembly": false,
|
|
"kind": "part",
|
|
"row_id": "QInventorPart4#Body|2",
|
|
"variant_id": "(((1.0, 0.0, 0.0, 1.0, 0.0, 1.0), 1), 'Сталь', 7850.0, 24.0, 52.0)",
|
|
"materials": [
|
|
"Сталь"
|
|
]
|
|
}
|
|
],
|
|
"scoped_subassembly": [
|
|
{
|
|
"position": "1",
|
|
"parent_position": "",
|
|
"level": 0,
|
|
"part_number": "BOLT",
|
|
"name": "Болт",
|
|
"quantity": 2,
|
|
"quantity_total": 2,
|
|
"material": "Сталь",
|
|
"density_kg_m3": 7850.0,
|
|
"unit_mass_kg": 0.00018840000000000003,
|
|
"mass_kg": 0.00037680000000000005,
|
|
"source_id": "QInventorPart4#Body",
|
|
"source_name": "Body",
|
|
"source_doc": "QInventorPart4",
|
|
"is_assembly": false,
|
|
"kind": "part",
|
|
"row_id": "QInventorPart4#Body|1",
|
|
"variant_id": "(((1.0, 0.0, 0.0, 1.0, 0.0, 1.0), 1), 'Сталь', 7850.0, 24.0, 52.0)",
|
|
"materials": [
|
|
"Сталь"
|
|
]
|
|
},
|
|
{
|
|
"position": "2",
|
|
"parent_position": "",
|
|
"level": 0,
|
|
"part_number": "HOUSING",
|
|
"name": "Корпус",
|
|
"quantity": 1,
|
|
"quantity_total": 1,
|
|
"material": "Алюминий",
|
|
"density_kg_m3": 2700.0,
|
|
"unit_mass_kg": 0.0026999999999999993,
|
|
"mass_kg": 0.0026999999999999993,
|
|
"source_id": "QInventorPart4#Body001",
|
|
"source_name": "Body001",
|
|
"source_doc": "QInventorPart4",
|
|
"is_assembly": false,
|
|
"kind": "part",
|
|
"row_id": "QInventorPart4#Body001|2",
|
|
"variant_id": "(((1.0, 0.0, 0.0, 1.0, 0.0, 1.0), 1), 'Алюминий', 2700.0, 1000.0, 600.0)",
|
|
"materials": [
|
|
"Алюминий"
|
|
]
|
|
}
|
|
],
|
|
"summary_never_double_counts": true,
|
|
"actual_scope_roots": [
|
|
"Assembly",
|
|
"SubA",
|
|
"SubB"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "CAD source identity independent of labels and part numbers",
|
|
"passed": true,
|
|
"evidence": {
|
|
"rows": [
|
|
{
|
|
"position": "1",
|
|
"parent_position": "",
|
|
"level": 0,
|
|
"part_number": "SAME",
|
|
"name": "Одинаковая подпись",
|
|
"quantity": 1,
|
|
"quantity_total": 1,
|
|
"material": "Сталь",
|
|
"density_kg_m3": 7850.0,
|
|
"unit_mass_kg": 0.00018840000000000003,
|
|
"mass_kg": 0.00018840000000000003,
|
|
"source_id": "QInventorPart5#Body",
|
|
"source_name": "Body",
|
|
"source_doc": "QInventorPart5",
|
|
"is_assembly": false,
|
|
"kind": "part",
|
|
"row_id": "QInventorPart5#Body|1",
|
|
"variant_id": "(((1.0, 0.0, 0.0, 1.0, 0.0, 1.0), 1), 'Сталь', 7850.0, 24.0, 52.0)",
|
|
"materials": [
|
|
"Сталь"
|
|
]
|
|
},
|
|
{
|
|
"position": "2",
|
|
"parent_position": "",
|
|
"level": 0,
|
|
"part_number": "SAME",
|
|
"name": "Одинаковая подпись001",
|
|
"quantity": 1,
|
|
"quantity_total": 1,
|
|
"material": "Сталь",
|
|
"density_kg_m3": 7850.0,
|
|
"unit_mass_kg": 0.00037680000000000005,
|
|
"mass_kg": 0.00037680000000000005,
|
|
"source_id": "QInventorPart5#Body001",
|
|
"source_name": "Body001",
|
|
"source_doc": "QInventorPart5",
|
|
"is_assembly": false,
|
|
"kind": "part",
|
|
"row_id": "QInventorPart5#Body001|2",
|
|
"variant_id": "(((1.0, 0.0, 0.0, 1.0, 0.0, 1.0), 1), 'Сталь', 7850.0, 48.0, 80.0)",
|
|
"materials": [
|
|
"Сталь"
|
|
]
|
|
}
|
|
],
|
|
"labels_and_numbers_do_not_define_identity": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Native hidden arrays mirror and nonuniform scales",
|
|
"passed": true,
|
|
"evidence": {
|
|
"virtual_hidden_array_elements_counted": true,
|
|
"array_variants": [
|
|
{
|
|
"position": "1",
|
|
"parent_position": "",
|
|
"level": 0,
|
|
"part_number": "Bolt",
|
|
"name": "Bolt",
|
|
"quantity": 1,
|
|
"quantity_total": 1,
|
|
"material": "Сталь",
|
|
"density_kg_m3": 7850.0,
|
|
"unit_mass_kg": 0.00018839999999999997,
|
|
"mass_kg": 0.00018839999999999997,
|
|
"source_id": "QInventorPart6#Bolt",
|
|
"source_name": "Bolt",
|
|
"source_doc": "QInventorPart6",
|
|
"is_assembly": false,
|
|
"kind": "part",
|
|
"row_id": "QInventorPart6#Bolt|1",
|
|
"variant_id": "(((1.0, 0.0, 0.0, 1.0, 0.0, 1.0), 1), 'Сталь', 7850.0, 24.0, 52.0)",
|
|
"materials": [
|
|
"Сталь"
|
|
]
|
|
},
|
|
{
|
|
"position": "2",
|
|
"parent_position": "",
|
|
"level": 0,
|
|
"part_number": "Bolt",
|
|
"name": "Bolt",
|
|
"quantity": 1,
|
|
"quantity_total": 1,
|
|
"material": "Сталь",
|
|
"density_kg_m3": 7850.0,
|
|
"unit_mass_kg": 0.0015071999999999998,
|
|
"mass_kg": 0.0015071999999999998,
|
|
"source_id": "QInventorPart6#Bolt",
|
|
"source_name": "Bolt",
|
|
"source_doc": "QInventorPart6",
|
|
"is_assembly": false,
|
|
"kind": "part",
|
|
"row_id": "QInventorPart6#Bolt|2",
|
|
"variant_id": "(((4.0, 0.0, 0.0, 4.0, 0.0, 4.0), 1), 'Сталь', 7850.0, 192.0, 208.0)",
|
|
"materials": [
|
|
"Сталь"
|
|
]
|
|
},
|
|
{
|
|
"position": "3",
|
|
"parent_position": "",
|
|
"level": 0,
|
|
"part_number": "Bolt",
|
|
"name": "Bolt",
|
|
"quantity": 1,
|
|
"quantity_total": 1,
|
|
"material": "Сталь",
|
|
"density_kg_m3": 7850.0,
|
|
"unit_mass_kg": 0.005086800000000001,
|
|
"mass_kg": 0.005086800000000001,
|
|
"source_id": "QInventorPart6#Bolt",
|
|
"source_name": "Bolt",
|
|
"source_doc": "QInventorPart6",
|
|
"is_assembly": false,
|
|
"kind": "part",
|
|
"row_id": "QInventorPart6#Bolt|3",
|
|
"variant_id": "(((9.0, 0.0, 0.0, 9.0, 0.0, 9.0), 1), 'Сталь', 7850.0, 648.0, 468.0)",
|
|
"materials": [
|
|
"Сталь"
|
|
]
|
|
}
|
|
],
|
|
"mirrored_positive_physical_mass": true,
|
|
"nonuniform_scaling": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Expanded and virtual arrays preserve materials without duplicate roots",
|
|
"passed": true,
|
|
"evidence": {
|
|
"both_native_array_representations": [
|
|
{
|
|
"expanded_elements": false,
|
|
"rows": [
|
|
{
|
|
"position": "1",
|
|
"parent_position": "",
|
|
"level": 0,
|
|
"part_number": "Bolt",
|
|
"name": "Bolt",
|
|
"quantity": 3,
|
|
"quantity_total": 3,
|
|
"material": "ABS",
|
|
"density_kg_m3": 999.9999999999999,
|
|
"unit_mass_kg": 2.3999999999999997E-05,
|
|
"mass_kg": 7.199999999999999E-05,
|
|
"source_id": "QInventorPart7#Bolt",
|
|
"source_name": "Bolt",
|
|
"source_doc": "QInventorPart7",
|
|
"is_assembly": false,
|
|
"kind": "part",
|
|
"row_id": "QInventorPart7#Bolt|1",
|
|
"variant_id": "(((1.0, 0.0, 0.0, 1.0, 0.0, 1.0), 1), 'ABS', 1000.0, 24.0, 52.0)",
|
|
"materials": [
|
|
"ABS"
|
|
]
|
|
}
|
|
],
|
|
"components": 3,
|
|
"actual_material_service_used": true,
|
|
"array_view_properties": [
|
|
"ChildViewProvider",
|
|
"DisplayMode",
|
|
"DrawStyle",
|
|
"LineWidth",
|
|
"MaterialList",
|
|
"OnTopWhenSelected",
|
|
"OverrideColorList",
|
|
"OverrideMaterial",
|
|
"OverrideMaterialList",
|
|
"PointSize",
|
|
"Selectable",
|
|
"SelectionStyle",
|
|
"ShapeMaterial",
|
|
"ShowInTree",
|
|
"Visibility"
|
|
],
|
|
"assembly_view_properties": [
|
|
"DisplayMode",
|
|
"OnTopWhenSelected",
|
|
"SelectionStyle",
|
|
"ShowInTree",
|
|
"TransformOrigin",
|
|
"Visibility"
|
|
]
|
|
},
|
|
{
|
|
"expanded_elements": true,
|
|
"rows": [
|
|
{
|
|
"position": "1",
|
|
"parent_position": "",
|
|
"level": 0,
|
|
"part_number": "Bolt",
|
|
"name": "Bolt",
|
|
"quantity": 3,
|
|
"quantity_total": 3,
|
|
"material": "ABS",
|
|
"density_kg_m3": 999.9999999999999,
|
|
"unit_mass_kg": 2.3999999999999997E-05,
|
|
"mass_kg": 7.199999999999999E-05,
|
|
"source_id": "QInventorPart8#Bolt",
|
|
"source_name": "Bolt",
|
|
"source_doc": "QInventorPart8",
|
|
"is_assembly": false,
|
|
"kind": "part",
|
|
"row_id": "QInventorPart8#Bolt|1",
|
|
"variant_id": "(((1.0, 0.0, 0.0, 1.0, 0.0, 1.0), 1), 'ABS', 1000.0, 24.0, 52.0)",
|
|
"materials": [
|
|
"ABS"
|
|
]
|
|
}
|
|
],
|
|
"components": 3,
|
|
"actual_material_service_used": true,
|
|
"array_view_properties": [
|
|
"ChildViewProvider",
|
|
"DisplayMode",
|
|
"DrawStyle",
|
|
"LineWidth",
|
|
"MaterialList",
|
|
"OnTopWhenSelected",
|
|
"OverrideColorList",
|
|
"OverrideMaterial",
|
|
"OverrideMaterialList",
|
|
"PointSize",
|
|
"Selectable",
|
|
"SelectionStyle",
|
|
"ShapeMaterial",
|
|
"ShowInTree",
|
|
"Visibility"
|
|
],
|
|
"assembly_view_properties": [
|
|
"DisplayMode",
|
|
"OnTopWhenSelected",
|
|
"SelectionStyle",
|
|
"ShowInTree",
|
|
"TransformOrigin",
|
|
"Visibility"
|
|
]
|
|
}
|
|
],
|
|
"parent_array_material_used": true,
|
|
"expanded_elements_not_extra_document_roots": true,
|
|
"container_density_does_not_replace_leaf_density": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Effective scale cancellation rootless transforms and mirror identity",
|
|
"passed": true,
|
|
"evidence": {
|
|
"uniform_scale_chain_cancels": true,
|
|
"rootless_effective_transform": true,
|
|
"mirror_variant_separate": true,
|
|
"rows": [
|
|
{
|
|
"position": "1",
|
|
"parent_position": "",
|
|
"level": 0,
|
|
"part_number": "Bolt",
|
|
"name": "Bolt",
|
|
"quantity": 2,
|
|
"quantity_total": 2,
|
|
"material": "Сталь",
|
|
"density_kg_m3": 7850.0,
|
|
"unit_mass_kg": 0.00018839999999999997,
|
|
"mass_kg": 0.00037679999999999994,
|
|
"source_id": "QInventorPart9#Bolt",
|
|
"source_name": "Bolt",
|
|
"source_doc": "QInventorPart9",
|
|
"is_assembly": false,
|
|
"kind": "part",
|
|
"row_id": "QInventorPart9#Bolt|1",
|
|
"variant_id": "(((1.0, 0.0, 0.0, 1.0, 0.0, 1.0), 1), 'Сталь', 7850.0, 24.0, 52.0)",
|
|
"materials": [
|
|
"Сталь"
|
|
]
|
|
},
|
|
{
|
|
"position": "2",
|
|
"parent_position": "",
|
|
"level": 0,
|
|
"part_number": "Bolt",
|
|
"name": "Bolt",
|
|
"quantity": 1,
|
|
"quantity_total": 1,
|
|
"material": "Сталь",
|
|
"density_kg_m3": 7850.0,
|
|
"unit_mass_kg": 0.00018839999999999997,
|
|
"mass_kg": 0.00018839999999999997,
|
|
"source_id": "QInventorPart9#Bolt",
|
|
"source_name": "Bolt",
|
|
"source_doc": "QInventorPart9",
|
|
"is_assembly": false,
|
|
"kind": "part",
|
|
"row_id": "QInventorPart9#Bolt|2",
|
|
"variant_id": "(((1.0, 0.0, 0.0, 1.0, 0.0, 1.0), -1), 'Сталь', 7850.0, 24.0, 52.0)",
|
|
"materials": [
|
|
"Сталь"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "Container Boolean history native mirroring and helper groups",
|
|
"passed": true,
|
|
"evidence": {
|
|
"native_inputs_not_counted_inside_container": true,
|
|
"actual_source_link_counted": true,
|
|
"helper_sketch_group_omitted": true,
|
|
"native_Mirroring_Source_consumed": true
|
|
}
|
|
},
|
|
{
|
|
"name": "External source recompute and generic native container links",
|
|
"passed": true,
|
|
"evidence": {
|
|
"external_dependency_recomputed": true,
|
|
"generic_AppPart_link_traversed": true,
|
|
"scope_selector_contains_only_addressable_local_occurrences": [
|
|
"Assembly",
|
|
"ExternalContainer"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "Consumed Boolean history and native density units",
|
|
"passed": true,
|
|
"evidence": {
|
|
"Boolean_base_and_tool_are_not_independent_parts": true,
|
|
"explicit_base_occurrence_counted": true,
|
|
"native_density_quantity_converted_to_kg_m3": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Cached native feature errors density and scoped validation",
|
|
"passed": true,
|
|
"evidence": {
|
|
"cached_valid_BRep_invalid_feature_rejected": true,
|
|
"explicit_scope_ignores_unrelated_failed_body": true,
|
|
"invalid_density_rejected": 4,
|
|
"wire_solid_compound_rejected": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Missing targets and native link/assembly cycles",
|
|
"passed": true,
|
|
"evidence": {
|
|
"missing_and_wrong_assembly_target_rejected": true,
|
|
"missing_wrong_target_gui_exercised": true,
|
|
"native_cycle_evidence": {
|
|
"passed": true,
|
|
"service_path": "C:\\Repos\\qinventor\\src\\QInventor\\qi_bom.py",
|
|
"service_sha256": "548b7196392650b790f8263440cc12039eb1aae20c19ce6158e4588f9cc2053d",
|
|
"suite_sha256": "2a52ef5fb7f99f4f21d6858f0860eba2db0a18993f7092059029c3f73b145f9e",
|
|
"freecad_version": [
|
|
"1",
|
|
"1",
|
|
"4",
|
|
"20260928 (Git shallow)",
|
|
"Unknown",
|
|
"2026/09/28 13:46:34",
|
|
"(HEAD detached at 4fd3bf320)",
|
|
"4fd3bf320d9566a27e60069fc8387448aaa3a094"
|
|
],
|
|
"gui_up": false,
|
|
"user_cfg": "C:\\Repos\\qinventor\\artifacts\\validation\\bom-cycle-02rn2633\\user.cfg",
|
|
"system_cfg": "C:\\Repos\\qinventor\\artifacts\\validation\\bom-cycle-02rn2633\\system.cfg",
|
|
"evidence": {
|
|
"real_two_link_cycle_guarded_before_delegated_geometry": true,
|
|
"real_cross_assembly_cycle_guarded": true,
|
|
"rejection_count": 4,
|
|
"rejections": [
|
|
"Обнаружен цикл в составе сборки «A»",
|
|
"Обнаружен цикл в составе сборки «A»",
|
|
"Обнаружен цикл в составе сборки «A»",
|
|
"Обнаружен цикл в составе сборки «AssemblyA»"
|
|
],
|
|
"gui_up": false
|
|
},
|
|
"native_exit_code": 0,
|
|
"native_pid": 21276,
|
|
"engine_path": "C:\\Repos\\qinventor\\runtime\\FreeCAD_1.1.4-Windows-x86_64-py311\\bin\\FreeCADCmd.exe",
|
|
"report_path": "C:\\Repos\\qinventor\\artifacts\\validation\\bom-cycle-02rn2633\\cycle-report.json",
|
|
"execution_boundary": "owned headless FreeCADCmd; parent missing/wrong targets remain GUI"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "Atomic CSV validation old bytes and empty scope",
|
|
"passed": true,
|
|
"evidence": {
|
|
"flat_csv": "C:\\Repos\\qinventor\\artifacts\\validation\\nested-flat.csv",
|
|
"structured_csv": "C:\\Repos\\qinventor\\artifacts\\validation\\nested-structured.csv",
|
|
"old_bytes_preserved_on_failure": true,
|
|
"no_parent_directory_on_invalid_input": true,
|
|
"empty_export_rejected": true
|
|
}
|
|
},
|
|
{
|
|
"name": "FCStd source edits Undo/Redo and STEP instance proof",
|
|
"passed": true,
|
|
"evidence": {
|
|
"fcstd": "C:\\Repos\\qinventor\\artifacts\\validation\\nested-assembly.FCStd",
|
|
"step": "C:\\Repos\\qinventor\\artifacts\\validation\\nested-assembly.step",
|
|
"step_leaf_solids": 7,
|
|
"step_volume_mm3": 2240.0,
|
|
"source_edit_and_undo_redo_updates_all_occurrences": true,
|
|
"step_world_centers": [
|
|
[
|
|
102.0,
|
|
1.5,
|
|
2.0
|
|
],
|
|
[
|
|
112.0,
|
|
1.5,
|
|
2.0
|
|
],
|
|
[
|
|
125.0,
|
|
5.0,
|
|
5.0
|
|
],
|
|
[
|
|
202.0,
|
|
1.5,
|
|
2.0
|
|
],
|
|
[
|
|
212.0,
|
|
1.5,
|
|
2.0
|
|
],
|
|
[
|
|
225.0,
|
|
5.0,
|
|
5.0
|
|
],
|
|
[
|
|
302.0,
|
|
1.5,
|
|
2.0
|
|
]
|
|
]
|
|
}
|
|
}
|
|
],
|
|
"summary": {
|
|
"total": 14,
|
|
"passed": 14,
|
|
"failed": 0
|
|
},
|
|
"gui_exercised": true,
|
|
"cycle_execution_boundary": "owned headless FreeCADCmd child"
|
|
}
|
|
},
|
|
{
|
|
"name": "nested_assembly_bom_gui_suite",
|
|
"passed": true,
|
|
"result": {
|
|
"status": "passed",
|
|
"passed": 3,
|
|
"failed": 0,
|
|
"checks": [
|
|
{
|
|
"name": "Native insertion, flat and structured quantities, materials and nested scope",
|
|
"passed": true,
|
|
"evidence": {
|
|
"native_inserted_subassemblies": 2,
|
|
"native_inserted_direct_bolts": 1,
|
|
"flat_quantities": {
|
|
"GUI-HOUSING": 2,
|
|
"GUI-BOLT": 5
|
|
},
|
|
"mixed_mass_kg": 0.006633075116533993,
|
|
"prototype_excluded": true,
|
|
"construction_sketch_container_has_no_BOM_rows": true,
|
|
"assembly_material_rejected_before_chooser_without_mutation": [
|
|
{
|
|
"type": "Assembly::AssemblyObject",
|
|
"message": "Выберите конечную деталь или её экземпляр. Материалы сборки задаются у входящих деталей."
|
|
},
|
|
{
|
|
"type": "Assembly::AssemblyLink",
|
|
"message": "Выберите конечную деталь или её экземпляр. Материалы сборки задаются у входящих деталей."
|
|
}
|
|
],
|
|
"physical_counts_ignore_visibility": true,
|
|
"structured_local_and_total_quantities": true,
|
|
"selected_live_nested_instance": true,
|
|
"screenshots": [
|
|
"C:\\Repos\\qinventor\\artifacts\\validation\\bom-gui-flat.png",
|
|
"C:\\Repos\\qinventor\\artifacts\\validation\\bom-gui-structured.png"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "Russian mass properties, native source refresh, actual CSV dialogs and FCStd reopen",
|
|
"passed": true,
|
|
"evidence": {
|
|
"mass_properties_russian_labels": {
|
|
"Объём, мм³": "2157.08",
|
|
"Площадь поверхности, мм²": "1545.58",
|
|
"Масса, кг": "0.00663308",
|
|
"Средняя плотность, кг/м³": "3075.03",
|
|
"Материал": "Смешанные материалы",
|
|
"Материалы деталей": "Сталь, Алюминий",
|
|
"Центр масс, мм": "6.74; 4.13743; 5.06692",
|
|
"Габариты, мм": "21; 10.9989; 11.7998",
|
|
"Твёрдых тел": "7",
|
|
"Экземпляров деталей": "7",
|
|
"Сборок": "3"
|
|
},
|
|
"source_edit_refresh": true,
|
|
"export_refreshes_current_model": true,
|
|
"native_save_dialog_keyboard_and_button": true,
|
|
"flat_csv": "C:\\Repos\\qinventor\\artifacts\\validation\\bom-gui-flat.csv",
|
|
"structured_csv": "C:\\Repos\\qinventor\\artifacts\\validation\\bom-gui-structured.csv",
|
|
"FCStd_external_sources_reopened": true,
|
|
"mass_kg_after_reopen": 0.012033075116533992,
|
|
"screenshots": [
|
|
"C:\\Repos\\qinventor\\artifacts\\validation\\bom-gui-updated-and-exported.png",
|
|
"C:\\Repos\\qinventor\\artifacts\\validation\\bom-gui-reopened.png"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "Invalid cached source, native task and closed document protect BOM export",
|
|
"passed": true,
|
|
"evidence": {
|
|
"invalid_cached_source_blocks_export": true,
|
|
"previous_csv_unchanged": "8dc2bb6168478bb57ea4ef83a0992357d21edde7da78a289a1250e477f4d881f",
|
|
"native_task_blocks_refresh": true,
|
|
"closed_document_refuses_refresh_and_export": true
|
|
}
|
|
}
|
|
],
|
|
"input_delivery": "Qt native Assembly insertion list, BOM controls, native file and property dialogs",
|
|
"fixture_boundary": "native Assembly::AssemblyLink/App::Link instances of saved FCStd sources",
|
|
"os_pointer_access": false,
|
|
"fixture_attempts": [
|
|
{
|
|
"number": 1,
|
|
"initial_docs": [],
|
|
"clicks": [
|
|
{
|
|
"requested_source": {
|
|
"document": "QInventorAssembly",
|
|
"name": "Assembly",
|
|
"type": "Assembly::AssemblyObject",
|
|
"label": "Подсборка"
|
|
},
|
|
"item_source": {
|
|
"document": "QInventorAssembly",
|
|
"name": "Assembly",
|
|
"type": "Assembly::AssemblyObject",
|
|
"label": "Подсборка"
|
|
},
|
|
"item_at_click": {
|
|
"document": "QInventorAssembly",
|
|
"name": "Assembly",
|
|
"type": "Assembly::AssemblyObject",
|
|
"label": "Подсборка"
|
|
},
|
|
"rectangle": [
|
|
24,
|
|
18,
|
|
229,
|
|
18
|
|
],
|
|
"viewport": [
|
|
253,
|
|
198
|
|
],
|
|
"before": {
|
|
"app_document": "QInventorAssembly1",
|
|
"gui_document": "QInventorAssembly1",
|
|
"in_edit": {
|
|
"QInventorAssembly": null,
|
|
"QInventorAssembly1": {
|
|
"native_class": "ViewProviderAssembly",
|
|
"name": "",
|
|
"representation": "<Assembly View provider object at 00000148329EA400>"
|
|
},
|
|
"QInventorPart": null
|
|
},
|
|
"selection": [],
|
|
"active_assembly": {
|
|
"document": "QInventorAssembly1",
|
|
"name": "Assembly",
|
|
"type": "Assembly::AssemblyObject",
|
|
"label": "Сборка спецификации"
|
|
},
|
|
"view_assembly": {
|
|
"document": "QInventorAssembly1",
|
|
"name": "Assembly",
|
|
"type": "Assembly::AssemblyObject",
|
|
"label": "Сборка спецификации"
|
|
},
|
|
"view_part": null,
|
|
"assembly_groups": {
|
|
"QInventorAssembly#Assembly": [
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "Joints",
|
|
"type": "Assembly::JointGroup",
|
|
"label": "Joints"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "Component",
|
|
"type": "App::Link",
|
|
"label": "Корпус"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "GroundedJoint",
|
|
"type": "App::FeaturePython",
|
|
"label": "Основание закреплено"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "Component001",
|
|
"type": "App::Link",
|
|
"label": "Болт"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "Component002",
|
|
"type": "App::Link",
|
|
"label": "Болт001"
|
|
}
|
|
],
|
|
"QInventorAssembly1#Assembly": [
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Joints",
|
|
"type": "Assembly::JointGroup",
|
|
"label": "Joints"
|
|
}
|
|
],
|
|
"QInventorAssembly1#PrototypeAssembly": [
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Joints001",
|
|
"type": "Assembly::JointGroup",
|
|
"label": "Joints001"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Component",
|
|
"type": "App::Link",
|
|
"label": "Корпус"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Component001",
|
|
"type": "App::Link",
|
|
"label": "Болт"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"after": {
|
|
"app_document": "QInventorAssembly1",
|
|
"gui_document": "QInventorAssembly1",
|
|
"in_edit": {
|
|
"QInventorAssembly": null,
|
|
"QInventorAssembly1": {
|
|
"native_class": "ViewProviderAssembly",
|
|
"name": "",
|
|
"representation": "<Assembly View provider object at 00000148329EA400>"
|
|
},
|
|
"QInventorPart": null
|
|
},
|
|
"selection": [
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Подсборка",
|
|
"type": "Assembly::AssemblyLink",
|
|
"label": "Подсборка"
|
|
}
|
|
],
|
|
"active_assembly": {
|
|
"document": "QInventorAssembly1",
|
|
"name": "Assembly",
|
|
"type": "Assembly::AssemblyObject",
|
|
"label": "Сборка спецификации"
|
|
},
|
|
"view_assembly": {
|
|
"document": "QInventorAssembly1",
|
|
"name": "Assembly",
|
|
"type": "Assembly::AssemblyObject",
|
|
"label": "Сборка спецификации"
|
|
},
|
|
"view_part": null,
|
|
"assembly_groups": {
|
|
"QInventorAssembly#Assembly": [
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "Joints",
|
|
"type": "Assembly::JointGroup",
|
|
"label": "Joints"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "Component",
|
|
"type": "App::Link",
|
|
"label": "Корпус"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "GroundedJoint",
|
|
"type": "App::FeaturePython",
|
|
"label": "Основание закреплено"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "Component001",
|
|
"type": "App::Link",
|
|
"label": "Болт"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "Component002",
|
|
"type": "App::Link",
|
|
"label": "Болт001"
|
|
}
|
|
],
|
|
"QInventorAssembly1#Assembly": [
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Joints",
|
|
"type": "Assembly::JointGroup",
|
|
"label": "Joints"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Подсборка",
|
|
"type": "Assembly::AssemblyLink",
|
|
"label": "Подсборка"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "GroundedJoint",
|
|
"type": "App::FeaturePython",
|
|
"label": "GroundedJoint"
|
|
}
|
|
],
|
|
"QInventorAssembly1#PrototypeAssembly": [
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Joints001",
|
|
"type": "Assembly::JointGroup",
|
|
"label": "Joints001"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Component",
|
|
"type": "App::Link",
|
|
"label": "Корпус"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Component001",
|
|
"type": "App::Link",
|
|
"label": "Болт"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"requested_source": {
|
|
"document": "QInventorAssembly",
|
|
"name": "Assembly",
|
|
"type": "Assembly::AssemblyObject",
|
|
"label": "Подсборка"
|
|
},
|
|
"item_source": {
|
|
"document": "QInventorAssembly",
|
|
"name": "Assembly",
|
|
"type": "Assembly::AssemblyObject",
|
|
"label": "Подсборка"
|
|
},
|
|
"item_at_click": {
|
|
"document": "QInventorAssembly",
|
|
"name": "Assembly",
|
|
"type": "Assembly::AssemblyObject",
|
|
"label": "Подсборка"
|
|
},
|
|
"rectangle": [
|
|
24,
|
|
18,
|
|
229,
|
|
18
|
|
],
|
|
"viewport": [
|
|
253,
|
|
198
|
|
],
|
|
"before": {
|
|
"app_document": "QInventorAssembly1",
|
|
"gui_document": "QInventorAssembly1",
|
|
"in_edit": {
|
|
"QInventorAssembly": null,
|
|
"QInventorAssembly1": {
|
|
"native_class": "ViewProviderAssembly",
|
|
"name": "",
|
|
"representation": "<Assembly View provider object at 00000148329EA400>"
|
|
},
|
|
"QInventorPart": null
|
|
},
|
|
"selection": [
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Подсборка",
|
|
"type": "Assembly::AssemblyLink",
|
|
"label": "Подсборка"
|
|
}
|
|
],
|
|
"active_assembly": {
|
|
"document": "QInventorAssembly1",
|
|
"name": "Assembly",
|
|
"type": "Assembly::AssemblyObject",
|
|
"label": "Сборка спецификации"
|
|
},
|
|
"view_assembly": {
|
|
"document": "QInventorAssembly1",
|
|
"name": "Assembly",
|
|
"type": "Assembly::AssemblyObject",
|
|
"label": "Сборка спецификации"
|
|
},
|
|
"view_part": null,
|
|
"assembly_groups": {
|
|
"QInventorAssembly#Assembly": [
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "Joints",
|
|
"type": "Assembly::JointGroup",
|
|
"label": "Joints"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "Component",
|
|
"type": "App::Link",
|
|
"label": "Корпус"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "GroundedJoint",
|
|
"type": "App::FeaturePython",
|
|
"label": "Основание закреплено"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "Component001",
|
|
"type": "App::Link",
|
|
"label": "Болт"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "Component002",
|
|
"type": "App::Link",
|
|
"label": "Болт001"
|
|
}
|
|
],
|
|
"QInventorAssembly1#Assembly": [
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Joints",
|
|
"type": "Assembly::JointGroup",
|
|
"label": "Joints"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Подсборка",
|
|
"type": "Assembly::AssemblyLink",
|
|
"label": "Подсборка"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "GroundedJoint",
|
|
"type": "App::FeaturePython",
|
|
"label": "GroundedJoint"
|
|
}
|
|
],
|
|
"QInventorAssembly1#PrototypeAssembly": [
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Joints001",
|
|
"type": "Assembly::JointGroup",
|
|
"label": "Joints001"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Component",
|
|
"type": "App::Link",
|
|
"label": "Корпус"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Component001",
|
|
"type": "App::Link",
|
|
"label": "Болт"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"after": {
|
|
"app_document": "QInventorAssembly1",
|
|
"gui_document": "QInventorAssembly1",
|
|
"in_edit": {
|
|
"QInventorAssembly": null,
|
|
"QInventorAssembly1": {
|
|
"native_class": "ViewProviderAssembly",
|
|
"name": "",
|
|
"representation": "<Assembly View provider object at 00000148329EA400>"
|
|
},
|
|
"QInventorPart": null
|
|
},
|
|
"selection": [
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Подсборка001",
|
|
"type": "Assembly::AssemblyLink",
|
|
"label": "Подсборка"
|
|
}
|
|
],
|
|
"active_assembly": {
|
|
"document": "QInventorAssembly1",
|
|
"name": "Assembly",
|
|
"type": "Assembly::AssemblyObject",
|
|
"label": "Сборка спецификации"
|
|
},
|
|
"view_assembly": {
|
|
"document": "QInventorAssembly1",
|
|
"name": "Assembly",
|
|
"type": "Assembly::AssemblyObject",
|
|
"label": "Сборка спецификации"
|
|
},
|
|
"view_part": null,
|
|
"assembly_groups": {
|
|
"QInventorAssembly#Assembly": [
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "Joints",
|
|
"type": "Assembly::JointGroup",
|
|
"label": "Joints"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "Component",
|
|
"type": "App::Link",
|
|
"label": "Корпус"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "GroundedJoint",
|
|
"type": "App::FeaturePython",
|
|
"label": "Основание закреплено"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "Component001",
|
|
"type": "App::Link",
|
|
"label": "Болт"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "Component002",
|
|
"type": "App::Link",
|
|
"label": "Болт001"
|
|
}
|
|
],
|
|
"QInventorAssembly1#Assembly": [
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Joints",
|
|
"type": "Assembly::JointGroup",
|
|
"label": "Joints"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Подсборка",
|
|
"type": "Assembly::AssemblyLink",
|
|
"label": "Подсборка"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "GroundedJoint",
|
|
"type": "App::FeaturePython",
|
|
"label": "GroundedJoint"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Подсборка001",
|
|
"type": "Assembly::AssemblyLink",
|
|
"label": "Подсборка"
|
|
}
|
|
],
|
|
"QInventorAssembly1#PrototypeAssembly": [
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Joints001",
|
|
"type": "Assembly::JointGroup",
|
|
"label": "Joints001"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Component",
|
|
"type": "App::Link",
|
|
"label": "Корпус"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Component001",
|
|
"type": "App::Link",
|
|
"label": "Болт"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"requested_source": {
|
|
"document": "QInventorPart",
|
|
"name": "Body001",
|
|
"type": "PartDesign::Body",
|
|
"label": "Болт"
|
|
},
|
|
"item_source": {
|
|
"document": "QInventorPart",
|
|
"name": "Body001",
|
|
"type": "PartDesign::Body",
|
|
"label": "Болт"
|
|
},
|
|
"item_at_click": {
|
|
"document": "QInventorPart",
|
|
"name": "Body001",
|
|
"type": "PartDesign::Body",
|
|
"label": "Болт"
|
|
},
|
|
"rectangle": [
|
|
24,
|
|
162,
|
|
229,
|
|
18
|
|
],
|
|
"viewport": [
|
|
253,
|
|
198
|
|
],
|
|
"before": {
|
|
"app_document": "QInventorAssembly1",
|
|
"gui_document": "QInventorAssembly1",
|
|
"in_edit": {
|
|
"QInventorAssembly": null,
|
|
"QInventorAssembly1": {
|
|
"native_class": "ViewProviderAssembly",
|
|
"name": "",
|
|
"representation": "<Assembly View provider object at 00000148329EA400>"
|
|
},
|
|
"QInventorPart": null
|
|
},
|
|
"selection": [
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Подсборка001",
|
|
"type": "Assembly::AssemblyLink",
|
|
"label": "Подсборка"
|
|
}
|
|
],
|
|
"active_assembly": {
|
|
"document": "QInventorAssembly1",
|
|
"name": "Assembly",
|
|
"type": "Assembly::AssemblyObject",
|
|
"label": "Сборка спецификации"
|
|
},
|
|
"view_assembly": {
|
|
"document": "QInventorAssembly1",
|
|
"name": "Assembly",
|
|
"type": "Assembly::AssemblyObject",
|
|
"label": "Сборка спецификации"
|
|
},
|
|
"view_part": null,
|
|
"assembly_groups": {
|
|
"QInventorAssembly#Assembly": [
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "Joints",
|
|
"type": "Assembly::JointGroup",
|
|
"label": "Joints"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "Component",
|
|
"type": "App::Link",
|
|
"label": "Корпус"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "GroundedJoint",
|
|
"type": "App::FeaturePython",
|
|
"label": "Основание закреплено"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "Component001",
|
|
"type": "App::Link",
|
|
"label": "Болт"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "Component002",
|
|
"type": "App::Link",
|
|
"label": "Болт001"
|
|
}
|
|
],
|
|
"QInventorAssembly1#Assembly": [
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Joints",
|
|
"type": "Assembly::JointGroup",
|
|
"label": "Joints"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Подсборка",
|
|
"type": "Assembly::AssemblyLink",
|
|
"label": "Подсборка"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "GroundedJoint",
|
|
"type": "App::FeaturePython",
|
|
"label": "GroundedJoint"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Подсборка001",
|
|
"type": "Assembly::AssemblyLink",
|
|
"label": "Подсборка"
|
|
}
|
|
],
|
|
"QInventorAssembly1#PrototypeAssembly": [
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Joints001",
|
|
"type": "Assembly::JointGroup",
|
|
"label": "Joints001"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Component",
|
|
"type": "App::Link",
|
|
"label": "Корпус"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Component001",
|
|
"type": "App::Link",
|
|
"label": "Болт"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"after": {
|
|
"app_document": "QInventorAssembly1",
|
|
"gui_document": "QInventorAssembly1",
|
|
"in_edit": {
|
|
"QInventorAssembly": null,
|
|
"QInventorAssembly1": {
|
|
"native_class": "ViewProviderAssembly",
|
|
"name": "",
|
|
"representation": "<Assembly View provider object at 00000148329EA400>"
|
|
},
|
|
"QInventorPart": null
|
|
},
|
|
"selection": [
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Болт",
|
|
"type": "App::Link",
|
|
"label": "Болт005"
|
|
}
|
|
],
|
|
"active_assembly": {
|
|
"document": "QInventorAssembly1",
|
|
"name": "Assembly",
|
|
"type": "Assembly::AssemblyObject",
|
|
"label": "Сборка спецификации"
|
|
},
|
|
"view_assembly": {
|
|
"document": "QInventorAssembly1",
|
|
"name": "Assembly",
|
|
"type": "Assembly::AssemblyObject",
|
|
"label": "Сборка спецификации"
|
|
},
|
|
"view_part": null,
|
|
"assembly_groups": {
|
|
"QInventorAssembly#Assembly": [
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "Joints",
|
|
"type": "Assembly::JointGroup",
|
|
"label": "Joints"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "Component",
|
|
"type": "App::Link",
|
|
"label": "Корпус"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "GroundedJoint",
|
|
"type": "App::FeaturePython",
|
|
"label": "Основание закреплено"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "Component001",
|
|
"type": "App::Link",
|
|
"label": "Болт"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "Component002",
|
|
"type": "App::Link",
|
|
"label": "Болт001"
|
|
}
|
|
],
|
|
"QInventorAssembly1#Assembly": [
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Joints",
|
|
"type": "Assembly::JointGroup",
|
|
"label": "Joints"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Подсборка",
|
|
"type": "Assembly::AssemblyLink",
|
|
"label": "Подсборка"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "GroundedJoint",
|
|
"type": "App::FeaturePython",
|
|
"label": "GroundedJoint"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Подсборка001",
|
|
"type": "Assembly::AssemblyLink",
|
|
"label": "Подсборка"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Болт",
|
|
"type": "App::Link",
|
|
"label": "Болт005"
|
|
}
|
|
],
|
|
"QInventorAssembly1#PrototypeAssembly": [
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Joints001",
|
|
"type": "Assembly::JointGroup",
|
|
"label": "Joints001"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Component",
|
|
"type": "App::Link",
|
|
"label": "Корпус"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Component001",
|
|
"type": "App::Link",
|
|
"label": "Болт"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"fixture_directory": "C:\\Repos\\qinventor\\artifacts\\validation\\bom-gui-fixture-47a83b90a0d34e11a7aab8fd904907d3",
|
|
"before_set_edit": {
|
|
"app_document": "QInventorAssembly1",
|
|
"gui_document": "QInventorAssembly1",
|
|
"in_edit": {
|
|
"QInventorAssembly": null,
|
|
"QInventorAssembly1": null,
|
|
"QInventorPart": null
|
|
},
|
|
"selection": [],
|
|
"active_assembly": null,
|
|
"view_assembly": null,
|
|
"view_part": null,
|
|
"assembly_groups": {
|
|
"QInventorAssembly#Assembly": [
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "Joints",
|
|
"type": "Assembly::JointGroup",
|
|
"label": "Joints"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "Component",
|
|
"type": "App::Link",
|
|
"label": "Корпус"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "GroundedJoint",
|
|
"type": "App::FeaturePython",
|
|
"label": "Основание закреплено"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "Component001",
|
|
"type": "App::Link",
|
|
"label": "Болт"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "Component002",
|
|
"type": "App::Link",
|
|
"label": "Болт001"
|
|
}
|
|
],
|
|
"QInventorAssembly1#Assembly": [
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Joints",
|
|
"type": "Assembly::JointGroup",
|
|
"label": "Joints"
|
|
}
|
|
],
|
|
"QInventorAssembly1#PrototypeAssembly": [
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Joints001",
|
|
"type": "Assembly::JointGroup",
|
|
"label": "Joints001"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Component",
|
|
"type": "App::Link",
|
|
"label": "Корпус"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Component001",
|
|
"type": "App::Link",
|
|
"label": "Болт"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"expected_assembly": {
|
|
"document": "QInventorAssembly1",
|
|
"name": "Assembly",
|
|
"type": "Assembly::AssemblyObject",
|
|
"label": "Сборка спецификации"
|
|
},
|
|
"after_set_edit": {
|
|
"app_document": "QInventorAssembly1",
|
|
"gui_document": "QInventorAssembly1",
|
|
"in_edit": {
|
|
"QInventorAssembly": null,
|
|
"QInventorAssembly1": {
|
|
"native_class": "ViewProviderAssembly",
|
|
"name": "",
|
|
"representation": "<Assembly View provider object at 00000148329EA400>"
|
|
},
|
|
"QInventorPart": null
|
|
},
|
|
"selection": [],
|
|
"active_assembly": {
|
|
"document": "QInventorAssembly1",
|
|
"name": "Assembly",
|
|
"type": "Assembly::AssemblyObject",
|
|
"label": "Сборка спецификации"
|
|
},
|
|
"view_assembly": {
|
|
"document": "QInventorAssembly1",
|
|
"name": "Assembly",
|
|
"type": "Assembly::AssemblyObject",
|
|
"label": "Сборка спецификации"
|
|
},
|
|
"view_part": null,
|
|
"assembly_groups": {
|
|
"QInventorAssembly#Assembly": [
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "Joints",
|
|
"type": "Assembly::JointGroup",
|
|
"label": "Joints"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "Component",
|
|
"type": "App::Link",
|
|
"label": "Корпус"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "GroundedJoint",
|
|
"type": "App::FeaturePython",
|
|
"label": "Основание закреплено"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "Component001",
|
|
"type": "App::Link",
|
|
"label": "Болт"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "Component002",
|
|
"type": "App::Link",
|
|
"label": "Болт001"
|
|
}
|
|
],
|
|
"QInventorAssembly1#Assembly": [
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Joints",
|
|
"type": "Assembly::JointGroup",
|
|
"label": "Joints"
|
|
}
|
|
],
|
|
"QInventorAssembly1#PrototypeAssembly": [
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Joints001",
|
|
"type": "Assembly::JointGroup",
|
|
"label": "Joints001"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Component",
|
|
"type": "App::Link",
|
|
"label": "Корпус"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Component001",
|
|
"type": "App::Link",
|
|
"label": "Болт"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"after_native_command": {
|
|
"app_document": "QInventorAssembly1",
|
|
"gui_document": "QInventorAssembly1",
|
|
"in_edit": {
|
|
"QInventorAssembly": null,
|
|
"QInventorAssembly1": {
|
|
"native_class": "ViewProviderAssembly",
|
|
"name": "",
|
|
"representation": "<Assembly View provider object at 00000148329EA400>"
|
|
},
|
|
"QInventorPart": null
|
|
},
|
|
"selection": [],
|
|
"active_assembly": {
|
|
"document": "QInventorAssembly1",
|
|
"name": "Assembly",
|
|
"type": "Assembly::AssemblyObject",
|
|
"label": "Сборка спецификации"
|
|
},
|
|
"view_assembly": {
|
|
"document": "QInventorAssembly1",
|
|
"name": "Assembly",
|
|
"type": "Assembly::AssemblyObject",
|
|
"label": "Сборка спецификации"
|
|
},
|
|
"view_part": null,
|
|
"assembly_groups": {
|
|
"QInventorAssembly#Assembly": [
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "Joints",
|
|
"type": "Assembly::JointGroup",
|
|
"label": "Joints"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "Component",
|
|
"type": "App::Link",
|
|
"label": "Корпус"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "GroundedJoint",
|
|
"type": "App::FeaturePython",
|
|
"label": "Основание закреплено"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "Component001",
|
|
"type": "App::Link",
|
|
"label": "Болт"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "Component002",
|
|
"type": "App::Link",
|
|
"label": "Болт001"
|
|
}
|
|
],
|
|
"QInventorAssembly1#Assembly": [
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Joints",
|
|
"type": "Assembly::JointGroup",
|
|
"label": "Joints"
|
|
}
|
|
],
|
|
"QInventorAssembly1#PrototypeAssembly": [
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Joints001",
|
|
"type": "Assembly::JointGroup",
|
|
"label": "Joints001"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Component",
|
|
"type": "App::Link",
|
|
"label": "Корпус"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Component001",
|
|
"type": "App::Link",
|
|
"label": "Болт"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"before_accept": {
|
|
"app_document": "QInventorAssembly1",
|
|
"gui_document": "QInventorAssembly1",
|
|
"in_edit": {
|
|
"QInventorAssembly": null,
|
|
"QInventorAssembly1": {
|
|
"native_class": "ViewProviderAssembly",
|
|
"name": "",
|
|
"representation": "<Assembly View provider object at 00000148329EA400>"
|
|
},
|
|
"QInventorPart": null
|
|
},
|
|
"selection": [
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Болт",
|
|
"type": "App::Link",
|
|
"label": "Болт005"
|
|
}
|
|
],
|
|
"active_assembly": {
|
|
"document": "QInventorAssembly1",
|
|
"name": "Assembly",
|
|
"type": "Assembly::AssemblyObject",
|
|
"label": "Сборка спецификации"
|
|
},
|
|
"view_assembly": {
|
|
"document": "QInventorAssembly1",
|
|
"name": "Assembly",
|
|
"type": "Assembly::AssemblyObject",
|
|
"label": "Сборка спецификации"
|
|
},
|
|
"view_part": null,
|
|
"assembly_groups": {
|
|
"QInventorAssembly#Assembly": [
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "Joints",
|
|
"type": "Assembly::JointGroup",
|
|
"label": "Joints"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "Component",
|
|
"type": "App::Link",
|
|
"label": "Корпус"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "GroundedJoint",
|
|
"type": "App::FeaturePython",
|
|
"label": "Основание закреплено"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "Component001",
|
|
"type": "App::Link",
|
|
"label": "Болт"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "Component002",
|
|
"type": "App::Link",
|
|
"label": "Болт001"
|
|
}
|
|
],
|
|
"QInventorAssembly1#Assembly": [
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Joints",
|
|
"type": "Assembly::JointGroup",
|
|
"label": "Joints"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Подсборка",
|
|
"type": "Assembly::AssemblyLink",
|
|
"label": "Подсборка"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "GroundedJoint",
|
|
"type": "App::FeaturePython",
|
|
"label": "GroundedJoint"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Подсборка001",
|
|
"type": "Assembly::AssemblyLink",
|
|
"label": "Подсборка"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Болт",
|
|
"type": "App::Link",
|
|
"label": "Болт005"
|
|
}
|
|
],
|
|
"QInventorAssembly1#PrototypeAssembly": [
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Joints001",
|
|
"type": "Assembly::JointGroup",
|
|
"label": "Joints001"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Component",
|
|
"type": "App::Link",
|
|
"label": "Корпус"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Component001",
|
|
"type": "App::Link",
|
|
"label": "Болт"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"after_accept": {
|
|
"app_document": "QInventorAssembly1",
|
|
"gui_document": "QInventorAssembly1",
|
|
"in_edit": {
|
|
"QInventorAssembly": null,
|
|
"QInventorAssembly1": {
|
|
"native_class": "ViewProviderAssembly",
|
|
"name": "",
|
|
"representation": "<Assembly View provider object at 00000148329EA400>"
|
|
},
|
|
"QInventorPart": null
|
|
},
|
|
"selection": [],
|
|
"active_assembly": {
|
|
"document": "QInventorAssembly1",
|
|
"name": "Assembly",
|
|
"type": "Assembly::AssemblyObject",
|
|
"label": "Сборка спецификации"
|
|
},
|
|
"view_assembly": {
|
|
"document": "QInventorAssembly1",
|
|
"name": "Assembly",
|
|
"type": "Assembly::AssemblyObject",
|
|
"label": "Сборка спецификации"
|
|
},
|
|
"view_part": null,
|
|
"assembly_groups": {
|
|
"QInventorAssembly#Assembly": [
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "Joints",
|
|
"type": "Assembly::JointGroup",
|
|
"label": "Joints"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "Component",
|
|
"type": "App::Link",
|
|
"label": "Корпус"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "GroundedJoint",
|
|
"type": "App::FeaturePython",
|
|
"label": "Основание закреплено"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "Component001",
|
|
"type": "App::Link",
|
|
"label": "Болт"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "Component002",
|
|
"type": "App::Link",
|
|
"label": "Болт001"
|
|
}
|
|
],
|
|
"QInventorAssembly1#Assembly": [
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Joints",
|
|
"type": "Assembly::JointGroup",
|
|
"label": "Joints"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Подсборка",
|
|
"type": "Assembly::AssemblyLink",
|
|
"label": "Подсборка"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "GroundedJoint",
|
|
"type": "App::FeaturePython",
|
|
"label": "GroundedJoint"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Подсборка001",
|
|
"type": "Assembly::AssemblyLink",
|
|
"label": "Подсборка"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Болт",
|
|
"type": "App::Link",
|
|
"label": "Болт005"
|
|
}
|
|
],
|
|
"QInventorAssembly1#PrototypeAssembly": [
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Joints001",
|
|
"type": "Assembly::JointGroup",
|
|
"label": "Joints001"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Component",
|
|
"type": "App::Link",
|
|
"label": "Корпус"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Component001",
|
|
"type": "App::Link",
|
|
"label": "Болт"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"actual_links": [
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Подсборка",
|
|
"type": "Assembly::AssemblyLink",
|
|
"label": "Подсборка"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Подсборка001",
|
|
"type": "Assembly::AssemblyLink",
|
|
"label": "Подсборка"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Болт",
|
|
"type": "App::Link",
|
|
"label": "Болт005"
|
|
}
|
|
],
|
|
"before_count_assert": {
|
|
"app_document": "QInventorAssembly1",
|
|
"gui_document": "QInventorAssembly1",
|
|
"in_edit": {
|
|
"QInventorAssembly": null,
|
|
"QInventorAssembly1": null,
|
|
"QInventorPart": null
|
|
},
|
|
"selection": [],
|
|
"active_assembly": null,
|
|
"view_assembly": null,
|
|
"view_part": null,
|
|
"assembly_groups": {
|
|
"QInventorAssembly#Assembly": [
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "Joints",
|
|
"type": "Assembly::JointGroup",
|
|
"label": "Joints"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "Component",
|
|
"type": "App::Link",
|
|
"label": "Корпус"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "GroundedJoint",
|
|
"type": "App::FeaturePython",
|
|
"label": "Основание закреплено"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "Component001",
|
|
"type": "App::Link",
|
|
"label": "Болт"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly",
|
|
"name": "Component002",
|
|
"type": "App::Link",
|
|
"label": "Болт001"
|
|
}
|
|
],
|
|
"QInventorAssembly1#Assembly": [
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Joints",
|
|
"type": "Assembly::JointGroup",
|
|
"label": "Joints"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Подсборка",
|
|
"type": "Assembly::AssemblyLink",
|
|
"label": "Подсборка"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "GroundedJoint",
|
|
"type": "App::FeaturePython",
|
|
"label": "GroundedJoint"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Подсборка001",
|
|
"type": "Assembly::AssemblyLink",
|
|
"label": "Подсборка"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Болт",
|
|
"type": "App::Link",
|
|
"label": "Болт005"
|
|
}
|
|
],
|
|
"QInventorAssembly1#PrototypeAssembly": [
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Joints001",
|
|
"type": "Assembly::JointGroup",
|
|
"label": "Joints001"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Component",
|
|
"type": "App::Link",
|
|
"label": "Корпус"
|
|
},
|
|
{
|
|
"document": "QInventorAssembly1",
|
|
"name": "Component001",
|
|
"type": "App::Link",
|
|
"label": "Болт"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"count": 3
|
|
}
|
|
},
|
|
{
|
|
"name": "drawing_bom_kernel_suite",
|
|
"passed": true,
|
|
"result": {
|
|
"passed": true,
|
|
"checks": [
|
|
{
|
|
"name": "Native table explicit projection scope DAG and no-op",
|
|
"passed": true,
|
|
"evidence": {
|
|
"native_types": [
|
|
"Spreadsheet::SheetPython",
|
|
"TechDraw::DrawViewSpreadsheet"
|
|
],
|
|
"draft_is_read_only": true,
|
|
"one_create_undo": true,
|
|
"no_page_backlink": true,
|
|
"snapshot": {
|
|
"mode": "flat",
|
|
"rows": [
|
|
{
|
|
"position": "1",
|
|
"parent_position": "",
|
|
"level": 0,
|
|
"part_number": "BOLT",
|
|
"name": "Болт",
|
|
"quantity": 5,
|
|
"quantity_total": 5,
|
|
"material": "Сталь",
|
|
"density_kg_m3": 7850.000000000001,
|
|
"unit_mass_kg": 0.00018840000000000013,
|
|
"mass_kg": 0.0009420000000000007,
|
|
"source_id": "QInventorPart#Body",
|
|
"source_name": "Body",
|
|
"source_doc": "QInventorPart",
|
|
"is_assembly": false,
|
|
"kind": "part",
|
|
"row_id": "QInventorPart#Body|1",
|
|
"variant_id": "(((1.0, 0.0, 0.0, 1.0, 0.0, 1.0), 1), 'Сталь', 7850.0, 24.0, 52.0)",
|
|
"materials": [
|
|
"Сталь"
|
|
]
|
|
},
|
|
{
|
|
"position": "2",
|
|
"parent_position": "",
|
|
"level": 0,
|
|
"part_number": "HOUSING",
|
|
"name": "Корпус",
|
|
"quantity": 2,
|
|
"quantity_total": 2,
|
|
"material": "Алюминий",
|
|
"density_kg_m3": 2700.0,
|
|
"unit_mass_kg": 0.0027000000000000014,
|
|
"mass_kg": 0.005400000000000003,
|
|
"source_id": "QInventorPart#Body001",
|
|
"source_name": "Body001",
|
|
"source_doc": "QInventorPart",
|
|
"is_assembly": false,
|
|
"kind": "part",
|
|
"row_id": "QInventorPart#Body001|2",
|
|
"variant_id": "(((1.0, 0.0, 0.0, 1.0, 0.0, 1.0), 1), 'Алюминий', 2700.0, 1000.0, 600.0)",
|
|
"materials": [
|
|
"Алюминий"
|
|
]
|
|
}
|
|
],
|
|
"summary": {
|
|
"volume_mm3": 2120.000000000001,
|
|
"area_mm2": 1460.0000000000002,
|
|
"mass_kg": 0.006342000000000003,
|
|
"density_kg_m3": 2991.509433962264,
|
|
"material": "Смешанные материалы",
|
|
"materials": [
|
|
"Сталь",
|
|
"Алюминий"
|
|
],
|
|
"center_mm": [
|
|
995.5198675496691,
|
|
226.48533585619683,
|
|
4.554399243140967
|
|
],
|
|
"dimensions_mm": [
|
|
10.0,
|
|
202.00000000000003,
|
|
10.000000000000002
|
|
],
|
|
"solids": 7,
|
|
"components": 7,
|
|
"assembly_count": 3
|
|
},
|
|
"cells": {
|
|
"A1": "'Поз.",
|
|
"B1": "'Обозначение",
|
|
"C1": "'Наименование",
|
|
"D1": "'Кол.",
|
|
"E1": "'Материал",
|
|
"F1": "'Масса, кг",
|
|
"A2": "'1",
|
|
"B2": "'BOLT",
|
|
"C2": "'Болт",
|
|
"D2": "5",
|
|
"E2": "'Сталь",
|
|
"F2": "'0,000942",
|
|
"A3": "'2",
|
|
"B3": "'HOUSING",
|
|
"C3": "'Корпус",
|
|
"D3": "2",
|
|
"E3": "'Алюминий",
|
|
"F3": "'0,0054",
|
|
"C4": "'Итого",
|
|
"F4": "'0,006342"
|
|
},
|
|
"layout": {
|
|
"x_mm": 218.0,
|
|
"y_mm": 86.0,
|
|
"width_mm": 137.28000000000003,
|
|
"height_mm": 28.160000000000004,
|
|
"column_widths_native": [
|
|
35,
|
|
84,
|
|
104,
|
|
45,
|
|
65,
|
|
96
|
|
],
|
|
"row_height_native": 22,
|
|
"scale": 3.2,
|
|
"text_size_native": 9.0,
|
|
"font": "DejaVu Sans",
|
|
"last_row": 4,
|
|
"cell_start": "A1",
|
|
"cell_end": "F4",
|
|
"reserved_cells": "A:G",
|
|
"minimum_text_height_mm": 2.8800000000000003,
|
|
"printed_mass_significant_digits": 8,
|
|
"mixed_assembly_material_abbreviation": "Смеш."
|
|
},
|
|
"source_names": [
|
|
"Assembly"
|
|
],
|
|
"source_labels": [
|
|
"Assembly"
|
|
],
|
|
"geometry_view_names": [
|
|
"FrontView",
|
|
"TopView",
|
|
"IsoView"
|
|
],
|
|
"sheet_name": "DrawingBOM",
|
|
"view_name": "BOMView",
|
|
"native_symbol_bounds_mm": {
|
|
"width": 137.28000000000003,
|
|
"height": 28.160000000000004
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "Automatic source labels native formulas and Undo Redo",
|
|
"passed": true,
|
|
"evidence": {
|
|
"automatic_source_edit": true,
|
|
"native_formula_outside_generated_range": 7,
|
|
"callback_max_depth": 1,
|
|
"all_execute_returns_false": true,
|
|
"label_only_observer_and_literal_formula_prefix": true,
|
|
"undo_redo_preserved": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Explicit scope repair and unrelated invalid body",
|
|
"passed": true,
|
|
"evidence": {
|
|
"explicit_rebind_repairs_old_sheet_invalid": true,
|
|
"unrelated_invalid_body_ignored": true,
|
|
"mixed_projection_sources_rejected_before_mutation": true,
|
|
"material_scope": "Алюминий"
|
|
}
|
|
},
|
|
{
|
|
"name": "Native invalid last-good cells and nonhealing validation",
|
|
"passed": true,
|
|
"evidence": {
|
|
"density_error_native_invalid": true,
|
|
"cached_valid_pad_rejected": true,
|
|
"last_good_cells_preserved": true,
|
|
"validate_does_not_heal": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Structured quantities and overflow preserving redo",
|
|
"passed": true,
|
|
"evidence": {
|
|
"structured_local_total_quantities": true,
|
|
"mixed_material_print_abbreviation": "Смеш.",
|
|
"stable_E_cell_type_immediate_native_undo_redo": true,
|
|
"D_quantity_native_integer": true,
|
|
"quantity_total_metadata_numeric": true,
|
|
"native_overflow_reject_preserves_redo_branch": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Changing row count preserves user notes",
|
|
"passed": true,
|
|
"evidence": {
|
|
"removed_computed_rows_cleared": true,
|
|
"printed_range_updates": true,
|
|
"outside_notes_preserved": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Native top-root membership updates in one recompute",
|
|
"passed": true,
|
|
"evidence": {
|
|
"actual_projection_source": "Assembly",
|
|
"native_solid_counts": [
|
|
7,
|
|
4,
|
|
7
|
|
],
|
|
"sheet_components": [
|
|
7,
|
|
4,
|
|
7
|
|
],
|
|
"one_sheet_execute_per_native_recompute": true,
|
|
"fresh_native_symbol": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Insert Undo Redo and FCStd fresh native process",
|
|
"passed": true,
|
|
"evidence": {
|
|
"create_undo_removes_sheet_and_view": true,
|
|
"redo_restores_proxy": true,
|
|
"fcstd": "C:\\Repos\\qinventor\\artifacts\\validation\\drawing-bom-associative.FCStd",
|
|
"fresh_native_process": {
|
|
"passed": true,
|
|
"gui_up": false,
|
|
"service_path": "C:\\Repos\\qinventor\\src\\QInventor\\qi_drawing_bom.py",
|
|
"service_sha256": "143dfa91623c6ac08c80e02e1671f6628ec18a5fd551bda362d7d99d252a4d11",
|
|
"restored_proxy": "DrawingBOMProxy",
|
|
"initial": {
|
|
"mode": "flat",
|
|
"rows": [
|
|
{
|
|
"position": "1",
|
|
"parent_position": "",
|
|
"level": 0,
|
|
"part_number": "BOLT",
|
|
"name": "Болт",
|
|
"quantity": 5,
|
|
"quantity_total": 5,
|
|
"material": "Сталь",
|
|
"density_kg_m3": 7850.000000000001,
|
|
"unit_mass_kg": 0.00018840000000000013,
|
|
"mass_kg": 0.0009420000000000007,
|
|
"source_id": "drawing_bom_associative#Body",
|
|
"source_name": "Body",
|
|
"source_doc": "drawing_bom_associative",
|
|
"is_assembly": false,
|
|
"kind": "part",
|
|
"row_id": "drawing_bom_associative#Body|1",
|
|
"variant_id": "(((1.0, 0.0, 0.0, 1.0, 0.0, 1.0), 1), 'Сталь', 7850.0, 24.0, 52.0)",
|
|
"materials": [
|
|
"Сталь"
|
|
]
|
|
},
|
|
{
|
|
"position": "2",
|
|
"parent_position": "",
|
|
"level": 0,
|
|
"part_number": "HOUSING",
|
|
"name": "Корпус",
|
|
"quantity": 2,
|
|
"quantity_total": 2,
|
|
"material": "Алюминий",
|
|
"density_kg_m3": 2700.0,
|
|
"unit_mass_kg": 0.0027000000000000014,
|
|
"mass_kg": 0.005400000000000003,
|
|
"source_id": "drawing_bom_associative#Body001",
|
|
"source_name": "Body001",
|
|
"source_doc": "drawing_bom_associative",
|
|
"is_assembly": false,
|
|
"kind": "part",
|
|
"row_id": "drawing_bom_associative#Body001|2",
|
|
"variant_id": "(((1.0, 0.0, 0.0, 1.0, 0.0, 1.0), 1), 'Алюминий', 2700.0, 1000.0, 600.0)",
|
|
"materials": [
|
|
"Алюминий"
|
|
]
|
|
}
|
|
],
|
|
"summary": {
|
|
"volume_mm3": 2120.000000000001,
|
|
"area_mm2": 1460.0000000000002,
|
|
"mass_kg": 0.006342000000000003,
|
|
"density_kg_m3": 2991.509433962264,
|
|
"material": "Смешанные материалы",
|
|
"materials": [
|
|
"Сталь",
|
|
"Алюминий"
|
|
],
|
|
"center_mm": [
|
|
995.5198675496691,
|
|
226.48533585619683,
|
|
4.554399243140967
|
|
],
|
|
"dimensions_mm": [
|
|
10.0,
|
|
202.00000000000003,
|
|
10.000000000000002
|
|
],
|
|
"solids": 7,
|
|
"components": 7,
|
|
"assembly_count": 3
|
|
},
|
|
"cells": {
|
|
"A1": "'Поз.",
|
|
"B1": "'Обозначение",
|
|
"C1": "'Наименование",
|
|
"D1": "'Кол.",
|
|
"E1": "'Материал",
|
|
"F1": "'Масса, кг",
|
|
"A2": "'1",
|
|
"B2": "'BOLT",
|
|
"C2": "'Болт",
|
|
"D2": "5",
|
|
"E2": "'Сталь",
|
|
"F2": "'0,000942",
|
|
"A3": "'2",
|
|
"B3": "'HOUSING",
|
|
"C3": "'Корпус",
|
|
"D3": "2",
|
|
"E3": "'Алюминий",
|
|
"F3": "'0,0054",
|
|
"C4": "'Итого",
|
|
"F4": "'0,006342"
|
|
},
|
|
"layout": {
|
|
"x_mm": 218.0,
|
|
"y_mm": 86.0,
|
|
"width_mm": 137.28000000000003,
|
|
"height_mm": 28.160000000000004,
|
|
"column_widths_native": [
|
|
35,
|
|
84,
|
|
104,
|
|
45,
|
|
65,
|
|
96
|
|
],
|
|
"row_height_native": 22,
|
|
"scale": 3.2,
|
|
"text_size_native": 9.0,
|
|
"font": "DejaVu Sans",
|
|
"last_row": 4,
|
|
"cell_start": "A1",
|
|
"cell_end": "F4",
|
|
"reserved_cells": "A:G",
|
|
"minimum_text_height_mm": 2.8800000000000003,
|
|
"printed_mass_significant_digits": 8,
|
|
"mixed_assembly_material_abbreviation": "Смеш."
|
|
},
|
|
"source_names": [
|
|
"Assembly"
|
|
],
|
|
"source_labels": [
|
|
"Assembly"
|
|
],
|
|
"geometry_view_names": [
|
|
"FrontView",
|
|
"TopView",
|
|
"IsoView"
|
|
],
|
|
"sheet_name": "DrawingBOM",
|
|
"view_name": "BOMView",
|
|
"native_symbol_bounds_mm": {
|
|
"width": 137.28000000000003,
|
|
"height": 28.160000000000004
|
|
}
|
|
},
|
|
"edited": {
|
|
"mode": "flat",
|
|
"rows": [
|
|
{
|
|
"position": "1",
|
|
"parent_position": "",
|
|
"level": 0,
|
|
"part_number": "BOLT",
|
|
"name": "Болт",
|
|
"quantity": 5,
|
|
"quantity_total": 5,
|
|
"material": "Сталь",
|
|
"density_kg_m3": 7850.000000000001,
|
|
"unit_mass_kg": 0.00037680000000000027,
|
|
"mass_kg": 0.0018840000000000013,
|
|
"source_id": "drawing_bom_associative#Body",
|
|
"source_name": "Body",
|
|
"source_doc": "drawing_bom_associative",
|
|
"is_assembly": false,
|
|
"kind": "part",
|
|
"row_id": "drawing_bom_associative#Body|1",
|
|
"variant_id": "(((1.0, 0.0, 0.0, 1.0, 0.0, 1.0), 1), 'Сталь', 7850.0, 48.0, 92.0)",
|
|
"materials": [
|
|
"Сталь"
|
|
]
|
|
},
|
|
{
|
|
"position": "2",
|
|
"parent_position": "",
|
|
"level": 0,
|
|
"part_number": "HOUSING",
|
|
"name": "Корпус",
|
|
"quantity": 2,
|
|
"quantity_total": 2,
|
|
"material": "Алюминий",
|
|
"density_kg_m3": 2700.0,
|
|
"unit_mass_kg": 0.0027000000000000014,
|
|
"mass_kg": 0.005400000000000003,
|
|
"source_id": "drawing_bom_associative#Body001",
|
|
"source_name": "Body001",
|
|
"source_doc": "drawing_bom_associative",
|
|
"is_assembly": false,
|
|
"kind": "part",
|
|
"row_id": "drawing_bom_associative#Body001|2",
|
|
"variant_id": "(((1.0, 0.0, 0.0, 1.0, 0.0, 1.0), 1), 'Алюминий', 2700.0, 1000.0, 600.0)",
|
|
"materials": [
|
|
"Алюминий"
|
|
]
|
|
}
|
|
],
|
|
"summary": {
|
|
"volume_mm3": 2240.000000000001,
|
|
"area_mm2": 1660.0000000000002,
|
|
"mass_kg": 0.007284000000000004,
|
|
"density_kg_m3": 3251.7857142857147,
|
|
"material": "Смешанные материалы",
|
|
"materials": [
|
|
"Сталь",
|
|
"Алюминий"
|
|
],
|
|
"center_mm": [
|
|
995.9052718286656,
|
|
227.58649093904452,
|
|
4.741350906095553
|
|
],
|
|
"dimensions_mm": [
|
|
10.0,
|
|
202.00000000000003,
|
|
10.000000000000002
|
|
],
|
|
"solids": 7,
|
|
"components": 7,
|
|
"assembly_count": 3
|
|
},
|
|
"cells": {
|
|
"A1": "'Поз.",
|
|
"B1": "'Обозначение",
|
|
"C1": "'Наименование",
|
|
"D1": "'Кол.",
|
|
"E1": "'Материал",
|
|
"F1": "'Масса, кг",
|
|
"A2": "'1",
|
|
"B2": "'BOLT",
|
|
"C2": "'Болт",
|
|
"D2": "5",
|
|
"E2": "'Сталь",
|
|
"F2": "'0,001884",
|
|
"A3": "'2",
|
|
"B3": "'HOUSING",
|
|
"C3": "'Корпус",
|
|
"D3": "2",
|
|
"E3": "'Алюминий",
|
|
"F3": "'0,0054",
|
|
"C4": "'Итого",
|
|
"F4": "'0,007284"
|
|
},
|
|
"layout": {
|
|
"x_mm": 218.0,
|
|
"y_mm": 86.0,
|
|
"width_mm": 137.28000000000003,
|
|
"height_mm": 28.160000000000004,
|
|
"column_widths_native": [
|
|
35,
|
|
84,
|
|
104,
|
|
45,
|
|
65,
|
|
96
|
|
],
|
|
"row_height_native": 22,
|
|
"scale": 3.2,
|
|
"text_size_native": 9.0,
|
|
"font": "DejaVu Sans",
|
|
"last_row": 4,
|
|
"cell_start": "A1",
|
|
"cell_end": "F4",
|
|
"reserved_cells": "A:G",
|
|
"minimum_text_height_mm": 2.8800000000000003,
|
|
"printed_mass_significant_digits": 8,
|
|
"mixed_assembly_material_abbreviation": "Смеш."
|
|
},
|
|
"source_names": [
|
|
"Assembly"
|
|
],
|
|
"source_labels": [
|
|
"Assembly"
|
|
],
|
|
"geometry_view_names": [
|
|
"FrontView",
|
|
"TopView",
|
|
"IsoView"
|
|
],
|
|
"sheet_name": "DrawingBOM",
|
|
"view_name": "BOMView",
|
|
"native_symbol_bounds_mm": {
|
|
"width": 137.28000000000003,
|
|
"height": 28.160000000000004
|
|
}
|
|
},
|
|
"undo_redo": true,
|
|
"native_exit_code": 0,
|
|
"report_path": "C:\\Repos\\qinventor\\artifacts\\validation\\drawing-bom-reopen-kb1j_hw6\\report.json",
|
|
"engine": "C:\\Repos\\qinventor\\runtime\\FreeCAD_1.1.4-Windows-x86_64-py311\\bin\\FreeCADCmd.exe",
|
|
"native_pid": 21452
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "Ordinary mass precision and untruncated text errors",
|
|
"passed": true,
|
|
"evidence": {
|
|
"ordinary_cylinder_mass_printed": "'0,0015536746",
|
|
"oversized_text_rejected_without_truncation": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Actual native table format position and missing-source guards",
|
|
"passed": true,
|
|
"evidence": {
|
|
"actual_native_xy_checked": true,
|
|
"native_font_change_rejected_and_repaired": true,
|
|
"native_rotation_rejected_and_repaired": true,
|
|
"lost_sheet_source_not_treated_as_absent_table": true,
|
|
"validation_read_only": true,
|
|
"native_undo_restores_source": true
|
|
}
|
|
}
|
|
],
|
|
"summary": {
|
|
"total": 10,
|
|
"passed": 10,
|
|
"failed": 0
|
|
},
|
|
"gui_exercised": true
|
|
}
|
|
},
|
|
{
|
|
"name": "drawing_bom_gui_suite",
|
|
"passed": true,
|
|
"result": {
|
|
"status": "passed",
|
|
"passed": 3,
|
|
"failed": 0,
|
|
"checks": [
|
|
{
|
|
"name": "Actual ribbon preview cancel insertion mode update native Undo/Redo and A4 bounds",
|
|
"passed": true,
|
|
"evidence": {
|
|
"missing_and_ambiguous_page_rejected_before_dialog": true,
|
|
"preview_cancel_exact_native_state": true,
|
|
"page_sources_scope": [
|
|
"Assembly"
|
|
],
|
|
"single_native_transaction_create_and_update": true,
|
|
"undo_redo_mode": true,
|
|
"flat_symbol": {
|
|
"texts": [
|
|
"Поз.",
|
|
"1",
|
|
"2",
|
|
"",
|
|
"Обозначение",
|
|
"BOLT",
|
|
"HOUSING",
|
|
"",
|
|
"Наименование",
|
|
"Болт",
|
|
"Корпус",
|
|
"Итого",
|
|
"Кол.",
|
|
"5",
|
|
"2",
|
|
"",
|
|
"Материал",
|
|
"Сталь",
|
|
"Алюминий",
|
|
"",
|
|
"Масса, кг",
|
|
"0,000942",
|
|
"0,0054",
|
|
"0,006342"
|
|
],
|
|
"printed_bounds_mm": [
|
|
149.34249999999997,
|
|
71.9025,
|
|
286.6575,
|
|
100.0975
|
|
],
|
|
"hash": "7524315da86dbb5c648ab293a320a3ec72312d8449bc6c83e4692b63ecefb083"
|
|
},
|
|
"structured_symbol": {
|
|
"texts": [
|
|
"Поз.",
|
|
"1",
|
|
"1.1",
|
|
"1.2",
|
|
"2",
|
|
"",
|
|
"Обозначение",
|
|
"SubAssembly",
|
|
"BOLT",
|
|
"HOUSING",
|
|
"BOLT",
|
|
"",
|
|
"Наименование",
|
|
"Узел",
|
|
"Болт",
|
|
"Корпус",
|
|
"Болт",
|
|
"Итого",
|
|
"Кол.",
|
|
"2",
|
|
"2",
|
|
"1",
|
|
"1",
|
|
"",
|
|
"Всего",
|
|
"2",
|
|
"4",
|
|
"2",
|
|
"1",
|
|
"",
|
|
"Материал",
|
|
"Смеш.",
|
|
"Сталь",
|
|
"Алюминий",
|
|
"Сталь",
|
|
"",
|
|
"Масса, кг",
|
|
"0,0061536",
|
|
"0,0007536",
|
|
"0,0054",
|
|
"0,0001884",
|
|
"0,006342"
|
|
],
|
|
"printed_bounds_mm": [
|
|
149.25249995000001,
|
|
66.84249994999999,
|
|
286.74750005,
|
|
105.15750005000001
|
|
],
|
|
"hash": "0439233204940ad7ce427f5e3ab0301ef8877883d9ea1b9bad38cea567260e65"
|
|
},
|
|
"csv_caption_survives_language_change": true,
|
|
"screenshot": "C:\\Repos\\qinventor\\artifacts\\validation\\drawing-bom-preview.png"
|
|
}
|
|
},
|
|
{
|
|
"name": "Live seven-leaf source cells Symbol native PDF/SVG/DXF and independent FCStd restore",
|
|
"passed": true,
|
|
"evidence": {
|
|
"automatic_source_edit_cells_and_symbol": true,
|
|
"outside_source_ignored": true,
|
|
"updated": {
|
|
"svg": "C:\\Repos\\qinventor\\artifacts\\validation\\drawing-bom-updated.svg",
|
|
"pdf": "C:\\Repos\\qinventor\\artifacts\\validation\\drawing-bom-updated.pdf",
|
|
"dxf": "C:\\Repos\\qinventor\\artifacts\\validation\\drawing-bom-updated.dxf",
|
|
"dxf_evidence": {
|
|
"version": "AC1021",
|
|
"actual_UTF8_text": [
|
|
"Поз.",
|
|
"1",
|
|
"2",
|
|
"Обозначение",
|
|
"BOLT",
|
|
"HOUSING",
|
|
"Наименование",
|
|
"Болт",
|
|
"Корпус",
|
|
"Итого",
|
|
"Кол.",
|
|
"5",
|
|
"2",
|
|
"Материал",
|
|
"Сталь",
|
|
"Алюминий",
|
|
"Масса, кг",
|
|
"0,001884",
|
|
"0,0054",
|
|
"0,007284"
|
|
],
|
|
"native_editable_text_readback": [
|
|
"Поз.",
|
|
"1",
|
|
"2",
|
|
"Обозначение",
|
|
"BOLT",
|
|
"HOUSING",
|
|
"Наименование",
|
|
"Болт",
|
|
"Корпус",
|
|
"Итого",
|
|
"Кол.",
|
|
"5",
|
|
"2",
|
|
"Материал",
|
|
"Сталь",
|
|
"Алюминий",
|
|
"Масса, кг",
|
|
"0,001884",
|
|
"0,0054",
|
|
"0,007284"
|
|
],
|
|
"native_text_properties": [
|
|
{
|
|
"name": "Text",
|
|
"type": "App::FeaturePython",
|
|
"property_type": "App::PropertyStringList",
|
|
"editor_flags": []
|
|
},
|
|
{
|
|
"name": "Text001",
|
|
"type": "App::FeaturePython",
|
|
"property_type": "App::PropertyStringList",
|
|
"editor_flags": []
|
|
},
|
|
{
|
|
"name": "Text002",
|
|
"type": "App::FeaturePython",
|
|
"property_type": "App::PropertyStringList",
|
|
"editor_flags": []
|
|
},
|
|
{
|
|
"name": "Text003",
|
|
"type": "App::FeaturePython",
|
|
"property_type": "App::PropertyStringList",
|
|
"editor_flags": []
|
|
},
|
|
{
|
|
"name": "Text004",
|
|
"type": "App::FeaturePython",
|
|
"property_type": "App::PropertyStringList",
|
|
"editor_flags": []
|
|
},
|
|
{
|
|
"name": "Text005",
|
|
"type": "App::FeaturePython",
|
|
"property_type": "App::PropertyStringList",
|
|
"editor_flags": []
|
|
},
|
|
{
|
|
"name": "Text006",
|
|
"type": "App::FeaturePython",
|
|
"property_type": "App::PropertyStringList",
|
|
"editor_flags": []
|
|
},
|
|
{
|
|
"name": "Text007",
|
|
"type": "App::FeaturePython",
|
|
"property_type": "App::PropertyStringList",
|
|
"editor_flags": []
|
|
},
|
|
{
|
|
"name": "Text008",
|
|
"type": "App::FeaturePython",
|
|
"property_type": "App::PropertyStringList",
|
|
"editor_flags": []
|
|
},
|
|
{
|
|
"name": "Text009",
|
|
"type": "App::FeaturePython",
|
|
"property_type": "App::PropertyStringList",
|
|
"editor_flags": []
|
|
},
|
|
{
|
|
"name": "Text010",
|
|
"type": "App::FeaturePython",
|
|
"property_type": "App::PropertyStringList",
|
|
"editor_flags": []
|
|
},
|
|
{
|
|
"name": "Text011",
|
|
"type": "App::FeaturePython",
|
|
"property_type": "App::PropertyStringList",
|
|
"editor_flags": []
|
|
},
|
|
{
|
|
"name": "Text012",
|
|
"type": "App::FeaturePython",
|
|
"property_type": "App::PropertyStringList",
|
|
"editor_flags": []
|
|
},
|
|
{
|
|
"name": "Text013",
|
|
"type": "App::FeaturePython",
|
|
"property_type": "App::PropertyStringList",
|
|
"editor_flags": []
|
|
},
|
|
{
|
|
"name": "Text014",
|
|
"type": "App::FeaturePython",
|
|
"property_type": "App::PropertyStringList",
|
|
"editor_flags": []
|
|
},
|
|
{
|
|
"name": "Text015",
|
|
"type": "App::FeaturePython",
|
|
"property_type": "App::PropertyStringList",
|
|
"editor_flags": []
|
|
},
|
|
{
|
|
"name": "Text016",
|
|
"type": "App::FeaturePython",
|
|
"property_type": "App::PropertyStringList",
|
|
"editor_flags": []
|
|
},
|
|
{
|
|
"name": "Text017",
|
|
"type": "App::FeaturePython",
|
|
"property_type": "App::PropertyStringList",
|
|
"editor_flags": []
|
|
},
|
|
{
|
|
"name": "Text018",
|
|
"type": "App::FeaturePython",
|
|
"property_type": "App::PropertyStringList",
|
|
"editor_flags": []
|
|
},
|
|
{
|
|
"name": "Text019",
|
|
"type": "App::FeaturePython",
|
|
"property_type": "App::PropertyStringList",
|
|
"editor_flags": []
|
|
}
|
|
],
|
|
"native_text_edit_restore": true,
|
|
"native_projection_entities_unchanged": true,
|
|
"native_projection_layers": [
|
|
"FrontView",
|
|
"IsoView",
|
|
"TopView"
|
|
],
|
|
"grid_paper_bounds_mm": [
|
|
149.36,
|
|
71.92,
|
|
286.64,
|
|
100.08
|
|
],
|
|
"native_reader_stats": {
|
|
"dxfVersion": "AC1021",
|
|
"dxfEncoding": "utf_8",
|
|
"scalingSource": "$INSUNITS",
|
|
"fileUnits": "Millimeters",
|
|
"finalScalingFactor": 1.0,
|
|
"importTimeSeconds": 0.9060992,
|
|
"totalEntitiesCreated": 195,
|
|
"entityCounts": {
|
|
"LINE": 195,
|
|
"TEXT": 20
|
|
},
|
|
"importSettings": {
|
|
"Import hidden blocks": "No",
|
|
"Import layout objects": "No",
|
|
"Import points": "Yes",
|
|
"Import texts and dimensions": "Yes",
|
|
"Join geometry": "No",
|
|
"Manual scaling factor": "1.000000",
|
|
"Use colors from the DXF file": "Yes",
|
|
"Use layers": "Yes"
|
|
},
|
|
"unsupportedFeatures": {},
|
|
"systemBlockCounts": {
|
|
"Other System Blocks": 2
|
|
}
|
|
}
|
|
},
|
|
"rendered": [
|
|
"C:\\Repos\\qinventor\\artifacts\\validation\\drawing-bom-updated-svg.png"
|
|
],
|
|
"actual_SVG_grid_bounds_mm": [
|
|
149.377,
|
|
109.937,
|
|
286.621822,
|
|
138.062064
|
|
],
|
|
"pdf_visual_review": "Separate offline renderer; the CAD runtime does not bundle QtPdf"
|
|
},
|
|
"FCStd": "C:\\Repos\\qinventor\\artifacts\\validation\\drawing-bom-bbd0614872a64bbd91261f1962cc1316.FCStd",
|
|
"independent_native_restore": {
|
|
"native_exit_code": 0,
|
|
"report": "C:\\Repos\\qinventor\\artifacts\\validation\\drawing-bom-restore-_wo4e3mp\\report.json",
|
|
"mass_kg_after_edit": 0.007284000000000004
|
|
},
|
|
"reopened": {
|
|
"svg": "C:\\Repos\\qinventor\\artifacts\\validation\\drawing-bom-reopened.svg",
|
|
"pdf": "C:\\Repos\\qinventor\\artifacts\\validation\\drawing-bom-reopened.pdf",
|
|
"dxf": "C:\\Repos\\qinventor\\artifacts\\validation\\drawing-bom-reopened.dxf",
|
|
"dxf_evidence": {
|
|
"version": "AC1021",
|
|
"actual_UTF8_text": [
|
|
"Поз.",
|
|
"1",
|
|
"2",
|
|
"Обозначение",
|
|
"BOLT",
|
|
"HOUSING",
|
|
"Наименование",
|
|
"Болт",
|
|
"Корпус",
|
|
"Итого",
|
|
"Кол.",
|
|
"5",
|
|
"2",
|
|
"Материал",
|
|
"Сталь",
|
|
"Алюминий",
|
|
"Масса, кг",
|
|
"0,000942",
|
|
"0,0054",
|
|
"0,006342"
|
|
],
|
|
"native_editable_text_readback": [
|
|
"Поз.",
|
|
"1",
|
|
"2",
|
|
"Обозначение",
|
|
"BOLT",
|
|
"HOUSING",
|
|
"Наименование",
|
|
"Болт",
|
|
"Корпус",
|
|
"Итого",
|
|
"Кол.",
|
|
"5",
|
|
"2",
|
|
"Материал",
|
|
"Сталь",
|
|
"Алюминий",
|
|
"Масса, кг",
|
|
"0,000942",
|
|
"0,0054",
|
|
"0,006342"
|
|
],
|
|
"native_text_properties": [
|
|
{
|
|
"name": "Text",
|
|
"type": "App::FeaturePython",
|
|
"property_type": "App::PropertyStringList",
|
|
"editor_flags": []
|
|
},
|
|
{
|
|
"name": "Text001",
|
|
"type": "App::FeaturePython",
|
|
"property_type": "App::PropertyStringList",
|
|
"editor_flags": []
|
|
},
|
|
{
|
|
"name": "Text002",
|
|
"type": "App::FeaturePython",
|
|
"property_type": "App::PropertyStringList",
|
|
"editor_flags": []
|
|
},
|
|
{
|
|
"name": "Text003",
|
|
"type": "App::FeaturePython",
|
|
"property_type": "App::PropertyStringList",
|
|
"editor_flags": []
|
|
},
|
|
{
|
|
"name": "Text004",
|
|
"type": "App::FeaturePython",
|
|
"property_type": "App::PropertyStringList",
|
|
"editor_flags": []
|
|
},
|
|
{
|
|
"name": "Text005",
|
|
"type": "App::FeaturePython",
|
|
"property_type": "App::PropertyStringList",
|
|
"editor_flags": []
|
|
},
|
|
{
|
|
"name": "Text006",
|
|
"type": "App::FeaturePython",
|
|
"property_type": "App::PropertyStringList",
|
|
"editor_flags": []
|
|
},
|
|
{
|
|
"name": "Text007",
|
|
"type": "App::FeaturePython",
|
|
"property_type": "App::PropertyStringList",
|
|
"editor_flags": []
|
|
},
|
|
{
|
|
"name": "Text008",
|
|
"type": "App::FeaturePython",
|
|
"property_type": "App::PropertyStringList",
|
|
"editor_flags": []
|
|
},
|
|
{
|
|
"name": "Text009",
|
|
"type": "App::FeaturePython",
|
|
"property_type": "App::PropertyStringList",
|
|
"editor_flags": []
|
|
},
|
|
{
|
|
"name": "Text010",
|
|
"type": "App::FeaturePython",
|
|
"property_type": "App::PropertyStringList",
|
|
"editor_flags": []
|
|
},
|
|
{
|
|
"name": "Text011",
|
|
"type": "App::FeaturePython",
|
|
"property_type": "App::PropertyStringList",
|
|
"editor_flags": []
|
|
},
|
|
{
|
|
"name": "Text012",
|
|
"type": "App::FeaturePython",
|
|
"property_type": "App::PropertyStringList",
|
|
"editor_flags": []
|
|
},
|
|
{
|
|
"name": "Text013",
|
|
"type": "App::FeaturePython",
|
|
"property_type": "App::PropertyStringList",
|
|
"editor_flags": []
|
|
},
|
|
{
|
|
"name": "Text014",
|
|
"type": "App::FeaturePython",
|
|
"property_type": "App::PropertyStringList",
|
|
"editor_flags": []
|
|
},
|
|
{
|
|
"name": "Text015",
|
|
"type": "App::FeaturePython",
|
|
"property_type": "App::PropertyStringList",
|
|
"editor_flags": []
|
|
},
|
|
{
|
|
"name": "Text016",
|
|
"type": "App::FeaturePython",
|
|
"property_type": "App::PropertyStringList",
|
|
"editor_flags": []
|
|
},
|
|
{
|
|
"name": "Text017",
|
|
"type": "App::FeaturePython",
|
|
"property_type": "App::PropertyStringList",
|
|
"editor_flags": []
|
|
},
|
|
{
|
|
"name": "Text018",
|
|
"type": "App::FeaturePython",
|
|
"property_type": "App::PropertyStringList",
|
|
"editor_flags": []
|
|
},
|
|
{
|
|
"name": "Text019",
|
|
"type": "App::FeaturePython",
|
|
"property_type": "App::PropertyStringList",
|
|
"editor_flags": []
|
|
}
|
|
],
|
|
"native_text_edit_restore": true,
|
|
"native_projection_entities_unchanged": true,
|
|
"native_projection_layers": [
|
|
"FrontView",
|
|
"IsoView",
|
|
"TopView"
|
|
],
|
|
"grid_paper_bounds_mm": [
|
|
149.36,
|
|
71.92,
|
|
286.64,
|
|
100.08
|
|
],
|
|
"native_reader_stats": {
|
|
"dxfVersion": "AC1021",
|
|
"dxfEncoding": "utf_8",
|
|
"scalingSource": "$INSUNITS",
|
|
"fileUnits": "Millimeters",
|
|
"finalScalingFactor": 1.0,
|
|
"importTimeSeconds": 0.8685385,
|
|
"totalEntitiesCreated": 195,
|
|
"entityCounts": {
|
|
"LINE": 195,
|
|
"TEXT": 20
|
|
},
|
|
"importSettings": {
|
|
"Import hidden blocks": "No",
|
|
"Import layout objects": "No",
|
|
"Import points": "Yes",
|
|
"Import texts and dimensions": "Yes",
|
|
"Join geometry": "No",
|
|
"Manual scaling factor": "1.000000",
|
|
"Use colors from the DXF file": "Yes",
|
|
"Use layers": "Yes"
|
|
},
|
|
"unsupportedFeatures": {},
|
|
"systemBlockCounts": {
|
|
"Other System Blocks": 2
|
|
}
|
|
}
|
|
},
|
|
"rendered": [
|
|
"C:\\Repos\\qinventor\\artifacts\\validation\\drawing-bom-reopened-svg.png"
|
|
],
|
|
"actual_SVG_grid_bounds_mm": [
|
|
149.377,
|
|
109.937,
|
|
286.621822,
|
|
138.062064
|
|
],
|
|
"pdf_visual_review": "Separate offline renderer; the CAD runtime does not bundle QtPdf"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "Cached native errors A4 overflow and post-writer fault protect table and old exports",
|
|
"passed": true,
|
|
"evidence": {
|
|
"cached_invalid_shape_rejects_UI_and_export": true,
|
|
"A4_overflow_rejects_without_writes": true,
|
|
"last_good_table_cells_preserved": true,
|
|
"native_writer_fault_after_output": [
|
|
"C:\\Repos\\qinventor\\artifacts\\validation\\.qinventor-7oauva9g.svg",
|
|
"C:\\Repos\\qinventor\\artifacts\\validation\\.qinventor-5u7rz7w8.dxf"
|
|
],
|
|
"previous_PDF_SVG_DXF_bytes_preserved": true,
|
|
"owned_temps_removed": true,
|
|
"user_companion_file_untouched": "C:\\Repos\\qinventor\\artifacts\\validation\\drawing-bom-protected.geometry-check.svg"
|
|
}
|
|
}
|
|
],
|
|
"input_delivery": "actual Qt ribbon and drawing BOM controls; native CAD/PDF/SVG/DXF",
|
|
"os_pointer_access": false,
|
|
"count": 3
|
|
}
|
|
},
|
|
{
|
|
"name": "assembly_drawing_command_workflow_suite",
|
|
"passed": true,
|
|
"result": {
|
|
"status": "passed",
|
|
"passed": 6,
|
|
"failed": 0,
|
|
"checks": [
|
|
{
|
|
"name": "actual_plane_dialog_cancel_without_document",
|
|
"passed": true,
|
|
"evidence": {
|
|
"cancel_clicked": true,
|
|
"dialog_seen": true,
|
|
"documents_preserved": true,
|
|
"no_active_document": true
|
|
}
|
|
},
|
|
{
|
|
"name": "assembly_drawing_command_definition_edit_and_fcstd_exports",
|
|
"passed": true,
|
|
"evidence": {
|
|
"selection_required": false,
|
|
"linked_components": 3,
|
|
"views": 3,
|
|
"definition_edits_update_native_projections": true,
|
|
"fcstd_reopen_preserves_associativity": true,
|
|
"pdf_bytes": 225610,
|
|
"svg_bytes": 29847
|
|
}
|
|
},
|
|
{
|
|
"name": "empty_document_drawing_rejected_without_mutation",
|
|
"passed": true,
|
|
"evidence": {
|
|
"empty_rejected": true,
|
|
"objects_and_history_preserved": true
|
|
}
|
|
},
|
|
{
|
|
"name": "assembly_title_material_follows_actual_view_sources",
|
|
"passed": true,
|
|
"evidence": {
|
|
"drawing_source": "Component",
|
|
"material": "Сталь",
|
|
"unrelated_aluminum_part_ignored_by_title": true
|
|
}
|
|
},
|
|
{
|
|
"name": "failed_cached_native_solid_drawing_rejected_without_mutation",
|
|
"passed": true,
|
|
"evidence": {
|
|
"native_error": "Cannot create a pad with a total length of zero.",
|
|
"cached_volume_mm3": 999.9999999999998,
|
|
"page_not_created": true,
|
|
"objects_and_history_preserved": true
|
|
}
|
|
},
|
|
{
|
|
"name": "existing_page_cached_linked_source_exports_rejected",
|
|
"passed": true,
|
|
"evidence": {
|
|
"linked_cached_native_failure_rejected": {
|
|
"dxf": "Объект «Выдавливание» содержит ошибку перестроения. Исправьте операцию перед экспортом чертежа.",
|
|
"pdf": "Объект «Выдавливание» содержит ошибку перестроения. Исправьте операцию перед экспортом чертежа.",
|
|
"svg": "Объект «Выдавливание» содержит ошибку перестроения. Исправьте операцию перед экспортом чертежа."
|
|
},
|
|
"cached_volume_mm3": 999.9999999999998,
|
|
"existing_outputs_and_absent_directories_preserved": true,
|
|
"native_wire_page_exports_despite_unrelated_failed_source": {
|
|
"dxf": 7004,
|
|
"pdf": 214154,
|
|
"svg": 7099
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"artifacts": [
|
|
"C:\\Repos\\qinventor\\artifacts\\validation\\command-plane-cancel-dialog.png",
|
|
"C:\\Repos\\qinventor\\artifacts\\validation\\command-assembly-drawing-snapshots.json",
|
|
"C:\\Repos\\qinventor\\artifacts\\validation\\command-assembly-drawing-before.png",
|
|
"C:\\Repos\\qinventor\\artifacts\\validation\\command-assembly-drawing-updated.png",
|
|
"C:\\Repos\\qinventor\\artifacts\\validation\\command-assembly-drawing.FCStd",
|
|
"C:\\Repos\\qinventor\\artifacts\\validation\\command-assembly-drawing.svg",
|
|
"C:\\Repos\\qinventor\\artifacts\\validation\\command-assembly-drawing.pdf",
|
|
"C:\\Repos\\qinventor\\artifacts\\validation\\command-assembly-drawing-reopened.png",
|
|
"C:\\Repos\\qinventor\\artifacts\\validation\\command-assembly-title-material-scope.png"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "sketch_dimension_finish_pad_workflow",
|
|
"passed": true,
|
|
"result": {
|
|
"sketch": "Sketch",
|
|
"volume_mm3": 12000.0
|
|
}
|
|
},
|
|
{
|
|
"name": "cancel_new_and_existing_sketch",
|
|
"passed": true,
|
|
"result": {
|
|
"existing_restored": true,
|
|
"new_removed": true
|
|
}
|
|
},
|
|
{
|
|
"name": "drawing_pdf_svg_export",
|
|
"passed": true,
|
|
"result": {
|
|
"page": "Drawing",
|
|
"pdf_bytes": 163077,
|
|
"views": 3
|
|
}
|
|
},
|
|
{
|
|
"name": "russian_native_and_custom_surfaces",
|
|
"passed": true,
|
|
"result": {
|
|
"supplemental_sources": 385,
|
|
"visible_untranslated": 0,
|
|
"native_menu_titles": [
|
|
"Файл",
|
|
"Изменить",
|
|
"Вид",
|
|
"Инструменты",
|
|
"Макросы",
|
|
"QInventor",
|
|
"Окна",
|
|
"Справка"
|
|
],
|
|
"parameter_backend_error_russian": true,
|
|
"deleted_parameter_object_error_russian": true
|
|
}
|
|
},
|
|
{
|
|
"name": "shipped_examples",
|
|
"passed": true,
|
|
"result": [
|
|
"bracket.FCStd",
|
|
"bracket.step",
|
|
"assembly.FCStd",
|
|
"assembly.step"
|
|
]
|
|
},
|
|
{
|
|
"name": "source_snapshot_consistent",
|
|
"passed": true,
|
|
"result": true
|
|
}
|
|
],
|
|
"passed": 26,
|
|
"failed": 0,
|
|
"source_sha256": [
|
|
{
|
|
"path": "scripts\\bootstrap.ps1",
|
|
"sha256": "aeecd11aa2b609fbbbc6d4bcaf6eb6a4c236913aff26cd5096b3cb5a33dd499c"
|
|
},
|
|
{
|
|
"path": "scripts\\build-launcher.ps1",
|
|
"sha256": "b78168056b1009576872bc7d93f35fb7db5d409e8dd24418cfe74b42c30c6c7e"
|
|
},
|
|
{
|
|
"path": "scripts\\launcher\\Program.cs",
|
|
"sha256": "7cee5b394ba055bb63619a5aef4c9b9db82055c3ca1a61a2550da221a996cfc5"
|
|
},
|
|
{
|
|
"path": "scripts\\launcher\\QInventor.Launcher.csproj",
|
|
"sha256": "b46bb80c4b39b66a66b9d2e25ba97c186a9ca48d9e6bc4cdd11531b9c89990d8"
|
|
},
|
|
{
|
|
"path": "scripts\\launcher\\RuntimePath.cs",
|
|
"sha256": "13fd9e93326afef703fa1926f83ea519dceaccb3781526e1e5e2c23243f78057"
|
|
},
|
|
{
|
|
"path": "scripts\\package.ps1",
|
|
"sha256": "9352bd79ee9ac41a1766745a86fd1e1c9193163f544cf838e122dcf4b770fdbb"
|
|
},
|
|
{
|
|
"path": "scripts\\render-icon.py",
|
|
"sha256": "2063594fde4d169f141b3a386f455be1f116b3c8a01f8bb257f4ff575b02aa42"
|
|
},
|
|
{
|
|
"path": "scripts\\startup.FCMacro",
|
|
"sha256": "813b4e857b3e184f3a41c7b72debfd995e7ee36ad2532aa3f57a4c878d6fc38b"
|
|
},
|
|
{
|
|
"path": "scripts\\sync.ps1",
|
|
"sha256": "e1349b8d1527bab9f700d0e8418a6e6be6d3df97838103efc5c473d2bcb3a5de"
|
|
},
|
|
{
|
|
"path": "scripts\\test.ps1",
|
|
"sha256": "6e827d4aa63e150006b2a77e77243d8445612d684bb0cea79ef4d67811c599dd"
|
|
},
|
|
{
|
|
"path": "scripts\\translator-probe.py",
|
|
"sha256": "5ee83e97742a65eb147227cf6c020f4307122908a3c06e1417727ee603a819ae"
|
|
},
|
|
{
|
|
"path": "src\\QInventor\\Init.py",
|
|
"sha256": "7d2681813d2efe5a3b79147da578b67290117e61575e4e1735dd6a9aab7a37e1"
|
|
},
|
|
{
|
|
"path": "src\\QInventor\\InitGui.py",
|
|
"sha256": "0f6fa12520a656980d3a3d61582cfcbebfa3f41728d63b75ad2fb001116a850e"
|
|
},
|
|
{
|
|
"path": "src\\QInventor\\qi_bom.py",
|
|
"sha256": "548b7196392650b790f8263440cc12039eb1aae20c19ce6158e4588f9cc2053d"
|
|
},
|
|
{
|
|
"path": "src\\QInventor\\qi_bom_ui.py",
|
|
"sha256": "522ea28fcce9f7a22e0ea107304ca32406846ec99af16b6adf04ef3da008811d"
|
|
},
|
|
{
|
|
"path": "src\\QInventor\\qi_commands.py",
|
|
"sha256": "19816cbda6a9cc15023484022d0a13f84bd176d6e9eae0b681b968da21732f61"
|
|
},
|
|
{
|
|
"path": "src\\QInventor\\qi_drawing_bom.py",
|
|
"sha256": "143dfa91623c6ac08c80e02e1671f6628ec18a5fd551bda362d7d99d252a4d11"
|
|
},
|
|
{
|
|
"path": "src\\QInventor\\qi_drawing_bom_export.py",
|
|
"sha256": "1e0fbe90cafcf2321ce4eae90868211be7db105767f98bcf42789950d52dab2f"
|
|
},
|
|
{
|
|
"path": "src\\QInventor\\qi_drawing_bom_ui.py",
|
|
"sha256": "8a50502dd648a42a2e6e4b436972c67b71ec0683f0c4276b13f313357d0c103a"
|
|
},
|
|
{
|
|
"path": "src\\QInventor\\qi_extrude.py",
|
|
"sha256": "03b5b7eea4adbf168d623995e84e0d3af4ccea58494b3b34542b10447ef0c072"
|
|
},
|
|
{
|
|
"path": "src\\QInventor\\qi_io.py",
|
|
"sha256": "77ea249f6d3a374e89ac294e0de8a386356ed47f908ba494cbe8fea37c34df1f"
|
|
},
|
|
{
|
|
"path": "src\\QInventor\\qi_localization.py",
|
|
"sha256": "84041c5888157e7844b99ebda3fddf9e86531667c9e1aa56cde917795f1b91e1"
|
|
},
|
|
{
|
|
"path": "src\\QInventor\\qi_messages.py",
|
|
"sha256": "5c0c41cf0c1bd60f30d0aec0da6934c2af70a88765d86c07e500046714eeecb5"
|
|
},
|
|
{
|
|
"path": "src\\QInventor\\qi_model.py",
|
|
"sha256": "08c094382cfadd5e94e3ab6d1ce01ad1214985cc2a3222814ab5b2da26c4d762"
|
|
},
|
|
{
|
|
"path": "src\\QInventor\\qi_parameters.py",
|
|
"sha256": "9f384e40b930b6ebc4e7f068651c0797134818803b82704258e26215997c01c2"
|
|
},
|
|
{
|
|
"path": "src\\QInventor\\qi_parameters_ui.py",
|
|
"sha256": "4e10337d61bb38f229736f0e877d16cc99106943fa3a8f4333fa905aad7ec19f"
|
|
},
|
|
{
|
|
"path": "src\\QInventor\\qi_projection.py",
|
|
"sha256": "a4923dd69f7dcb3230a4b60bd001698d90d6d02db5aa016362034ee73520925d"
|
|
},
|
|
{
|
|
"path": "src\\QInventor\\qi_sketch_offset.py",
|
|
"sha256": "ffb0f2a000b91528587110d7f5d47b7e26902b499e1b35220e3c09fc89786cb9"
|
|
},
|
|
{
|
|
"path": "src\\QInventor\\qi_sketch_patterns.py",
|
|
"sha256": "c98dfd369c639436f0aed0664cf43cc6345b6639c102309efb90041fe65d4e1e"
|
|
},
|
|
{
|
|
"path": "src\\QInventor\\qi_sketch_preview.py",
|
|
"sha256": "4858dc39046bad95306179212fe44a63e2e1437259a9c6d14bc847b68c7aab76"
|
|
},
|
|
{
|
|
"path": "src\\QInventor\\qi_sketch_ui.py",
|
|
"sha256": "d505b802c65f1566a64d7687e290a64226aff91958db59b8d621ac69909ead37"
|
|
},
|
|
{
|
|
"path": "src\\QInventor\\qi_step_export.py",
|
|
"sha256": "754f7f8b841f87a696ddf800e19f947d5e8712fc53faf8fce4d2d0d0f3ee51f6"
|
|
},
|
|
{
|
|
"path": "src\\QInventor\\qi_ui.py",
|
|
"sha256": "7432d1939919b30e5fc81cd333caf220ca3b490d71851328aa26d8070a7ac307"
|
|
},
|
|
{
|
|
"path": "src\\QInventor\\qi_workbench.py",
|
|
"sha256": "312d49f40d78e8bde48cd8fa57232cd380565fe5b30a688e4612d57bde210c59"
|
|
},
|
|
{
|
|
"path": "src\\QInventor\\resources\\qinventor-a4.svg",
|
|
"sha256": "f77419e8559cb24b29a62ebcdc02d781f52c6910c0299d4820d1dd8c820c4128"
|
|
},
|
|
{
|
|
"path": "src\\QInventor\\resources\\qinventor.ico",
|
|
"sha256": "ea229e71d0fcdd749c35977fc0f11720a972c3ee04b3d9042d850182e0a6ed1c"
|
|
},
|
|
{
|
|
"path": "src\\QInventor\\resources\\qinventor.png",
|
|
"sha256": "3de618b2d07a1fd36a14f71d3f0b85f36a5dcc22ccf070b4629491da6e6f9e32"
|
|
},
|
|
{
|
|
"path": "src\\QInventor\\resources\\qinventor.svg",
|
|
"sha256": "12e95fa28c4aaf927311a777b3928d0518799e51663aab2f0f036015210dc954"
|
|
},
|
|
{
|
|
"path": "tests\\assembly_suite.py",
|
|
"sha256": "988aaa37573ab5c6543fd4f8f67b7fa7fff604721dcc6fe31b7c71abea747709"
|
|
},
|
|
{
|
|
"path": "tests\\bom_gui_suite.py",
|
|
"sha256": "043aa3632033bf5a6cc4fba0b1167b9cc6e89610f1db562067b00b32c62640de"
|
|
},
|
|
{
|
|
"path": "tests\\bom_suite.py",
|
|
"sha256": "2a52ef5fb7f99f4f21d6858f0860eba2db0a18993f7092059029c3f73b145f9e"
|
|
},
|
|
{
|
|
"path": "tests\\command_workflows_suite.py",
|
|
"sha256": "9c2cd271b6cde306dc9c228755579c299ead6ab6d4773d83dfefe7b37ecdb950"
|
|
},
|
|
{
|
|
"path": "tests\\drawing_bom_gui_suite.py",
|
|
"sha256": "12a60a1f8550922b5e3b069df09e3416111e367ba82a1d2f25fed5abf7555393"
|
|
},
|
|
{
|
|
"path": "tests\\drawing_bom_suite.py",
|
|
"sha256": "3da48ba3aa9b7f70ac02732fe41699776542d72e840a4d5843bc98f9e72a2509"
|
|
},
|
|
{
|
|
"path": "tests\\extrude_suite.py",
|
|
"sha256": "83da33ea4ce4d5da538f46e0a03a88acdb4e46a1424da32d899602a4b735605a"
|
|
},
|
|
{
|
|
"path": "tests\\gui_suite.py",
|
|
"sha256": "87cee20dc57dffa1384be594d7e8ba96580808685c0ec9419c8fd3a3a4f9007b"
|
|
},
|
|
{
|
|
"path": "tests\\io_suite.py",
|
|
"sha256": "53f8662e37fac45216d2858e732a2e8bbccf3d344c607aa57a99d9cb8d630c45"
|
|
},
|
|
{
|
|
"path": "tests\\kernel_suite.py",
|
|
"sha256": "bfd56a485e11b76f4b402439185db813601d93ce001b54a68e0303826157f3f8"
|
|
},
|
|
{
|
|
"path": "tests\\parameter_preflight_suite.py",
|
|
"sha256": "dc0dd00f59ea60baa90ab6930d7b8a68ebcb33f5e5ea00f3354d94a67d75a966"
|
|
},
|
|
{
|
|
"path": "tests\\parameter_table_gui_suite.py",
|
|
"sha256": "c19beaaf1c0dda693dbdd964319b1c199ea51bb79a4300f0b15177c15b5f8489"
|
|
},
|
|
{
|
|
"path": "tests\\parameter_table_suite.py",
|
|
"sha256": "f0c9eb2975bbac0a5d6a0a6f50bf64bc8cbd094b09942c167207574d3e1ba895"
|
|
},
|
|
{
|
|
"path": "tests\\parameters_suite.py",
|
|
"sha256": "7bbcc44d6d9f1595ac2ab90e8a8f01fb1d0d0acfd32294241d3ef595713f985b"
|
|
},
|
|
{
|
|
"path": "tests\\probe.FCMacro",
|
|
"sha256": "928efa45b20a145f313cf2ae6dcbcbc7ee9f3609df67ec678078aed8e264bd07"
|
|
},
|
|
{
|
|
"path": "tests\\projection_suite.py",
|
|
"sha256": "77770dc7c82656794ed68770d26c5da7871f2a8949ea8acc7ee637f8caaa1d24"
|
|
},
|
|
{
|
|
"path": "tests\\ribbon_camera_probe.FCMacro",
|
|
"sha256": "ed96daba842fbd362bf2ce7ec8014e011a46cc0941fae48b05f78714aeefc3c6"
|
|
},
|
|
{
|
|
"path": "tests\\ribbon_gui.FCMacro",
|
|
"sha256": "bbaa7367526cb924f096a97bc3f6005a6184061955abfdd15d0e91d1f5986575"
|
|
},
|
|
{
|
|
"path": "tests\\ribbon_probe.FCMacro",
|
|
"sha256": "b519579dcb0cee106aa40caf674fa611e105168299e933fe9930ac20a6238872"
|
|
},
|
|
{
|
|
"path": "tests\\ribbon_suite.py",
|
|
"sha256": "b5d5459532bdfb7113da2fea228248e87aa0e7abfa8ecec116e1222141aae05b"
|
|
},
|
|
{
|
|
"path": "tests\\sketch_offset_suite.py",
|
|
"sha256": "97de15e62d59b7c3113dda26d48670163853acf8a404067d676c6db3a2cc82f1"
|
|
},
|
|
{
|
|
"path": "tests\\sketch_operations_gui_suite.py",
|
|
"sha256": "4b088da978f506f3afe04fac6c9a3762895eb8fb1f21b2e7f5d8f08a656e53a1"
|
|
},
|
|
{
|
|
"path": "tests\\sketch_patterns_suite.py",
|
|
"sha256": "2205b605bd5ab7b8077cbd2421bdb469105d04daa5806fdc02edadb7a5f68414"
|
|
}
|
|
],
|
|
"finished": "2026-10-15T16:56:17.295721+03:00",
|
|
"native_exit_code": 0
|
|
},
|
|
"version": "1.0.0",
|
|
"officialRuntimeArchiveSha256": "4828741fc91ee37fafcdb97a1abacb18b04ba451ac4372d9ff7a7349b36f4d6d",
|
|
"platform": "Windows x64"
|
|
}
|