def test_45deg(self):
        expected_ = "  0\nARC\n 62\n7\n  8\nDIMENSIONS\n 10\n0.0\n 20\n0.0\n"\
        " 30\n0.0\n 40\n7.07106781187\n 50\n0.0\n 51\n45.0\n  0\nTEXT\n 62\n7\n"\
        "  8\nDIMENSIONS\n 10\n6.94856061401\n 20\n2.8781880453\n 30\n0.0\n"\
        " 40\n0.5\n  1\n%s 50\n-67.5\n  7\nISOCPEUR\n 72\n1\n 73\n2\n"\
        " 11\n6.94856061401\n 21\n2.8781880453\n 31\n0.0\n  0\nINSERT\n  8\n"\
        "DIMENSIONS\n  2\nDIMTICK_RADIUS\n 10\n7.07106781187\n 20\n0.0\n 30\n"\
        "0.0\n 41\n1.0\n 42\n1.0\n 50\n90.0\n  0\nINSERT\n  8\nDIMENSIONS\n"\
        "  2\nDIMTICK_RADIUS\n 10\n5.0\n 20\n5.0\n 30\n0.0\n 41\n1.0\n 42\n"\
        "1.0\n 50\n315.0\n"

        dimline = AngularDimension(
            pos=(5, 5),
            center=(0, 0),
            start=(1, 0),
            end=(1, 1),
        )
        if PYTHON3:
            result = dxfstr(dimline)
            expected = expected_ % "45°\n"
        else:
            result = dxfstr(dimline).encode('utf8')
            expected = expected_ % "45\xc2\xb0\n"
        self.assertSequenceEqual(normalize_dxf_chunk(result),
                                 normalize_dxf_chunk(expected))
Esempio n. 2
0
 def test_flat_DXFList(self):
     atoms = DXFList()
     atoms.append(DXFAtom('HEADER'))
     atoms.append(DXFAtom('SECTION', 1))
     self.assertEqual(dxfstr(atoms), '  0\nHEADER\n  1\nSECTION\n')
     result = tags2str(atoms)
     self.assertEqual(dxfstr(atoms), result)
Esempio n. 3
0
 def test_flat_DXFList(self):
     atoms = DXFList()
     atoms.append(DXFAtom('HEADER'))
     atoms.append(DXFAtom('SECTION', 1))
     self.assertEqual(dxfstr(atoms), '  0\nHEADER\n  1\nSECTION\n')
     result = tags2str(atoms)
     self.assertEqual(dxfstr(atoms), result)
Esempio n. 4
0
 def test_dxf_creation(self):
     self.reset_counter()
     table = Table((0, 0), 3, 3)
     indices = [(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0),
                (2, 1), (2, 2)]
     cell = UserCell(table, 'default', (1, 1))
     for row, col in indices:
         table.set_cell(row, col, cell)
     dxfstr(table)
     dxfmock = DXFMock()
     self.assertEqual(cell.counter, 9)  # count get_dxf_entity calls
     self.assertEqual(cell.counter, dxfmock.counter)
Esempio n. 5
0
 def test_dxf_creation(self):
     self.reset_counter()
     table = Table((0, 0), 3, 3)
     indices = [(0, 0), (0, 1), (0, 2),
                (1, 0), (1, 1), (1, 2),
                (2, 0), (2, 1), (2, 2)]
     cell = TestCell(table, 'default', (1, 1))
     for row, col in indices:
         table.set_cell(row, col, cell)
     dxfstr(table)
     dxfmock = DXFMock()
     self.assertEqual(cell.counter, 9) # count get_dxf_entity calls
     self.assertEqual(cell.counter, dxfmock.counter)
Esempio n. 6
0
    def test_45deg_top(self):
        text = "lineA\nlineB\nlineC"
        valign = dxfwrite.TOP
        rotation = 45.
        mtext = MText(text, (0., 0., 0.), 1.0, rotation=rotation)
        line1 = self.expected_line_rot.substitute(text='lineA',
                                                  px='0.0',
                                                  py='0.0',
                                                  pz='0.0',
                                                  valign=str(valign),
                                                  rot=str(rotation))
        line2 = self.expected_line_rot.substitute(text='lineB',
                                                  px='0.707107',
                                                  py='-0.707107',
                                                  pz='0.0',
                                                  valign=str(valign),
                                                  rot=str(rotation))
        line3 = self.expected_line_rot.substitute(text='lineC',
                                                  px='1.414214',
                                                  py='-1.414214',
                                                  pz='0.0',
                                                  valign=str(valign),
                                                  rot=str(rotation))

        self.assertEqual(dxfstr(mtext), line1 + line2 + line3)
 def test_simple_block(self):
     block = Block(name='empty')
     block.add(Line())
     expected = "  0\nBLOCK\n  8\n0\n  2\nempty\n  3\nempty\n 70\n0\n 10\n0.0\n 20\n0.0\n 30\n0.0\n" \
              "  0\nLINE\n  8\n0\n 10\n0.0\n 20\n0.0\n 30\n0.0\n 11\n0.0\n 21\n0.0\n 31\n0.0\n" \
              "  0\nENDBLK\n"
     self.assertEqual(dxfstr(block), expected)
