Импорт трубопровода из программ AVEVA (PDMS, E3D, MARINE)
В Гидросистеме предусмотрена возможность импорта геометрии трубопровода из различных программ AVEVA (PDMS, E3D, MARINE) через "открытый" формат Гидросистемы (файлы XML). Для использования данной функции необходимо подключить к PDMS/E3D/MARINE специальный дополнительный модуль (.NET plug-in), который позволяет экспортировать данные из этой программы в XML файлы для Гидросистемы.
AVEVA PDMS 12.1, E3D 1.1, E3D 2.1, E3D3.1, Marine 12.1
После установки Гидросистемы в директории установки программы (по умолчанию, «C:\Program Files (x86)\Truboprovod\hst») находится папка «AVEVA», содержащая вложенные папки подключаемых модулей для разных продуктов AVEVA и их версий, в которых находятся основная библиотека подключаемого модуля AVEVA-HST.dll, вспомогательные библиотеки и папка «Data» c файлом пользовательских настроек (options.json) и профилями конфигурационных файлов.
Подключение модуля к AVEVA PDMS/E3D/MARINE
1. В случае использования AVEVA PDMS/E3D/MARINE c сетевыми настройками необходимо скопировать файлы модуля соответствующей версии из директории установки Гидросистемы в директорию, доступную всем пользователям AVEVA PDMS/E3D/MARINE.
При размещении файлов модуля на сетевой папке и применении продуктов AVEVA, использующих .NET Framework до версии 4.0 потребуется сделать полностью доверенной сборку AVEVA-HST.dll. Это можно сделать при помощи утилиты политики системы безопасности доступа к коду «Caspol.exe», выполнив в командной строке «cmd.exe» команду вида:
*dotnet*\caspol.exe -m -ag 1.2 –url "file://\\path*" FullTrust
где *dotnet* – путь к используемому .NET Framework,
path – сетевой путь к размещенным библиотекам модуля.
например:
"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CasPol.exe" -m -ag 1.2 –url "file://\\Servername\addins\AVEVA-HST_1.3.4/*" FullTrust
2. Подключить модуль соответствующей версии к AVEVA PDMS/E3D/MARINE, добавив в активный DesignAddins.xml (OutfittingAddins.xml для MARINE) строчку вида:
<string>*path*\ AVEVA-HST</string>,
где >*path* – путь к файлу AVEVA-HST.dll из набора библиотек модуля.
Если все сделано правильно, при запуске Design (PDMS/MARINE) или Model (E3D) в консоли отобразится информация о загрузке модуля.
В интерфейсе должна появиться новая инструментальная панель (Toolbar) в AVEVA PDMS/MARINE или вкладка на ленте с кнопкой «=>Гидросистема» в AVEVA E3D.
Альтернативный способ добавления панели см. ниже.
Настройка общих параметров экспорта производится при помощи редактирования (в текстовом редакторе) конфигурационных файлов формата JSON в директории программы. Пользовательские настройки доступны для редактирования через интерфейс модуля в AVEVA PDMS/E3D/MARINE.
Конфигурационные файлы разделены на две части – общая, описывающая правила экспорта элементов и параметров модели AVEVA PDMS/E3D/MARINE в Гидросистему (зависит от настроек и способа работы в 3D системе), и личная, в которой задаются параметры, специфичные для пользователя.
Общие настройки всегда хранятся в одной директории с библиотекой подключаемого модуля.
Общие файлы конфигурации группируются в наборы («профили»), что позволяет иметь несколько предопределенных конфигураций. Каждый набор хранится в отдельной папке.
Файлы конфигурации по умолчанию находятся в папке «…\data\default» относительно файла модуля:
Пользовательские настройки первоначально берутся из директории расположения модуля. Если пользователь изменит настройки через пользовательский интерфейс и нажмет кнопку сохранить, то измененные пользовательские настройки сохранятся в директории, указанной в настроечном файле evars.bat (evars.init) в переменной окружения %PDMSUSER% для AVEVA PDMS/MARINE, или %AVEVA_DESIGN_USER% для AVEVA E3D, и будут использоваться модулем на рабочем месте пользователя из этих локальных директорий.
Для начала работы экспорта в Гидросистему нужно нажать на кнопку инструментальной панели «=>Гидросистема». Откроется диалоговое окно модуля:
Описание диалогового окна модуля экспорта:
Обозначение |
Описание |
|
Показать выбранные ветви в окне 3D модели |
|
Открытие диалогового окна настроек. Изменение пользовательских настроек, выбор профиля общих настроек. |
|
Перечитать конфигурационные файлы. Если файлы настроек были изменены через текстовый редактор при запущенном модуле, их можно перечитать. |
|
Добавить в перечень экспорта выбранный в Design explorer участок и все связанные с ним перекрестными ссылками Tref и Href участки в рамках установленной области поиска. |
|
Добавить выделенный в Design explorer BRANCH или все BRANCH выделенного PIPE |
|
Удалить выбранный в списке выгрузки BRANCH из списка экспортируемых |
|
Очистить список экспортируемых участков |
|
Начать передачу трубопровода в XML-файл открытого формата программы Гидросистема |
|
Включение отслеживания выбранных в окне модуля BRANCH в дереве Design Explorer |
|
Переключатель определяет область поиска («ZONE», «SITE», «PIPE» или «BRANCH») присоединенных ветвей для работы кнопки |
|
Выбор языка пользовательского интерфейса |
Выбрав PIPE, BRANCH или элемент BRANCH в дереве проекта, необходимо добавить в перечень экспорта ветви трубопровода с помощью кнопок (добавление текущего BRANCH или всех BRANCH текущего PIPE, а также всех связанных с ними, в рамках установленной области поиска) или
(добавление BRANCH, частью которого является текущий компонент, текущего BRANCH или всех BRANCH текущего PIPE).
Для начала экспорта выбранных ветвей следует нажать кнопку .
Появится диалог сохранения файла формата XML, последующий импорт которого осуществляется средствами программы Гидросистема:
После указания пути сохранения и имени файла, следует нажать кнопку «Сохранить».
Перед выполнением операций экспорта необходимо проверять трубопроводы на логическую целостность. BRANCH должны быть соединены (заполнены атрибуты HREF, TREF, CREF), правильно назначены атрибут HSTU у BRANCH и LSTU у элементов трубопровода.
При выполнении экспорта необходимо в перечень экспортируемых BRANCH добавлять все присоединенные к тройникам и врезкам ветви.
Далее в Гидросистеме необходимо выбрать пункт меню «Файл -> Импорт…» и указать созданный файл в формате *.xml.
Если в Гидросистеме экспортированный трубопровод построился некорректно или имеет разрывы, то необходимо проверить правильность модели в AVEVA PDMS/E3D/MARINE.
Также, после импорта, в Гидросистеме рекомендуется нажать кнопку «Обновить» на "Панели параметров графики".
Кнопка открывает диалоговое окно параметров экспорта.
Не экспортировать трубы с условиями... - если установлен данный флаг, удовлетворяющие условиям BRAN, экспортироваться в Гидросистему не будут. Сами условия прописываются в виде PML выражений, возвращающих истину/ложь, в диалоговом окне по нажатию кнопки рядом с флагом.
Путь для сохранения XML файла - путь по умолчания для сохранения файла открытого формата программы Гидросистема.
Ось "N" соответствует оси Гидросистемы - ось N в AVEVA PDMS/E3D/MARINE будет соответствовать указанной оси Гидросистемы.
Профиль - Наименование используемого набора общих настроек.
Все файлы настроек имеют формат JSON и кодировку «UTF-8 (без BOM)».
Типы значений: boolean – true/false, integer – целое число, double - число с плавающей точкой, array – массив, string – строка.
PML выражения выполняются относительно текущего элемента в BRANCH. При получении атрибутов бранча текущим элементов является бранч.
Для проверки pml выражения следует выполнить его в консоли AVEVA, заключив выражение в круглые скобки и предварив оператором «q».
В выражениях допускается использовать PML1 и функции на PML2. Используя PML2 функции, следует вместо глобальной переменной «!!CE» использовать переменную «!!CEHST».
Дополнительные функции можно использовать в выражениях pml в настроечных файлах. Функции не допускают вложенности.
Описание |
Синтаксис |
Пример |
Функция возвращает позицию, находящуюся между двумя заданными позициями |
Position MID1(Position р1, Position р2) |
MID1(PPOS1;PPOS2) |
Функция возвращает расстояние между двумя заданными точками |
number DIST1 (Position р1, Position р2) |
DIST1(PPOS1;PPOS2) |
Функция возвращает расстояние от прямой, построенной по двум первым точкам, до третьей точки |
number DIST1 (Position р1, Position р2, Position р3) |
DIST1 (PPOS1;PPOS2;PPOS3) |
Функция возвращает размер массива PARA |
number COUNTPARA1 |
COUNTPARA1 |
Настройка пользовательских параметров экспорта
Файл:
options.json
Описание:
В файле определяются пользовательские параметры экспорта из AVEVA PDMS/E3D/MARINE в Гидросистему. Эти параметры устанавливаются в диалоговом окне, см. выше.
Структура:
{
<parameter>: <value>,
...
}
Параметры:
Имя параметра |
Тип значения |
Описание |
ApplyFilter |
bool |
Если true, будут применены пользовательские условия фильтра (параметр "Filter") при сборе сети трубопровода |
Profile |
string |
Задаёт имя профиля настроек |
Axis |
number |
Какой оси Гидросистемы будет соответствовать ось N в AVEVA (ось Y) 0 – «Y» 1 – «X» 2 – «-Y» 3 – «-X» |
Filter |
string array |
Задаёт список выражений PML, необходимость экспорта BRAN. Каждое выражение должно возвращать логическое значение для текущего BRANCH. Если выражение возвращает false, участок не экспортируется |
PathXML |
string |
Путь по умолчания для сохранения файла экспорта |
Настройка соответствий элементов AVEVA элементам Гидросистемы при экспорте
Соответствие элементов AVEVA PDMS/E3D/MARINE элементам Гидросистемы, соответствие атрибутов элементов, а также общих параметров проекта определяется в файле elements.json
Описание типов элементов Гидросистемы и их параметров см. тут.
Структура:
{
"multiplier": <value>,
"elements": {
"AVEVA_Element": {
"rules": {
<HST_Element>: {
"expression": <PML_stringExpression>,
"match": [<value> ...],
"parameters": {
Parameter: <PML_numericExpression>,
...
},
},
...
},
},
...
},
"branches": {
Parameter: <PML_numericExpression>,
...
}
}
Параметры:
Имя параметра |
Тип значения |
Описание |
Значение по умолчанию |
"multiplier" |
number |
Множитель, применяемый при преобразовании координат |
0.001 |
"elements" |
object |
Перечень типов элементов AVEVA и правил преобразования |
|
AVEVA_Element |
object |
Имя определяет тип элемента AVEVA ("ELBO", "TEE", "OLET" и т.д). Значение определяет соответствующие данному типу элемента параметры |
|
"rules" |
object array |
Список правил экспорта. Правила проверяются сверху вниз до первого совпадения. Если совпадения не найдено, элемент экспортируется как узел |
|
HST_Element |
object |
Имя определяет тип элемента Гидросистемы (номер элемента в двойных кавычках). Значение определяет соответствующие данному типу правила соответствия и выражения для установки параметров элемента |
|
"expression" |
string |
Определяет выражение PML, значение которого сравнивается со значениями массива соответствий match. Значение выражения должно иметь тип string. Если найдено соответствие одному из значений, AVEVA_Element экспортируется как HST_Element. Соответствие считается найденным, если параметр отсутствует или имеет значение null |
|
"match" |
string array |
Определяет значения, сравниваемые со значением, возвращаемым выражением из "expression" |
|
"parameters" |
object |
Список параметров |
|
Parameter |
string |
Имя определяет тип параметра элемента Гидросистемы (имя параметра в двойных кавычках из схемы файла открытого формата OpenFormat.xsd, который можно найти в директории установки программы). Значение определяет выражение PML для вычисления параметра. Выражение должно возвращать тип real |
|
"branches" |
object |
Список параметров ветвей |
|
"tubi" |
object |
Параметры для определения диаметров труб, выходящих из ответвления (TEE, OLET) inDiam – внутренний диаметр outDiam – наружный диаметр |
|
Пример:
{
"multiplier": 0.001,
"elements":
{
"TEE":
{
"rules":
{
"28":
{
"parameters":
{
"name":"type + ' ' + name"
}
},
"29":
{
"parameters":
{
"name":"type + ' ' + name"
}
},
"6":
{
"parameters":
{
"name":"type + ' ' + name"
}
}
}
},
"tubi": {
"inDiam": "Lbore",
"outDiam": "Lodiam"
},
"branches":
{
"inDiam":"PHBO",
"outDiam":"PHOD",
"flow":"0",
"tFluid":"TEMP of PIPE",
"Density":"0",
"Viscosity":"0",
"GasContent":"0",
"Kavitation":"0"
} ,
"project":
{
"name1": "'Проект'",
"document1": "'Документ'",
"object1": "'Объект'",
"installation": "",
"organization": "",
"stage": "",
"fio1": "'Фамилия1'",
"fio2": "",
"fio3": "",
"fio4": "",
"fio5": "",
"fio6": "",
"pos1": "",
"pos2": "",
"pos3": "",
"pos4": "",
"pos5": "",
"pos6": "",
"avertemp": "5.4",
"intemp": "20"
},
"pipeline":
{
"name": "'Трубопровод'",
"QUnits": "'кг/час'",
"weldLosses": "'true'",
"recalcRate": "'false'",
"roughness": "0.2",
"maxVelocity": "0",
"AbsHeight": "0"
},
"fluid":
{
"name": "stext of text 1 of Fluref",
"state": "'Undefined'",
"method": "'WSP'"
}
}
Файл:
«View.json»
Описание:
В файле описаны атрибуты для настройки вида модуля.
Структура:
{
"CreateAddinPanel":<true/false>
"Language ":<lan>
}
Параметры:
Имя параметра |
Тип значения |
Описание |
CreateAddinPanel |
bool |
true – в интерфейсе AVEVA автоматически будет создана отдельная панель/лента для модулей «НТП Трубопровод» false – добавление модуля в интерфейс AVEVA будет осуществляться вручную пользователем. Зарегистрированная функция для подключения вручную |
Language |
string |
Язык интерфейса. Поддерживаются языки: «ru», «en» |
Пример:
{
"CreateAddinPanel":true,
"Language":"en"
}
Добавление модуля в интерфейс AVEVA вручную:
Войдите в меню кастомизации панели инструментов:
Создайте кнопку и привяжите к ней команду открытия окна модуля AVEVA-Гидросистема:
Перетащите созданную кнопку в нужную вкладку панели инструментов: