(self)
| 649 | assert res.startswith('<?xml version="1.0"?>\n<VTKFile') |
| 650 | |
| 651 | def testDXF(self): |
| 652 | |
| 653 | exporters.export(self._box().section(), str(self.tmpdir / "out.dxf")) |
| 654 | |
| 655 | s1 = ( |
| 656 | Workplane("XZ") |
| 657 | .polygon(10, 10) |
| 658 | .ellipse(1, 2) |
| 659 | .extrude(1) |
| 660 | .edges("|Y") |
| 661 | .fillet(1) |
| 662 | .section() |
| 663 | ) |
| 664 | exporters.dxf.exportDXF(s1, str(self.tmpdir / "res1.dxf")) |
| 665 | |
| 666 | s1_i = importers.importDXF(str(self.tmpdir / "res1.dxf")) |
| 667 | |
| 668 | self.assertAlmostEqual(s1.val().Area(), s1_i.val().Area(), 6) |
| 669 | self.assertAlmostEqual(s1.edges().size(), s1_i.edges().size()) |
| 670 | |
| 671 | pts = [(0, 0), (0, 0.5), (1, 1)] |
| 672 | s2 = ( |
| 673 | Workplane().spline(pts).close().extrude(1).edges("|Z").fillet(0.1).section() |
| 674 | ) |
| 675 | exporters.dxf.exportDXF(s2, str(self.tmpdir / "res2.dxf")) |
| 676 | |
| 677 | s2_i = importers.importDXF(str(self.tmpdir / "res2.dxf")) |
| 678 | |
| 679 | self.assertAlmostEqual(s2.val().Area(), s2_i.val().Area(), 6) |
| 680 | self.assertAlmostEqual(s2.edges().size(), s2_i.edges().size()) |
| 681 | |
| 682 | s3 = ( |
| 683 | Workplane("XY") |
| 684 | .ellipseArc(1, 2, 0, 180) |
| 685 | .close() |
| 686 | .extrude(1) |
| 687 | .edges("|Z") |
| 688 | .fillet(0.1) |
| 689 | .section() |
| 690 | ) |
| 691 | exporters.dxf.exportDXF(s3, str(self.tmpdir / "res3.dxf")) |
| 692 | |
| 693 | s3_i = importers.importDXF(str(self.tmpdir / "res3.dxf")) |
| 694 | |
| 695 | self.assertAlmostEqual(s3.val().Area(), s3_i.val().Area(), 6) |
| 696 | self.assertAlmostEqual(s3.edges().size(), s3_i.edges().size()) |
| 697 | |
| 698 | cyl = Workplane("XY").circle(22).extrude(10, both=True).translate((-50, 0, 0)) |
| 699 | |
| 700 | s4 = Workplane("XY").box(80, 60, 5).cut(cyl).section() |
| 701 | |
| 702 | exporters.dxf.exportDXF(s4, str(self.tmpdir / "res4.dxf")) |
| 703 | |
| 704 | s4_i = importers.importDXF(str(self.tmpdir / "res4.dxf")) |
| 705 | |
| 706 | self.assertAlmostEqual(s4.val().Area(), s4_i.val().Area(), 6) |
| 707 | self.assertAlmostEqual(s4.edges().size(), s4_i.edges().size()) |
| 708 |
nothing calls this directly
no test coverage detected