среда, 11 июля 2012 г.

Помощь детям

Ссылка на обзор благотворительных организаций в Новосибирске, помогающих детям

Читать далее

вторник, 29 ноября 2011 г.

Задание на армирование ригелей

Так как здание, которое мы проектируем, каркасное, то насущным оказался вопрос подготовки задания на узловое армирование ригелей (т.е. армирование ригелей в местах опирания на колонны). Вдохновленный примером из Solo AutoCAD с энтузиазмом взялся за решение этой задачи.

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

Итак, перейдем непосредственно к сути вопроса.
На первом этапе необходимо выделить в лировской расчетной схеме все конечные элементы ригелей, примыкающие к колоннам.

Полученную картинку при помощи специальной вставки копируем в автокад.

Получается вот такое месиво из кучи однострочных текстов

Теперь обратимся к опыту предшественников и воспользуемся макросом для замены текстов на блоки (можно взять здесь), сам блок уже должен существовать и обязательно иметь атрибуты для записи номера конечного элемента и координат его центра тяжести по X, Y,Z.

В результате работы макроса получим вот такую картинку.

Т.е. у нас вместо нагромождения текстов имеется нагромождение блоков, причем каждый блок мы снабдили вот такими атрибутами

Теперь нужно привести положение этих блоков в порядок. Для этого в лире формируем два отчета: с информацией об интересующих нас элементах и с информацией об узлах, принадлежащих этим элементам. Затем с помощью функции вертикального поиска переносим в файл экселя с номерами элементов данные о координатах соответствующих узлов и вычисляем положение центра тяжести для каждого элемента

Теперь можно импортировать полученные данные в автокад. Извлекаем атрибуты из наших блоков и в экселе с помощью все той же функции ВПР заполняем атрибуты с координатами конечных элементов
и импортируем эту информацию обратно в автокад.
После этого нужно расставить блоки в соответствии с координатами, записанными в их атрибутах. Лично я для этого использовал лисп, т.к. мне он больше знаком. Маленькая функция, которая пишется на коленке за 5-10 минут, справляется с поставленной задачей за несколько секунд

После этого потребуется еще небольшая ручная доработка: для удобства чтения блоки следует немного разнести от пересечения осей. Лично я делал это исправляя значения атрибутов с координатами блоков и повторным вызовом функции для расстановки блоков.
В результате всех наших манипуляций мы получаем заготовку для переноса данных об узловом армировании ригелей

Теперь можно приступить к наполнению наших блоков информацией.
Полученные в результате подбора арматуры экселевские отчеты мы приведем к требуемому нам виду

Необходимо выделить номер элемента, класс прочности бетона, арматуры, размеры сечения.Это делается при помощи стандартных текстовых функций экселя. В нашем случае бетон, арматура и сечение одинаковы, просто эти столбцы достались "в наследство" от подбора сечения колонн, так что удалять я их не стал. Также необходимо выделить максимальное армирование (по первой и второй группам ПС) для верхней и нижней арматуры. Кроме того отдельными столбцами была выделена арматура, подобранная по прочности

Так как в ходе расчета рассматривались два варианта расчетной схемы, то итоги были сведены в такую таблицу

Затем извлекаем атрибуты из блоков нашей автокадовской заготовки и с помощью функции ВПР заполняем значения армирования. На данном этапе выполняем унификацию армирования по этажам. Я совмещал границы между группами этажей с изменением сечения колонн, итого получилось три группы типовых этажей плюс индивидуальные первый, технический этажи и кровля.

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

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

Вот собственно и все по данному вопросу

Читать далее

понедельник, 21 ноября 2011 г.

Спецификации в Excel

Итак, поговорим о спецификациях.
Тут следует отметить одну особенность, из которой я исходил при решении вопросов подсчета спецификаций. В сборных конструкциях помимо отдельных арматурных стержней достаточно много арматурных и закладных изделий.
Можно конечно было воспользоваться уже готовыми решениями (ну, например вот таким), но по ряду причин решил сделать немного иначе.
Сформулируем цели:
1) форма спецификации должна обеспечивать удобный ввод информации о детали или изделии и возможность легкого и быстрого редактирования введенной информации;
2) должна существовать возможность быстрой и удобной навигации по спецификациям отдельных конструкций;
3) форма спецификации должна давать возможность быстрого и удобного составления ведомости расхода стали;
4) при составлении ведомости расхода стали должен автоматически учитываться расход стали на вложенные арматурные и закладные изделия с любым уровнем вложенности;
5) при разработке формы спецификации по возможности обходиться штатными средствами Excel, использовать макросы и функции vba при крайней необходимости.
Поставив цели, можно приступить к реализации.
После нескольких приближений пока остановился на вот такой вот форме для железобетонных и арматурных изделий