Esempio n. 8
0
 def test_simple_block(self):
     block = Block(name='empty')
     block.add(Line())
     expected = "  0\nBLOCK\n  8\n0\n  2\nempty\n  3\nempty\n 70\n0\n 10\n0.0\n 20\n0.0\n 30\n0.0\n" \
              "  0\nLINE\n  8\n0\n 10\n0.0\n 20\n0.0\n 30\n0.0\n 11\n0.0\n 21\n0.0\n 31\n0.0\n" \
              "  0\nENDBLK\n"
     self.assertEqual(dxfstr(block), expected)
Esempio n. 9
0
 def test_Sublists(self):
     atoms = DXFList([
         DXFList([ 
             DXFAtom('TAG1'),
             DXFAtom('TAG2'),
             DXFList([ 
                 DXFAtom('TAG14'),
                 DXFAtom('TAG15'),
                 DXFAtom('TAG16'),
             ]),                
             DXFAtom('TAG3'),
         ]),
         DXFList([ 
             DXFAtom('TAG4'),
             DXFAtom('TAG5'),
             DXFAtom('TAG6'),
             DXFList([ 
                 DXFAtom('TAG11'),
                 DXFAtom('TAG12'),
                 DXFAtom('TAG13'),
             ]),                
         ]),
         DXFAtom('TAG7'),
     ])
     self.assertEqual(dxfstr(atoms), tags2str(atoms))
Esempio n. 10
0
 def test_Sublists(self):
     atoms = DXFList([
         DXFList([
             DXFAtom('TAG1'),
             DXFAtom('TAG2'),
             DXFList([
                 DXFAtom('TAG14'),
                 DXFAtom('TAG15'),
                 DXFAtom('TAG16'),
             ]),
             DXFAtom('TAG3'),
         ]),
         DXFList([
             DXFAtom('TAG4'),
             DXFAtom('TAG5'),
             DXFAtom('TAG6'),
             DXFList([
                 DXFAtom('TAG11'),
                 DXFAtom('TAG12'),
                 DXFAtom('TAG13'),
             ]),
         ]),
         DXFAtom('TAG7'),
     ])
     self.assertEqual(dxfstr(atoms), tags2str(atoms))
Esempio n. 11
0
 def test_init(self):
     dimline = RadialDimension(center=(0, 0),
                               target=(3, 3),
                               length=1.,
                               dimstyle='default',
                               layer="RADIALDIMENSION",
                               roundval=1)
     self.assertTrue("RADIALDIMENSION" in dxfstr(dimline))
Esempio n. 12
0
 def test_set_text(self):
     dimline = LinearDimension((5, 5), [(0, 0), (5, 0), (10, 0), (15, 0),
                                        (20, 0)])
     dimline.set_text(1, 'override')
     self.assertEqual(dimline.text_override[1], 'override')
     dxf = dxfstr(dimline)
     self.assertTrue('override' in dxf)
     self.assertRaises(IndexError, dimline.set_text, 5, 'out of range')
Esempio n. 13
0
 def test_set_text(self):
     dimline = LinearDimension(
         (5, 5), [(0, 0), (5, 0), (10, 0), (15, 0), (20, 0)])
     dimline.set_text(1, 'override')
     self.assertEqual(dimline.text_override[1], 'override')
     dxf = dxfstr(dimline)
     self.assertTrue('override' in dxf)
     self.assertRaises(IndexError, dimline.set_text, 5, 'out of range')
Esempio n. 14
0
 def test_init(self):
     dimline = LinearDimension(pos=(5, 5),
                               measure_points=[(0, 0),(10, 0)],
                               angle = 0.,
                               dimstyle='default',
                               layer="LINEARDIMENSION",
                               roundval=1)
     dxf = dxfstr(dimline)
     self.assertTrue('LINEARDIMENSION' in dxf)
Esempio n. 15
0
 def test_init(self):
     dimline = RadialDimension(
         center=(0, 0),
         target=(3, 3),
         length=1.,
         dimstyle='default',
         layer="RADIALDIMENSION",
         roundval=1)
     self.assertTrue("RADIALDIMENSION" in dxfstr(dimline))
Esempio n. 16
0
 def test_init(self):
     dimline = LinearDimension(pos=(5, 5),
                               measure_points=[(0, 0), (10, 0)],
                               angle=0.,
                               dimstyle='default',
                               layer="LINEARDIMENSION",
                               roundval=1)
     dxf = dxfstr(dimline)
     self.assertTrue('LINEARDIMENSION' in dxf)
Esempio n. 17
0
 def test_block_attribs(self):
     block = Block(name='empty')
     block.add(Line())
     block['xref'] = 'test\\test.dxf'
     expected = "  0\nBLOCK\n  8\n0\n  2\nempty\n  3\nempty\n 70\n0\n" \
              " 10\n0.0\n 20\n0.0\n 30\n0.0\n  1\ntest\\test.dxf\n" \
              "  0\nLINE\n  8\n0\n 10\n0.0\n 20\n0.0\n 30\n0.0\n 11\n0.0\n 21\n0.0\n 31\n0.0\n" \
              "  0\nENDBLK\n"
     self.assertEqual(dxfstr(block), expected)
 def test_block_attribs(self):
     block = Block(name='empty')
     block.add(Line())
     block['xref'] = 'test\\test.dxf'
     expected = "  0\nBLOCK\n  8\n0\n  2\nempty\n  3\nempty\n 70\n0\n" \
              " 10\n0.0\n 20\n0.0\n 30\n0.0\n  1\ntest\\test.dxf\n" \
              "  0\nLINE\n  8\n0\n 10\n0.0\n 20\n0.0\n 30\n0.0\n 11\n0.0\n 21\n0.0\n 31\n0.0\n" \
              "  0\nENDBLK\n"
     self.assertEqual(dxfstr(block), expected)
