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))
示例#2
0
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()
示例#3
0
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()
示例#4
0
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()
示例#5
0
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()