воскресенье, 27 марта 2011 г.

Прелестная сноповязалка

Сегодня у нас в гостях Григорий Солдатов из “солнечного” Череповца с замечательной статьей, кучей приложений и даже кодом на LISP.
Оригинальная конструкция, заря автомобилизма. Видите, Балаганов, что можно сделать из простой швейной машины Зингера? Небольшое приспособление — и получилась прелестная колхозная сноповязалка.” Эта фраза из бессмертного романа И. Ильфа и Е. Петрова «Золотой телёнок»  наиболее полно характеризует статью. Скажем Григорию большое СПАСИБО и приступим к изучению материала.
Снимок вязалка

Оглавление

Статья написана «по мотивам» проектирования металлических конструкций эстакады под трубопроводы. Эстакада имела два уровня, количество труб по трассе менялось от 4 до 6, проходные площадки в обеих уровнях и конструкции под кабели, плюс остальные проблемы знакомые тому кто проектировал нечто подобное. Расчет трубопроводов трассы был выполнен в широко известной программе СТАРТ. Основное затруднение у меня вызвало задание загружения от трубопроводов на пролетные строения в углах поворота эстакады. Ниже будет рассмотрен примененный мной алгоритм решения данной проблемы на примере двух трубопроводов верхнего уровня и температурного блока эстакады.

Необходимые настройки и требования

Т. к. в использованном мной Calc'е из OpenOffice'а разделителем целой и вещественной части является “,” необходимо в настройках операционной системы выставить разделитель “,”. Файлы, в которых будет проводиться «обработка данных» - XLS. Так что и EXCEL тоже можно использовать. Так же Вы должны знать, как загружать и запускать функции AutoLisp'а.

