Интеграция с T-FLEX DOCs
Страница в процессе разработки. |
T-FLEX DOCs — это система управления жизненным циклом изделия (PLM), разработанная компанией «TOP SYSTEMS». Она предоставляет централизованные возможности для хранения, управления версиями, жизненными циклами и организации совместной работы над проектной документацией, чертежами и 3D-моделями.
Модуль интеграции T-FLEX DOCs предназначен для организации автоматизированного обмена данными между вычислительными задачами в Engee и объектами расчетов в T-FLEX DOCs. Это позволяет создать сквозной цифровой цикл: выгружать исходные данные для проведения расчетов из T-FLEX DOCs в Engee, выполнять расчеты с помощью вычислительных мощностей и инструментов Engee и затем загружать результаты расчетов обратно в T-FLEX DOCs для дальнейшего использования, анализа и управления версиями.
Начало работы с модулем T-FLEX DOCs в Engee
Для начала работы с модулем T-FLEX DOCs в Engee необходима предварительная настройка на стороне T-FLEX DOCs и установка подсистемы Engee.Интеграции.
-
Подготовка T-FLEX DOCs:
-
Импортируйте в свою базу данных T-FLEX DOCs справочники из файла
Справочники для расчетов.ddx
. -
Импортируйте макрос для обращения к T-FLEX DOCs из файла
Интеграция с Engee 1D Lite.ddx
. -
Поместите исполняемый файл
TflexDocsEngee.exe
в папкуProgram
вашей установленной версии T-FLEX DOCs.
-
-
Установка подсистемы Engee.Интеграции:
-
Для установки пакета поддержки оборудования, запуска клиентской программы и ее подключения к серверу Engee следуйте инструкциям, описанным в статье Engee.Интеграции.
-
-
Импорт модуля и создание объекта: После успешного подключения пакета поддержки вернитесь в Engee и выполните следующую команду:
using Main.EngeeDeviceManager.Devices.TFLEXDOCS
Далее создайте объект
TFLEXDOCS
, который будет использоваться для взаимодействия с системой:tdocs = TFLEXDOCS.Tflexdocs()
Основные методы работы с T-FLEX DOCs
Для взаимодействия с системой T-FLEX DOCs используются следующие методы:
-
TFLEXDOCS.start_work
— инициализирует сессию для работы с T-FLEX DOCs. -
TFLEXDOCS.new_calculation
— создает новый объект расчета в T-FLEX DOCs. -
TFLEXDOCS.upload_files
— загружает файлы с результатами расчета в указанный объект расчета. -
TFLEXDOCS.download_files
— выгружает файлы с исходными данными из указанного объекта расчета. -
TFLEXDOCS.stop_work
— завершает сессию работы с T-FLEX DOCs.
Пошаговый пример работы с T-FLEX DOCs
Рассмотрим пример полного цикла работы: от создания сессии и объекта расчета до выгрузки данных, проведения вычислений в Engee и загрузки результатов обратно в T-FLEX DOCs.
-
Создание сессии для работы с T-FLEX DOCs — запустите сессию, при необходимости указав пути. Если пути не указаны, будут использованы значения по умолчанию.
# Запуск сессии с путями по умолчанию TFLEXDOCS.start_work(tdocs) # Альтернативный вариант с указанием путей # docs_path = raw"C:\Program Files (x86)\T-FLEX DOCs 18\Program" # exe_path = raw"C:\Program Files (x86)\T-FLEX DOCs 18\Program\TflexDocsEngee\TflexDocsEngee.exe" # TFLEXDOCS.start_work(tdocs, docs_path, exe_path)
-
Создание нового объекта расчета — создайте в T-FLEX DOCs новый объект с именем и описанием.
TFLEXDOCS.new_calculation(tdocs, "new_calc", "Расчет для тестирования интеграции с Engee")
-
Выгрузка исходных данных для расчета — получите файлы из созданного объекта расчета. Перед этим убедитесь, что необходимые исходные данные размещены в объекте расчета в T-FLEX DOCs.
# Получаем файлы из объекта расчета "new_calc" download_files = TFLEXDOCS.download_files(tdocs, "new_calc") # Функция для сохранения полученных файлов в рабочую директорию Engee function prepare_files_for_engee(calc_files::Dict{String, Vector{UInt8}}) for (file_name, file_content) in calc_files write(file_name, file_content) end end # Сохраняем файлы prepare_files_for_engee(download_files)
-
Проведение расчета — используйте выгруженные файлы для проведения необходимых вычислений в Engee. В данном примере расчет имитируется.
# Имитация проведения расчета и генерации результата path = "results.txt" result_content = "" for i in 1:10 calculation_result = i * 100 / i^3 result_content *= string(calculation_result) * "\n" end # Запись результата расчета в файл write(path, result_content)
-
Подготовка и загрузка результатов расчета — подготовьте полученные файлы результатов и загрузите их обратно в объект расчета в T-FLEX DOCs.
# Функция для подготовки файлов к отправке в T-FLEX DOCs function prepare_files_for_docs(paths::Vector{String}) files_dict::Dict{String, Vector{UInt8}} = Dict() for path in paths file_content = read(path) base_name = basename(path) files_dict[base_name] = file_content end return files_dict end # Подготавливаем файл с результатами files_to_upload = prepare_files_for_docs([path]) # Загружаем результаты в объект расчета "new_calc" в T-FLEX DOCs TFLEXDOCS.upload_files(tdocs, files_to_upload, "new_calc")
-
Завершение сессии — по окончании работы закройте сессию.
TFLEXDOCS.stop_work(tdocs)
Возможные проблемы и их решение
-
Ошибка инициализации — если сессия не запускается (
TFLEXDOCS.start_work
завершается с ошибкой), то убедитесь в следующем:-
Пути к директории Program и исполняемому файлу TflexDocsEngee.exe указаны верно.
-
Директория TflexDocsEngee скопирована в папку Program установленной версии T-FLEX DOCs.
-
Необходимые справочники (
.ddx
-файлы) импортированы в проект.
-
-
Объект расчета не найден — при вызове
TFLEXDOCS.download_files
илиTFLEXDOCS.upload_files
убедитесь, что объект расчета с указанным именем существует в T-FLEX DOCs. -
Проблемы с передачей файлов — модуль ожидает, что файлы представлены в виде словаря
Dict{String, Vector{UInt8}}
, где ключ — это имя файла, а значение — его содержимое в виде массива байтов. Убедитесь, что ваши функции подготовки файлов (prepare_files_for_engee
,prepare_files_for_docs
) корректно преобразуют данные.