Esempio n. 19
0
 def test_init(self):
     dimline = ArcDimension(pos=(5, 5),
                            center=(0, 0),
                            start=(1, 0),
                            end=(1, 1),
                            arc3points=False,
                            dimstyle='default',
                            layer="ARCDIMENSION",
                            roundval=1)
     self.assertTrue("ARCDIMENSION" in dxfstr(dimline))
 def test_init(self):
     dimline = AngularDimension(pos=(5, 5),
                                center=(0, 0),
                                start=(1, 0),
                                end=(1, 1),
                                dimstyle='default',
                                layer="ANGULARDIMENSION",
                                roundval=1)
     dxf = dxfstr(dimline)
     self.assertTrue("ANGULARDIMENSION" in dxf)
Esempio n. 21
0
    def test_one_liner(self):
        text = "OneLine"
        valign = dxfwrite.TOP

        mtext = MText(text, (0., 0., 0.))
        expected = self.expected_line.substitute(text=text,
                                                 px='0.0',
                                                 py='0.0',
                                                 pz='0.0',
                                                 valign=str(valign))
        self.assertEqual(dxfstr(mtext), expected)
Esempio n. 22
0
    def test_45deg(self):
        expected_ = "  0\nARC\n 62\n7\n  8\nDIMENSIONS\n 10\n0.0\n 20\n0.0\n"\
        " 30\n0.0\n 40\n7.07106781187\n 50\n0.0\n 51\n45.0\n  0\nTEXT\n 62\n7\n"\
        "  8\nDIMENSIONS\n 10\n6.94856061401\n 20\n2.8781880453\n 30\n0.0\n"\
        " 40\n0.5\n  1\n%s 50\n-67.5\n  7\nISOCPEUR\n 72\n1\n 73\n2\n"\
        " 11\n6.94856061401\n 21\n2.8781880453\n 31\n0.0\n  0\nINSERT\n  8\n"\
        "DIMENSIONS\n  2\nDIMTICK_RADIUS\n 10\n7.07106781187\n 20\n0.0\n 30\n"\
        "0.0\n 41\n1.0\n 42\n1.0\n 50\n90.0\n  0\nINSERT\n  8\nDIMENSIONS\n"\
        "  2\nDIMTICK_RADIUS\n 10\n5.0\n 20\n5.0\n 30\n0.0\n 41\n1.0\n 42\n"\
        "1.0\n 50\n315.0\n"

        dimline = AngularDimension(pos=(5,5), center=(0, 0), start=(1, 0),
                                   end=(1, 1), )
        if PYTHON3:
            result = dxfstr(dimline)
            expected = expected_ % "45°\n"
        else:
            result = dxfstr(dimline).encode('utf8')
            expected = expected_ % "45\xc2\xb0\n"
        self.assertSequenceEqual(normalize_dxf_chunk(result), normalize_dxf_chunk(expected))
Esempio n. 23
0
 def test_init(self):
     dimline = AngularDimension(
         pos=(5, 5),
         center=(0, 0),
         start=(1, 0),
         end=(1, 1),
         dimstyle='default',
         layer="ANGULARDIMENSION",
         roundval=1)
     dxf = dxfstr(dimline)
     self.assertTrue("ANGULARDIMENSION" in dxf)
Esempio n. 24
0
 def test_init(self):
     dimline = ArcDimension(
         pos=(5, 5),
         center=(0, 0),
         start=(1, 0),
         end=(1, 1),
         arc3points=False,
         dimstyle='default',
         layer="ARCDIMENSION",
         roundval=1)
     self.assertTrue("ARCDIMENSION" in dxfstr(dimline))
Esempio n. 25
0
 def test_common_attribs(self):
     line = Line(start=(0,0,0), end=(1,1,1))
     line['linetype'] = 'DASHED'
     line['elevation'] = 1.0
     line['thickness'] = 0.70
     line['color'] = 7
     line['layer'] = 'dxfwrite'
     line['paper_space'] = 1
     line['extrusion_direction'] = (0,0,1)
     expected = "  0\nLINE\n  6\nDASHED\n 38\n1.0\n 39\n0.7\n 62\n7\n  8\n" \
              "dxfwrite\n 67\n1\n210\n0.0\n220\n0.0\n230\n1.0\n" \
              " 10\n0.0\n 20\n0.0\n 30\n0.0\n 11\n1.0\n 21\n1.0\n 31\n1.0\n"
     self.assertEqual(dxfstr(line), expected)