Требования к исходным данным(выходные данные СТАРТ'а)

Для работы нам понадобятся экспортированные из СТАРТ'а расчетные схемы в формате DXF. Эти файлы будут содержать отдельные трассы трубопроводов, содержащие - узлы, номера узлов и т.п.. Понятно, что схемы должны быть заданы точно, что требует ответственной работы расчетчика в СТАРТ'е. Пример см. приложение №1
Далее нам понадобятся текстовые файлы результатов расчета этих схем - экспорт результатов из СТАРТ'а, в формате ISX. Мною использовались данные таблицы «Нагрузки и перемещения в креплениях».
 

Подготовка текстовых выходные данные из СТАРТ'а

Разработанные мной AutoLisp функции для обработки написаны максимально упрощенно поэтому необходимо подготовить текстовый файл в «понятной» для них форме.
Перед использованием файла ISX необходимо убрать лишние данные - первые четыре строки и оставить только первые три столбца. Так же необходимо избавиться от запятых и «|». Это можно сделать в любом табличном редакторе.
image
Пример файла до и после обработки см. в приложении №2.
 

Подготовка исходных DXF схем.

Воспользовавшись функцией SgrStartFunction_2 из файла SgrStartFunction.lsp в DXF файле со схемой заменяем однострочный текст с номером опоры на текст содержащий - номер опоры; усилие по X; усилие по Y; усилие по Z. Единицы кгс из ISX файла будут пересчитаны на тс в DXF файле.
image
Пример «обработанного» файла схемы см. в приложении №3.
Тоже самое проделываем со всеми другими трассами трубопроводов.
 

Сборка входных DXF схем.

Воспользуемся чертежом с пролетными строениями и траверсами, как подосновой. Собираем трассы трубопроводов по уровням. Исходя из опыта лучше создать отдельные файлы для верхнего и нижнего уровня трассы. Пример файлов см. приложение №4. Единственная особенность эти чертежи должен быть в масштабе 1:1000. Это вызвано тем, что в файлах схем DXF 1 мм равен 1 м. В настройках Robot’а ничего менять не надо — координаты узлов по умолчанию задаются в метрах.
Так же наложение трасс трубопроводов и конструкций позволяет проанализировать трассу и отследить ошибки. На моей трассе из-за нерегулярного шага расстановки опор некоторые не работали, приходилось менять их расположение и даже в нескольких случаях вводить дополнительные пролетные строения.
В моем случае неподвижные опоры по трассе совпадали и по требованиям технологии трубопроводы работали одновременно - все нагрузки от трубопроводов были приняты в одном загружении.
 

Извлечение данных из схемы и их подготовка в Calc'е для использования в Robot’е

Воспользовавшись функцией SgrStartFunction_3 из файла SgrStartFunction.lsp из входных схем извлекаем загружения на интересующий нас температурный блок в текстовые файлы — верхний и нижний уровни. Пример извлеченных данных см. приложение №5. А дальше все просто, воспользовавшись любым табличным редактором необходимо подготовить данные для Robot’а. Файл «Нагрузки от трубопроводов на траверсы» содержит координаты опор, их номера и загружения на листе «Узлы и загружения». После заполнения этого листа необходимо задать нумерацию узлов - столбец D, по новой c 1. Далее необходимо найти сумму загружений по Z, в дальнейшем это нам даст возможность сравнить ее с суммой реакций в Robot’е.
image
Как результат на листе «Обработанные загружения» мы должны получить данные похожие на таблицу«Нагрузки» в Robot’е . Но т.к. вставлять в таблицы Robot’а можно только текст необходимо из листа «Обработанные загружения» скопировать данные и вставить в лист «Загружения», как текст - тем самым избавившись от формул. Пример подготовленных данных см. приложение №6.
 

Подготовка расчетных схем в Robot’е

Задачей данного этапа является подготовка расчетных схем. Причем привязка «к началу координат» в Robot’е должна совпадать с AutoCAD'ом.
Заранее в Robot’е создается расчетная схема содержащая конструкции колонн, пролетных строений и траверс. Далее она переносится так, чтобы ее привязка к началу координат в Robot’е и AutoCAD'е совпадали. А затем разделяется на два расчетных файла — траверсы и фермы с колоннами. Пример файлов см. приложение №7.
Так же при создании первого загружения нужно иметь в виду, что в Robot’е автоматом будет добавляться собственный вес конструкции.
 

Ввод нагрузок в расчетную схему траверс из Calc'а и расчет схемы

Необходимо создать пустой файл в Robot’е. Далее перейти на вкладку «Узлы» и скопировать в нее координаты наших узлов из первых трех столбцов закладки «Узлы и загружения». Далее в Robot’е на вкладке «Нагрузки» создаем первое загружение DL1 и копируем загружения из закладки «Загружения» этого же файла в «Таблицу загружений». Иногда в Robot’е бывает «маленький глюк» и приходится повторно копировать столбец «Узлы» во «Таблицу загружений». В результате у нас появляется файл содержащий загружения от трубопроводов. Пример файла см. приложение №8. Далее необходимо выделить узлы и скопировать их в файл с траверсами см. приложение №7 через буфер обмена. Получившийся файл см. приложение №9. Выполняем расчет файла с траверсами. В таблице реакций можно посмотреть сумму реакций и сравнить ее с суммой в файле Calc'а с подготовленными загружениями.
image
Т. к. мне необходимо было рассчитать фермы, а не траверсы, опоры принимались шарнирными. Изменив условия опирания траверс возможно подобрать их сечения, выбирать критичные реакции в опорах для «Ведомости элементов» в КМ'е и т.п.
 

Извлечение реакций и «превращение» их в загружение в Calc'е

Открываем таблицу реакций и через пункт в контекстном меню «Специальные фильтры ...» настраиваем ее на изображение реакций и координат опор. Далее копируем из таблицы необходимые данные через буфер в файл «Загружения от трубопроводов на фермы» на первый лист «Реакции траверс» в столбцы с A по C и с E по G. В столбце D заново создаем нумерацию узлов. В столбцах с H по J будет меняться знак — реакция «превращается» в загружение.
image
Точно так же можно посмотреть сумму реакций и сравнить с первоначальной. Как результат на листе «Обработка реакций» мы должны получить данные похожие на таблицу«Нагрузки» в Robot’е. Но т.к. в вставлять в таблицы Robot’а можно только текст необходимо из листа «Обработка реакций» скопировать данные и вставить в лист «Вывод результатов», как текст - тем самым избавившись от формул. Пример см. приложение №10.
 

Подготовка расчетной схемы трассы в Robot’е

Далее создаем пустой файл в Robot’е и выполняем действия аналогичные описанным в пункте «Ввод нагрузок в расчетную схему траверс из Calc'а и расчет схемы». Пример см. приложение №11. После всех манипуляций мы будем иметь файл с опорными узлами траверс и загружениями от трубопроводов. Желательно, чтобы номер загружения в этом файле соответствовал номеру загружения, в который он будет вставляться.
Выделяем все узлы и копируем их в буфер. Открываем файл с заранее подготовленной схемой эстакады см. приложение №7 и вставляем узлы. В результате - получаем загружение от трубопроводов в файле с эстакадой. Далее избавляемся от перекрывающихся узлов — выполняем коррекцию конструкции
image
Добавляем недостающие загружения и получаем полноценный файл. Пример см. приложение №12.
 

Несколько слов о моделировании передачи усилий с пролетного строения на колонну

В моем случае было необходимо смоделировать передачу горизонтальных усилий вдоль трассы только по нижнему поясу, верхний передает усилия только поперек трассы. т. е. ферма одно-пролетная шарнирно-опертая. Это было выполнено с помощью жестких связей см. файл приложения №12.
image
Так же этот прием можно использовать для получения загружения фундаментов относительно геометрического центра колонны приложения №13 ну и само собой для фундаментов на поворотах, где сходятся две колонны.
 

Благодарность

Robot и Хобот — за предоставленную возможность высказаться;
nsivchuk – за интересную и полезную информацию на форуме http://dwg.ru/;
ShaggyDoc – за интересную и полезную информацию на форуме http://dwg.ru/, а так же за возможность воспользоваться функциями из библиотек на AutoLisp'е;
P.S. Приложения и статью в формате PDF можно скачать отсюда.
Если возможностей блога по обсуждению статьи не будет хватать (к примеру прикрепить файл, скриншот и т.д.), милости просим на форум Autodesk Discussion Groups. Заходите, пишите и читайте!
Если вы еще не пользуетесь Dropbox – начните! Это очень удобно.

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

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