from tqdm import tqdm from dict.dict_manager_3d import DictManger3D from drawer.Tun3dDrawer import Tun3dDrawer from drawer.air_flow_drawer import AirFlowDrawer from drawer.drawer_template import DrawerTemplate from drawer.fan_local_drawer import FanLocalDrawer from drawer.fan_main_drawer import FanMainDrawer from drawer.gate_drawer import GateDrawer from drawer.tun_gap_drawer import TunGapDrawer from drawer.tun_text_drawer import TunTextDrawer from drawer.window_drawer import WindowDrawer from entity.primitives import Tun3d class Drawer3D(DrawerTemplate): def __init__(self, model_id): super().__init__('3d', model_id) def load_dict_manager(self): cad_json = self.request_data(self.model_id) self.dict_manager = DictManger3D(cad_json) def draw_cad(self): self.draw_tun_gap() self.draw_tun_3d() self.draw_tun_text() self.draw_air_flow() self.draw_fans() self.draw_windows() self.draw_gates() def draw_tun_3d(self): self._draw_items(self.dict_manager.tun_dict.values(), '【3d巷道绘制中】', Tun3dDrawer,self.global_config.tun_3d_style) def draw_tun_text(self): self._draw_items(self.dict_manager.tun_text_list, '【巷道文字绘制中】', TunTextDrawer,self.global_config.tun_text_style) def draw_tun_gap(self): self._draw_items(self.dict_manager.gaps_list, '【巷道间隙绘制中】', TunGapDrawer,self.global_config.tun_3d_style) def draw_air_flow(self): self._draw_items(self.dict_manager.air_flow_list, '【风流方向绘制中】', AirFlowDrawer,self.global_config.air_flow_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_main_style) fld.draw() 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 )