from abc import ABC from tqdm import tqdm from dict.dict_manager import DictManger2D from drawer.air_flow_drawer import AirFlowDrawer from drawer.drawer_template import DrawerTemplate from drawer.Tun2dDrawer import Tun2dDrawer from drawer.duct_drawer import DuctDrawer from drawer.fan_local_drawer import FanLocalDrawer from drawer.fan_main_drawer import FanMainDrawer from drawer.gate_drawer import GateDrawer from drawer.sealed_drawer import SealedDrawer from drawer.shaft_drawer import ShaftDrawer from drawer.tun_text_drawer import TunTextDrawer from drawer.wind_bridge_drawer import WindBridgeDrawer from drawer.window_drawer import WindowDrawer class Drawer2D(DrawerTemplate): def __init__(self, model_id): super().__init__('2d', model_id) def load_dict_manager(self): cad_json = self.request_data(self.model_id) self.dict_manager = DictManger2D(cad_json) def draw_cad(self): self.draw_tuns() self.draw_windows() self.draw_gates() self.draw_sealed() self.draw_wind_bridge() self.draw_tun_text() self.draw_air_flow() self.draw_shaft() self.draw_fans() self.draw_air_duct() def draw_tuns(self): """ 绘制巷道 """ self._draw_items( self.dict_manager.tun_dict.values(), '【巷道绘制中】', Tun2dDrawer, self.global_config.tun_2d_style ) def draw_windows(self): """ 绘制风窗 """ self._draw_items( self.dict_manager.window_list, '【风窗绘制中】', WindowDrawer, self.global_config.window_style ) def draw_gates(self): """ 绘制风门 """ self._draw_items( self.dict_manager.gate_list, '【风门绘制中】', GateDrawer, self.global_config.gate_style ) def draw_sealed(self): """ 绘制密闭 """ self._draw_items( self.dict_manager.sealed_list, '【密闭绘制中】', SealedDrawer, self.global_config.sealed_style ) def draw_wind_bridge(self): """ 风桥密闭 """ self._draw_items( self.dict_manager.wind_bridge_list, '【风桥绘制中】', WindBridgeDrawer, self.global_config.wind_bridge_style ) def draw_tun_text(self): for text in tqdm(self.dict_manager.tun_text_list, "【巷道文字绘制中】"): ttd = TunTextDrawer(text, self.msp, self.global_config.tun_text_style) ttd.draw() def draw_air_flow(self): """ 风桥密闭 """ self._draw_items( self.dict_manager.air_flow_list, '【风流方向绘制中】', AirFlowDrawer, self.global_config.air_flow_style ) def draw_shaft(self): """ 风桥密闭 """ self._draw_items( self.dict_manager.shaft_list, '【立井绘制中】', ShaftDrawer, self.global_config.shaft_style ) def draw_fans(self): for fan in tqdm(self.dict_manager.fan_list, "【风扇绘制中】"): if 'fanmain' in str(fan.fan_type): fmd = FanMainDrawer(fan, self.msp, self.global_config.fan_main_style) fmd.draw() if 'fanlocal' in str(fan.fan_type): fld = FanLocalDrawer(fan, self.msp, self.global_config.fan_local_style) fld.draw() def draw_air_duct(self): self._draw_items( self.dict_manager.air_duct_list, '【风筒绘制中】', DuctDrawer, self.global_config.air_duct_style )