Научное обозрение. Технические наукиscience-review.ru
Научный журнал

Научное обозрение. Технические науки

ISSN 2500-0799ПИ №ФС77-57440

РАЗРАБОТКА ИНТЕЛЛЕКТУАЛЬНОЙ СИСТЕМЫ ОБУЧЕНИЯ НА БАЗЕ AUTOCAD С ИСПОЛЬЗОВАНИЕМ СОВРЕМЕННЫХ ТЕХНОЛОГИЙ

1НАО «Карагандинский технический университет имени Абылкаса Сагинова»

Введение

Системы автоматизированного проектирования (САПР), такие как AutoCAD, играют ключевую роль в инженерной практике, обеспечивая проектирование сложных объектов в различных отраслях, от машиностроения до архитектуры [1–3]. Однако освоение AutoCAD представляет значительные трудности из-за его функциональной сложности и необходимости соблюдения национальных стандартов, таких как ГОСТы. Традиционные методы обучения, основанные на лекциях, учебниках и практических занятиях, не успевают за темпами обновления технологий и не обеспечивают индивидуального подхода к обучаемым [1, 4].

Интеллектуальные системы обучения (ИОС), использующие принципы искусственного интеллекта (ИИ), предлагают решение этих проблем [5–7]. ИОС способны имитировать роль преподавателя, адаптировать учебный процесс к уровню знаний пользователя и предоставлять обратную связь в реальном времени [4, 6]. Интеграция базы знаний, основанной на ГОСТах, позволяет автоматизировать проверку соответствия чертежей стандартам, что особенно важно для подготовки специалистов в странах с жесткими нормативными требованиями, таких как Россия, Казахстан [1, 5].

Разработка ИОС для AutoCAD с использованием современных технологий, таких как Python и PostgreSQL, представляет собой актуальную задачу [6, 8, 9]. Python обеспечивает гибкость и широкую поддержку библиотек, включая pyautocad для взаимодействия с AutoCAD, а PostgreSQL гарантирует надежное хранение и масштабируемость базы знаний. Данное исследование направлено на создание такой системы, ее программную реализацию и оценку эффективности в образовательном процессе [7, 10].

Цель исследования – разработка модели и программной реализации интеллектуальной системы обучения для САПР на базе AutoCAD, включающей базу знаний ГОСТов и правил проектирования, с использованием Python, PostgreSQL и интерактивных методов обучения, а также оценка ее эффективности в образовательной практике.

Материалы и методы исследования

Исследование опирается на принципы ИИ, включая модели представления знаний: продукционные модели, семантические сети и фреймы [11]. Продукционные модели вида «если – то» выбраны для базы знаний благодаря их модульности и способности к интеграции с правилами ГОСТов (например, ГОСТ Р 2.104-2023). ИОС классифицируется как экспертно-тренирующая система, формирующая навыки проектирования и предоставляющая адаптивную обратную связь [8, 12, 13].

ИОС включает три ключевые коллекции объектов:

1. Идентифицированные блоки: объекты AutoCAD (линии, окружности, полилинии) с уникальными идентификаторами, хранящимися в базе данных [6].

2. Отношения: логические или физические связи между блоками (например, расстояние, угол, параллельность), описывающие зависимости.

3. Правила: комбинации блоков и отношений, основанные на ГОСТах, определяющие допустимые конфигурации чертежа [1, 4].

База знаний реализована в PostgreSQL, что обеспечивает высокую производительность и масштабируемость [6, 8, 9]. Для управления данными используется ORM SQLAlchemy, упрощающая взаимодействие с базой и поддерживающая переносимость на другие СУБД.

Архитектура ИОС. Диаграмма включает четыре основных компонента (рис. 1): модуль интеграции с AutoCAD через pyautocad; модуль управления базой знаний, взаимодействующий с PostgreSQL через SQLAlchemy; модуль обработки заданий, формирующий каркас из блоков и правил; модуль обратной связи, анализирующий действия пользователя [6, 10]. Компоненты соединены стрелками, показывающими потоки данных.

База данных системы. Составлена ER-диаграмма с тремя таблицами (рис. 2): Blocks, Relations, Rules. Таблицы связаны через внешние ключи [8].

missing image file

Рис. 1. Архитектура интеллектуальной системы обучения Источник: составлено авторами по результатам данного исследования

missing image file

Рис. 2. ER-диаграмма Источник: составлено авторами по результатам данного исследования

missing image file