Вкратце опишем структуру формы. В самой спецификации выделяются две основные группы строк: сборочные единицы и детали. Сначала о деталях.
Для деталей в столбцах A-G описываются основные их характеристики (профиль, сталь, длина, тип - арматура или закладное). Запись в графе наименование получается сцепкой отдельных значений, масса вычисляется автоматом по данным сортаментов, вынесенных в отдельный файл.


Для сборочных единиц определяющим является значение из столбца А, по которому в файлах со спецификациями арматурных и закладных изделий ищется вся необходимая информация.


Кроме сбор. единиц и деталей в спецификацию заносится бетон, на основе количества которого определяется масса изделия. Колонка "Общая масса" пригодится нам для составления ведомости расхода стали, на основе этой же колонки определится масса стали в изделии (ячейка D2), она пригодится нам для контроля.

Форма для спецификации арматурных и закладных изделий по своей сути мало отличается от формы для ж/б. изделий


Помимо листов со спецификациями, в файлах для арматурных и закладных изделий есть листы "Содержание", в которых в табличку сведены основные сведения о них (масса и полное наименование), а также приведена гиперссылка для быстрого перехода к нужному листу.


Формирование и добавление строк этой таблички выполняется при помощи макроса.
Для железобетонных изделий также есть свой лист "Содержание", в котором собраны основные сведения о конструкциях, приведена гиперссылка на необходимый лист, а также должны приводиться два варианта расхода арматуры на конструкцию, первый берется с листа спецификации, второй - по данным общей сводной таблицы (это пока не реализовано, но находится в ближайших планах). Цель этих двух вариантов - возможность быстрой проверки соответствия расходов стали по спецификации и по врс.


Осталась самая малость - составить ведомость расхода стали. Для этого все данные, которые размещены в листах спецификаций, при помощи макроса сводятся в одну общую таблицу.


При этом с помощью того же макроса обрабатываются вложенные арматурные и закладные изделия.

Полученные данные обрабатываются при помощи сводных таблиц


После этого остается лишь привести полученные значения к удобоваримому виду



Читать далее

четверг, 17 ноября 2011 г.

О внедрении

Что-то давненько я ничего здесь не писал. Но постараюсь в ближайшее время это исправить.
Примерно месяц назад появилась возможность опробовать все то, о чем рассказывал Дима Тищенко в своих статьях на достаточно большом объекте.
Для меня в целом это оказался почти первый раз во всем: первый опыт руководства над строительной частью такого проекта, первый опыт проектирования сборно-монолитного каркаса, первый каркас, рассчитанный в Лире, первый опыт внедрения в коллективе своего видения исполнения чертежей, в общем много над чем было поразмыслить.

Проект еще далеко не закончен, но уже можно делать первые выводы и проводить работу над ошибками.

Основные идеи были позаимствованы из статей Solo Autocad, но кое-что пришлось изменить. В первую очередь это коснулось спецификаций на конструкции. Из-за того, что в наших конструкциях присутствует большое количество сеток, каркасов, закладных, то составление спецификаций и врс пришлось делать немного по другому.

В ближайшие 3-4 недели планирую изложить основные тезисы успехов и неудач в этом деле

Читать далее

вторник, 1 марта 2011 г.

САПРяжение

Autodesk идет в массыВ сентябре прошлого года в Москве прошел Форум Autodesk. Мне довелось там побывать, для меня это было очень полезно и интересно. И вот теперь подобное станет возможным не только в Москве, но и в других городах России и СНГ. Вот здесь можно ознакомиться с мероприятием и зарегестрироваться.
Если среди прочитавших это сообщение есть новосибирцы, буду рад встретиться и пообщаться с вами 7 июня. До встречи

Читать далее

суббота, 8 января 2011 г.

Моя первая функция на VBA

Часто сталкиваюсь с задачей нахождения значения в двумерном массиве с использованием линейной интерполяции. Стандартными средствами Excel это решить можно, но крайне неудобно. Поэтому решил написать надстройку на VBA.
Собственно вот сам код

