feat: close builder mutation and roundtrip evidence gaps
This commit is contained in:
@@ -4,6 +4,8 @@ import FreeCAD as App
|
||||
import Part
|
||||
import Sketcher
|
||||
|
||||
from freecad_mutation_evidence import capture_property_mutation
|
||||
|
||||
|
||||
def version_text():
|
||||
return ".".join(str(value) for value in App.Version()[:3])
|
||||
@@ -50,7 +52,9 @@ def feature_linear_pattern():
|
||||
pattern.Direction = (document.X_Axis, [""])
|
||||
pattern.Occurrences = 3
|
||||
pattern.Length = 12
|
||||
mutation = capture_property_mutation(document, pattern, "Occurrences", 4)
|
||||
result = shape_result("linear-feature-list", document, pattern)
|
||||
result["mutation"] = mutation
|
||||
result.update({
|
||||
"transformMode": pattern.TransformMode,
|
||||
"originals": [item.Name for item in pattern.Originals],
|
||||
@@ -79,7 +83,9 @@ def feature_mirrored():
|
||||
mirrored.TransformMode = "Features"
|
||||
mirrored.Originals = [boss]
|
||||
mirrored.MirrorPlane = (document.YZ_Plane, [""])
|
||||
mutation = capture_property_mutation(document, mirrored, "Refine", False)
|
||||
result = shape_result("mirrored-feature-list", document, mirrored)
|
||||
result["mutation"] = mutation
|
||||
result.update({
|
||||
"transformMode": mirrored.TransformMode,
|
||||
"originals": [item.Name for item in mirrored.Originals],
|
||||
@@ -105,7 +111,9 @@ def feature_polar_pattern():
|
||||
pattern.Occurrences = 4
|
||||
pattern.Refine = True
|
||||
body.addObject(pattern)
|
||||
mutation = capture_property_mutation(document, pattern, "Occurrences", 3)
|
||||
result = shape_result("polar-feature-list", document, pattern)
|
||||
result["mutation"] = mutation
|
||||
result.update({
|
||||
"transformMode": pattern.TransformMode,
|
||||
"originals": [item.Name for item in pattern.Originals],
|
||||
@@ -149,7 +157,9 @@ def feature_multi_transform():
|
||||
polar.Occurrences = 4
|
||||
body.addObject(polar)
|
||||
multi.Transformations = [mirrored, linear, polar]
|
||||
mutation = capture_property_mutation(document, multi, "Length", 15.0, target=linear, property_path="Transformations[1].Length")
|
||||
result = shape_result("multi-transform-feature-list", document, multi)
|
||||
result["mutation"] = mutation
|
||||
result.update({
|
||||
"transformMode": multi.TransformMode,
|
||||
"originals": [item.Name for item in multi.Originals],
|
||||
@@ -255,7 +265,9 @@ def iso_hole(modeled):
|
||||
hole.ThreadDirection = "Left" if modeled else "Right"
|
||||
hole.ThreadDepthType = "Dimension"
|
||||
hole.ThreadDepth = 6
|
||||
mutation = capture_property_mutation(document, hole, "Diameter", 6.5)
|
||||
result = shape_result(case_id, document, hole)
|
||||
result["mutation"] = mutation
|
||||
result.update({
|
||||
"threaded": bool(hole.Threaded),
|
||||
"modeled": bool(hole.ModelThread),
|
||||
|
||||
Reference in New Issue
Block a user