drawer_3d.py 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. from tqdm import tqdm
  2. from dict.dict_manager_3d import DictManger3D
  3. from drawer.Tun3dDrawer import Tun3dDrawer
  4. from drawer.air_flow_drawer import AirFlowDrawer
  5. from drawer.drawer_template import DrawerTemplate
  6. from drawer.fan_local_drawer import FanLocalDrawer
  7. from drawer.fan_main_drawer import FanMainDrawer
  8. from drawer.gate_drawer import GateDrawer
  9. from drawer.tun_gap_drawer import TunGapDrawer
  10. from drawer.tun_text_drawer import TunTextDrawer
  11. from drawer.window_drawer import WindowDrawer
  12. from entity.primitives import Tun3d
  13. class Drawer3D(DrawerTemplate):
  14. def __init__(self, model_id):
  15. super().__init__('3d', model_id)
  16. def load_dict_manager(self):
  17. cad_json = self.request_data(self.model_id)
  18. self.dict_manager = DictManger3D(cad_json)
  19. def draw_cad(self):
  20. self.draw_tun_gap()
  21. self.draw_tun_3d()
  22. self.draw_tun_text()
  23. self.draw_air_flow()
  24. self.draw_fans()
  25. self.draw_windows()
  26. self.draw_gates()
  27. def draw_tun_3d(self):
  28. self._draw_items(self.dict_manager.tun_dict.values(), '【3d巷道绘制中】', Tun3dDrawer,self.global_config.tun_3d_style)
  29. def draw_tun_text(self):
  30. self._draw_items(self.dict_manager.tun_text_list, '【巷道文字绘制中】', TunTextDrawer,self.global_config.tun_text_style)
  31. def draw_tun_gap(self):
  32. self._draw_items(self.dict_manager.gaps_list, '【巷道间隙绘制中】', TunGapDrawer,self.global_config.tun_3d_style)
  33. def draw_air_flow(self):
  34. self._draw_items(self.dict_manager.air_flow_list, '【风流方向绘制中】', AirFlowDrawer,self.global_config.air_flow_style)
  35. def draw_fans(self):
  36. for fan in tqdm(self.dict_manager.fan_list, "【风扇绘制中】"):
  37. if 'fanmain' in str(fan.fan_type):
  38. fmd = FanMainDrawer(fan, self.msp,self.global_config.fan_main_style)
  39. fmd.draw()
  40. if 'fanlocal' in str(fan.fan_type):
  41. fld = FanLocalDrawer(fan, self.msp,self.global_config.fan_main_style)
  42. fld.draw()
  43. def draw_windows(self):
  44. """
  45. 绘制风窗
  46. """
  47. self._draw_items(
  48. self.dict_manager.window_list,
  49. '【风窗绘制中】',
  50. WindowDrawer,self.global_config.window_style
  51. )
  52. def draw_gates(self):
  53. """
  54. 绘制风门
  55. """
  56. self._draw_items(
  57. self.dict_manager.gate_list,
  58. '【风门绘制中】',
  59. GateDrawer,self.global_config.gate_style
  60. )