Рис. 3. UML-диаграмма процесса взаимодействия с AutoCAD Источник: составлено авторами по результатам данного исследования

Процесс взаимодействия с AutoCAD. На рис. 3 наглядно представлена последовательность UML-диаграммы, иллюстрирующая этапы: запрос пользователя через интерфейс; передача команды в pyautocad; выполнение операции в AutoCAD (например, вставка блока); сохранение результата в PostgreSQL; формирование обратной связи [6].

ИОС реализована на Python 3.10 с использованием библиотеки pyautocad для интеграции с AutoCAD [3]. Основные модули системы:

− модуль подключения к AutoCAD: взаимодействие с активным экземпляром AutoCAD через COM-интерфейс;

− модуль управления блоками: создание, вставка и модификация блоков в чертеже;

− модуль базы знаний: управление правилами и отношениями в PostgreSQL;

− модуль обратной связи: анализ действий обучаемого и предоставление рекомендаций;

− модуль тестирования: автоматизированная проверка чертежей на соответствие ГОСТам [14].

Система тестировалась на группе из 60 студентов инженерных специальностей, разделенных на две группы: экспериментальную (30 чел., использовали ИОС) и контрольную (30 чел., традиционное обучение). Задания включали создание чертежей (например, механических деталей и архитектурных планов) с учетом ГОСТ Р 2.104-2023 и ГОСТ Р 2.105-2019 [1]. Эффективность оценивалась по следующим параметрам: время выполнения заданий (в минутах); количество ошибок, связанных с нарушением стандартов; уровень удовлетворенности обучаемых, измеренный через анкетирование (шкала 1–10).

Подключение к AutoCAD

from pyautocad import Autocad, APoint

from comtypes import COMError

def connect_to_autocad(create_if_not_exists=True):

try:

acad = Autocad(create_if_not_exists=create_if_not_exists)

acad.app.Visible = True

print("Подключено к AutoCAD")

return acad

except COMError as e:

raise Exception(f"Ошибка подключения к AutoCAD: {e}")

if __name__ == "__main__":

acad = connect_to_autocad()

Подключение к базе данных

from sqlalchemy import create_engine, Column, Integer, String, Float, ForeignKey

from sqlalchemy.ext.declarative import declarative_base

from sqlalchemy.orm import sessionmaker, relationship

Base = declarative_base()

class Block(Base):

__tablename__ = 'blocks'

id = Column(Integer, primary_key=True)

name = Column(String, nullable=False)

x = Column(Float)

y = Column(Float)

z = Column(Float)

class Relation(Base):

__tablename__ = 'relations'

id = Column(Integer, primary_key=True)

type = Column(String, nullable=False) # e.g., 'distance', 'angle'

value = Column(Float)

block1_id = Column(Integer, ForeignKey('blocks.id'))

block2_id = Column(Integer, ForeignKey('blocks.id'))

block1 = relationship("Block", foreign_keys=[block1_id])

block2 = relationship("Block", foreign_keys=[block2_id])

class Rule(Base):

__tablename__ = 'rules'

id = Column(Integer, primary_key=True)

description = Column(String, nullable=False) # e.g., 'ГОСТ 2.104-2023'

relation_id = Column(Integer, ForeignKey('relations.id'))

relation = relationship("Relation")

def connect_to_db():

engine = create_engine('postgresql://user:password@localhost:5432/acad_db')

Base.metadata.create_all(engine)

Session = sessionmaker(bind=engine)

return Session()

if __name__ == "__main__":

session = connect_to_db()

Создание блока

def create_block(acad, block_name, points):

model_space = acad.model

for i in range(len(points) – 1):

model_space.AddLine(APoint(*points[i]), APoint(*points[i + 1]))

model_space.AddLine(APoint(*points[-1]), APoint(*points[0]))

print(f"Фигура '{block_name}' создана в ModelSpace")

Вставка блока

def insert_block(acad, insert_point, block_name):

doc = acad.doc

model_space = doc.ModelSpace

block_ref = model_space.InsertBlock(APoint(*insert_point), block_name, 1, 1, 1, 0)

block_ref.Update()

print(f"Блок '{block_name}' вставлен в точке {insert_point}")

return block_ref

if __name__ == "__main__":

acad = connect_to_autocad()

insert_block(acad=acad, block_name="NewBlock", insert_point=(20, 30, 0))

Проверка соответствия ГОСТам

def verify_gost_compliance(session, block1_id, block2_id, relation_type, expected_value):