Esempio n. 26
0
 def test_common_attribs(self):
     line = Line(start=(0, 0, 0), end=(1, 1, 1))
     line['linetype'] = 'DASHED'
     line['elevation'] = 1.0
     line['thickness'] = 0.70
     line['color'] = 7
     line['layer'] = 'dxfwrite'
     line['paper_space'] = 1
     line['extrusion_direction'] = (0, 0, 1)
     expected = "  0\nLINE\n  6\nDASHED\n 38\n1.0\n 39\n0.7\n 62\n7\n  8\n" \
              "dxfwrite\n 67\n1\n210\n0.0\n220\n0.0\n230\n1.0\n" \
              " 10\n0.0\n 20\n0.0\n 30\n0.0\n 11\n1.0\n 21\n1.0\n 31\n1.0\n"
     self.assertEqual(dxfstr(line), expected)
Esempio n. 27
0
    def test_insert2(self):
        block = dxf.block('B1')
        att1 = dxf.attdef('TAG1', (1.0, 0.0), height=0.35)
        att2 = dxf.attdef('TAG2', (1.0, 0.5), height=0.35)
        block.add(att1)
        block.add(att2)
        attribs = {'TAG1': 'TextForTAG1', 'TAG2': 'TextForTAG2'}
        blockref = dxf.insert2(block, insert=(0, 0), attribs=attribs)

        result = dxfstr(blockref)
        self.assertTrue('TAG1' in result)
        self.assertTrue('TAG2' in result)
        self.assertTrue('TextForTAG1' in result)
        self.assertTrue('TextForTAG2' in result)
Esempio n. 28
0
 def test_init(self):
     rect = Rectangle(insert=(0, 0),
                      width=5,
                      height=3,
                      rotation=45,
                      halign=dxfwrite.CENTER,
                      valign=dxfwrite.MIDDLE,
                      color=2,
                      bgcolor=3,
                      layer='RECTANGLE',
                      linetype="DASHED")
     dxf = dxfstr(rect)
     self.assertTrue("DASHED" in dxf)
     self.assertTrue("RECTANGLE" in dxf)
Esempio n. 29
0
 def test_implementation(self):
     ellipse = Ellipse(center=(0., 0.),
                       rx=5.0,
                       ry=3.0,
                       startangle=0.,
                       endangle=90.,
                       rotation=30.,
                       segments=16,
                       color=3,
                       layer='0',
                       linetype='SOLID')
     result = dxfstr(ellipse)
     self.assertSequenceEqual(normalize_dxf_chunk(result),
                              normalize_dxf_chunk(expected))
    def test_insert2(self):
        block = dxf.block('B1')
        att1 = dxf.attdef('TAG1', (1.0, 0.0), height=0.35)
        att2 = dxf.attdef('TAG2', (1.0, 0.5), height=0.35)
        block.add(att1)
        block.add(att2)
        attribs = {'TAG1': 'TextForTAG1', 'TAG2': 'TextForTAG2'}
        blockref = dxf.insert2(block, insert=(0, 0), attribs=attribs)

        result = dxfstr(blockref)
        self.assertTrue('TAG1' in result)
        self.assertTrue('TAG2' in result)
        self.assertTrue('TextForTAG1' in result)
        self.assertTrue('TextForTAG2' in result)
Esempio n. 31
0
 def test_init(self):
     rect = Rectangle(
         insert=(0, 0),
         width=5,
         height=3,
         rotation=45,
         halign=dxfwrite.CENTER,
         valign=dxfwrite.MIDDLE,
         color=2,
         bgcolor=3,
         layer='RECTANGLE',
         linetype="DASHED")
     dxf = dxfstr(rect)
     self.assertTrue("DASHED" in dxf)
     self.assertTrue("RECTANGLE" in dxf)
Esempio n. 32
0
 def test_horiz_middle(self):
     text = "lineA\nlineB"
     valign = dxfwrite.MIDDLE
     mtext = MText(text, (0., 0., 0.), 1.0, valign=valign)
     line1 = self.expected_line.substitute(text='lineA',
                                           px='0.0',
                                           py='0.5',
                                           pz='0.0',
                                           valign=str(valign))
     line2 = self.expected_line.substitute(text='lineB',
                                           px='0.0',
                                           py='-0.5',
                                           pz='0.0',
                                           valign=str(valign))
     self.assertEqual(dxfstr(mtext), line1 + line2)
