понедельник, 31 августа 2015 г.

Внутри таблиц поиска CSV. Существенное дополнение.

Не прошло и ночи как я уже дополняю предыдущий пост. Очень важное и интересное дополнение. Пока что не могу сказать, связано это с моим недавним обновлением UR8 или же это работает и на других обновлениях тоже.
В описании структур таблиц поиска CSV пишут:
CSV (от англ. Comma-Separated Values — значения, разделённые запятыми)
Подтверждение тому можно найти в любой таблице поиска из стандартных семейств Revit. Действительно, внутри файла идёт перечисление столбцов, разделителем которых является запятая. Однако, сегодня, подготавливая очередную таблицу для семейства, я был очень удивлён. Revit молча и без предупреждений импортировал не обработанную таблицу


Разделители точка с запятой воспринялись  корректно. Я решил провести серию экспериментов - одинаково ли работают две таблицы с разными разделителями.


Загрузив их в семейство,



Я создал два текстовых параметра для имён моих таблиц: 
Table_1 - таблица с разделителями точка с запятой;
Table_2 - таблица с разделителями запятая.
Далее создаю параметр S_Table_1 с типом данных Площадь. В этот параметр я хочу получить значение площади (в таблице Table_1 есть столбец S##AREA##SQUARE_METERS).


В отличие от типа данных Масса, которую мы вчера пытались получить из таблицы (m##PIPE_MASS##KILOGRAMS), с Площадью таких проблем не наблюдается. Поэтому я прописываю нашу функцию size_lookup для площади:


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


Загружаю таблицу повторно в своё семейство и получаю приятный бонус


Не спорю, возможно кому то понадобится в тексте и точка с запятой и запятая. В таком случае воспользуйтесь вложенными конструкциями if() и таблицы поиска тут уже не помогут.
Таким образом, мы рассмотрели ещё одну приятную особенность Revit, которая может помочь в автоматизации процесса проектирования.

2 комментария:

  1. Если в тексте встречается запятая, попробуйте этот текст ограничить двойными кавычками "Переход круглого сечения, пример запятой в тексте",125,100,300

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

Ваш комментарий