1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- import math
- import core
- from drawer.BaseDrawer import VentGraphDrawer
- class WindBridgeDrawer(VentGraphDrawer):
- def initialize_data(self):
- self.obj.color = (255, 255, 255)
- def draw_obj(self, center, route):
- width = self.obj.width * 1.7
- line_top_middle = center[0], center[1] + width / 2
- line_top_left = line_top_middle[0] - width * 1.25 / 2, line_top_middle[1]
- line_top_left_2 = line_top_left[0] - math.cos(math.pi / 6) * width * 0.625, line_top_left[1] + math.sin(
- math.pi / 6) * width * 0.625
- line_top_right = core.symmetric_point(line_top_left, line_top_middle)
- line_top_right_2 = core.symmetric_point(line_top_left_2, (line_top_middle[0], line_top_middle[1] + math.sin(
- math.pi / 6) * width * 0.625))
- line_bottom_middle = center[0], center[1] - width / 2
- line_bottom_left = line_bottom_middle[0] - width * 1.25 / 2, line_bottom_middle[1]
- line_bottom_left_2 = line_bottom_left[0] - math.cos(math.pi / 6) * width * 0.625, line_bottom_left[
- 1] - math.sin(
- math.pi / 6) * width * 0.625
- line_bottom_right = core.symmetric_point(line_bottom_left, line_bottom_middle)
- line_bottom_right_2 = core.symmetric_point(line_bottom_left_2,
- (line_bottom_middle[0], line_bottom_middle[1] - math.sin(
- math.pi / 6) * width * 0.625))
- line_top_left = core.rotate_point_around_another(line_top_left, center, route)
- line_top_left_2 = core.rotate_point_around_another(line_top_left_2, center, route)
- line_top_right = core.rotate_point_around_another(line_top_right, center, route)
- line_top_right_2 = core.rotate_point_around_another(line_top_right_2, center, route)
- line_bottom_left = core.rotate_point_around_another(line_bottom_left, center, route)
- line_bottom_left_2 = core.rotate_point_around_another(line_bottom_left_2, center, route)
- line_bottom_right = core.rotate_point_around_another(line_bottom_right, center, route)
- line_bottom_right_2 = core.rotate_point_around_another(line_bottom_right_2, center, route)
- line = self.msp.add_line(line_top_left, line_top_left_2, dxfattribs={"layer": f"图层{self.obj.layer_id}"})
- line.rgb = self.obj.color
- line = self.msp.add_line(line_top_right, line_top_left, dxfattribs={"layer": f"图层{self.obj.layer_id}"})
- line.rgb = self.obj.color
- line = self.msp.add_line(line_top_right, line_top_right_2, dxfattribs={"layer": f"图层{self.obj.layer_id}"})
- line.rgb = self.obj.color
- line = self.msp.add_line(line_bottom_left, line_bottom_right, dxfattribs={"layer": f"图层{self.obj.layer_id}"})
- line.rgb = self.obj.color
- line = self.msp.add_line(line_bottom_right, line_bottom_right_2, dxfattribs={"layer": f"图层{self.obj.layer_id}"})
- line.rgb = self.obj.color
- line = self.msp.add_line(line_bottom_left, line_bottom_left_2, dxfattribs={"layer": f"图层{self.obj.layer_id}"})
- line.rgb = self.obj.color
|