Esempio n. 33
0
 def test_text_with_attribs(self):
     text = Text(text='Manfred',
                 height=0.7,
                 rotation=30,
                 xscale=2,
                 oblique=75,
                 style='ARIAL',
                 mirror=0,
                 halign=0,
                 valign=0,
                 alignpoint=(0, 0))
     expected = "  0\nTEXT\n  8\n0\n 10\n0.0\n 20\n0.0\n 30\n0.0\n 40\n0.7\n  1\nManfred\n" \
              " 50\n30.0\n 41\n2.0\n 51\n75.0\n  7\nARIAL\n 71\n0\n 72\n0\n 73\n0\n" \
              " 11\n0.0\n 21\n0.0\n 31\n0.0\n"
     self.assertEqual(dxfstr(text), expected)
 def test_attdef_all_attribs(self):
     attdef = Attdef(length=99,
                     rotation=30,
                     xscale=1.5,
                     oblique=75,
                     style='ARIAL',
                     mirror=1,
                     halign=1,
                     valign=2,
                     alignpoint=(5, 5))
     expected = "  0\nATTDEF\n  8\n0\n 10\n0.0\n 20\n0.0\n 30\n0.0\n" \
              " 40\n1.0\n  1\nAttrib\n  3\nInput:\n  2\nATTRIB\n 70\n0\n" \
              " 73\n99\n 50\n30.0\n 41\n1.5\n 51\n75.0\n  7\nARIAL\n" \
              " 71\n1\n 72\n1\n 74\n2\n 11\n5.0\n 21\n5.0\n 31\n0.0\n"
     self.assertEqual(dxfstr(attdef), expected)
 def test_insert_all_attribs(self):
     insert = Insert(attribs_follow=1,
                     blockname='empty',
                     xscale=1.0,
                     yscale=2.0,
                     zscale=3.0,
                     rotation=30.0,
                     columns=2,
                     rows=7,
                     colspacing=1.7,
                     rowspacing=2.9)
     expected = "  0\nINSERT\n  8\n0\n 66\n1\n  2\nempty\n" \
              " 10\n0.0\n 20\n0.0\n 30\n0.0\n" \
              " 41\n1.0\n 42\n2.0\n 43\n3.0\n 50\n30.0\n" \
              " 70\n2\n 71\n7\n 44\n1.7\n 45\n2.9\n"
     self.assertEqual(dxfstr(insert), expected)
Esempio n. 36
0
 def test_attrib_all_attribs(self):
     attrib = Attrib(
     length=99,
     rotation=30,
     xscale=1.5,
     oblique=75,
     style='ARIAL',
     mirror=1,
     halign=1,
     valign=2,
     alignpoint=(5,5)
     )
     expected = "  0\nATTRIB\n  8\n0\n 10\n0.0\n 20\n0.0\n 30\n0.0\n" \
              " 40\n1.0\n  1\nAttrib\n  2\nATTRIB\n 70\n0\n" \
              " 73\n99\n 50\n30.0\n 41\n1.5\n 51\n75.0\n  7\nARIAL\n" \
              " 71\n1\n 72\n1\n 74\n2\n 11\n5.0\n 21\n5.0\n 31\n0.0\n"
     self.assertEqual(dxfstr(attrib), expected)
Esempio n. 37
0
 def test_text_with_attribs(self):
     text = Text(
         text='Manfred',
         height=0.7,
         rotation=30,
         xscale=2,
         oblique=75,
         style='ARIAL',
         mirror=0,
         halign=0,
         valign=0,
         alignpoint = (0,0)
     )
     expected = "  0\nTEXT\n  8\n0\n 10\n0.0\n 20\n0.0\n 30\n0.0\n 40\n0.7\n  1\nManfred\n" \
              " 50\n30.0\n 41\n2.0\n 51\n75.0\n  7\nARIAL\n 71\n0\n 72\n0\n 73\n0\n" \
              " 11\n0.0\n 21\n0.0\n 31\n0.0\n"
     self.assertEqual(dxfstr(text), expected)
Esempio n. 38
0
 def test_components(self):
     expected = "  0\nPOLYLINE\n 62\n256\n  8\nRECTANGLE\n 66\n1\n 10\n"\
              "0.0\n 20\n0.0\n 30\n0.0\n 70\n9\n  0\nVERTEX\n  8\n0\n 10\n"\
              "0.0\n 20\n0.0\n 30\n0.0\n  0\nVERTEX\n  8\n0\n 10\n"\
              "3.53553390593\n 20\n3.53553390593\n 30\n0.0\n  0\nVERTEX\n"\
              "  8\n0\n 10\n1.41421356237\n 20\n5.65685424949\n 30\n0.0\n"\
              "  0\nVERTEX\n  8\n0\n 10\n-2.12132034356\n 20\n2.12132034356\n"\
              " 30\n0.0\n  0\nSEQEND\n  0\nSOLID\n 62\n3\n  8\nRECTANGLE\n"\
              " 10\n0.0\n 20\n0.0\n 30\n0.0\n 11\n3.53553390593\n 21\n"\
              "3.53553390593\n 31\n0.0\n 13\n1.41421356237\n 23\n"\
              "5.65685424949\n 33\n0.0\n 12\n-2.12132034356\n 22\n"\
              "2.12132034356\n 32\n0.0\n"
     rectangle = Rectangle((0, 0), 5, 3,
                           rotation=45,
                           bgcolor=3,
                           layer='RECTANGLE')
     self.assertSequenceEqual(normalize_dxf_chunk(dxfstr(rectangle)), normalize_dxf_chunk(expected))
