MCPcopy
hub / github.com/CadQuery/cadquery / testDXF

Method testDXF

tests/test_exporters.py:651–744  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

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

Callers

nothing calls this directly

Calls 15

_boxMethod · 0.95
WorkplaneClass · 0.90
EdgeClass · 0.90
PlaneClass · 0.90
sectionMethod · 0.80
extrudeMethod · 0.80
importDXFMethod · 0.80
ellipseArcMethod · 0.80
boxMethod · 0.80
exportMethod · 0.45
filletMethod · 0.45
edgesMethod · 0.45

Tested by

no test coverage detected