В библиотеке элементов появилась наша заглушка. Перед размножением проверим ее на работоспособность. Для этого надо поменять категорию "Оборудование" на категорию "Детали трубопроводные". Увы хотелось бы на этом этапе разделить воздуховоды и трубы. Но параметр "Детали трубопроводные" является основополагающим и если создать категорию "Деталь воздуховода", то MS уже не поймет, что это заглушка. Будем разделять с помощью других параметров.
После смены категории переходим в MS, обновляем базу. Чертим воздуховод и вставляем нашу заглушку. Заглушка встала, все работает и можно значит дальше уже переходить к размножению на все типоразмеры.
Я дополнительно проверяю еще как она уходит в спецификацию. И после проверки нашел косяк за двоения. Надо в объектах "Параметризация", "Порт1" "Список работ" добавить параметр "Включить в спецификацию" с значением "0".
После успешной проверки возвращаем категорию заглушки в оборудование. Хотелось бы конечно всю работу проделать в конечной категории, но БСЭ не поддерживает массовое переименование в других категориях, кроме оборудования.
Первым делом скопируем теплоизоляцию в базе в новые объекты и удалим их из заглушки. Новые объекты делаем категорией "перечень работ"
Изоляцию удаляем из заглушки и пока забываем про нее. К изоляции вернемся позднее.
У подобъектов заглушки сменим категории. Параметризация и Порт1 сменим на "Детали трубопроводов", все остальное на крепежные изделия.
Проверили все формулы, нашел в одном месте косяк, исправили(Файл выложил под версией 2). Теперь можно подходить к размножению объекта.
Для этого надо создать все варианты возможные по размерам воздуховодов.
В СП 60.13330.2020, приложение К указано требование к соотношению сторон 1 к 4. Минимальный размер примем 100 мм., максимальный 5000 мм., шаг 50 мм.
В Excel забиваем таблицу:
Столбец А- числа от 100 до 5000 с шагом 50.
Строка 1- числа от 100 до 5000 с шагом 50.
Начиная с ячейки B2 забиваем формулу:
=ЕСЛИ(ИЛИ($A2/B$1>4;B$1/$A2>4);"ЛОЖЬ";СЦЕПИТЬ($A2;"х";B$1))
Растягиваем на все ячейки и получаем вот такую таблицу
Далее копируем внутренние ячейки со всеми получившимися размерами в свободное место(Только значения):
Получившийся массив нам надо проставить в 1 столбец. Для этого используем макрос. Нажимаем ALT+F11 и в появившемся листе кликаем правой кнопкой по нашему листу, insert-module
Вставляем код:
Sub ConvertRangeToColumn()
'UpdatebyExtendoffice
Dim Range1 As Range, Range2 As Range, Rng As Range
Dim rowIndex As Integer
xTitleId = "KutoolsforExcel"
Set Range1 = Application.Selection
Set Range1 = Application.InputBox("Source Ranges:", xTitleId, Range1.Address, Type:=8)
Set Range2 = Application.InputBox("Convert to (single cell):", xTitleId, Type:=8)
rowIndex = 0
Application.ScreenUpdating = False
For Each Rng In Range1.Rows
Rng.Copy
Range2.Offset(rowIndex, 0).PasteSpecial Paste:=xlPasteAll, Transpose:=True
rowIndex = rowIndex + Rng.Columns.Count
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Нажимаем F5 для запуска кода, появится диалоговое окно выбора исходных данных, выделяем наш массив, нажимает ок и выбираем ячейку куда вставить.
И за 1 секунду получаем все в одном столбце, теперь стандартными функциями Excel удаляем дубликаты:
и отдельно удалим 1 ячейку со значениям "ложь".
Следующим этапом разделим наши ячейки на 2 столбца с помощью функции текст по столбцам:
Символ-разделитель у нас "х".
Все готово, мы получили все наши уникальные значения.
Сохраняем и идем в библиотеку стандартных элементов.
Кликаем правой кнопкой по нашей заглушке и выбираем "Типоразмеры-Экспортировать". Получим файл формата CSV.
1 строка это номер объекта в структуре:
1-Корневой объект
1_1- Первый дочерний объект в списке
1_2-Второй дочерний объект в списке
1_1_1-Первый подобъект дочернего объекта и т.д.
2 строка- Системное имя
3 строка- Пользовательское имя
4 строка-Единица измерений
5 строка- Материал( Весь список значений материалов). Очень странно видит данную строку в таблице выбора. Может она нужна для проверки при загрузке или еще чего.
6 строка- Тип значения
7 строка- само значение
В MS таблица выбора конечно значительно массивнее, чем в Revit
Из всех этих столбиков ищем 2 параметра: PART_PIPE_RECT_DIMA и PART_PIPE_RECT_DIMB. Все остальное удаляем.
Копируем в эти столбы наши получившееся уникальные значения.
В БСЭ кликаем правой кнопкой по заглушке и выбираем "Типоразмеры-Импортировать". Выбираем наш файл CSV и вставляем.
Как раз здесь мы видим проверку "Строгое соответствие для типа "Списка значений". Зачем нам в таблице выбора список значений-Все равно не могу сказать. В Этой ситуации было бы логичнее, чтобы программа проверяла значения со списком значений из базы и выдавала соответствующее предупреждение.
Нажимаем импорт и ждем.
Если таблица выбора соответствует, то никаких ошибок не будет.
Хоть у нас и стояла галочка "обновить вычисляемые параметры" MS ставит стандартное имя объекта "яяя".
Нажимаем кнопку "выделить все объекты", потом "Настройки-Рассчитать вычисляемые параметры" и затем "Обновить наименование".
Тут в программе случился глюк. Толщина стенки расчетная, а она ни в какую не менялась пока не перезапустил программу и не зашел в редактор свойств.
Получаем все наши уникальные значения в базе.
Отмечу, что у нас в базе сейчас 2 заглушки 1000х1000. В MS нет исключения по объектам, если такой же объект уже существует. Поэтому надо удалить один из них.
Материалы добавляются аналогично. С начала копируем объект, меняем ему материал, наименование, обозначение и т.д. и также импортируем типоразмеры.
В своей работе мы применяем материалы:
1. Оцинкованную сталь по ГОСТ 14918-80
2. Нержавеющая сталь марки 1.4307(AISI304L) по EN 100088-2
3. Нержавеющая сталь марки AISI430 по ГОСТ 5582-75
4. Нержавеющая сталь марки 1.4404/1.4571(AISI316Ti) по EN 100088-2
5. Алюминиевый лист AlMg3 по ГОСТ 17232-99
6. Нержавеющая сталь марки AISI409 по ГОСТ 5582-75
После всего этого меняем категорию на "Детали трубопроводные" и на этом работа с заглушкой закончена.