def test4_projection_element(self): pe = ProjectionElementParameters() try: # this fields should be available pe.figure_type = 0 pe.figure_name = "pe_test" pe.projection_group = "pe_test_group" pe.position = Point(0, 0, 0) pe.size[0] = 10 pe.size[1] = 20 pe.angle[0] = 0 pe.angle[1] = 0 figure = pe.to_figure() self.assertEquals(figure.figure_name, pe.figure_name) except Exception as e: self.fail("Exception raised: {}".format(e))
def get_dxf_circle_params(elem, file_name, id): """Read params from elem and create CIRCLE figure Args: elem (modelspace elem): element from dxf containing shape data file_name (str): name of dxf file to be set as projection group id (int): number to identify shape, append to figure name Returns: ProjectionElementParameters: figure parameters """ proj_elem_params = ProjectionElementParameters() proj_elem_params.figure_type = Figure.CIRCLE proj_elem_params.projection_group = file_name proj_elem_params.figure_name = "circle_" + str(id) proj_elem_params.position.x = elem.dxf.center.x proj_elem_params.position.y = elem.dxf.center.y proj_elem_params.size[0] = elem.dxf.radius return proj_elem_params.to_figure()
def get_dxf_line_params(elem, file_name, id): """Read params from elem and create LINE figure Args: elem (modelspace elem): element from dxf containing shape data file_name (str): name of dxf file to be set as projection group id (int): number to identify shape, append to figure name Returns: ProjectionElementParameters: figure parameters """ proj_elem_params = ProjectionElementParameters() proj_elem_params.figure_type = Figure.POLYLINE proj_elem_params.projection_group = file_name proj_elem_params.figure_name = "line_" + str(id) proj_elem_params.position.x = elem.dxf.start.x proj_elem_params.position.y = elem.dxf.start.y proj_elem_params.size[0] = GeometryTool.vector_point_distance( elem.dxf.start, elem.dxf.end) proj_elem_params.angle[0] = GeometryTool.vector_point_angle( elem.dxf.start, elem.dxf.end) return proj_elem_params.to_figure()
def get_dxf_text_params(elem, file_name, id): """Read params from elem and create TEXT figure Args: elem (modelspace elem): element from dxf containing shape data file_name (str): name of dxf file to be set as projection group id (int): number to identify shape, append to figure name Returns: ProjectionElementParameters: figure parameters """ proj_elem_params = ProjectionElementParameters() proj_elem_params.figure_type = Figure.TEXT proj_elem_params.projection_group = file_name proj_elem_params.figure_name = "text_" + str(id) proj_elem_params.position.x = elem.dxf.insert.x - elem.dxf.height * math.sin( math.radians(elem.dxf.rotation)) proj_elem_params.position.y = elem.dxf.insert.y + elem.dxf.height * math.cos( math.radians(elem.dxf.rotation)) proj_elem_params.size[0] = elem.dxf.height proj_elem_params.angle[0] = elem.dxf.rotation proj_elem_params.text = elem.dxf.text return proj_elem_params.to_figure()
def get_dxf_ellipse_params(elem, file_name, id): """Read params from elem and create ELLIPSE figure Args: elem (modelspace elem): element from dxf containing shape data file_name (str): name of dxf file to be set as projection group id (int): number to identify shape, append to figure name Returns: ProjectionElementParameters: figure parameters """ proj_elem_params = ProjectionElementParameters() proj_elem_params.figure_type = Figure.OVAL proj_elem_params.projection_group = file_name proj_elem_params.figure_name = "oval_" + str(id) proj_elem_params.position.x = elem.dxf.center.x proj_elem_params.position.y = elem.dxf.center.y proj_elem_params.size[0] = GeometryTool.vector_point_distance( Point(0, 0, 0), elem.dxf.major_axis) proj_elem_params.size[1] = elem.dxf.ratio * proj_elem_params.size[0] proj_elem_params.angle[0] = GeometryTool.vector_point_angle( Point(0, 0, 0), elem.dxf.major_axis) return proj_elem_params.to_figure()