среда, 28 августа 2013 г.

Autocad P&ID: Баг HasFlowDirection

Первый баг в программе, который я решил серьёзно описать.

Описание проблемы

Программа позволяет серьёзно изменить начальные установки, в частности, добавлять новые элементы. Для себя мы приняли систему именования, чтобы выделить элементы из общего списка и применяем префикс ВНП. Но речь не об этом.
Создавая элемент, мы можем в один класс занести несколько различных обозначений, в зависимости от функционала, или от других признаков... В текущей задаче мне потребовалось создать дисковый затвор, причем отображаться он может как с лева на право, так и на оборот. Для этого можно применить свойство HasFlowDirection. Как написано в инструкции, достаточно лишь изменить значение логического типа с Ложь на Истина, и все будет в порядке: на блоке в чертеже будет появляться стрелка при нажатии на которую блок будет менять направление.

Пробуем. 
Изменяем свойство на Истина, нажимаем ОК.
Нет, не появилась. Снова открываем настройки. Свойство HasFlowDirection имеет значение ЛОЖЬ. Где-то что-то не так.... Нет, наверное, мы забыли изменить его. Или может нужно просто перейти на другое поле, тогда сработает.
Пробуем. На этот раз, нажимаем Применить. .......окно обновляется и мы видим..... ЛОЖЬ.
Получается, изменить это свойство не возможно???

Ищем решение

После тщетных попыток найти информацию по этой проблеме в интернете и на форумах автодеска, стал копать сам. 
Лезем в базу. Каждому классу в окне свойств соответствует запись в таблице PnPTables.
Чтобы проще было найти свой класс, отфильтровал записи по базовому классу.
Так, уже не плохо, но это только таблицы. 
Свойства хранятся в таблице PnPTableAttributes. Фильтруем по имени таблицы. Заодно проверим свойства в работающем обратном клапане.
 Всё сразу становится на свои места. Программисты, разрабатывая модель локализации, не учли, что в базу попадает не значение True/False, а его локализованный эквивалент. Т.е. с переводом элементов раскрывающегося списка мы лишились части функций программы. 

Итог

Выполнить эту настройку через интерфейс программы НЕВОЗМОЖНО. Чтобы добиться требуемого результата, мне пришлось вносить изменение напрямую в базу данных.

PS

На сайте Autodesk позже нашел вопрос без ответа, оставленный в начале августа 2013. Вопрос просто остался без внимания. На мой взгляд, это просто не достойно продукта, стоимостью 6 килоевро за лицензию. Задуман продукт хороший, но реализация и поддержка ужасны.


Комментариев нет:

Отправить комментарий