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))
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))
def add_viewport(self, name, **kwargs): viewport = DXFEngine.viewport(name, **kwargs) self.viewports.add(viewport) return viewport
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 test_viewport_by_factory(self): viewport = DXFEngine.viewport((0,0,0), 3, 2, id=1) self.assertEqual(dxfstr(viewport), self.expected)
def test_viewport_by_factory(self): viewport = DXFEngine.viewport((0, 0, 0), 3, 2, id=1) self.assertEqual(dxfstr(viewport), self.expected)
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)