drawer_2d.py 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  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.auto_gate_drawer import AutoGateDrawer
  6. from drawer.auto_window_drawer import AutoWindowDrawer
  7. from drawer.drawer_template import DrawerTemplate
  8. from drawer.Tun2dDrawer import Tun2dDrawer
  9. from drawer.drill_drawer import DrillDrawer
  10. from drawer.duct_drawer import DuctDrawer
  11. from drawer.empty_drawer import EmptyDrawer
  12. from drawer.face_drawer import FaceDrawer
  13. from drawer.fan_local_drawer import FanLocalDrawer
  14. from drawer.fan_main_drawer import FanMainDrawer
  15. from drawer.gate_drawer import GateDrawer
  16. from drawer.sealed_drawer import SealedDrawer
  17. from drawer.shaft_drawer import ShaftDrawer
  18. from drawer.tun_text_drawer import TunTextDrawer
  19. from drawer.wind_bridge_drawer import WindBridgeDrawer
  20. from drawer.window_drawer import WindowDrawer
  21. class Drawer2D(DrawerTemplate):
  22. def __init__(self, model_id):
  23. super().__init__('2d', model_id)
  24. def load_dict_manager(self):
  25. cad_json = self.request_data(self.model_id)
  26. self.dict_manager = DictManger2D(cad_json)
  27. def draw_cad(self):
  28. self.draw_tuns()
  29. self.draw_windows()
  30. self.draw_auto_windows()
  31. self.draw_gates()
  32. self.draw_auto_gates()
  33. self.draw_sealed()
  34. self.draw_wind_bridge()
  35. self.draw_tun_text()
  36. self.draw_air_flow()
  37. self.draw_shaft()
  38. self.draw_fans()
  39. self.draw_air_duct()
  40. self.draw_drills()
  41. self.draw_face()
  42. self.draw_empty()
  43. def draw_tuns(self):
  44. """
  45. 绘制巷道
  46. """
  47. self._draw_items(
  48. self.dict_manager.tun_dict.values(),
  49. '【巷道绘制中】',
  50. Tun2dDrawer, self.global_config.tun_2d_style
  51. )
  52. def draw_windows(self):
  53. """
  54. 绘制风窗
  55. """
  56. self._draw_items(
  57. self.dict_manager.window_list,
  58. '【风窗绘制中】',
  59. WindowDrawer, self.global_config.window_style
  60. )
  61. def draw_auto_windows(self):
  62. """
  63. 绘制风窗
  64. """
  65. self._draw_items(
  66. self.dict_manager.auto_window_list,
  67. '【自动风窗绘制中】',
  68. AutoWindowDrawer, self.global_config.auto_window_style
  69. )
  70. def draw_gates(self):
  71. """
  72. 绘制风门
  73. """
  74. self._draw_items(
  75. self.dict_manager.gate_list,
  76. '【风门绘制中】',
  77. GateDrawer, self.global_config.gate_style
  78. )
  79. def draw_auto_gates(self):
  80. """
  81. 绘制自动风门
  82. """
  83. self._draw_items(
  84. self.dict_manager.auto_gate_list,
  85. '【自动风门绘制中】',
  86. AutoGateDrawer, self.global_config.auto_gate_style
  87. )
  88. def draw_sealed(self):
  89. """
  90. 绘制密闭
  91. """
  92. self._draw_items(
  93. self.dict_manager.sealed_list,
  94. '【密闭绘制中】',
  95. SealedDrawer, self.global_config.sealed_style
  96. )
  97. def draw_wind_bridge(self):
  98. """
  99. 风桥密闭
  100. """
  101. self._draw_items(
  102. self.dict_manager.wind_bridge_list,
  103. '【风桥绘制中】',
  104. WindBridgeDrawer, self.global_config.wind_bridge_style
  105. )
  106. def draw_tun_text(self):
  107. for text in tqdm(self.dict_manager.tun_text_list, "【巷道文字绘制中】"):
  108. ttd = TunTextDrawer(text, self.msp, self.global_config.tun_text_style)
  109. ttd.draw()
  110. def draw_air_flow(self):
  111. """
  112. 风桥密闭
  113. """
  114. self._draw_items(
  115. self.dict_manager.air_flow_list,
  116. '【风流方向绘制中】',
  117. AirFlowDrawer, self.global_config.air_flow_style
  118. )
  119. def draw_shaft(self):
  120. """
  121. 风桥密闭
  122. """
  123. self._draw_items(
  124. self.dict_manager.shaft_list,
  125. '【立井绘制中】',
  126. ShaftDrawer, self.global_config.shaft_style
  127. )
  128. def draw_fans(self):
  129. for fan in tqdm(self.dict_manager.fan_list, "【风扇绘制中】"):
  130. if 'fanmain' in str(fan.fan_type):
  131. fmd = FanMainDrawer(fan, self.msp, self.global_config.fan_main_style)
  132. fmd.draw()
  133. if 'fanlocal' in str(fan.fan_type):
  134. fld = FanLocalDrawer(fan, self.msp, self.global_config.fan_local_style)
  135. fld.draw()
  136. def draw_air_duct(self):
  137. self._draw_items(
  138. self.dict_manager.air_duct_list,
  139. '【风筒绘制中】',
  140. DuctDrawer, self.global_config.air_duct_style
  141. )
  142. def draw_drills(self):
  143. self._draw_items(
  144. self.dict_manager.drill_list,
  145. '【钻孔轨迹绘制中】',
  146. DrillDrawer, self.global_config.drill_style
  147. )
  148. def draw_face(self):
  149. self._draw_items(
  150. self.dict_manager.face_list,
  151. '【工作面绘制中】',
  152. FaceDrawer, self.global_config.face_style
  153. )
  154. def draw_empty(self):
  155. self._draw_items(
  156. self.dict_manager.empty_list,
  157. '【采空区绘制中】',
  158. EmptyDrawer, self.global_config.empty_style
  159. )