| | |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | """Unit tests for the Draft Workbench, DraftGeomUtils module tests.""" |
| |
|
| | import Part |
| | import DraftGeomUtils |
| | from FreeCAD import Vector |
| | from drafttests import test_base |
| | from draftutils.messages import _msg |
| |
|
| |
|
| | class TestDraftGeomUtils(test_base.DraftTestCaseNoDoc): |
| | """Testing the functions in the file DraftGeomUtils.py""" |
| |
|
| | def check_wire(self, wire): |
| | offset_values = (2000.0, 0.0, -1000, -2000, -3000, -5500) |
| | for offset_start in offset_values: |
| | for offset_end in offset_values: |
| | if offset_start + offset_end > -wire.Length: |
| | |
| | try: |
| | extended = DraftGeomUtils.get_extended_wire(wire, offset_start, offset_end) |
| | |
| | self.assertAlmostEqual( |
| | extended.Length, |
| | wire.Length + offset_start + offset_end, |
| | DraftGeomUtils.precision(), |
| | "'start={0}, end={1}' failed".format(offset_start, offset_end), |
| | ) |
| | if offset_start == 0.0: |
| | |
| | self.assertAlmostEqual( |
| | extended.OrderedVertexes[0].Point.distanceToPoint( |
| | wire.OrderedVertexes[0].Point |
| | ), |
| | 0.0, |
| | DraftGeomUtils.precision(), |
| | "'start={0}, end={1}' failed".format(offset_start, offset_end), |
| | ) |
| | if offset_end == 0.0: |
| | |
| | self.assertAlmostEqual( |
| | extended.OrderedVertexes[-1].Point.distanceToPoint( |
| | wire.OrderedVertexes[-1].Point |
| | ), |
| | 0.0, |
| | DraftGeomUtils.precision(), |
| | "'start={0}, end={1}' failed".format(offset_start, offset_end), |
| | ) |
| | except Exception as exc: |
| | print( |
| | "get_extended_wire failed for 'start={0}, end={1}'".format( |
| | offset_start, offset_end |
| | ) |
| | ) |
| | raise exc |
| |
|
| | def test_get_extended_wire1(self): |
| | """Test the DraftGeomUtils.get_extended_wire function.""" |
| | operation = "DraftGeomUtils.get_extended_wire1" |
| | _msg(" Test '{}'".format(operation)) |
| |
|
| | |
| | points = [ |
| | Vector(0.0, 0.0, 0.0), |
| | Vector(1500.0, 2000.0, 0.0), |
| | Vector(4500.0, 2000.0, 0.0), |
| | Vector(4500.0, 2000.0, 2500.0), |
| | ] |
| |
|
| | edges = [] |
| | for start, end in zip(points[:-1], points[1:]): |
| | edge = Part.makeLine(start, end) |
| | edges.append(edge) |
| | wire = Part.Wire(edges) |
| | self.check_wire(wire) |
| |
|
| | def test_get_extended_wire2(self): |
| | """Test the DraftGeomUtils.get_extended_wire function.""" |
| | operation = "DraftGeomUtils.get_extended_wire2" |
| | _msg(" Test '{}'".format(operation)) |
| |
|
| | |
| | points = [ |
| | Vector(0.0, 0.0, 0.0), |
| | Vector(1500.0, 2000.0, 0.0), |
| | Vector(4500.0, 2000.0, 0.0), |
| | Vector(4500.0, 2000.0, 2500.0), |
| | ] |
| |
|
| | edges = [] |
| | for start, end in zip(points[:-1], points[1:]): |
| | edge = Part.makeLine(end, start) |
| | edge.Orientation = "Reversed" |
| | edges.append(edge) |
| | wire = Part.Wire(edges) |
| | self.check_wire(wire) |
| |
|
| | def test_get_extended_wire3(self): |
| | """Test the DraftGeomUtils.get_extended_wire function.""" |
| | operation = "DraftGeomUtils.get_extended_wire3" |
| | _msg(" Test '{}'".format(operation)) |
| |
|
| | |
| | points = [ |
| | Vector(0.0, 0.0, 0.0), |
| | Vector(1500.0, 2000.0, 0.0), |
| | Vector(4500.0, 2000.0, 0.0), |
| | Vector(4500.0, 2000.0, 2500.0), |
| | ] |
| |
|
| | edges = [] |
| | for start, end in zip(points[:-1], points[1:]): |
| | edge = Part.makeLine(start, end) |
| | edge.Orientation = "Reversed" |
| | edges.insert(0, edge) |
| | wire = Part.Wire(edges) |
| | wire.Orientation = "Reversed" |
| | self.check_wire(wire) |
| |
|
| | def test_get_extended_wire4(self): |
| | """Test the DraftGeomUtils.get_extended_wire function.""" |
| | operation = "DraftGeomUtils.get_extended_wire4" |
| | _msg(" Test '{}'".format(operation)) |
| |
|
| | |
| | points = [ |
| | Vector(0.0, 0.0, 0.0), |
| | Vector(1500.0, 2000.0, 0.0), |
| | Vector(4500.0, 2000.0, 0.0), |
| | Vector(4500.0, 2000.0, 2500.0), |
| | ] |
| |
|
| | edges = [] |
| | for start, end in zip(points[:-1], points[1:]): |
| | edge = Part.makeLine(end, start) |
| | edges.insert(0, edge) |
| | wire = Part.Wire(edges) |
| | wire.Orientation = "Reversed" |
| | self.check_wire(wire) |
| |
|
| | def test_get_extended_wire5(self): |
| | """Test the DraftGeomUtils.get_extended_wire function.""" |
| | operation = "DraftGeomUtils.get_extended_wire5" |
| | _msg(" Test '{}'".format(operation)) |
| |
|
| | |
| | points = [ |
| | Vector(0.0, 0.0, 0.0), |
| | Vector(1000.0, 1000.0, 0.0), |
| | Vector(2000.0, 0.0, 0.0), |
| | Vector(3000.0, 0.0, 1000.0), |
| | Vector(4000.0, 0.0, 0.0), |
| | ] |
| |
|
| | edges = [] |
| | for start, mid, end in zip(points[:-2], points[1:-1], points[2:]): |
| | edge = Part.Arc(start, mid, end).toShape() |
| | edges.append(edge) |
| | wire = Part.Wire(edges) |
| | self.check_wire(wire) |
| |
|
| | def test_get_extended_wire6(self): |
| | """Test the DraftGeomUtils.get_extended_wire function.""" |
| | operation = "DraftGeomUtils.get_extended_wire6" |
| | _msg(" Test '{}'".format(operation)) |
| |
|
| | |
| | points = [ |
| | Vector(0.0, 0.0, 0.0), |
| | Vector(1000.0, 1000.0, 0.0), |
| | Vector(2000.0, 0.0, 0.0), |
| | Vector(3000.0, 0.0, 1000.0), |
| | Vector(4000.0, 0.0, 0.0), |
| | ] |
| |
|
| | edges = [] |
| | for start, mid, end in zip(points[:-2], points[1:-1], points[2:]): |
| | edge = Part.Arc(end, mid, start).toShape() |
| | edge.Orientation = "Reversed" |
| | edges.append(edge) |
| | wire = Part.Wire(edges) |
| | self.check_wire(wire) |
| |
|
| | def test_get_extended_wire7(self): |
| | """Test the DraftGeomUtils.get_extended_wire function.""" |
| | operation = "DraftGeomUtils.get_extended_wire7" |
| | _msg(" Test '{}'".format(operation)) |
| |
|
| | |
| | points = [ |
| | Vector(0.0, 0.0, 0.0), |
| | Vector(1000.0, 1000.0, 0.0), |
| | Vector(2000.0, 0.0, 0.0), |
| | Vector(3000.0, 0.0, 1000.0), |
| | Vector(4000.0, 0.0, 0.0), |
| | ] |
| |
|
| | edges = [] |
| | for start, mid, end in zip(points[:-2], points[1:-1], points[2:]): |
| | edge = Part.Arc(start, mid, end).toShape() |
| | edge.Orientation = "Reversed" |
| | edges.insert(0, edge) |
| | wire = Part.Wire(edges) |
| | wire.Orientation = "Reversed" |
| | self.check_wire(wire) |
| |
|
| | def test_get_extended_wire8(self): |
| | """Test the DraftGeomUtils.get_extended_wire function.""" |
| | operation = "DraftGeomUtils.get_extended_wire8" |
| | _msg(" Test '{}'".format(operation)) |
| |
|
| | |
| | points = [ |
| | Vector(0.0, 0.0, 0.0), |
| | Vector(1000.0, 1000.0, 0.0), |
| | Vector(2000.0, 0.0, 0.0), |
| | Vector(3000.0, 0.0, 1000.0), |
| | Vector(4000.0, 0.0, 0.0), |
| | ] |
| |
|
| | edges = [] |
| | for start, mid, end in zip(points[:-2], points[1:-1], points[2:]): |
| | edge = Part.Arc(end, mid, start).toShape() |
| | edges.insert(0, edge) |
| | wire = Part.Wire(edges) |
| | wire.Orientation = "Reversed" |
| | self.check_wire(wire) |
| |
|
| |
|
| | |
| | |
| |
|