пятница, 1 апреля 2016 г.

Сравнение Tekla и Revit. Синтаксис формул

           Очень интересная вещь тем людям кто мучается с формулами при создании семейств в #revit или компонентов в #tekla. Сравним синтаксис двух программ. Первым пойдет Revit , он же у нас гибкий инструмент для всех разделов:

1. Revit
 
       В формулах можно использовать следующие арифметических операций: сложение, вычитание, умножение, деление, возведение в степень, логарифмирование и извлечение квадратного корня. Также поддерживаются тригонометрические функции: синус, косинус, тангенс, арксинус, арккосинус и арктангенс.
Формулах используются следующие операторы и функции:
  • Дополнение — +
  • Вычитание:-
  • Умножение — *
  • Деление — /
  • Возведение в степень: ^: x ^ y, возведение x в степень y
  • Логарифм — вход
  • Квадратного корня: sqrt: sqrt(16)
  • Синус: sin
  • Косинус: cos
  • Тангенс: tan
  • Арксинус: asin
  • Арккосинус: acos
  • Арктангенс: atan
  • e в степени x — exp
  • Абсолютное значение — abs
  • пи — pi (3. 141493...
Вы целые числа, десятичные и дробные значения в формулах можно вводить, руководствуясь стандартным математическим синтаксисом в следующем примере:
  • Длина = Высота + Ширина + sqrt(Height*Width)
  • Длина = Стена1 (11000 мм) + Стена2 (15000 мм)
  • Площадь = длина (500 мм) * ширина (300 мм)
  • Площадь = pi() * радиус ^ 2
  • Объем = длина (500 мм) * ширина (300 мм) * высота (800 мм)
  • Ширина = 100 м * cos(angle)
  • x = 2*abs(a) ABS(a) + abs(b/2)
  • Число_элементов_массива = длина/интервал
 

Синтаксис условных выражений (логические операции):

Используется структура условного выражения: IF (< условие >, < результат если истина >, < результат если ЛОЖЬ >)
Это означает, что значения параметра в зависимости от ли условие выполняется (ИСТИНА) или не удовлетворены (ЛОЖЬ). Если условие является истинным, то программа возвращает значение true. Если условие является ложным, возвращается значение false.
Условные выражения могут содержать числовые значения, имена параметров и Да/нет параметров. В условии можно использовать следующие операторы сравнения: <>,, =. Также поддерживается использование логических операторов с условными выражениями: И, или нет. В настоящее время < = и > = не реализована. Для таких операторы можно использовать логическое не. Например < = b можно записать как NOT(a>b).
Ниже приведены примеры формул с условными выражениями.
Обычное IF: = IF (длина < 3000 мм, 200 мм, 300 мм)
IF со строковым параметром: = IF (длина > 10500 мм, «Строка1», «Строка2»)
IF и логический оператор AND: = IF (AND (x = 1, y = 2), 8, 3).
IF и логический оператор OR: = IF (или (A = 1, B = 3), 8, 3)
Вложенное IF-условие: = IF (длина < 35', 2' 6", IF (длина < 45', 3', IF (длина < 55', 5', 8')))
Если с Да/Нет условие типа: = длина > 40 (Примечание подразумевается условия и результаты.

 2. Tekla

Арифметические действия :
 Логические и операторы сравнения 
Можно использовать выражения if-then-else для проверки условия и задания значения в зависимости от результата.
=if (D1>200) then 20 else 10 endif
Внутри условного выражения также можно использовать следующие операторы:


  

Ссылочные функции

Ссылочная функция ссылается на свойство другого объекта, такое как толщина пластины второстепенной детали. Tekla Structures ссылается на объект на системном уровне, поэтому, если свойство объекта изменяется, то изменяется и значение ссылочной функции. 

 

Математические функции:



Статические функции



Функции преобразования типов данных:

Строковые операции

Строки в формулах переменных должны быть заключены в кавычки. Например, для определения размера профиля PL100*10 с двумя переменными P2 = 100 и P3 = 10 введите формулу следующим образом:
="PL"+P2+"*"+P3
Прим.: Tekla Structures обрабатывает расстояния между болтами как строки. Для задания расстояний между болтами выберите в столбце Тип значения вариант Список расстояний и введите формулу следующим образом:
=P1+" "+P2
Результатом будет 100 200, если P1 = 100 ( длина ) и P2 = 200 ( длина )
Можно использовать следующие функции:

 

Тригонометрические функции.

При использовании в формулах переменных тригонометрических функций необходимо включать префикс для определения единицы измерения. При отсутствии префикса по умолчанию Tekla Structures использует в качестве единиц измерения радианы.
  • Префикс d обозначает градусы. Например: sin(d180)
  • Префикс r обозначает радианы (по умолчанию). Например: sin(r3.14) или sin(3.14)
В формулах переменных можно использовать следующие тригонометрические функции:


Функция промышленного размера.

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

       Вот и все , несложно сделать вывод кто тут вышел намного более гибким инструментом в руках инженера.

15 комментариев:

  1. Михаил, а если Dynamo встроят в Revit, то его возможности будут относиться к "Revit из коробки"?

    ОтветитьУдалить
  2. прикольно.
    ревиту очень не хватает конвертации единиц внутри таблиц

    ОтветитьУдалить
    Ответы
    1. Ревиту так же не хватает "ссылочных функций". Это возможность получить из одного семейства параметры другого семейства.

      Удалить
    2. Да и статистические функции бы не помешали...

      Удалить
  3. Про Revit - "он же у нас гибкий инструмент для всех разделов"...
    В том то и дело, что везде по чуть чуть... как говорится: "за двумя зайцами погонишься — ни одного не поймаешь".
    Программа создана для продажи менеджерами людям подверженных внушению ... "это же BIM" + красивые картинки, схемы.
    Например Project StudioCS (модуль железобетон) позволяет повысить скорость выдачи рабочей документации минимум на 30% по отношению к чистому AutoCAD (при минимальных затратах на обучение персонала).
    Revit прироста в скорости практически не дает ... от него помощь только при создании сложной геометрии, схем ... вообщем для Стадии П.
    Рабочку (железобетон) можно, но прироста нет совсем ...

    ОтветитьУдалить
    Ответы
    1. так никого и не поймал, кто-то за 100 зайцами побежал

      Удалить
  4. Знаком с этой "мага" программой вплотную с 2010 г.
    В 2008 г. ставил смотрел что к чему (нужно было для заказчика картинку ... в итоге 3 часовой видео курс Архикада и заказчик доволен).
    На дворе 2016 г. - то что было в 2010 и то что сейчас отличается, но скорость развития явно "черепашья". Помнится не было даже то ли диаметра, то ли радиуса как такового ... приходилось костыли изобретать.
    Не так давно открыл старый файл (2011 г.) а там часть элементов съехало ... даже преемственность не могут адекватно наладить ... все кичатся "мы ж код переписали" ... да мне как то все равно ... новая версия косячит со старыми файлами ... пришлось специально искать старую версию, чтобы было все нормально (переделывать слишком много бы пришлось).

    ОтветитьУдалить
    Ответы
    1. Это я про Revit ... С Теклой к большому сожалению не знаком ...

      Удалить
    2. ну я бы не сказал что они что-то кардинально переписали , в основном по мелочи, но все делается что бы вы покупали новые продукты и не более того.

      Удалить
    3. Сомневаюсь: недавно открывал две модели датированные 2006 годом и не заметил каких-либо проблем. А вот с ревитовскими моделями такое несколько раз случалось. Например, в более свежих версиях программы возникали циклические ссылки. И этим моделям было гораздо меньше 10 лет.

      Удалить
    4. Так и я имел ввиду именно Ревитовские модели

      Удалить
    5. Сергей, просто я начал набирать сообщение ещё до вашего ответа, но немного опоздал :-)

      Удалить
  5. Да у Ревита есть проблемы с открытием старых проектов, у меня как то было, что он в обще не открывал проект выполненный 3 года назад выдавал ошибку (миллиметры в 4 степени и только кнопка отмена). Я может быть и пересел бы с Ревита на Теклу но очень мало уроков по ней и что делать с коллегами пенсионерами которые работают в автокаде?

    ОтветитьУдалить
  6. Про ревит, кстати, пропустили функции по работе с lookup table, как минимум аналог "Промышленного размера".

    ОтветитьУдалить

Поиск по этому блогу