Esempio n. 1
0
 def test_set_extended_data(self):
     viewport = DXFEngine.viewport((0, 0, 0),
                                   3,
                                   2,
                                   perspective_lens_length=75.)
     result = viewport['perspective_lens_length']
     self.assertEqual(75, result)
def create_layout(dwg):
    # For viewport entities the paper_space parameter is 1 by default, so you
    # can use the drawing.add method for placing the viewports, but adding to
    # Drawing.paperspace works also.
    #
    # Define viewports in paper space:
    # center_point, width and height defines the viewport in paper space.
    # view_center_point and view_height defines the area in model space
    # which is displayed in the viewport.
    dwg.add(dxf.viewport(center_point=(2.5, 2.5), width=5, height=5,
                         view_center_point=(7.5, 7.5),
                         view_height=10))
    # scale is calculated by: height of model space (view_height=10) / height of viewport (height=5)
    dwg.paperspace.add(
        dxf.text("View of Rectangle Scale=1:2", insert=(0, 5.2),
                 height=0.18, color=1))

    # adding to Drawing.paperspace works also
    dwg.paperspace.add(
        dxf.viewport(center_point=(8.5, 2.5), width=5, height=5,
                     view_center_point=(10, 5),
                     view_height=25))
    dwg.paperspace.add(dxf.text("View of Circle Scale=1:5", insert=(6, 5.2),
                                height=0.18, color=1))

    dwg.add(dxf.viewport(center_point=(14.5, 2.5), width=5, height=5,
                         view_center_point=(12.5, 7.5),
                         view_height=5))

    dwg.paperspace.add(
        dxf.text("View of Triangle Scale=1:1", insert=(12, 5.2),
                 height=0.18, color=1))

    dwg.add(dxf.viewport(center_point=(7.5, 10), width=15, height=7.5,
                         view_center_point=(10, 6.25),
                         view_height=7.5))
    dwg.paperspace.add(dxf.text("Overall View Scale=1:1", insert=(0, 14),
                                height=0.18, color=1))

    dwg.add(dxf.viewport(center_point=(16, 13.5), width=0.3, height=0.15,
                         view_center_point=(10, 6.25), view_height=7.5))
    # scale = 7.5/0.15 = 50
    dwg.paperspace.add(
        dxf.text("Scale=1:50", halign=CENTER, alignpoint=(16, 14),
                 height=0.18, color=1))

    dwg.add(dxf.viewport(center_point=(16, 10), width=4, height=4,
                         view_target_point=(40, 40, 0),
                         # view_direction_vector determines the view direction,
                         # and it just a VECTOR, the view direction is the location
                         # of view_direction_vector to (0, 0, 0)
                         view_direction_vector=(-1, -1, 1),
                         # now we have a view plane (viewport) with its origin (0, 0) in
                         # the view target point and view_center_point shifts
                         # the center of the viewport
                         view_center_point=(0, 0), view_height=30))

    dwg.paperspace.add(
        dxf.text("Viewport to 3D Mesh", halign=CENTER, alignpoint=(16, 12.5),
                 height=0.18, color=1))
    def default_settings(self):
        self.header['$ACADVER'] = 'AC1009'
        self.header['$INSBASE'] = (0, 0, 0)
        self.header['$EXTMIN'] = (0, 0, 0)
        self.header['$EXTMAX'] = (100, 100, 0)

        for ltype in self.std_linetypes():
            self.linetypes.add(ltype)
        for style in self.std_styles():
            self.styles.add(style)
        self.tables.appids.add(DXFEngine.appid('DXFWRITE'))
        self.add_layer('DIMENSIONS')
        self.add_layer('TABLEBACKGROUND')
        self.add_layer('TABLECONTENT')
        self.add_layer('TABLEGRID')
        self.add_layer('VIEWPORTS', color=7)

        # Setup paper space, but I don't know the meaning of this VIEWPORT
        # entity, also the dimensions of this viewport seems not really
        # important, except status=1 and id=1.
        self.paperspace.add(DXFEngine.viewport((0, 0), 1, 1, status=1, id=1))
Esempio n. 4
0
File: drawing.py Progetto: msarch/py
    def default_settings(self):
        self.header['$ACADVER'] = 'AC1009'
        self.header['$INSBASE'] = (0, 0, 0)
        self.header['$EXTMIN'] = (0, 0, 0)
        self.header['$EXTMAX'] = (100, 100, 0)

        for ltype in self.std_linetypes():
            self.linetypes.add(ltype)
        for style in self.std_styles():
            self.styles.add(style)
        self.tables.appids.add(DXFEngine.appid('DXFWRITE'))
        self.add_layer('DIMENSIONS')
        self.add_layer('TABLEBACKGROUND')
        self.add_layer('TABLECONTENT')
        self.add_layer('TABLEGRID')
        self.add_layer('VIEWPORTS', color=7)

        # Setup paper space, but I don't know the meaning of this VIEWPORT
        # entity, also the dimensions of this viewport seems not really
        # important, except status=1 and id=1.
        self.paperspace.add(DXFEngine.viewport((0, 0), 1, 1, status=1, id=1))
Esempio n. 5
0
 def add_viewport(self, name, **kwargs):
     viewport = DXFEngine.viewport(name, **kwargs)
     self.viewports.add(viewport)
     return viewport
Esempio n. 6
0
 def test_set_extended_data(self):
     viewport = DXFEngine.viewport((0,0,0), 3, 2, perspective_lens_length=75.)
     result = viewport['perspective_lens_length']
     self.assertEqual(75, result)
Esempio n. 7
0
 def test_viewport_by_factory(self):
     viewport = DXFEngine.viewport((0,0,0), 3, 2, id=1)
     self.assertEqual(dxfstr(viewport), self.expected)
Esempio n. 8
0
 def test_viewport_by_factory(self):
     viewport = DXFEngine.viewport((0, 0, 0), 3, 2, id=1)
     self.assertEqual(dxfstr(viewport), self.expected)
Esempio n. 9
0
    
Plot()

drawing = dxf.drawing(name='test.dxf')

for i in Punto.all:
    drawing.modelspace.add(dxf.point((i.X, i.Y, i.Z)))
    drawing.modelspace.add(dxf.text(i.Nombre, insert=(i.X, i.Y), color=2))


Ancho_hoja = 0.2794
Largo_hoja = 0.2159
#Cajetin
drawing.paperspace.add(dxf.viewport(center_point=(Ancho_hoja/2, Largo_hoja/2+0.02),
        # viewport width in paper space
        width=Largo_hoja-0.04,
        # viewport height in paper space
        height=Ancho_hoja-0.02))


#set value
drawing.header['$ANGBASE'] = 30

#get value
version = drawing.header['$ACADVER'].value

# for 2D/3D points use:
minx, miny, minz = drawing.header['$EXTMIN'].tuple

#set paper space size
drawing.header['$PEXTMAX'] = (0.2794, 0.2159, 0)