Esempio n. 39
0
 def test_components(self):
     expected = "  0\nPOLYLINE\n 62\n256\n  8\nRECTANGLE\n 66\n1\n 10\n"\
              "0.0\n 20\n0.0\n 30\n0.0\n 70\n9\n  0\nVERTEX\n  8\nRECTANGLE\n 10\n"\
              "0.0\n 20\n0.0\n 30\n0.0\n  0\nVERTEX\n  8\nRECTANGLE\n 10\n"\
              "3.53553390593\n 20\n3.53553390593\n 30\n0.0\n  0\nVERTEX\n"\
              "  8\nRECTANGLE\n 10\n1.41421356237\n 20\n5.65685424949\n 30\n0.0\n"\
              "  0\nVERTEX\n  8\nRECTANGLE\n 10\n-2.12132034356\n 20\n2.12132034356\n"\
              " 30\n0.0\n  0\nSEQEND\n  0\nSOLID\n 62\n3\n  8\nRECTANGLE\n"\
              " 10\n0.0\n 20\n0.0\n 30\n0.0\n 11\n3.53553390593\n 21\n"\
              "3.53553390593\n 31\n0.0\n 13\n1.41421356237\n 23\n"\
              "5.65685424949\n 33\n0.0\n 12\n-2.12132034356\n 22\n"\
              "2.12132034356\n 32\n0.0\n"
     rectangle = Rectangle((0, 0), 5, 3,
                           rotation=45,
                           bgcolor=3,
                           layer='RECTANGLE')
     self.assertSequenceEqual(normalize_dxf_chunk(dxfstr(rectangle)), normalize_dxf_chunk(expected))
Esempio n. 40
0
 def test_insert_all_attribs(self):
     insert = Insert(
         attribs_follow = 1,
         blockname='empty',
         xscale=1.0,
         yscale=2.0,
         zscale=3.0,
         rotation=30.0,
         columns=2,
         rows=7,
         colspacing=1.7,
         rowspacing=2.9
     )
     expected = "  0\nINSERT\n  8\n0\n 66\n1\n  2\nempty\n" \
              " 10\n0.0\n 20\n0.0\n 30\n0.0\n" \
              " 41\n1.0\n 42\n2.0\n 43\n3.0\n 50\n30.0\n" \
              " 70\n2\n 71\n7\n 44\n1.7\n 45\n2.9\n"
     self.assertEqual(dxfstr(insert), expected)
Esempio n. 41
0
    def test_horiz(self):
        expected = "  0\nLINE\n 62\n7\n  8\nDIMENSIONS\n 10\n-0.3\n" \
                 " 20\n5.0\n 30\n0.0\n 11\n10.3\n 21\n5.0\n 31\n" \
                 "0.0\n  0\nLINE\n 62\n5\n  8\nDIMENSIONS\n 10\n" \
                 "0.0\n 20\n5.0\n 30\n0.0\n 11\n0.0\n 21\n0.3\n" \
                 " 31\n0.0\n  0\nLINE\n 62\n5\n  8\nDIMENSIONS\n" \
                 " 10\n10.0\n 20\n5.0\n 30\n0.0\n 11\n10.0\n 21\n" \
                 "0.3\n 31\n0.0\n  0\nTEXT\n 62\n7\n  8\nDIMENSIONS\n 10\n" \
                 "5.0\n 20\n5.45\n 30\n0.0\n 40\n0.5\n  1\n1000\n" \
                 " 50\n0.0\n  7\nISOCPEUR\n 72\n1\n 73\n2\n" \
                 " 11\n5.0\n 21\n5.45\n 31\n0.0\n  0\nINSERT\n" \
                 "  8\nDIMENSIONS\n  2\nDIMTICK_ARCH\n 10\n0.0\n" \
                 " 20\n5.0\n 30\n0.0\n 41\n1.0\n 42\n1.0\n 50\n" \
                 "0.0\n  0\nINSERT\n  8\nDIMENSIONS\n  2\n" \
                 "DIMTICK_ARCH\n 10\n10.0\n 20\n5.0\n 30\n" \
                 "0.0\n 41\n1.0\n 42\n1.0\n 50\n0.0\n"

        dimline = LinearDimension(pos=(5,5),measure_points=[(0,0),(10,0)])
        self.assertSequenceEqual(normalize_dxf_chunk(dxfstr(dimline)), normalize_dxf_chunk(expected))
Esempio n. 42
0
    def test_horiz(self):
        expected = "  0\nLINE\n 62\n7\n  8\nDIMENSIONS\n 10\n-0.3\n" \
                 " 20\n5.0\n 30\n0.0\n 11\n10.3\n 21\n5.0\n 31\n" \
                 "0.0\n  0\nLINE\n 62\n5\n  8\nDIMENSIONS\n 10\n" \
                 "0.0\n 20\n5.0\n 30\n0.0\n 11\n0.0\n 21\n0.3\n" \
                 " 31\n0.0\n  0\nLINE\n 62\n5\n  8\nDIMENSIONS\n" \
                 " 10\n10.0\n 20\n5.0\n 30\n0.0\n 11\n10.0\n 21\n" \
                 "0.3\n 31\n0.0\n  0\nTEXT\n 62\n7\n  8\nDIMENSIONS\n 10\n" \
                 "5.0\n 20\n5.45\n 30\n0.0\n 40\n0.5\n  1\n1000\n" \
                 " 50\n0.0\n  7\nISOCPEUR\n 72\n1\n 73\n2\n" \
                 " 11\n5.0\n 21\n5.45\n 31\n0.0\n  0\nINSERT\n" \
                 "  8\nDIMENSIONS\n  2\nDIMTICK_ARCH\n 10\n0.0\n" \
                 " 20\n5.0\n 30\n0.0\n 41\n1.0\n 42\n1.0\n 50\n" \
                 "0.0\n  0\nINSERT\n  8\nDIMENSIONS\n  2\n" \
                 "DIMTICK_ARCH\n 10\n10.0\n 20\n5.0\n 30\n" \
                 "0.0\n 41\n1.0\n 42\n1.0\n 50\n0.0\n"

        dimline = LinearDimension(pos=(5, 5), measure_points=[(0, 0), (10, 0)])
        self.assertSequenceEqual(normalize_dxf_chunk(dxfstr(dimline)),
                                 normalize_dxf_chunk(expected))
