Repo Health

Рейтинг здоровья открытых репозиториев

Оценка от 0 до 100 по данным SourceCraft.

4 категории из 6, пересчёт раз в сутки. Как считается

  1. 44

    TSX30 дней назад0лайков
  2. 44

    C++185 дней назад0лайков
  3. 44

    TypeScript25 дней назад0лайков
  4. 44

    Rust43 дня назад0лайков
  5. 44

    Сайт-визитка Avtoneiro - автоматизация бизнес-процессов с помощью ИИ

    HTML170 дней назад0лайков
  6. 44

    JavaScript159 дней назад0лайков
  7. 44

    Тестовый репозиторий

    HTML233 дня назад0лайков
  8. 44

    Python127 дней назад0лайков
  9. 44

    Приспосабливаем модель kazars24 под мой почерк

    Python168 дней назад0лайков
  10. 44

    Shell322 дня назад0лайков
  11. 44

    TSX235 дней назад0лайков
  12. 44

    Дополнение для AmmoCRM для подстановки полей в название сделки

    JavaScript175 дней назад0лайковСравнить
  13. 44

    TSX406 дней назад0лайков
  14. 44

    Minecraft бот для копания чанков 16x16. Подключается к серверу как игрок, авторизуется через AuthMe и копает чанк по команде.

    JavaScript118 дней назад0лайков
  15. 44

    C27 дней назад0лайков
  16. 44

    JavaScript115 дней назад0лайков
  17. 44

    Сервис колеса фортуны для выбора победителя среди участников

    HTML402 дня назад0лайков
  18. 44

    S3 testing scripts

    Python376 дней назад0лайков
  19. 44

    Python156 дней назад0лайков
  20. 44

    Учебный проект к модулю «Infrastructure-as-Code с OpenTofu и Proxmox». Проект создаёт полностью автоматизированную инфраструктуру Kubernetes-кластера через модульный OpenTofu: ноды, cloud-init, конфигурация ОС и сборка кластера вручную. Подходит для обучения IaC и Kubernetes-инфраструктуре. https://stepik.org/a/238385

    HCL173 дня назад0лайков
  21. 44

    Python257 дней назад0лайков
  22. 44

    Репозиторий для лабораторных ИТМО (Программирование на Python)

    215 дней назад0лайков
  23. 44

    import matplotlib.pyplot as plt import matplotlib.patches as patches from matplotlib.path import Path import numpy as np # Настройка русского шрифта (если не отображается, замените на Arial) plt.rcParams['font.family'] = 'DejaVu Sans' plt.rcParams['font.sans-serif'] = ['DejaVu Sans', 'Arial', 'Liberation Sans', 'Microsoft Sans Serif'] plt.rcParams['axes.unicode_minus'] = False # ============================================= # ЛИСТ 1. Схема генплана Калининской АЭС # ============================================= def draw_site_plan(): fig, ax = plt.subplots(figsize=(10, 8)) ax.set_xlim(0, 100) ax.set_ylim(0, 80) ax.set_title("Рисунок 1 — Схема генерального плана промплощадки Калининской АЭС (М 1:5000)", fontsize=12, fontweight='bold') ax.axis('off') # Кольцевая дорога ring = patches.Rectangle((10, 10), 80, 60, linewidth=2, edgecolor='black', facecolor='none', linestyle='-') ax.add_patch(ring) # Главный корпус main_building = patches.Rectangle((30, 30), 40, 25, linewidth=1, edgecolor='black', facecolor='lightgray') ax.add_patch(main_building) ax.text(50, 42, 'ГЛАВНЫЙ КОРПУС', ha='center', fontsize=8, fontweight='bold') ax.text(50, 38, '(реакторное и турбинное отделения)', ha='center', fontsize=7) ax.text(50, 34, 'I степень огнестойкости', ha='center', fontsize=7) # ДГС dgs = patches.Rectangle((15, 55), 12, 10, linewidth=1, edgecolor='black', facecolor='yellow') ax.add_patch(dgs) ax.text(21, 60, 'ДГС', ha='center', fontsize=8, fontweight='bold') ax.text(21, 56, '(кат. В)', ha='center', fontsize=7) # АБК abk = patches.Rectangle((75, 55), 12, 10, linewidth=1, edgecolor='black', facecolor='lightgreen') ax.add_patch(abk) ax.text(81, 60, 'АБК', ha='center', fontsize=8, fontweight='bold') ax.text(81, 56, '(Ф4.3)', ha='center', fontsize=7) # Насосная станция pump = patches.Rectangle((75, 15), 10, 8, linewidth=1, edgecolor='black', facecolor='lightblue') ax.add_patch(pump) ax.text(80, 19, 'Насосная', ha='center', fontsize=7) ax.text(80, 16, 'станция', ha='center', fontsize=7) # Маслохозяйство oil = patches.Rectangle((15, 15), 10, 8, linewidth=1, edgecolor='black', facecolor='orange') ax.add_patch(oil) ax.text(20, 19, 'Масло-', ha='center', fontsize=7) ax.text(20, 16, 'хозяйство', ha='center', fontsize=7) # Водородная станция hydrogen = patches.Rectangle((55, 10), 10, 8, linewidth=1, edgecolor='black', facecolor='red', alpha=0.7) ax.add_patch(hydrogen) ax.text(60, 14, 'Водородная', ha='center', fontsize=7, color='white') ax.text(60, 11, '(кат. А)', ha='center', fontsize=7, color='white') # Пожарные гидранты (кружки) hydrant_positions = [(20, 25), (35, 25), (50, 25), (65, 25), (80, 25), (20, 65), (35, 65), (50, 65), (65, 65), (80, 65)] for x, y in hydrant_positions: circle = patches.Circle((x, y), 1.5, linewidth=1, edgecolor='red', facecolor='red') ax.add_patch(circle) ax.text(x, y-2, 'ПГ', ha='center', fontsize=6, color='red') # Въезды ax.annotate('ВЪЕЗД №1', xy=(50, 8), ha='center', fontsize=8, fontweight='bold', arrowprops=dict(arrowstyle='->', lw=1.5)) ax.annotate('ВЪЕЗД №2', xy=(50, 72), ha='center', fontsize=8, fontweight='bold', arrowprops=dict(arrowstyle='->', lw=1.5)) # Экспликация props = dict(boxstyle='round', facecolor='white', alpha=0.8) ax.text(5, 5, 'Условные обозначения:', fontsize=8, fontweight='bold') ax.text(5, 2, '□ Серый — главный корпус', fontsize=7) ax.text(5, -1, '□ Желтый — ДГС', fontsize=7) ax.text(5, -4, '● Красный — пожарный гидрант (ПГ)', fontsize=7) ax.text(5, -7, '═══ Кольцевой проезд (6 м)', fontsize=7) plt.tight_layout() plt.savefig('list1_site_plan.png', dpi=150, bbox_inches='tight') plt.close() print("✅ Лист 1 сохранён: list1_site_plan.png") # ============================================= # ЛИСТ 2. План ДГС с эвакуационными путями # ============================================= def draw_dgs_plan(): fig, ax = plt.subplots(figsize=(10, 8)) ax.set_xlim(0, 100) ax.set_ylim(0, 80) ax.set_title("Рисунок 2 — План 1-го этажа здания ДГС с нанесением эвакуационных путей (М 1:100)", fontsize=12, fontweight='bold') ax.axis('off') # Контур здания building = patches.Rectangle((5, 5), 90, 70, linewidth=2, edgecolor='black', facecolor='none') ax.add_patch(building) # Дизельный зал diesel = patches.Rectangle((10, 40), 35, 30, linewidth=1, edgecolor='black', facecolor='lightyellow') ax.add_patch(diesel) ax.text(27, 60, 'ДИЗЕЛЬНЫЙ ЗАЛ', ha='center', fontsize=9, fontweight='bold') ax.text(27, 55, '(категория В)', ha='center', fontsize=8) # Дизеля for i, x in enumerate([15, 22, 29, 36]): dg = patches.Rectangle((x, 45), 5, 5, linewidth=1, edgecolor='black', facecolor='gray') ax.add_patch(dg) ax.text(x+2.5, 47.5, f'ДГ{i+1}', ha='center', fontsize=6, color='white') # Масляный подвал oil_basement = patches.Rectangle((55, 40), 35, 30, linewidth=1, edgecolor='black', facecolor='orange', alpha=0.5) ax.add_patch(oil_basement) ax.text(72, 60, 'МАСЛЯНЫЙ ПОДВАЛ', ha='center', fontsize=9, fontweight='bold') ax.text(72, 55, '(категория В)', ha='center', fontsize=8) # Щитовая control = patches.Rectangle((10, 10), 25, 20, linewidth=1, edgecolor='black', facecolor='lightblue') ax.add_patch(control) ax.text(22, 22, 'ЩИТОВАЯ', ha='center', fontsize=8, fontweight='bold') ax.text(22, 18, 'управления', ha='center', fontsize=7) # Мастерская workshop = patches.Rectangle((55, 10), 35, 20, linewidth=1, edgecolor='black', facecolor='lightgreen') ax.add_patch(workshop) ax.text(72, 22, 'МАСТЕРСКАЯ', ha='center', fontsize=8, fontweight='bold') # Лестничная клетка stairs = patches.Rectangle((40, 5), 20, 25, linewidth=2, edgecolor='black', facecolor='lightgray', hatch='//') ax.add_patch(stairs) ax.text(50, 22, 'ЛЕСТНИЧНАЯ КЛЕТКА', ha='center', fontsize=7, fontweight='bold') ax.text(50, 18, '(тип Н2, подпор)', ha='center', fontsize=6) # Противопожарные перегородки (красные линии) ax.plot([45, 45], [40, 70], 'r-', linewidth=3) ax.plot([45, 45], [5, 30], 'r-', linewidth=3) ax.plot([10, 55], [40, 40], 'r-', linewidth=3) ax.plot([55, 90], [40, 40], 'r-', linewidth=3) # Противопожарные двери door_positions = [(45, 55), (45, 25), (35, 40), (55, 40)] for x, y in door_positions: door = patches.Rectangle((x-2, y-2), 4, 4, linewidth=1, edgecolor='red', facecolor='red', alpha=0.7) ax.add_patch(door) # Эвакуационные стрелки (зеленые) arrows = [ ((27, 40), (27, 35), '→'), ((72, 40), (72, 35), '→'), ((22, 10), (22, 5), '↓'), ((72, 10), (72, 5), '↓'), ((50, 5), (50, 2), '↓'), ] for start, end, direction in arrows: ax.annotate('', xy=end, xytext=start, arrowprops=dict(arrowstyle='->', lw=2, color='green')) # Эвакуационные выходы exit_sign = patches.Rectangle((45, 2), 10, 3, linewidth=1, edgecolor='green', facecolor='lightgreen') ax.add_patch(exit_sign) ax.text(50, 3.5, 'ВЫХОД', ha='center', fontsize=7, fontweight='bold') # Экспликация ax.text(5, 75, 'Условные обозначения:', fontsize=8, fontweight='bold') ax.text(5, 72, '█ Красная линия — противопожарная перегородка 1-го типа (EI 45)', fontsize=6, color='red') ax.text(5, 69, '■ Красный квадрат — противопожарная дверь (EI 30)', fontsize=6, color='red') ax.text(5, 66, '→ Зеленая стрелка — направление эвакуации', fontsize=6, color='green') ax.text(5, 63, '□ Зеленый прямоугольник — эвакуационный выход', fontsize=6, color='green') plt.tight_layout() plt.savefig('list2_dgs_plan.png', dpi=150, bbox_inches='tight') plt.close() print("✅ Лист 2 сохранён: list2_dgs_plan.png") # ============================================= # ЛИСТ 3. Кабельный туннель (разрез и план) # ============================================= def draw_cable_tunnel(): fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(12, 6)) # ---- ЛЕВАЯ ЧАСТЬ: поперечный разрез ---- ax1.set_xlim(0, 100) ax1.set_ylim(0, 80) ax1.set_title('а) Поперечный разрез кабельного туннеля (М 1:50)', fontsize=10, fontweight='bold') ax1.axis('off') # Стенки туннеля tunnel = patches.Rectangle((20, 20), 60, 50, linewidth=2, edgecolor='black', facecolor='none') ax1.add_patch(tunnel) # Стеллажи for x in [25, 75]: for y in [25, 35, 45, 55]: shelf = patches.Rectangle((x, y), 8, 3, linewidth=1, edgecolor='black', facecolor='brown') ax1.add_patch(shelf) # Кабели на стеллаже cables = patches.Rectangle((x+1, y+0.5), 6, 2, linewidth=0.5, edgecolor='black', facecolor='gray') ax1.add_patch(cables) # Противопожарная перегородка wall = patches.Rectangle((48, 20), 4, 50, linewidth=2, edgecolor='red', facecolor='red', alpha=0.5) ax1.add_patch(wall) ax1.text(50, 15, 'Противопожарная перегородка 1-го типа (EI 45)', ha='center', fontsize=7, color='red') # Дверь door = patches.Rectangle((48, 40), 4, 10, linewidth=1, edgecolor='darkred', facecolor='red', alpha=0.8) ax1.add_patch(door) ax1.text(50, 35, 'Дверь EI 30', ha='center', fontsize=6, color='darkred') # Размеры ax1.annotate('', xy=(20, 18), xytext=(80, 18), arrowprops=dict(arrowstyle='<->', lw=1)) ax1.text(50, 15, '1,8 м (ширина туннеля)', ha='center', fontsize=7) ax1.annotate('', xy=(18, 20), xytext=(18, 70), arrowprops=dict(arrowstyle='<->', lw=1)) ax1.text(15, 45, '2,2 м', ha='center', fontsize=7, rotation=90) # ---- ПРАВАЯ ЧАСТЬ: план туннеля ---- ax2.set_xlim(0, 100) ax2.set_ylim(0, 50) ax2.set_title('б) Фрагмент плана кабельного туннеля', fontsize=10, fontweight='bold') ax2.axis('off') # Туннель tunnel_plan = patches.Rectangle((5, 15), 90, 20, linewidth=2, edgecolor='black', facecolor='none') ax2.add_patch(tunnel_plan) # Перегородки через 60 м for x in [20, 45, 70]: wall_plan = patches.Rectangle((x, 15), 3, 20, linewidth=2, edgecolor='red', facecolor='red', alpha=0.5) ax2.add_patch(wall_plan) ax2.text(x+1.5, 12, f'Перегородка\n{x}м', ha='center', fontsize=6, color='red') # Двери for x in [20, 45, 70]: door_plan = patches.Rectangle((x, 22), 3, 6, linewidth=1, edgecolor='darkred', facecolor='red', alpha=0.8) ax2.add_patch(door_plan) # Подписи секций ax2.text(12, 10, 'Секция 1', ha='center', fontsize=7) ax2.text(32, 10, 'Секция 2', ha='center', fontsize=7) ax2.text(57, 10, 'Секция 3', ha='center', fontsize=7) ax2.text(82, 10, 'Секция 4', ha='center', fontsize=7) # Размер шага ax2.annotate('', xy=(20, 8), xytext=(45, 8), arrowprops=dict(arrowstyle='<->', lw=1)) ax2.text(32.5, 6, '60 м', ha='center', fontsize=7) plt.tight_layout() plt.savefig('list3_cable_tunnel.png', dpi=150, bbox_inches='tight') plt.close() print("✅ Лист 3 сохранён: list3_cable_tunnel.png") # ============================================= # ЛИСТ 4. Таблица мероприятий # ============================================= def draw_measures_table(): fig, ax = plt.subplots(figsize=(12, 8)) ax.axis('off') ax.set_title("Рисунок 4 — План-график мероприятий по устранению нарушений требований пожарной безопасности", fontsize=12, fontweight='bold') # Данные таблицы data = [ ["1", "Повреждение уплотнений на противопожарных дверях кабельных туннелей (секции 3,5,8)", "Нач. кабельного хозяйства Смирнов С.С.", "01.03.2021", ""], ["2", "Отсутствие актов скрытых работ на кабельные проходки", "Нач. ОКС Васильев В.В.", "01.03.2021", ""], ["3", "Неисправность доводчиков (2 шт.) и отсутствие уплотнения на двери ЛК реакторного отделения", "Нач. цеха эксплуатации Новиков Н.Н.", "01.02.2021", ""], ["4", "Не выполнена перекатка пожарных рукавов ВПВ машинного зала", "Нач. службы эксплуатации Михайлов М.М.", "15.12.2020", ""], ["5", "Отсутствуют копии сертификатов на противопожарные двери ДГС", "Гл. инженер Иванов И.И.", "01.02.2021", ""], ] columns = ["№ п/п", "Наименование нарушения", "Ответственный", "Срок", "Отметка о выполнении"] # Создание таблицы table = ax.table(cellText=data, colLabels=columns, loc='center', cellLoc='left') table.auto_set_font_size(False) table.set_fontsize(9) table.scale(1.2, 1.8) # Цвета for (i, j), cell in table.get_celld().items(): if i == 0: cell.set_facecolor('#40466e') cell.set_text_props(weight='bold', color='white') else: if i % 2 == 0: cell.set_facecolor('#f2f2f2') else: cell.set_facecolor('#ffffff') # Подписи ax.text(0.1, 0.15, 'Подготовил: Начальник отдела пожарной безопасности ________ Петров П.П.', fontsize=9, transform=fig.transFigure) ax.text(0.1, 0.08, 'Утверждаю: Главный инженер Калининской АЭС ________ Иванов И.И.', fontsize=9, transform=fig.transFigure) plt.tight_layout() plt.savefig('list4_measures_table.png', dpi=150, bbox_inches='tight') plt.close() print("✅ Лист 4 сохранён: list4_measures_table.png") # ============================================= # ЗАПУСК ВСЕХ ФУНКЦИЙ # ============================================= if __name__ == "__main__": print("=" * 50) print("Начинаю генерацию графической части курсовой работы...") print("=" * 50) draw_site_plan() draw_dgs_plan() draw_cable_tunnel() draw_measures_table() print("=" * 50) print("✅ Готово! Созданы файлы:") print(" - list1_site_plan.png") print(" - list2_dgs_plan.png") print(" - list3_cable_tunnel.png") print(" - list4_measures_table.png") print("=" * 50) print("Сохраните эти файлы и вставьте в курсовую работу.")

    213 дней назад0лайков
  24. 44

    Python44 дня назад0лайков
  25. 44

    Analog radio emulator

    Dart774 дня назад0лайков
Показать ещё 25

2 751–2 775 из 21 884

Выбрано 3 из 3