Public Function ДВИНТЕРП(Массив As Range, Row As Single, Column As Single)
Dim arr()
Dim i As Integer
Dim j As Integer
Dim A As Single
Dim B As Single
arr = Массив.Value
If Row < arr(1, 2) Or Column < arr(2, 1) Then ДВИНТЕРП = "Ошибка!" Exit Function End If For i = 3 To UBound(arr, 1) If arr(i, 1) >= Column Then Exit For
Next i
For j = 3 To UBound(arr, 2)
If arr(1, j) >= Row Then Exit For
Next j
A = (arr(i - 1, j) - arr(i - 1, j - 1)) / (arr(1, j) - arr(1, j - 1)) * (Row - arr(1, j - 1)) + arr(i - 1, j - 1)
B = (arr(i, j) - arr(i, j - 1)) / (arr(1, j) - arr(1, j - 1)) * (Row - arr(1, j - 1)) + arr(i, j - 1)
ДВИНТЕРП = (B - A) / (arr(i, 1) - arr(i - 1, 1)) * (Column - arr(i - 1, 1)) + A
End Function

И макрос для назначения категории и описания

Sub Описание()
Application.MacroOptions Macro:="ДВИНТЕРП", _
Description:="Выполняет интерполяцию в двумерном массиве. Массив должен содержать строку и столбец исходных данных, отсортированных по возрастанию слева направо и сверху вниз соответственно. Row - искомое значение в строке данных, Column - в столбце данных", _
Category:=3
End Sub

Может кому-нибудь пригодится.
На изящество и грамотность кода не претендую - это моя первая функция на VBA, сваял за пару часов с книжкой, плюс тестирование. Но зато работает. Правда есть один минус, для меня очень существенный: при использовании этой функции не получается получить доступ к массиву данных содержащихся в закрытой книге. Пока не нашел способа решить эту проблему, может удастся выкрутиться, а может и нет.


Читать далее

среда, 8 декабря 2010 г.

Фрикционно-срезные болтовые соединения

Возможно данный вопрос будет интересен тем, кто занимается проектированием стальных конструкций, особенно для промышленного строительства
В промышленном строительстве постоянно приходится сталкиваться с проектированием рабочих площадок под технологическое оборудование. Один из основных вопросов это выбор узлов сопряжения балок. Действующая серия 2.440-2 в.1 дает варианты узлов, но большинство из них не рекомендуются для применения при динамических нагрузках. Как правило в проекты закладываются сварные узлы на вертикальных накладках.
При рассмотрении данного вопроса натолкнулся на два документа, рассматривающие вопрос применения для означенных выше конструкций болтовых узлов с контролируемым натяжением болтов (ссылка1 и ссылка2). Думаю что всем, кто сталкивается с проектированием стальных конструкций, будет полезно с ними ознакомиться.
Если кто пожелает высказать свое мнение по этому вопросу, буду рад выслушать (прочитать) здесь или тут.

Читать далее

понедельник, 29 ноября 2010 г.

Загрузка отсутствующих шрифтов

Вот выдержка из официальной справки по AutoCAD 2011:

"Поиск вспомогательных файлов осуществляется в соответствии с установленным путем поиска библиотек, т.е. в следующем порядке:

•Текущая папка. Как правило, она задается в поле “Рабочий каталог” окна свойств ярлыка программы.
•Папка, в которой находится текущий файл чертежа.
•Папки, перечисленные при задании пути доступа в команде НАСТРОЙКА на вкладке "Файлы". (См. раздел Укажите "Пути поиска" и "Местоположения файлов" в Руководстве пользователя.)
•Папка, в которой находятся программные файлы AutoCAD.
В зависимости от установок среды, имена двух или более папок из приведенной последовательности могут совпадать."

Однако применительно к шрифтам все оказывается не совсем так. Если название альтернативного шрифта не задано, то автокад действительно ищет все в таком порядке как указано в справке. НО! Если у вас значение FONTALT не пустое (по умолчанию это simplex.shx), то отсутствующий шрифт будет заменен альтернативным без поиска в папке с текущим файлом чертежа. Хотя если нужный вам шрифт находится в указанных путях доступа, то все открывается нормально. Это особенно неприятно при формировании комплекта подшивки с включением используемых шрифтов, получается что они входят в комплект, но загрузки их не происходит.

Читать далее

пятница, 15 октября 2010 г.

Все доклады с Форума Autodesk

Ссылка на видеозаписи выступлений и докладов с прошедшего 22-23-го сентября в Москве Форума Autodesk
Читать далее