Официальный форум российского программного комплекса T-FLEX PLM


Поиск  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
Редактор переменных T-FLEX CAD-Next, Предложение пользователей по улучшению функций редактора переменных следующего поколения
 
Тема создана для обсуждения потенциально возможных функций редактора переменных T-FLEX CAD-Next; рассмотрение предложений от пользователей по улучшению существующих или добавление новых возможностей редактора переменных.

1. Обработка ввода пользователя
Предложение добавить свойство в параметрах переменной для обработки ввода пользователя посредством возврата значения по умолчанию.

Описание процедуры
Допустим, переменная p1 содержит константное значение параметра модели, с условно определенным диапазоном значений 1...5. Если пользователь вводит значение, которое выходит за пределы диапазона, программа должна отреагировать возвратом значения, установленного по умолчанию.

Описание функции
В параметрах переменной необходимо добавить параметры минимальных и максимальных границ диапазона возможных значений, и параметр возвращаемого значения по умолчанию. Если значение свойства возврата определено как NULL, то никаких действий не потребуется.

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

Преимущества
Данная возможность позволит обрабатывать исключения, приводящие к вырождению геометрии модели.
Изменено: vite - 07.05.2020 20:28:29
T-FLEX CAD 17.1.21.0
 
Поддерживаю.
В Крео ,например, реализован механизм ограничений параметров с выбором диапазонов допустимых значений и с выбором типа границы диапазона (входит или не входит). Так же есть общая настройка системы restricted_val_definition она ссылается на текстовый файл, в котором перечислены имена параметров и допустимые для них значения. Там же реализован и список.
{Name=<name>
Type=<type>[quantity_type]
[Default=<value>]
[Range=<range> I Enum=<enum>]
[Access=<access>]
}

ЗЫ как выглядит файлик написанов хэлпе:
http://support.ptc.com/help/creo/creo_pma/usascii/index.html#page/fundamentals%2Ffundamentals%2Ffund_seven_sub%2FExample__Sample_Restriction_Definition_File.html%23
ЗЗЫ Так же присутствует модификатор доступа к параметру.
Изменено: FRei - 08.05.2020 16:34:26
 
Цитата
FRei написал:
Поддерживаю.
В Крео ,например, реализован механизм ограничений параметров с выбором диапазонов допустимых значений и с выбором типа границы диапазона (входит или не входит). Так же есть общая настройка системы restricted_val_definition она ссылается на текстовый файл, в котором перечислены имена параметров и допустимые для них значения. Там же реализован и список.
{Name=<name>
Type=<type>[quantity_type]
[Default=<value>]
[Range=<range> I Enum=<enum>]
[Access=<access>]
}

ЗЫ как выглядит файлик написанов хэлпе:
http://support.ptc.com/help/creo/creo_pma/usascii/index.html#page/fundamentals%2Ffundamentals%2Ffund_seven_sub%2FExample__Sample_Restriction_Definition_File.html%23
ЗЗЫ Так же присутствует модификатор доступа к параметру.
то то же самое, что в следующих двух примерах?

B = (A > 1 && A < 5) ? A : 2.5

B = (A < 1) ? 1 : (A > 5 ? 5) : A

Второе точнее. Это ближайшая граница диапазона.

Или о другом речь?

 
Цитата
Алексей написал:
то то же самое, что в следующих двух примерах? B = (A > 1 && A 5 ? 5) : A Второе точнее. Это ближайшая граница диапазона.Или о другом речь?
А должна быть одна переменная В, без всяких там А - это раз. Во-вторых, в данных примерах нельзя вписать значение напрямую в В, нужно вписывать значение в А. В-третьих, никто не запрещает в А вписать любое значение, а нужно только в диапазоне. В-четвёртых, у переменных нет значений по дефолту. В-пятых, не отслеживается изменения значений внешних переменных в сборках. Т.е. если я не менял значения внешних переменных в сборке, то при смене значений этих переменных во фрагменте, значения в сборке также должны поменяться, но если я их поменял в сборке, то должны остаться значения пользовательские(а Компас умеет....).
 
Алексей, в предложении я затронул только значение вещественного типа, хотя переменная в T-FLEX CAD является объектом универсального типа. Понятно, что для обработки ввода текста параметры диапазона значений не потребуются. В этом случае, по видимому, лучшим решением может быть либо выражение с использованием символа # для обозначения себя, например:
Код
#<1 ? 1 : (#>5 ? 5 : #)

либо вписать имя пользовательской функции обработчика.
Изменено: vite - 11.05.2020 18:47:19
T-FLEX CAD 17.1.21.0
 
Цитата
Алексей написал:
Или о другом речь?
Вложенные тернарные операторы это зло! Нельзя простым инженерам такую реализацию показывать, и все задачи это не решает. Хочется видеть вот такой интерфейс:


во-вторых, функционал в Крео этим не исчерпывается: https://support.ptc.com/help/creo/creo_pma/r6.0/russian/index.html#page/fundamentals%2Ffundamentals%2Ffund_seven_sub%2FSyntx_for_External_Definition_File_for_Table_param.html%23
Хотя в ТФлекс это реализовано через функции работы с БД, но было бы интересно завести таблицу соответствия переменной другим параметрам.
Цитата
vite написал:
либо вписать имя пользовательской функции обработчика.

Если без переделки интерфейса, то от пользователя требуется вписать выражение вида (min_value:max_value),[min_value:max_value], или смешанное (min_value:max_value], [min_value:max_value), тогда математически корректно и понятно. Функцию warn() вызывать автоматом если значение не в диапазоне.
Хотя тут могут быть проблемы с перегрузкой скобок. Или втюхать это выражение в первый элемент списка, но это весьма неявно будет для пользователя.
Изменено: FRei - 11.05.2020 21:28:36
 
Это должно быть только с добавлением полей в интерфейс. Всё остальное только усугубит восприятие.
 
Еще один момент по переменным, хочу обсудить.
В Крео есть фича чтобы вычисления параметров проходили как "До регенерации" модели, так и "После регенерации". Может быть предусмотреть такой сценарий- значение переменной вычисляется после регенерации модели и несет в себе типа "справочную" информацию. Например, пригодится с функциями get(),tget(), так же поможет от рекурсии - по этому поводу даже тема была на форуме.
 
FRei, вы имеете в виду вывод отладочной информации?
T-FLEX CAD 17.1.21.0
 
vite,не только, еще и собрать какую нибудь строку чтобы надпись написать или посчитать чего-нибудь по каким либо данным с 3Д геометрии.
 
FRei, можно более конкретный пример, что вы имеете ввиду под определением “собрать строку”?
T-FLEX CAD 17.1.21.0
 
Цитата
FRei написал:
vite,не только, еще и собрать какую нибудь строку чтобы надпись написать или посчитать чего-нибудь по каким либо данным с 3Д геометрии.
Всё это и так можно сделать штатными средствами. Пока как всегда никакой ясности в отсутствии конкретики.
Страницы: 1