Esempio n. 43
0
 def test_45deg(self):
     expected = "  0\nLINE\n 62\n7\n  8\nDIMENSIONS\n 10\n-0.212132034356\n" \
              " 20\n-0.212132034356\n 30\n0.0\n 11\n5.21213203436\n 21\n" \
              "5.21213203436\n 31\n0.0\n  0\nLINE\n 62\n5\n  8\n" \
              "DIMENSIONS\n 10\n5.0\n 20\n5.0\n 30\n0.0\n 11\n" \
              "9.78786796564\n 21\n0.212132034356\n 31\n0.0\n" \
              "  0\nTEXT\n 62\n7\n  8\nDIMENSIONS\n 10\n2.18180194847\n" \
              " 20\n2.81819805153\n 30\n0.0\n 40\n0.5\n  1\n" \
              "707\n 50\n45.0\n  7\nISOCPEUR\n 72\n1\n 73\n" \
              "2\n 11\n2.18180194847\n 21\n2.81819805153\n" \
              " 31\n0.0\n  0\nINSERT\n  8\nDIMENSIONS\n" \
              "  2\nDIMTICK_ARCH\n 10\n-4.4408920985%s\n" \
              " 20\n4.4408920985%s\n 30\n0.0\n 41\n" \
              "1.0\n 42\n1.0\n 50\n45.0\n  0\nINSERT\n" \
              "  8\nDIMENSIONS\n  2\nDIMTICK_ARCH\n" \
              " 10\n5.0\n 20\n5.0\n 30\n0.0\n 41\n1.0\n" \
              " 42\n1.0\n 50\n45.0\n" % (_float_exp, _float_exp)
     self.maxDiff = None
     dimline = LinearDimension(pos=(5,5),measure_points=[(0,0),(10,0)],
                               angle=45)
     self.assertSequenceEqual(normalize_dxf_chunk(dxfstr(dimline)), normalize_dxf_chunk(expected))
Esempio n. 44
0
 def test_45deg(self):
     expected = "  0\nLINE\n 62\n7\n  8\nDIMENSIONS\n 10\n-0.212132034356\n" \
              " 20\n-0.212132034356\n 30\n0.0\n 11\n5.21213203436\n 21\n" \
              "5.21213203436\n 31\n0.0\n  0\nLINE\n 62\n5\n  8\n" \
              "DIMENSIONS\n 10\n5.0\n 20\n5.0\n 30\n0.0\n 11\n" \
              "9.78786796564\n 21\n0.212132034356\n 31\n0.0\n" \
              "  0\nTEXT\n 62\n7\n  8\nDIMENSIONS\n 10\n2.18180194847\n" \
              " 20\n2.81819805153\n 30\n0.0\n 40\n0.5\n  1\n" \
              "707\n 50\n45.0\n  7\nISOCPEUR\n 72\n1\n 73\n" \
              "2\n 11\n2.18180194847\n 21\n2.81819805153\n" \
              " 31\n0.0\n  0\nINSERT\n  8\nDIMENSIONS\n" \
              "  2\nDIMTICK_ARCH\n 10\n-4.4408920985%s\n" \
              " 20\n4.4408920985%s\n 30\n0.0\n 41\n" \
              "1.0\n 42\n1.0\n 50\n45.0\n  0\nINSERT\n" \
              "  8\nDIMENSIONS\n  2\nDIMTICK_ARCH\n" \
              " 10\n5.0\n 20\n5.0\n 30\n0.0\n 41\n1.0\n" \
              " 42\n1.0\n 50\n45.0\n" % (_float_exp, _float_exp)
     self.maxDiff = None
     dimline = LinearDimension(pos=(5, 5),
                               measure_points=[(0, 0), (10, 0)],
                               angle=45)
     self.assertSequenceEqual(normalize_dxf_chunk(dxfstr(dimline)),
                              normalize_dxf_chunk(expected))
 def test_solid_change_point(self):
     solid = Solid([(0, 0), (1, 0), (1, 1), (0, 1)])
     solid[3] = (0, 2)  # tuple! not DXFPoint
     expected = "  0\nSOLID\n  8\n0\n 10\n0.0\n 20\n0.0\n 30\n0.0\n 11\n1.0\n 21\n0.0\n 31\n0.0\n" \
              " 13\n1.0\n 23\n1.0\n 33\n0.0\n 12\n0.0\n 22\n2.0\n 32\n0.0\n"
     self.assertEqual(dxfstr(solid), expected)
 def test_solid_4points(self):
     solid = Solid([(0, 0), (1, 0), (1, 1), (0, 1)])
     expected = "  0\nSOLID\n  8\n0\n 10\n0.0\n 20\n0.0\n 30\n0.0\n 11\n1.0\n 21\n0.0\n 31\n0.0\n" \
              " 13\n1.0\n 23\n1.0\n 33\n0.0\n 12\n0.0\n 22\n1.0\n 32\n0.0\n"
     self.assertEqual(dxfstr(solid), expected)
