Added option to center workplane of projected origin.
Add 'ProjectedOrigin' option to centerOptions parameter of workplane method. Added test converge for all of the centerOption paramter choices.
This commit is contained in:
@ -1901,4 +1901,56 @@ class TestCadQuery(BaseTest):
|
||||
|
||||
self.assertEqual(len(solid.Vertices()),4)
|
||||
self.assertEqual(len(solid.Faces()),4)
|
||||
|
||||
def testWorkplaneCenterOptions(self):
|
||||
"""
|
||||
Test options for specifiying origin of workplane
|
||||
"""
|
||||
decimal_places = 9
|
||||
|
||||
pts = [(90,0),(90,30),(30,30),(30,60),(0.0,60)]
|
||||
|
||||
r = Workplane("XY").polyline(pts).close().extrude(10.0)
|
||||
|
||||
origin = r.faces(">Z").workplane(centerOption='ProjectedOrigin') \
|
||||
.plane.origin.toTuple()
|
||||
self.assertTupleAlmostEquals(origin, (0.0, 0.0, 10.0), decimal_places)
|
||||
|
||||
origin = r.faces(">Z").workplane(centerOption='CenterOfMass') \
|
||||
.plane.origin.toTuple()
|
||||
self.assertTupleAlmostEquals(origin, (37.5, 22.5, 10.0), decimal_places)
|
||||
|
||||
origin = r.faces(">Z").workplane(centerOption='CenterOfBoundBox') \
|
||||
.plane.origin.toTuple()
|
||||
self.assertTupleAlmostEquals(origin, (45.0, 30.0, 10.0), decimal_places)
|
||||
|
||||
r = Workplane("YZ").polyline(pts).close().extrude(10.0)
|
||||
|
||||
origin = r.faces(">X").workplane(centerOption='ProjectedOrigin') \
|
||||
.plane.origin.toTuple()
|
||||
self.assertTupleAlmostEquals(origin, (10.0, 0.0, 0.0), decimal_places)
|
||||
|
||||
origin = r.faces(">X").workplane(centerOption='CenterOfMass') \
|
||||
.plane.origin.toTuple()
|
||||
self.assertTupleAlmostEquals(origin, (10.0, 37.5, 22.5), decimal_places)
|
||||
|
||||
origin = r.faces(">X").workplane(centerOption='CenterOfBoundBox') \
|
||||
.plane.origin.toTuple()
|
||||
self.assertTupleAlmostEquals(origin, (10.0, 45.0, 30.0), decimal_places)
|
||||
|
||||
r = Workplane("XZ").polyline(pts).close().extrude(10.0)
|
||||
|
||||
origin = r.faces("<Y").workplane(centerOption='ProjectedOrigin') \
|
||||
.plane.origin.toTuple()
|
||||
self.assertTupleAlmostEquals(origin, (0.0, -10.0, 0.0), decimal_places)
|
||||
|
||||
origin = r.faces("<Y").workplane(centerOption='CenterOfMass') \
|
||||
.plane.origin.toTuple()
|
||||
self.assertTupleAlmostEquals(origin, (37.5, -10.0, 22.5), decimal_places)
|
||||
|
||||
origin = r.faces("<Y").workplane(centerOption='CenterOfBoundBox') \
|
||||
.plane.origin.toTuple()
|
||||
self.assertTupleAlmostEquals(origin, (45.0, -10.0, 30.0), decimal_places)
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user