|
@@ -18,6 +18,10 @@ import matplotlib.font_manager as fm
|
|
|
fm.fontManager.addfont('C:/Windows/Fonts/GOST2304A.ttf')
|
|
fm.fontManager.addfont('C:/Windows/Fonts/GOST2304A.ttf')
|
|
|
matplotlib.rcParams['font.family'] = 'GOST 2.304 type A'
|
|
matplotlib.rcParams['font.family'] = 'GOST 2.304 type A'
|
|
|
matplotlib.rcParams['mathtext.default'] = 'regular'
|
|
matplotlib.rcParams['mathtext.default'] = 'regular'
|
|
|
|
|
+matplotlib.rcParams['mathtext.fontset'] = 'custom'
|
|
|
|
|
+matplotlib.rcParams['mathtext.rm'] = 'GOST 2.304 type A'
|
|
|
|
|
+matplotlib.rcParams['mathtext.it'] = 'GOST 2.304 type A'
|
|
|
|
|
+matplotlib.rcParams['mathtext.bf'] = 'GOST 2.304 type A'
|
|
|
|
|
|
|
|
B = 4.53
|
|
B = 4.53
|
|
|
R = B / 2.0 # 2,265 — свод полуциркульный
|
|
R = B / 2.0 # 2,265 — свод полуциркульный
|
|
@@ -25,10 +29,10 @@ HW = 1.35 # высота стены: S = pi R^2/2 + B*HW
|
|
|
YC = HW
|
|
YC = HW
|
|
|
OFF = 0.17 # отступ линии контурных шпуров
|
|
OFF = 0.17 # отступ линии контурных шпуров
|
|
|
|
|
|
|
|
-fig = plt.figure(figsize=(16.2 / 2.54, 15.5 / 2.54), dpi=250)
|
|
|
|
|
|
|
+fig = plt.figure(figsize=(16.2 / 2.54, 15.4 / 2.54), dpi=250)
|
|
|
ax = fig.add_axes([0, 0, 1, 1])
|
|
ax = fig.add_axes([0, 0, 1, 1])
|
|
|
ax.set_aspect('equal'); ax.axis('off')
|
|
ax.set_aspect('equal'); ax.axis('off')
|
|
|
-XL, XR, YB, YT = -3.30, 7.35, -5.45, 4.75
|
|
|
|
|
|
|
+XL, XR, YB, YT = -3.30, 7.35, -5.85, 4.75
|
|
|
ax.set_xlim(XL, XR); ax.set_ylim(YB, YT)
|
|
ax.set_xlim(XL, XR); ax.set_ylim(YB, YT)
|
|
|
|
|
|
|
|
C_CUT, C_AUX, C_TOE, C_CONT = '#cc1f2d', '#1f5fb4', '#1d8a4b', '#111111'
|
|
C_CUT, C_AUX, C_TOE, C_CONT = '#cc1f2d', '#1f5fb4', '#1d8a4b', '#111111'
|
|
@@ -114,7 +118,7 @@ for xe in (-R, R):
|
|
|
ax.plot([xe, xe], [0, yb - EXT], color='black', lw=0.55, zorder=1)
|
|
ax.plot([xe, xe], [0, yb - EXT], color='black', lw=0.55, zorder=1)
|
|
|
ax.plot([-R, R], [yb, yb], color='black', lw=0.8, zorder=4)
|
|
ax.plot([-R, R], [yb, yb], color='black', lw=0.8, zorder=4)
|
|
|
tick(-R, yb); tick(R, yb)
|
|
tick(-R, yb); tick(R, yb)
|
|
|
-ax.text(-1.42, yb - 0.16, 'B = 4530', fontsize=6.4, ha='center', va='top',
|
|
|
|
|
|
|
+ax.text(0, yb - 0.16, 'B = 4530', fontsize=6.4, ha='center', va='top',
|
|
|
bbox=dict(facecolor='white', edgecolor='none', pad=1.0))
|
|
bbox=dict(facecolor='white', edgecolor='none', pad=1.0))
|
|
|
|
|
|
|
|
# H — высота выработки: нижняя выносная от пяты, верхняя — от замка (верха выработки);
|
|
# H — высота выработки: нижняя выносная от пяты, верхняя — от замка (верха выработки);
|
|
@@ -124,27 +128,9 @@ ax.plot([R, xh + EXT], [0, 0], color='black', lw=0.55, zorder=1)
|
|
|
ax.plot([0, xh + EXT], [YC + R, YC + R], color='black', lw=0.55, zorder=1)
|
|
ax.plot([0, xh + EXT], [YC + R, YC + R], color='black', lw=0.55, zorder=1)
|
|
|
ax.plot([xh, xh], [0, YC + R], color='black', lw=0.8, zorder=4)
|
|
ax.plot([xh, xh], [0, YC + R], color='black', lw=0.8, zorder=4)
|
|
|
tick(xh, 0); tick(xh, YC + R)
|
|
tick(xh, 0); tick(xh, YC + R)
|
|
|
-ax.text(xh - 0.13, (YC + R) / 2, 'H = 3620', fontsize=6.4, rotation=90,
|
|
|
|
|
|
|
+ax.text(xh + 0.13, (YC + R) / 2, 'H = 3620', fontsize=6.4, rotation=90,
|
|
|
ha='center', va='center', bbox=dict(facecolor='white', edgecolor='none', pad=1.0))
|
|
ha='center', va='center', bbox=dict(facecolor='white', edgecolor='none', pad=1.0))
|
|
|
|
|
|
|
|
-# a_к между соседними контурными на левой части дуги
|
|
|
|
|
-p1, p2 = arc_pts[10], arc_pts[11]
|
|
|
|
|
-ax.plot([p1[0], p2[0]], [p1[1], p2[1]], color='0.3', lw=0.7)
|
|
|
|
|
-mid = ((p1[0] + p2[0]) / 2, (p1[1] + p2[1]) / 2)
|
|
|
|
|
-ax.text(mid[0] - 0.62, mid[1] - 0.06, 'a$_к$ = 500', fontsize=6.4, color='0.25',
|
|
|
|
|
- ha='right', va='center', bbox=dict(facecolor='white', edgecolor='none', pad=1.0))
|
|
|
|
|
-ax.annotate('', xy=mid, xytext=(mid[0] - 0.60, mid[1] - 0.06),
|
|
|
|
|
- arrowprops=dict(arrowstyle='-', color='0.25', lw=0.6))
|
|
|
|
|
-
|
|
|
|
|
-# w_к — от контурного шпура до контура выработки (слева)
|
|
|
|
|
-t = np.radians(118)
|
|
|
|
|
-pw = (rc * np.cos(t), YC + rc * np.sin(t))
|
|
|
|
|
-qc = (R * np.cos(t), YC + R * np.sin(t))
|
|
|
|
|
-ax.plot([pw[0], qc[0]], [pw[1], qc[1]], color='0.25', lw=0.7, zorder=4)
|
|
|
|
|
-tick(pw[0], pw[1], '0.25'); tick(qc[0], qc[1], '0.25')
|
|
|
|
|
-ax.text(pw[0] - 0.18, pw[1] + 0.16, 'w$_к$ = 630', fontsize=6.4, color='0.25',
|
|
|
|
|
- ha='right', bbox=dict(facecolor='white', edgecolor='none', pad=1.0))
|
|
|
|
|
-
|
|
|
|
|
# след секущей плоскости А-А (ГОСТ 2.305, как на паспорте БВР): тонкая линия
|
|
# след секущей плоскости А-А (ГОСТ 2.305, как на паспорте БВР): тонкая линия
|
|
|
# сечения сквозь весь вид, на концах — толстые штрихи за контуром; стрелка
|
|
# сечения сквозь весь вид, на концах — толстые штрихи за контуром; стрелка
|
|
|
# взгляда вплотную остриём к штриху, буква «А» со стороны хвоста стрелки
|
|
# взгляда вплотную остриём к штриху, буква «А» со стороны хвоста стрелки
|
|
@@ -175,10 +161,12 @@ K_D = 0.75 # горизонтальный м
|
|
|
D_R, D_C = 3.0, 3.3 # глубина рядовых и врубовых шпуров, м
|
|
D_R, D_C = 3.0, 3.3 # глубина рядовых и врубовых шпуров, м
|
|
|
x_dr, x_dc = x_f + K_D * D_R, x_f + K_D * D_C
|
|
x_dr, x_dc = x_f + K_D * D_R, x_f + K_D * D_C
|
|
|
hgt = YC + R
|
|
hgt = YC + R
|
|
|
-ax.plot([x_f, x_dc], [hgt, hgt], color='black', lw=1.0)
|
|
|
|
|
-ax.plot([x_f, x_dc], [0, 0], color='black', lw=1.0)
|
|
|
|
|
-ax.plot([x_dc] * 2, [0, hgt], color='black', lw=1.0)
|
|
|
|
|
|
|
+ax.plot([x_f, x_dr], [hgt, hgt], color='black', lw=1.0)
|
|
|
|
|
+ax.plot([x_f, x_dr], [0, 0], color='black', lw=1.0)
|
|
|
|
|
+ax.plot([x_dr] * 2, [0, hgt], color='black', lw=0.6)
|
|
|
ax.plot([x_f] * 2, [0, hgt], color='black', lw=1.6)
|
|
ax.plot([x_f] * 2, [0, hgt], color='black', lw=1.6)
|
|
|
|
|
+# тонкая вертикаль на уровне конца врубовых шпуров — от неё идёт размер l_вр
|
|
|
|
|
+ax.plot([x_dc] * 2, [0, 2.40], color='black', lw=0.6)
|
|
|
ax.text((x_f + x_dc) / 2, hgt + 0.30, 'А–А', fontsize=8.6, ha='center')
|
|
ax.text((x_f + x_dc) / 2, hgt + 0.30, 'А–А', fontsize=8.6, ha='center')
|
|
|
|
|
|
|
|
for y_k in (2.40, 1.98, 1.56, 1.14): # врубовые: горизонтальные следы пар
|
|
for y_k in (2.40, 1.98, 1.56, 1.14): # врубовые: горизонтальные следы пар
|
|
@@ -192,8 +180,8 @@ for y_k in sorted({round(YC + rc * np.sin(t), 3) for t in t_arc} # свод,
|
|
|
ax.plot([x_f, x_dr], [y_k, y_k], color='0.25', lw=0.7)
|
|
ax.plot([x_f, x_dr], [y_k, y_k], color='0.25', lw=0.7)
|
|
|
|
|
|
|
|
# l_зах и l_вр — размерные линии глубин под видом слева; текст под размерной линией
|
|
# l_зах и l_вр — размерные линии глубин под видом слева; текст под размерной линией
|
|
|
-for xd, dim_y, txt in ((x_dr, -0.38, 'l$_зах$ = 3000'),
|
|
|
|
|
- (x_dc, -0.86, 'l$_вр$ = 3850')):
|
|
|
|
|
|
|
+for xd, dim_y, txt in ((x_dr, -0.38, 'l$_з$$_а$$_х$ = 3000'),
|
|
|
|
|
+ (x_dc, -0.86, 'l$_в$$_р$ = 3850')):
|
|
|
ax.plot([x_f, x_f], [0, dim_y - 0.09], color='black', lw=0.55, zorder=1)
|
|
ax.plot([x_f, x_f], [0, dim_y - 0.09], color='black', lw=0.55, zorder=1)
|
|
|
ax.plot([xd, xd], [0, dim_y - 0.09], color='black', lw=0.55, zorder=1)
|
|
ax.plot([xd, xd], [0, dim_y - 0.09], color='black', lw=0.55, zorder=1)
|
|
|
ax.plot([x_f, xd], [dim_y, dim_y], color='black', lw=0.8, zorder=4)
|
|
ax.plot([x_f, xd], [dim_y, dim_y], color='black', lw=0.8, zorder=4)
|
|
@@ -201,29 +189,25 @@ for xd, dim_y, txt in ((x_dr, -0.38, 'l$_зах$ = 3000'),
|
|
|
ax.text((x_f + xd) / 2, dim_y - 0.16, txt, fontsize=6.4, ha='center', va='top',
|
|
ax.text((x_f + xd) / 2, dim_y - 0.16, txt, fontsize=6.4, ha='center', va='top',
|
|
|
bbox=dict(facecolor='white', edgecolor='none', pad=1.0))
|
|
bbox=dict(facecolor='white', edgecolor='none', pad=1.0))
|
|
|
|
|
|
|
|
-# расстояния между шпурами по высоте — цепочки справа от вида А-А:
|
|
|
|
|
-# врубовые, отбойные и оконтуривающие (уровни следов); в мм
|
|
|
|
|
-chains = ((x_dc + 0.33, (1.14, 1.56, 1.98, 2.40)),
|
|
|
|
|
- (x_dc + 0.72, (1.07, 2.23, 2.71)),
|
|
|
|
|
- (x_dc + 1.11, (0.35, 0.875, 1.40, 1.758, 2.151, 2.511, 2.831, 3.091, 3.287)))
|
|
|
|
|
-for xd_c, y_rows in chains:
|
|
|
|
|
- for yk in y_rows:
|
|
|
|
|
|
|
+# расстояния между рядами шпуров — по одному размеру на группу (в мм):
|
|
|
|
|
+# оконтуривающие 530, врубовые 420, отбойные 480
|
|
|
|
|
+for y1, y2, txt in ((1.56, 1.98, '420'),):
|
|
|
|
|
+ xd_c = x_dc + 0.30
|
|
|
|
|
+ for yk in (y1, y2):
|
|
|
ax.plot([x_dc, xd_c + 0.09], [yk, yk], color='black', lw=0.55, zorder=1)
|
|
ax.plot([x_dc, xd_c + 0.09], [yk, yk], color='black', lw=0.55, zorder=1)
|
|
|
- ax.plot([xd_c, xd_c], [y_rows[0], y_rows[-1]], color='black', lw=0.8, zorder=4)
|
|
|
|
|
- for ya, yb in zip(y_rows[:-1], y_rows[1:]):
|
|
|
|
|
- tick(xd_c, ya); tick(xd_c, yb)
|
|
|
|
|
- if yb - ya >= 0.19:
|
|
|
|
|
- ax.text(xd_c + 0.17, (ya + yb) / 2, f'{(round((yb - ya) * 1000) + 5) // 10 * 10}',
|
|
|
|
|
- fontsize=6.4, rotation=90, ha='center', va='center', bbox=dict(facecolor='white', edgecolor='none', pad=1.0))
|
|
|
|
|
|
|
+ ax.plot([xd_c] * 2, [y1, y2], color='black', lw=0.8, zorder=4)
|
|
|
|
|
+ tick(xd_c, y1); tick(xd_c, y2)
|
|
|
|
|
+ ax.text(xd_c + 0.17, (y1 + y2) / 2, txt, fontsize=6.4, rotation=90,
|
|
|
|
|
+ ha='center', va='center', bbox=dict(facecolor='white', edgecolor='none', pad=1.0))
|
|
|
|
|
|
|
|
# --- разрез Б-Б (план): забой сверху, массив вниз; врубовые сходятся к оси -------
|
|
# --- разрез Б-Б (план): забой сверху, массив вниз; врубовые сходятся к оси -------
|
|
|
-y_pf = -1.15 # линия забоя (толстая)
|
|
|
|
|
|
|
+y_pf = -1.50 # линия забоя (толстая)
|
|
|
y_pb = y_pf - K_D * D_C # нижняя граница плана (глубина врубовых)
|
|
y_pb = y_pf - K_D * D_C # нижняя граница плана (глубина врубовых)
|
|
|
ax.plot([-R, R], [y_pf, y_pf], color='black', lw=1.6)
|
|
ax.plot([-R, R], [y_pf, y_pf], color='black', lw=1.6)
|
|
|
ax.plot([-R, R], [y_pb, y_pb], color='black', lw=1.0)
|
|
ax.plot([-R, R], [y_pb, y_pb], color='black', lw=1.0)
|
|
|
ax.plot([-R] * 2, [y_pf, y_pb], color='black', lw=1.0)
|
|
ax.plot([-R] * 2, [y_pf, y_pb], color='black', lw=1.0)
|
|
|
ax.plot([R] * 2, [y_pf, y_pb], color='black', lw=1.0)
|
|
ax.plot([R] * 2, [y_pf, y_pb], color='black', lw=1.0)
|
|
|
-ax.text(0, y_pf + 0.30, 'Б–Б', fontsize=8.6, ha='center')
|
|
|
|
|
|
|
+ax.text(0, y_pf + 0.10, 'Б–Б', fontsize=8.6, ha='center')
|
|
|
|
|
|
|
|
for xs in (-0.28, 0.28): # врубовые: веер к оси на глубине вруба
|
|
for xs in (-0.28, 0.28): # врубовые: веер к оси на глубине вруба
|
|
|
ax.plot([xs, 0], [y_pf, y_pb], color=C_CUT, lw=0.9)
|
|
ax.plot([xs, 0], [y_pf, y_pb], color=C_CUT, lw=0.9)
|
|
@@ -239,7 +223,7 @@ for xs, c, lw in ([(0, C_AUX, 0.9), (-0.87, C_AUX, 0.9), (0.87, C_AUX, 0.9), #
|
|
|
y_end = y_pf - K_D * D_R
|
|
y_end = y_pf - K_D * D_R
|
|
|
for xa, xb, txt in ((-1.425, -0.95, 'а$_п$ = 550'), (0.87, 1.23, 'а$_о$ = 600'),
|
|
for xa, xb, txt in ((-1.425, -0.95, 'а$_п$ = 550'), (0.87, 1.23, 'а$_о$ = 600'),
|
|
|
(0.84875, 1.6975, 'а$_к$ = 500')):
|
|
(0.84875, 1.6975, 'а$_к$ = 500')):
|
|
|
- dim_y = -3.90 if txt != 'а$_к$ = 500' else -4.42
|
|
|
|
|
|
|
+ dim_y = -4.25 if txt != 'а$_к$ = 500' else -4.77
|
|
|
for xe in (xa, xb):
|
|
for xe in (xa, xb):
|
|
|
ax.plot([xe, xe], [y_end, dim_y - 0.09], color='black', lw=0.55, zorder=1)
|
|
ax.plot([xe, xe], [y_end, dim_y - 0.09], color='black', lw=0.55, zorder=1)
|
|
|
ax.plot([xa, xb], [dim_y, dim_y], color='black', lw=0.8, zorder=4)
|
|
ax.plot([xa, xb], [dim_y, dim_y], color='black', lw=0.8, zorder=4)
|
|
@@ -251,11 +235,11 @@ ax.plot([xd_l, xd_l], [y_pf, y_end], color='black', lw=0.8, zorder=4)
|
|
|
ax.plot([-R, xd_l - 0.09], [y_pf, y_pf], color='black', lw=0.55, zorder=1)
|
|
ax.plot([-R, xd_l - 0.09], [y_pf, y_pf], color='black', lw=0.55, zorder=1)
|
|
|
ax.plot([-R, xd_l - 0.09], [y_end, y_end], color='black', lw=0.55, zorder=1)
|
|
ax.plot([-R, xd_l - 0.09], [y_end, y_end], color='black', lw=0.55, zorder=1)
|
|
|
tick(xd_l, y_pf); tick(xd_l, y_end)
|
|
tick(xd_l, y_pf); tick(xd_l, y_end)
|
|
|
-ax.text(xd_l - 0.15, (y_pf + y_end) / 2, 'l$_зах$ = 3000', fontsize=6.4,
|
|
|
|
|
|
|
+ax.text(xd_l - 0.15, (y_pf + y_end) / 2, 'l$_з$$_а$$_х$ = 3000', fontsize=6.4,
|
|
|
rotation=90, ha='center', va='center', bbox=dict(facecolor='white', edgecolor='none', pad=1.0))
|
|
rotation=90, ha='center', va='center', bbox=dict(facecolor='white', edgecolor='none', pad=1.0))
|
|
|
|
|
|
|
|
# B — ширина выработки (низ плана) и l_вр — глубина врубовых шпуров (справа)
|
|
# B — ширина выработки (низ плана) и l_вр — глубина врубовых шпуров (справа)
|
|
|
-yb_bb = -4.95
|
|
|
|
|
|
|
+yb_bb = -5.30
|
|
|
ax.plot([-R, -R], [y_pb, yb_bb - 0.09], color='black', lw=0.55, zorder=1)
|
|
ax.plot([-R, -R], [y_pb, yb_bb - 0.09], color='black', lw=0.55, zorder=1)
|
|
|
ax.plot([R, R], [y_pb, yb_bb - 0.09], color='black', lw=0.55, zorder=1)
|
|
ax.plot([R, R], [y_pb, yb_bb - 0.09], color='black', lw=0.55, zorder=1)
|
|
|
ax.plot([-R, R], [yb_bb, yb_bb], color='black', lw=0.8, zorder=4)
|
|
ax.plot([-R, R], [yb_bb, yb_bb], color='black', lw=0.8, zorder=4)
|
|
@@ -267,7 +251,7 @@ ax.plot([xd_r, xd_r], [y_pf, y_pb], color='black', lw=0.8, zorder=4)
|
|
|
ax.plot([R, xd_r + 0.09], [y_pf, y_pf], color='black', lw=0.55, zorder=1)
|
|
ax.plot([R, xd_r + 0.09], [y_pf, y_pf], color='black', lw=0.55, zorder=1)
|
|
|
ax.plot([R, xd_r + 0.09], [y_pb, y_pb], color='black', lw=0.55, zorder=1)
|
|
ax.plot([R, xd_r + 0.09], [y_pb, y_pb], color='black', lw=0.55, zorder=1)
|
|
|
tick(xd_r, y_pf); tick(xd_r, y_pb)
|
|
tick(xd_r, y_pf); tick(xd_r, y_pb)
|
|
|
-ax.text(xd_r + 0.15, (y_pf + y_pb) / 2, 'l$_вр$ = 3850', fontsize=6.4, rotation=90,
|
|
|
|
|
|
|
+ax.text(xd_r + 0.15, (y_pf + y_pb) / 2, 'l$_в$$_р$ = 3850', fontsize=6.4, rotation=90,
|
|
|
ha='center', va='center', bbox=dict(facecolor='white', edgecolor='none', pad=1.0))
|
|
ha='center', va='center', bbox=dict(facecolor='white', edgecolor='none', pad=1.0))
|
|
|
|
|
|
|
|
# --- легенда и заголовок ---------------------------------------------------------
|
|
# --- легенда и заголовок ---------------------------------------------------------
|