relation = session.query(Relation).filter_by(

block1_id=block1_id,

block2_id=block2_id,

type=relation_type

).first()

if relation and abs(relation.value – expected_value) < 0.01:

print(f"Соответствие ГОСТу для {relation_type}: проверено")

return True

else:

print(f"Нарушение ГОСТа для {relation_type}: ожидалось {expected_value}, получено {relation.value}")

return False

Для обеспечения расширяемости отношения реализованы как отдельные Python-модули, регистрируемые в PostgreSQL через таблицу конфигурации. Это позволяет добавлять новые типы отношений (например, «ортогональность») без изменения ядра [6, 8]. SQLAlchemy поддерживает динамическое расширение модели данных, а использование Docker- для развертывания PostgreSQL упрощает масштабирование.

Результаты исследования и их обсуждение

Разработанная ИОС успешно интегрируется с AutoCAD через pyautocad, обеспечивая управление блоками и проверку чертежей в реальном времени. База данных PostgreSQL обрабатывает до 50,000 записей с временем отклика менее 0,03 с за запрос. SQLAlchemy сократило время разработки запросов на 25 % по сравнению с использованием raw SQL.

Экспериментальная группа, использующая ИОС, выполнила задания в среднем на 25 % быстрее, чем контрольная (среднее время: 90 мин против 120 мин). Количество ошибок, связанных с нарушением ГОСТов, сократилось на 45 % (среднее число ошибок: 3 против 1,5 на человека). Уровень удовлетворенности обучаемых составил 8,7/10 для экспериментальной группы против 6,2/10 для контрольной.

Сравнение с аналогичными системами (например, плагины AutoCAD или обучающие модули на C#) показало преимущества ИОС:

− гибкость: Python и pyautocad поддерживают кроссплатформенность и интеграцию с современными библиотеками;

− масштабируемость: PostgreSQL превосходит SQLite по производительности при больших объемах данных;

− адаптивность: обратная связь в реальном времени отсутствует в большинстве плагинов.

Однако ИОС имеет ограничения: зависимость от локальной установки AutoCAD ограничивает использование в облачных средах; отсутствие естественно-языкового интерфейса затрудняет взаимодействие для новичков; база знаний покрывает только основные ГОСТы (ГОСТ Р 2.104-2023, ГОСТ Р 2.105-2023), требуя расширения.

Результаты подтверждают гипотезу, что ИОС сокращает время обучения и повышает качество чертежей. Сравнение с исследованиями показывает, что использование современных технологий (Python, PostgreSQL) делает систему более устойчивой к устареванию по сравнению с VBA-based решениями [8, 10]. Однако для полной автоматизации требуется интеграция с машинным обучением, чтобы адаптировать задания под уровень знаний обучаемого.

Перспективы развития

Машинное обучение: использование алгоритмов (например, кластеризации) для персонализации обучения.

Облачные технологии: перенос базы знаний в облако (например, AWS RDS) для удаленного доступа.

Естественно-языковой интерфейс: интеграция с NLP-моделями для упрощения взаимодействия.

Расширение базы знаний: включение дополнительных ГОСТов и стандартов (ISO, ASME) [12, 15].

Заключение

Разработанная интеллектуальная система обучения для AutoCAD представляет собой эффективное решение для подготовки специалистов в области САПР. ИОС, включающая базу знаний ГОСТов, реализована с использованием Python, pyautocad и PostgreSQL, обеспечивая высокую производительность и соответствие стандартам. Программные модули успешно интегрируются с AutoCAD, предоставляя интерактивную поддержку и проверку чертежей в реальном времени.

Разработанная ИОС имеет потенциал стать стандартом для обучения САПР, способствуя повышению квалификации инженеров и архитекторов.


Конфликт интересов
Авторы заявляют об отсутствии конфликта интересов

Библиографическая ссылка

Винтерголлер И.Г., Мурых Е.Л., Синкевич Н.Н. РАЗРАБОТКА ИНТЕЛЛЕКТУАЛЬНОЙ СИСТЕМЫ ОБУЧЕНИЯ НА БАЗЕ AUTOCAD С ИСПОЛЬЗОВАНИЕМ СОВРЕМЕННЫХ ТЕХНОЛОГИЙ // Научное обозрение. Технические науки. 2025. № 4. С. 5-10;
URL: https://science-engineering.ru/article/view?id=1515 (дата обращения: 17.09.2026).
DOI: https://doi.org/10.17513/srts.1515