drawer_2d.py 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. from abc import ABC
  2. from tqdm import tqdm
  3. from dict.dict_manager import DictManger2D
  4. from drawer.air_flow_drawer import AirFlowDrawer
  5. from drawer.drawer_template import DrawerTemplate
  6. from drawer.Tun2dDrawer import Tun2dDrawer
  7. from drawer.duct_drawer import DuctDrawer
  8. from drawer.fan_local_drawer import FanLocalDrawer
  9. from drawer.fan_main_drawer import FanMainDrawer
  10. from drawer.gate_drawer import GateDrawer
  11. from drawer.sealed_drawer import SealedDrawer
  12. from drawer.shaft_drawer import ShaftDrawer
  13. from drawer.tun_text_drawer import TunTextDrawer
  14. from drawer.wind_bridge_drawer import WindBridgeDrawer
  15. from drawer.window_drawer import WindowDrawer
  16. class Drawer2D(DrawerTemplate):
  17. def __init__(self, model_id):
  18. super().__init__('2d', model_id)
  19. def load_dict_manager(self):
  20. cad_json = self.request_data(self.model_id)
  21. self.dict_manager = DictManger2D(cad_json)
  22. def draw_cad(self):
  23. self.draw_tuns()
  24. self.draw_windows()
  25. self.draw_gates()
  26. self.draw_sealed()
  27. self.draw_wind_bridge()
  28. self.draw_tun_text()
  29. self.draw_air_flow()
  30. self.draw_shaft()
  31. self.draw_fans()
  32. self.draw_air_duct()
  33. def draw_tuns(self):
  34. """
  35. 绘制巷道
  36. """
  37. self._draw_items(
  38. self.dict_manager.tun_dict.values(),
  39. '【巷道绘制中】',
  40. Tun2dDrawer, self.global_config.tun_2d_style
  41. )
  42. def draw_windows(self):
  43. """
  44. 绘制风窗
  45. """
  46. self._draw_items(
  47. self.dict_manager.window_list,
  48. '【风窗绘制中】',
  49. WindowDrawer, self.global_config.window_style
  50. )
  51. def draw_gates(self):
  52. """
  53. 绘制风门
  54. """
  55. self._draw_items(
  56. self.dict_manager.gate_list,
  57. '【风门绘制中】',
  58. GateDrawer, self.global_config.gate_style
  59. )
  60. def draw_sealed(self):
  61. """
  62. 绘制密闭
  63. """
  64. self._draw_items(
  65. self.dict_manager.sealed_list,
  66. '【密闭绘制中】',
  67. SealedDrawer, self.global_config.sealed_style
  68. )
  69. def draw_wind_bridge(self):
  70. """
  71. 风桥密闭
  72. """
  73. self._draw_items(
  74. self.dict_manager.wind_bridge_list,
  75. '【风桥绘制中】',
  76. WindBridgeDrawer, self.global_config.wind_bridge_style
  77. )
  78. def draw_tun_text(self):
  79. for text in tqdm(self.dict_manager.tun_text_list, "【巷道文字绘制中】"):
  80. ttd = TunTextDrawer(text, self.msp, self.global_config.tun_text_style)
  81. ttd.draw()
  82. def draw_air_flow(self):
  83. """
  84. 风桥密闭
  85. """
  86. self._draw_items(
  87. self.dict_manager.air_flow_list,
  88. '【风流方向绘制中】',
  89. AirFlowDrawer, self.global_config.air_flow_style
  90. )
  91. def draw_shaft(self):
  92. """
  93. 风桥密闭
  94. """
  95. self._draw_items(
  96. self.dict_manager.shaft_list,
  97. '【立井绘制中】',
  98. ShaftDrawer, self.global_config.shaft_style
  99. )
  100. def draw_fans(self):
  101. for fan in tqdm(self.dict_manager.fan_list, "【风扇绘制中】"):
  102. if 'fanmain' in str(fan.fan_type):
  103. fmd = FanMainDrawer(fan, self.msp, self.global_config.fan_main_style)
  104. fmd.draw()
  105. if 'fanlocal' in str(fan.fan_type):
  106. fld = FanLocalDrawer(fan, self.msp, self.global_config.fan_local_style)
  107. fld.draw()
  108. def draw_air_duct(self):
  109. self._draw_items(
  110. self.dict_manager.air_duct_list,
  111. '【风筒绘制中】',
  112. DuctDrawer, self.global_config.air_duct_style
  113. )