123456789101112131415161718192021222324252627282930313233343536373839 |
- from drawer.BaseDrawer import VentGraphDrawer, BaseDrawer
- from entity.Node import Node
- from entity.primitives import Drill
- class DrillDrawer(BaseDrawer):
- def __init__(self, obj, msp, style):
- self.drill_drawers = {
- 0: self.draw_duct_style_0,
- }
- super().__init__(obj, msp, style)
- def initialize_data(self):
- pass
- def draw_agg(self):
- self.drill_drawers[self.style]('agg')
- def draw_div(self):
- self.drill_drawers[self.style]('div')
- def draw_duct_style_0(self,type):
- assert isinstance(self.obj, Drill)
- point_attr = 'agg_point' if type == 'agg' else 'div_point'
- for line in self.obj.line_list:
- i = 0
- while i < len(line) - 1:
- node = line[i]
- next_node = line[i + 1]
- node = getattr(node,point_attr)
- next_node = getattr(next_node,point_attr)
- self.msp.add_line(node, next_node, dxfattribs={"layer": f"图层{self.obj.layer_id}"})
- i = i + 1
|