ParallelDirSelector now filters for geomType() == "PLANE"
In certain circumstances this will be breaking, most commonly when using DirectionNthSelector and there was previously a non-planar face in the list. In this case eg. ">X[2]" will have to become ">X[1]".
This commit is contained in:
@ -162,7 +162,12 @@ class TestCQSelectors(BaseTest):
|
||||
self.assertNotEqual(c_curves.edges(), 0)
|
||||
self.assertEqual(c_curves.edges(loose_selector).size(), 0)
|
||||
|
||||
# leave faces until I figure out if it should only be PLANE or all faces
|
||||
# this has a Face that is not a PLANE
|
||||
face_dir = c_curves.faces().val().normalAt(None)
|
||||
self.assertNotEqual(c_curves.faces(), 0)
|
||||
self.assertEqual(
|
||||
c_curves.faces(ParallelDirSelector(face_dir, tolerance=10)).size(), 0
|
||||
)
|
||||
|
||||
self.assertNotEqual(c.solids().size(), 0)
|
||||
self.assertEqual(c.solids(loose_selector).size(), 0)
|
||||
@ -291,6 +296,11 @@ class TestCQSelectors(BaseTest):
|
||||
self.assertEqual(1, hole.size())
|
||||
self.assertAlmostEqual(1, hole.val().radius())
|
||||
|
||||
# can we select a non-planar face?
|
||||
hole_face = part.faces(sel(1, Vector(1, 0, 0)))
|
||||
self.assertEqual(hole_face.size(), 1)
|
||||
self.assertNotEqual(hole_face.val().geomType(), "PLANE")
|
||||
|
||||
# select solids
|
||||
box0 = Workplane().box(1, 1, 1, centered=(True, True, True))
|
||||
box1 = Workplane("XY", origin=(10, 10, 10)).box(
|
||||
|
Reference in New Issue
Block a user