Esempio n. 47
0
 def test_solid_4points(self):
     solid = Solid( [(0,0), (1,0), (1,1), (0,1)] )
     expected = "  0\nSOLID\n  8\n0\n 10\n0.0\n 20\n0.0\n 30\n0.0\n 11\n1.0\n 21\n0.0\n 31\n0.0\n" \
              " 13\n1.0\n 23\n1.0\n 33\n0.0\n 12\n0.0\n 22\n1.0\n 32\n0.0\n"
     self.assertEqual(dxfstr(solid), expected)
 def test_create_tag_unchanged(self):
     attdef = Attdef()
     attrib = attdef.new_attrib(tag="UNCHANGED")
     expected = "  0\nATTRIB\n  8\n0\n 10\n0.0\n 20\n0.0\n 30\n0.0\n" \
              " 40\n1.0\n  1\nAttrib\n  2\nATTRIB\n 70\n0\n"
     self.assertEqual(dxfstr(attrib), expected)
 def test_create_with_override(self):
     attdef = Attdef(layer='test')
     attrib = attdef.new_attrib(layer='xxx', insert=(2, 2))
     expected = "  0\nATTRIB\n  8\nxxx\n 10\n2.0\n 20\n2.0\n 30\n0.0\n" \
              " 40\n1.0\n  1\nAttrib\n  2\nATTRIB\n 70\n0\n"
     self.assertEqual(dxfstr(attrib), expected)
 def test_create(self):
     attdef = Attdef(layer='test')
     attrib = attdef.new_attrib(text='newtext')
     expected = "  0\nATTRIB\n  8\ntest\n 10\n0.0\n 20\n0.0\n 30\n0.0\n" \
              " 40\n1.0\n  1\nnewtext\n  2\nATTRIB\n 70\n0\n"
     self.assertEqual(dxfstr(attrib), expected)
Esempio n. 51
0
 def test_arc_no_attributes(self):
     arc = Arc()
     expected = "  0\nARC\n  8\n0\n 10\n0.0\n 20\n0.0\n 30\n0.0\n 40\n1.0\n 50\n0.0\n 51\n360.0\n"
     self.assertEqual(dxfstr(arc), expected)
Esempio n. 52
0
 def test_arc_with_attribs(self):
     arc = Arc(center=(1,1), radius=1, startangle=30, endangle=60)
     expected = "  0\nARC\n  8\n0\n 10\n1.0\n 20\n1.0\n 30\n0.0\n 40\n1.0\n 50\n30.0\n 51\n60.0\n"
     self.assertEqual(dxfstr(arc), expected)
Esempio n. 53
0
 def test_group_code_1000(self):    
     atom = DXFAtom ('SECTION', 1000)
     self.assertEqual(dxfstr(atom), '1000\nSECTION\n')
     self.assertEqual(dxfstr(atom), tags2str(atom))
Esempio n. 54
0
 def test_group_code_0(self):
     atom = DXFAtom('HEADER', 0)
     self.assertEqual(dxfstr(atom), '  0\nHEADER\n')
     self.assertEqual(dxfstr(atom), tags2str(atom))
Esempio n. 55
0
 def test_implementation(self):
     ellipse = Ellipse(center=(0., 0.), rx=5.0, ry=3.0,
                       startangle=0., endangle=90., rotation=30.,
                       segments=16, color=3, layer='0', linetype='SOLID')
     result = dxfstr(ellipse)
     self.assertSequenceEqual(normalize_dxf_chunk(result), normalize_dxf_chunk(expected))
Esempio n. 56
0
 def __dxf__(self):
     """ Get the DXF string. 
     """
     return dxfstr(self.__dxftags__())
Esempio n. 57
0
 def __dxf__(self):
     ''' get the dxf string '''
     return dxfstr(self.__dxftags__())
Esempio n. 58
0
 def test_empty_DXFList(self):
     atoms = DXFList()
     self.assertEqual(dxfstr(atoms), '')
     self.assertEqual(dxfstr(atoms), tags2str(atoms))
Esempio n. 59
0
 def test_solid_change_point(self):
     solid = Solid( [(0,0), (1,0), (1,1), (0,1)] )
     solid[3] = (0, 2) # tuple! not DXFPoint
     expected = "  0\nSOLID\n  8\n0\n 10\n0.0\n 20\n0.0\n 30\n0.0\n 11\n1.0\n 21\n0.0\n 31\n0.0\n" \
              " 13\n1.0\n 23\n1.0\n 33\n0.0\n 12\n0.0\n 22\n2.0\n 32\n0.0\n"
     self.assertEqual(dxfstr(solid), expected)
Esempio n. 60
0
File: rect.py Progetto: msarch/py
 def __dxf__(self):
     """ get the dxf string """
     return dxfstr(self.__dxftags__())