Merge pull request #18354 from CalligaroV/pd-hole-restore-missing-refineShapeIfActive

[PartDesign] Hole: restore missing call to FeatureAddSub::refineShapeIfActive()
This commit is contained in:
Chris Hennes
2024-12-16 11:41:50 -05:00
committed by GitHub
3 changed files with 85 additions and 5 deletions

View File

@@ -520,22 +520,23 @@ class TestSketcherSolver(unittest.TestCase):
hole.DrillForDepth = 0
hole.Tapered = 0
self.Doc.recompute()
self.assertEqual(len(hole.Shape.Edges), 13)
self.assertEqual(len(hole.Shape.Edges), 12)
hole.Threaded = True
hole.ModelThread = True
body.addObject(hole)
# body.addObject(hole) # Commented out as this is a duplicate
# (already performed after hole = self.Doc.addObject("PartDesign::Hole", "Hole"))
#
sketch2 = self.Doc.addObject("Sketcher::SketchObject", "Sketch2")
CreateRectangleSketch(sketch2, (0, 0), (3, 3))
body.addObject(sketch2)
self.Doc.recompute()
sketch2.addExternal("Hole", "Edge29") # Edge29 will disappear when we stop modeling threads
self.assertEqual(len(hole.Shape.Edges), 38)
self.assertEqual(len(hole.Shape.Edges), 32)
hole.ModelThread = False
hole.Refine = True
self.Doc.recompute()
self.assertEqual(len(hole.Shape.Edges), 38)
self.assertEqual(len(sketch2.ExternalGeometry), 1)
self.assertEqual(len(hole.Shape.Edges), 12)
self.assertEqual(len(sketch2.ExternalGeometry), 0)
def testSaveLoadWithExternalGeometryReference(self):
# Arrange