close

Вход

Забыли?

вход по аккаунту

?

2760.Основы автоматизации проектирования в строительстве

код для вставкиСкачать
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ
РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
Государственное образовательное учреждение
высшего профессионального образования
«Оренбургский государственный университет»
С. Б. КОЛОКОЛОВ
ОСНОВЫ АВТОМАТИЗАЦИИ
ПРОЕКТИРОВАНИЯ В
СТРОИТЕЛЬСТВЕ
Рекомендовано
Ученым
советом
государственного
образовательного учреждения высшего профессионального образования
«Оренбургский государственный университет» в качестве учебного
пособия для студентов, обучающихся по программам высшего
профессионального образования по специальности «Промышленное и
гражданское строительство»
Оренбург 2006
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
УДК624:658.512.24(07)
ББК 38.5я7
К 61
Рецензент
кандидат технических наук, доцент М.И.Климов
К 61
КолоколовС.Б.
Основы автоматизации проектирования в строительстве
[Текст]: учебное пособие / С.Б.Колоколов - Оренбург :
ГОУ ОГУ, 2006 – 113 с.
В пособии излагаются основные принципы автоматизации
проектирования с помощью компьютерной техники. Рассматриваются
примеры составления алгоритмов расчета строительных конструкций
и построения графических объектов. Излагаются основы построения
систем автоматизированного строительного проектирования. Учебное
пособие предназначено для студентов, обучающихся по программам
высшего профессионального образования по специальности 29.03.00
– «Промышленное и гражданское строительство» всех форм
обучения.
ББК 38.5я7
 Колоколов С.Б,2006
 ГОУ ОГУ, 2006
2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Содержание
Введение...............................................................................................................5
1 Строительное проектирование как объект автоматизации.......................... 7
1.1 Общие сведения о строительном проектировании
....................... 7
1.2 Требования к проектирующим автоматам............................................10
1.3 Принципы автоматизации с помощью компьютера............................ 12
2 Автоматизация расчета балки ...................................................................... 14
2.1 Определение изгибающих моментов.................................................... 14
2.2 Построение изогнутой оси..................................................................... 17
3 Автоматизация расчета плоских рам............................................................23
3.1 Описание расчетной схемы.................................................................... 23
3.2 Определение внутренних усилий.......................................................... 27
3.3 Автоматизация определения опорных реакций................................... 36
3.4 Раскрытие статической неопределимости ........................................... 38
4 Автоматизация расчета ферм........................................................................ 42
4.1 Подготовка расчетной схемы................................................................. 42
4.2 Рассмотрение равновесия узлов.............................................................44
4.3 Пример расчета фермы........................................................................... 47
4.4 Об автоматизации подготовки исходных данных................................51
4.5 Применение матричного алгоритма расчета ....................................... 57
5 Универсальный метод расчета конструкций .............................................. 66
6 Автоматизация работы с текстом................................................................. 71
7 Автоматизация графических работ...............................................................74
7.1 Общие сведения.......................................................................................74
7.2 Построение отрезка прямой................................................................... 74
7.3 О вычислении тригонометрических функций......................................76
7.4 Использование дисплея для выполнения графических работ............ 78
7.5 Построение геометрических фигур из отрезков прямых.................... 79
7.6 Построение дуги окружности................................................................ 80
7.7 Автоматизация ввода данных при графических работах.................... 85
7.8 Хранение и воспроизведение изображений..........................................87
7.9 Редактирование изображений................................................................ 88
8 Информационное обеспечение автоматизизации проектирования .........90
8.1 Базы данных.............................................................................................90
9.2 О диалоговом режиме работы с компьютером.....................................94
9.3 Управление базой данных...................................................................... 96
10 Программное обеспечение автоматизации проектирования....................99
11 Общие принципы построения систем автоматизированного
проетирования................................................................................................. 107
12 Некоторые сведения о программном комплексе «ЛИРА»..................... 111
13 Термины и понятия, встречающиеся при описании систем
автоматизации проектирования..................................................................... 115
Контрольные вопросы.....................................................................................118
Список использованных источников.............................................................120
3
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Введение
Строительное проектирование является одной из важнейших
составляющих современной строительной индустрии. От качества проекта
во многом зависит надежность строительного объекта, удобство его
эксплуатации, эстетические и экологические параметры, стоимость,
быстрота возведения и т.д., и т.п. Современное строительство отличается
разнообразием
архитектурных
форм,
конструкций,
материалов,
использованием новой высокопроизводительной техники и новых
технологий. В этих условиях возрастает роль строительного
проектирования. Поскольку начинать строительство можно только при
наличии проекта, то одним из важнейших требований является быстрота
проектирования. Другим не менее важным требованием является
надежность: отсутствие ошибок, особенно случайных. Еще одним
существенным требованием, предъявляемым к проектным работам,
является экономичность проекта, которая обеспечивается оптимальным
выбором проектных решений. Можно привести еще много других, быть
может, не менее важных требований, однако уже этот небольшой набор
говорит о том, что для выполнения проекта сооружения даже средней
сложности
необходимо
привлекать
большое
количество
квалифицированных специалистов разной специализации. В современной
промышленности сложные технологические процессы, состоящие из
многочисленных
повторяющихся
операций,
интенсивно
автоматизируются, что обеспечивает быстроту, точность и надежность
выполнения этих операций. Естественно стремление проектировщиков
также автоматизировать выполняемые при проектировании операции.
Однако специфические особенности процесса проектирования создают на
этом пути значительные трудности.
Главной специфической особенностью проектирования является
то, что практически все проектные процедуры и операции
интеллектуальные, т.е. требующие для выполнения определенных
умственных усилий. По существу весь процесс проектирования можно
представить
как
последовательность
огромного
количества
вычислительных операций, процедур поиска информации и выбора
решений, графических процедур, операций по составлению и
редактированию текста. Разнообразие и обилие этих процедур и операций
немыслимо автоматизировать с помощью механических и электрических
(релейных) автоматов. Только современная компьютерная техника создала
возможность автоматизировать проектирование, причем далеко не в
полной мере.
В настоящее время разработано и интенсивно разрабатываются и
совершенствуются компьютерные системы, автоматизирующие различные
интеллектуальные процедуры, так или иначе связанные с процессом
проектирования. Широко известны и повсеместно употребляются,
например: автоматизированная система выполнения и редактирования
4
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
чертежей
AutoCAD, автоматизированная система набора и
редактирования текстов Word, автоматизированная система составления и
обработки информации в табличной форме Excel, компьютерный
математический редактор MathCAD. Применяются в практике
строительного проектирования специализированные автоматизированные
системы расчета и проектирования строительных конструкций: ЛИРА,
SCAD, Мономах и др. Автоматизированные проектирующие системы все
шире внедряются и в учебный процесс по подготовке специалистов
строительного профиля. Умение пользоваться автоматизированными
системами проектирования становится необходимым требованием,
предъявляемым к современному проектировщику. Начальные навыки
использования автоматизированных систем проектирования получают
студенты
всех
строительных
специальностей.
Однако
для
профессиональной работы с автоматизированными системами требуется
многодневная подготовка и длительная практика. При этом изучение
осуществляется на уровне пользователя: изучается методика подготовки
исходных данных, технология управления режимами работы программ,
диалоговая система и т.п. В то же время остаются неясными базовые
принципы автоматизации проектных процедур, принципы разработки и
развития автоматизированных систем проектирования. Учебная
дисциплина «Основы автоматизации проектирования в строительстве»
посвящается изучению указанных принципов.
Настоящее учебное пособие написано на основе опыта чтения
лекций для студентов специальности "Промышленное и гражданское
строительство"
в Оренбургском государственном университете.
Изложение материала построено на конкретных примерах решения
проектных задач, возникающих при строительном проектировании.
Предполагается, что читатель знаком с базовыми дисциплинами,
входящими в учебные программы подготовки инженеров строительных
специальностей: высшая математика, сопротивление материалов,
строительная механика, информатика. Автор будет считать свою задачу
выполненной, если в результате чтения книги студент получит
представление об автоматизации решения простейших проектных задач и
о возможности на их основе строить системы, автоматизирующие
сложнейшие проектные процедуры.
5
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
1
Строительное
автоматизации
проектирование
как
объект
1.1 Общие сведения о строительном проектировании
Проект намечаемого к строительству объекта представляет собой
совокупность сведений (проектных данных) об этом объекте, достаточных
для осуществления строительства. Пользуясь современной терминологией
можно сказать, что проект есть виртуальный (несуществующий реально)
аналог объекта. Проектные данные об объекте разрабатываются
проектировщиками в соответствии с требованиями, предъявляемыми
заказчиком. Эти требования в основном связаны с процессом эксплуатации
здания: проектируемое здание или сооружение должно наилучшим
образом удовлетворять своему назначению, быть достаточно долговечным,
удовлетворять эстетическим представлениям заказчика. Заказчику также
важно, чтобы здание или сооружение было построено с минимальными
затратами и было экономичным при эксплуатации. Кроме требований,
предъявляемых заказчиком при проектировании должны быть
удовлетворены требования надежности конструкций при самых
неблагоприятных воздействиях на них в процессе строительства и
эксплуатации. Все проектные данные должны быть технологически
обоснованными: при проектировании необходимо учитывать возможности
изготовления, транспортировки и возведения конструкций. Существуют
еще и другие ограничения, связанные со специфической особенностью
проектируемого здания или сооружения, которые проектировщики
обязаны учитывать при составлении проекта.
Материальным результатом проектирования являются чертежи
объекта и пояснительная записка. Чертежи дают наглядное представление
об объекте в целом, его элементах и узлах. В пояснительной записке
приводится обоснование принятых проектных решений и проектные
данные, не нашедшие отражения в чертежах, а также сметная
документация.
Процесс проектирования представляет собой длинную цепь
проектных процедур и операций. Эта цепь существенно разветвленная и
может быть представлена в виде графа. Проектная процедура – это
совокупность действий, завершающаяся проектным решением. Проектная
операция – это совокупность действий по решению конкретной проектной
задачи. Проектная операция является составляющей проектной процедуры,
причем может включаться в разные процедуры. В качестве примера можно
привести проектирование стальной стропильной фермы. Это – одна из
многих проектных процедур. Проектирование фермы состоит из решения
различных проектных задач, в частности: поиск аналога и разработка
конструктивной схемы, разработка расчетной схемы, сбор нагрузок,
статический расчет (определение усилий в стержнях фермы), подбор
6
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
сечений элементов, разработка конструкции узлов, расчет соединений
элементов, составление чертежа конструкции, разработка деталировочных
чертежей, составление таблиц расхода материалов, расчет стоимости
изготовления фермы. Некоторые составляющие из перечисленных сами
являются процедурами. Например, разработка конструктивной схемы или
подбор сечений элементов заканчиваются проектным решением,
следовательно их можно отнести к процедурам. А сбор нагрузок,
статический расчет, составление таблиц расхода материалов – технические
операции, выполняемые по определенным схемам.
Все проектные процедуры и операции можно классифицировать
следующим образом:
- вычислительные;
- поиска;
- выбора;
- текстовые;
- графические.
Все указанные виды процедур и операций являются
интеллектуальными, т.е. требующими для осуществления определенной
работы человеческого мозга и соответствующей профессиональной
подготовки. Выполнение любой умственной операции требует внимания в
течение всего затрачиваемого на это времени. Количество простейших
умственных операций при проектировании чрезвычайно велико. Чем более
сложен проект, тем больше времени затрачивается на его создание. Для
ускорения процесса можно увеличить количество проектировщиков.
Однако это связано с увеличением затрат на их оплату. Кроме того,
квалификация проектировщиков должна соответствовать сложности
выполняемой
работы. Качество проекта зависит от адекватности
расчетных моделей действительным условиям функционирования здания
или сооружения. Но чем точнее модель отражает реальные условия, тем
она сложнее в реализации. И не всякая модель, несмотря на наличие
теоретического обоснования, доступна для реализации из-за большого
объема вычислительной работы и отсутствия времени для его выполнения.
В таких случаях приходится использовать упрощенные схемы, заведомо
удорожающие получаемые на их основе проектные решения.
В процессе проектирования проектировщикам приходится
выполнять большое количество однообразных и тем самым утомительных,
рутинных операций. Особенно много таких операций приходится на долю
вычислительных работ. В процессе расчета промежуточные результаты
приходится запоминать, иначе говоря – записывать, поскольку они
используются в последующих действиях. По мере продвижения расчета
надобность в них отпадает, а в конце вычислительных операций они в
конечном счете просто выбрасываются. Если подсчитать, какая часть
затраченного на расчет времени приходится на долю рутинных операций
по записыванию промежуточных результатов, то окажется, что она близка
7
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
к половине. Значительны при проектировании затраты времени на поиск
информации. Так, например, при расчетах часто бывает нужно
использовать числовую величину того или иного параметра. Если
проектировщик не знает на память эту числовую величину, то ему надо
обратиться к справочнику или нормативному документу, где имеется эта
информация. Следовательно, проектировщик должен найти источник
информации, найти в нем соответствующий раздел и, наконец извлечь
оттуда нужное число. А если числовое значение параметра зависит от
дополнительных конкретных условий, то проектировщик ищет
соответствующее этим условиям значение в таблице или на графике, а
иногда и вычисляет по формуле. Такого рода операций приходится
выполнять достаточно много. Хорошо еще, если справочник находится под
рукой, и не надо идти за ним в библиотеку. Много времени уходит у
проектировщиков на выбор вариантов. Для оптимального выбора
вариантов нужно чаще всего предварительно просчитать эти варианты, а
затем сравнить полученные результаты по тем или иным критериям,
которых может быть несколько. Сделанный выбор отбрасывает все прочие
ранее рассмотренные варианты. Несмотря на то, что рассмотрение
отброшенных вариантов -–это полезный интеллектуальный труд,
необходимый для качественного проектного решения, с точки зрения
затрат времени на выполнение проекта эти ветви процесса оказываются
паразитными. А какой объем рутинных операций производится при
графических работах! Ведь чертеж должен давать точное зрительное
представление об объекте строительства, его узлах и элементах.
Следовательно, он должен быть выполнен технически грамотно, в удобном
масштабе, аккуратно и тщательно. Для того, чтобы прочертить какую-либо
линию на чертеже, необходимо вначале наметить начальную и конечную
точки этой линии. Указанная операция является интеллектуальной, т.к.
требует определенной работы мозга: ведь расположение на чертеже и
длина линии должны соответствовать
проектным данным. Но
непосредственное нанесение линии на бумагу – операция рутинная, не
требующая мозговых усилий.
Несмотря на
высокую (как правило) квалификацию
проектировщиков, они не застрахованы от ошибок. Ошибки могут быть
двух типов: из-за недостаточной компетентности проектировщика или
случайные. Ошибки первого типа обычно редки, т.к. компетентность
проектировщика проверяется обычно на начальном этапе проектной
деятельности на неответственных участках работы. Случайные ошибки
чаще всего бывают вызваны усталостью проектировщика, в результате
которой внимание притупляется. Ошибки при проектировании не
допустимы, поскольку могут привести к печальным последствиям при
строительстве или при эксплуатации здания или сооружения. Иногда
ошибки проектирования проявляются через много лет спустя после
окончания строительства. Для выявления ошибок при проектировании
осуществляется контроль проектных решений непосредственно после
8
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
завершения каждого этапа проектирования. На контроль, выявление и
устранение ошибок также затрачивается время.
Итак, проектирование – это длительный интеллектуальный процесс,
выполняемый
квалифицированными специалистами, эффективность
которого определяется уровнем подготовки и количеством специалистов и
организацией их труда, обеспечивающей полноценную работоспособность
в течение всего рабочего времени. Со стороны заказчика к
проектированию предъявляются следующие основные требования:
быстрота изготовления проекта, надежность (отсутствие ошибок),
экономичность (максимально малые затраты на проектирование и
строительство объекта). Нетрудно заметить, что при сохранении
традиционной технологии проектирования (без применения машин), эти
требования вступают в противоречие с утверждением, сформулированным
в первой фразе данного абзаца. Выполнить требования заказчика в той или
иной степени можно только путем автоматизации проектирования.
1.2 Требования к проектирующим автоматам
Перечислим основные требования, которым должны удовлетворять
пректирующие автоматы.
1. Высокая скорость выполнения операций.
Это требование
является особенно важным при работе с текстом или графикой,
когда в автомат вводится много информации, причем каждая
новая порция информации вводится только после переработки
автоматом предыдущей. Поскольку информацию вводит
проектировщик, то желательно, чтобы он не ждал долго, когда
автомат выполнит действия по переработке введенной им
информации. Трудно говорить об эффективности автомата,
который строит отрезок прямой по заданным координатам
концов в течение пяти минут. Важно высокое быстродействие и
при работе с текстом. Если автомат будет задумываться на
минуту после ввода одной буквы, то проще этот текст написать
вручную на бумаге. Конечно, высокая скорость нужна и при
вычислительных работах. Хотя вычислительный процесс можно
построить так, что вся исходная информация вводится один раз в
начале расчета и не требуется прерывать процесс счета до его
окончания, но при решении, например, системы уравнений
количество выполняемых операций столь велико, что при малом
быстродействии расчет может растянуться на много часов.
Выполняющий расчет компьютер в это время будет недоступен
для другой работы.
2. Большая оперативная память. Проектировщик в процессе
работы накапливает огромный объем информации. Эта
информация при традиционном, «ручном» проектировании
сохраняется на бумажных носителях информации, попросту – на
9
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
бумаге. На бумагу записывается текст, промежуточные
результаты вычислений, извлеченные из справочников или
нормативных документов числовые данные, на бумаге чертятся
чертежи или делаются эскизы и т. д. Вся эта информация в
любой момент времени может быть использована: нужно только
посмотреть на соответствующий листок бумаги или чертеж.
Такая информация называется оперативной. Техническое
устройство для хранения оперативной информации называется
оперативной памятью автомата. Чем больше оперативная
память, тем более сложные задачи может решать автомат без
обращения к другим, внешним источникам информации.
3. Быстрота обмена информацией. В процессе проектирования
проектировщик часто обращается к справочникам, нормативным
документам и другим материалам, хранящимся в книгах,
альбомах и т.п. Немыслимо, чтобы все эти материалы были на
столе у проектировщика. Содержащаяся в этих материалах
информация не является оперативной и используется иногда и в
небольших объемах. При работе автомата также возникает
необходимость в такой информации. Следовательно, автомат
должен хранить и такую
информацию, поскольку
необходимость извлечь какие-нибудь данные может возникнуть
в процессе проектирования. Но общее количество информации,
хранящейся в справочниках и других книгах или альбомах во
много раз превышает объем оперативной информации, и для
хранения ее автомат должен иметь внешнюю память c большим
объемом. В то же время автомат должен иметь устройство,
позволяющее извлекать нужную информацию из внешней
памяти и переписывать ее в оперативную (аналог действий
проектировщика, когда он достает справочник, находит нужное
ему число и записывает его на бумаге, сопровождая
комментариями). Это устройство должно работать быстро. По
крайней мере не медленнее, чем человек ищет информацию в
справочнике.
4. Компактность. Это требование не нуждается в особых
пояснениях. Действительно, если проектирующий автомат будет
иметь габариты, требующие постройки отдельного здания типа
цеха машиностроительного завода, то вряд ли это будет
эффективно. Автомат должен быть таким, чтобы его можно
было разместить в рабочем кабинете проектной организации.
5. Удобство в работе. Это требование также вполне очевидно.
Автомат не должен заставлять при работе с ним совершать
значительную механическую работу. Трудно представить себе
проектировщика, который постоянно дергал бы рычаги
управления, включал и выключал тумблеры, крутил вентили и
10
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
т.п. Проектировщик должен иметь рабочее место такое же, как и
при традиционном проектировании.
Есть и другие требования, которые, однако, представляются менее
важными, чем перечисленные.
1.3 Принципы автоматизации с помощью компьютера
Перечисленным
требованиям
удовлетворяет
современная
компьютерная техника. Следует заметить, что первые компьютеры сразу
после своего появления стали использоваться для выполнения отдельных
проектных процедур. В первую очередь компьютеры использовались по
своему прямому назначению – для выполнения расчетов. Конечно,
быстродействие первых компьютеров было невелико – тысячи операций в
секунду, что на три-четыре порядка меньше нынешних. Однако это во
много раз превышало скорость вычислений, которая была доступна при
ручных расчетах. Первые компьютеры были громоздкими, т.к.
электрические схемы были построены с помощью электронных ламп.
Оперативная память по этой же причине была малой и для решения
сложных задач приходилось использовать внешнюю память: информацию,
расположенную на магнитных лентах. Обмен информации (запись и
считывание) при использовании магнитных лент занимал заметное время.
Кроме того, этот процесс весьма чувствителен к температурным условиям.
Ввод данных осуществлялся
с помощью перфолент и перфокарт,
подготовка которых трудоемка и не была лишена ошибок. Ошибки ввода
данных исправлялись дополнительным вводом корректирующих данных,
снова на перфолентах или перфокартах. Диалоговый режим работы
проектировщика практически отсутствовал. Работы с текстом и графикой
были практически недоступны из-за необходимости программировать
элементарные операции. Иначе говоря, первые компьютеры не были
готовы осуществлять автоматизацию проектных работ.
Стремительное развитие компьютерной техники, особенно в
последние два десятилетия, позволило увеличить скорость выполнения
операций и обмена информации, а также объем оперативной памяти в
тысячи раз. Стали доступными настольные и даже портативные варианты.
Графические дисплеи и “мышь” сделали возможной и удобной работу с
текстом и графикой. Однако, несмотря на столь поразительные успехи в
развитии компьютерной техники, принципы работы компьютеров
остаются прежними. Сформулируем основные из них.
1 Компьютер – это вычислительный автомат, работа которого
основана на манипуляциях с электрическими схемами, позволяющими
совершать арифметические операции и запоминать информацию,
закодированную в виде чисел в двоичной системе счисления.
2 Компьютер выполняет те или иные операции в соответствии с
программами, представляющими собой последовательность команд,
записанных в виде двоичного числового кода.
11
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
3 Ввод информации в оперативную память компьютера
осуществляется непосредственно в виде электрических сигналов с
клавиатуры, либо с магнитного носителя путем преобразования магнитной
записи в электрические сигналы.
4 Все операции компьютер осуществляет только с той
информацией, которая находится в оперативной памяти. Из оперативной
памяти информация может быть записана на магнитный носитель (диск) и
тем самым сохранена после выключения компьютера. Для того, чтобы
осуществить те или иные операции с информацией, содержащейся на
магнитном носителе, необходимо сначала переписать ее в оперативную
память.
5 Компьютер выполняет довольно ограниченное количество разных
команд и поэтому программы процедур, выполнение которых можно
потребовать от компьютера должны содержать только понятные ему
команды. Иначе говоря программы должны быть написаны на понятном
для компьютера, так называемом, машинном языке. Написанные на других
языках программы должны быть перед выполнением переведены на
машинный язык с помощью специальных программ – трансляторов.
Унификация команд обеспечивает совместимость компьютеров. Если коды
одинаковых команд двух компьютеров не совпадают, то программы,
работающие на одном компьютере, не будут выполняться на другом.
Каждый современный компьютер снабжается большим
количеством программ, выполняющих те или иные стандартные операции,
например управление вводом и выводом информации, управление работой
дисплея, принтера и других устройств, изменение режимов работы и т.п.
Для того, чтобы компьютер мог оуществлять проектные операции и
тем самым мог обеспечить автоматизацию проектных работ, необходимо
эти операции описать в виде последовательности арифметических и
логических действий. Если весь процесс проектирования доступен для
описания
указанным способом, то он может быть полностью
автоматизирован с помощью компьютера. Если какие-либо процедуры
невозможно описать указанным способом, то процесс может быть
построен с прерыванием: работа компьютера прекращается до тех пор,
пока необходимые для дальнейшей работы данные не будут введены в
память проектировщиком. Так, например, осуществляется построение
чертежей: выполнив очередное построение компьютер останавливается и
ожидает указаний пользователя (проектировщика), поскольку только в его
власти решить, какой объект будет изображен компьютером следующим.
Иначе говоря, часть работы должна быть в таком случае осуществлена
самим проектировщиком, и результаты этой работы сообщены
компьютеру.
Таким
образом,
процесс
проектирования
будет
автоматизирован частично.
В настоящее время достаточно хорошо и полно могут быть
автоматизированы
расчетные
процедуры,
графические
работы
(выполнение чертежей), работа с текстом, работы с информацией.
12
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Творческая работа труднее всего поддается формализации и поэтому
автоматизация ее пока находится в стадии разработки.
Наибольший объем вычислительных процедур приходится на долю
расчета строительных конструкций, поэтому описание принципов и
приемов, используемых при автоматизации этих процедур будет в
основном строиться на примере этих расчетов. Начнем с простейшего с
точки зрения расчета внутренних усилий элемента строительных
конструкций - балки.
2 Автоматизация расчета балки
2.1 Определение изгибающих моментов
Определение внутренних усилий в простой статически
определимой балки, нагруженной сосредоточенной силой является
несложной задачей, поскольку известно аналитическое решение для
максимального изгибающего момента, который возникает как раз в том
самом сечении, где расположена действующая на балку сила
M max =
P⋅ a⋅b
,
a+ b
(2.1)
где Mmax – максимальный изгибающий момент в балке, кНм;
Р – величина силы, кН;
a – расстояние от левой опоры до силы, м;
b – расстояние от силы до правой опоры, м.
Совершенно очевидно, что автоматизировать решение этой задачи
никакого смысла нет. Если же на балку действует распределенная
нагрузка, причем не на всю балку, а на ограниченный ее участок (рисунок
2.1), то аналитическое решение задачи существенно усложняется.
q
a
b
l
13
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рисунок 2.1 – Расчетная схема балки
Вначале надо определить равнодействующую распределенной
нагрузки, координату места приложения равнодействующей, момент
равнодействующей относительно опоры, реакцию опоры. После этого
записывается выражение для изгибающих моментов на участке балки с
нагрузкой, производится дифференцирование этой функции по
координате, приравнивается полученное выражение нулю и определяется
из решения этого уравнения координата сечения с максимальным
изгибающим моментом, наконец, подставляется эта координата в
выражение для изгибающих моментов и вычисляется искомая величина.
Несмотря на то, что описанные действия весьма просты, для правильного
решения этой задачи нужна более высокая квалификация, чем для решения
задачи с сосредоточенной силой, где достаточно было уметь выполнить
вычисления по готовой формуле. Если же еще более усложнить задачу,
загрузив балку несколькими нагрузками разной интенсивности, то
придется над ее решением изрядно потрудиться. Рассмотрим, как можно
автоматизировать решение этой задачи с помощью компьютера.
Прежде всего нужно дискретизировать расчетную схему: заменить
непрерывный стержень, моделирующий балку, на дискретный ряд
расчетных сечений. Это необходимо сделать, т.к. компьютер совершает
операции с числами и может в результате вычислить изгибающие моменты
только в сечениях, имеющих конкретные числовые координаты. Проще
всего разделить балку на равные по длине участки, поскольку в этом
случае вычисление координат расчетных сечений можно осуществить
автоматически. Если обозначить количество частей деления балки n , то
координаты расчетных сечений определяются по формуле
xi = (i − 1)l / n,
(2.2)
где xi - координата расчетного сечения с номером i, м;
i = 1 .. n+1;
l – длина балки, м.
Количество частей деления балки n, так же как и длина балки
должны быть заданы в качестве исходных данных. От величины n зависит
точность решения задачи, поскольку в промежутке между расчетными
точками информация о внутренних усилиях в балке в результате расчета
отсутствует. Вычисление по формуле типа (2.2) называется циклическим.
Здесь компьютер начинает вычисления со значения параметра цикла i = 1
и каждый раз после определения координаты параметр цикла
увеличивается на единицу пока не выполнится условие i >
n+1.
Следующая процедура, которую также автоматически должен осуществить
компьютер – это дискретизация распределенной нагрузки, т.е замена ее
сосредоточенными силами. Для равномерно распределенной нагрузки эта
14
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
процедура может показаться лишней: формулы для определения
изгибающих моментов в этом случае не так громоздки. Однако для
распределенной нагрузки с переменной интенсивностью замена
сосредоточенными силами существенно упрощает алгоритм решения
задачи. Для дискретизации нагрузки должно быть задано количество
заменяющих распределенную нагрузку сосредоточенных сил. Обозначим
это количество np, тогда при равномерном распределении нагрузки
величина заменяющих ее сосредоточенных сил будет определяться по
формуле
Pj = q ⋅ b / n p ,
(2.3)
где q – интенсивность равномерно распределенной нагрузки, кН/м;
b – длина участка действия нагрузки, м;
j – порядковый номер заменяющей силы.
Теперь задача расчета разлагается на ряд подобных задач расчета
балки, загруженной одной сосредоточенной силой. Заменяющие
распределенную нагрузку сосредоточенные силы располагаются
посередине участков длиной b/np. Координата точки приложения силы
определяется простой формулой
xj = a +
2⋅ j − 1
b,
2 ⋅ np
(2.4)
где a – координата начала действия нагрузки.
Величина изгибающего момента в сечении с координатой xi определится
формулами:
M ij = Pj ⋅ (l − x j ) ⋅ xi / l ,
(2.5)
M ij = Pj ⋅ x j ⋅ (l − xi ) / l ,
(2.6)
если xi ≤ x j , и
если xi > x j .
Здесь следует заметить, что при определении изгибающего момента в
каждом сечении компьютер предварительно, на основе сравнения
координат сечения и места приложения силы, осуществляет выбор
формулы, по которой должно производиться вычисление. Условие выбора
15
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
четко сформулировано математически, и поэтому выбор осуществляется
однозначно.
Значения изгибающих моментов от всей действующей на балку
нагрузки получаются суммированием
Mi =
np
∑
j= 1
M ij .
(2.7)
Как видно, алгоритм составлен с использованием простых, легко
контролируемых выражений. Если нагрузка распределена не равномерно, а
по какому-либо заданному формулой закону, то задача решается по той же
самой схеме. Разница заключается только в том, что заменяющие силы
определяются по формуле
Pj = f ( x j ) ⋅ b / n p ,
(2.8)
где f ( x j ) - функция, описывающая величину интенсивности
нагрузки в зависимости от координаты на ее линии действия.
Поскольку на балку может действовать несколько различных по
характеру и участкам действия нагрузок, необходимо предусмотреть
такую возможность. В исходных данных нужно прежде всего задавать
количество разных нагрузок. Процедуру замены распределенной нагрузки
на сосредоточенную компьютер выполняет отдельно для каждой нагрузки,
присваивая каждой заменяющей силе порядковый номер в сквозной
нумерации. После завершения операции замены распределенной нагрузки
сосредоточенными силами дальнейшие действия совершаются так же как и
в рассмотренном выше случае с одной нагрузкой.
Таким образом, расчет простой балки, нагруженной довольно
произвольной нагрузкой, может быть полностью автоматизирован.
2.2 Построение изогнутой оси
Известно, что для определения прогиба балки необходимо
вычислить интеграл Мора
f ip =
LM
∫
0
i
⋅Mp
E⋅ J
dx ,
(2.9)
где M i - функция, выражающая зависимость изгибающего момента,
вызванного единичной силой, приложенной в точке i, прогиб которой
определяется, от положения сечения, где этот момент действует;
16
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Mp – аналогичная функция при воздействии на балку внешней
нагрузки;
E – модуль упругости материала балки;
J – момент инерции сечения балки.
При компьютерном расчете, где балка представлена рядом
расчетных сечений, интегрирование заменяется суммированием. На
каждом участке между расчетными сечениями интеграл Мора вычисляется
по той или иной квадратурной формуле. При применении правила
прямоугольников вклад в величину прогиба балки в сечении i участка
балки между сечениями с номерами j и j+1 определяется формулой
∆ f ip =
M ji + M j + 1, i M jp + M j + 1, p xi + 1 − x j
⋅
⋅
,
2
2
(E ⋅ J ) j, j + 1
(2.10)
где Mji – изгибающий момент в сечении с номером j, вызванный
единичной силой, действующей в сечении с номером i;
Mj+1,i – то же в сечении с номером j+1;
Mjp - изгибающий момент в сечении с номером j, вызванный
внешней нагрузкой;
Mj+1,p – то же в сечении с номером j+1;
(EJ)j-1, j+1 - изгибная жесткость балки на участке между сечениями j
и j+1.
При применении правила трапеций формула принимает вид:
∆ f ip =
x j+ 1 − x j
6( E ⋅ J ) j , j + 1
(2M ji ⋅ M jp + 2 M j + 1,i ⋅ M j + 1, p + M ji ⋅ M j + 1, p +
+ M j + 1,i ⋅ M jp ) .
(2.11)
Если используется численное интегрирование по правилу
Симпсона (парабол), то каждый участок интегрирования должен
содержать три расчетных сечения: j − 1, j, j + 1 - и расчетная формула для
участка имеет вид:
∆ f ip =
x j+ 1 − x j− 1
6( E ⋅ J ) j − 1, j + 1
( M j − 1,i ⋅ M j − 1, p + 4M ji ⋅ M jp + M j + 1,i ⋅ M j + 1, p ) .
(2.12)
Величина прогиба балки в сечении i определится суммой
17
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
f ip =
nk
∑
(∆ f ip ) k ,
(2.13)
k=1
где nk – количество участков суммирования.
При использовании правила прямоугольников количество участков
интегрирования равно количеству расчетных сечений, уменьшенному на
единицу, то же количество участков и при применении метода трапеций.
При использовании правила Симпсона количество участков в два раза
меньше, чем в первых двух случаях.
Однотипные вычислительные операции на каждом участке можно
записать с помощью матричной алгебры. Так, формула (2.10) может быть
представлена так
∆ f ip = Μ
где Μ
T
i
T
i
⋅ D⋅ Μ
p,
- транспонированная матрица-столбец Μ
 Μ j 
Μ i= 
,
 Μ j+ 1
Μ
p
(2.14)
i
(2.15)
- матрица-столбец
Μ
p
 Μ jp 
= 
,
Μ
j
+
1
,
p


(2.16)
D – квадратная матрица податливости
D=
x j + 1 − x j  1 1
.
4( EJ ) j , j + 1  1 1
(2.17)
Покажем полное соответствие матричного выражения (2.10) и
формулы (2.14). Операции перемножения матриц производятся в порядке
слева направо (этот порядок строго обязателен). Перемножим вначале
первые две матрицы
Μ
T
i
[
⋅ D= Mj
]
M j+ 1 ⋅
x j + 1 − x j  1 1
=
4( EJ ) j , j + 1  1 1
18
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
=
x j+ 1 − x j
4( EJ ) j , j + 1
[ M j + M j + 1;
M j + M j+ 1
]
Полученную матрицу-строку из двух элементов перемножим на
столбец Мр
x j+ 1 − x j
4( EJ ) j , j + 1
=
=
=
[ M j + M j + 1;
x j+ 1 − x j
4( EJ ) j , j + 1
x j+ 1 − x j
4( EJ ) j , j + 1
 M jp 
M j + M j+ 1 ⋅ 
=
M
j
+
1
,
p


]
[ M j ⋅ M jp + M j + 1 ⋅ M jp + M j ⋅ M j + 1, p + M j + 1 ⋅ M j + 1, p ] =
[ M j ⋅ (M jp + M j + 1, p ) + M j + 1 ⋅ (M jp + M j + 1, p ] =
M ji + M j + 1, i M jp + M j + 1, p xi + 1 − x j
⋅
⋅
.
2
2
(E ⋅ J ) j, j + 1
Как видим, полученное выражение полностью совпадает с
квадратурной формулой. Матричная формула для вычисления прогиба
записывается также как и для участка
f ip = Μ
T
i
⋅ D⋅ Μ
p.
(2.18)
Отличие заключается в количестве элементов участвующих в операции
матриц. Так, количество элементов матрицы-строки Μ Ti равно общему
числу расчетных сечений. То же и в матрице-столбце Μ p . Квадратная
матрица при одинаковой длине участков интегрирования Δх и постоянной
жесткости по всей длине балки имеет вид (для определенности приведена
матрица при разбиении балки на шесть участков)
 d 0 0 0 0 0
 0 d 0 0 0 0


∆ x  0 0 d 0 0 0
D=

,
4 EJ  0 0 0 d 0 0 
 0 0 0 0 d 0


0
0
0
0
0
d


(2.19)
19
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
где ненулевые элементы матрицы в свою очередь представляют
собой матрицы
 1 1
d= 
.
 1 1
(2.20)
Поскольку значения изгибающих моментов в расчетных сечениях
(кроме первого и последнего) участвуют в вычислении на двух соседних
участках, при подстановке матриц d в общую матрицу податливости
внутренние строки и столбцы попарно можно объединить. Тогда матрица
податливости примет вид (для шести участков)
1
1

0
∆x 
D=
0
4EJ 
0

0
 0
1
2
1
0
0
0
0
0
1
2
1
0
0
0
0
0
1
2
1
0
0
0
0
0
1
2
1
0
0
0
0
0
1
2
1
0
0

0

0 .
0

1
1
(2.21)
Приведем матрицы податливости для вычисления по формуле
трапеций (тоже при шести участках интегрирования)
2
1

0
∆x 
D=
0
6EJ 
0

0
 0
1
4
1
0
0
0
0
0
1
4
1
0
0
0
0
0
1
4
1
0
0
0
0
0
1
4
1
0
0
0
0
0
1
4
1
0
0

0

0 ,
0

1
2
(2.22)
по формуле Симпсона (при трех участках интегрирования)
20
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
1
0

0
∆x 
D=
0
2EJ 
0

0
 0
0
4
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
4
0
0
0

0

0 .
0

0
1
(2.23)
Матрицу изгибающих моментов от единичных сил, приложенных
во всех расчетных сечениях балки можно получить, построив ее из матрицстолбцов Mi . В строках полученной квадратной матрицы располагаются
значения изгибающих моментов в одном и том же сечении, вызванных
единичными силами, действующими в разных расчетных сечениях, а в
столбцах – значения изгибающих моментов в разных сечениях, вызванных
одной и той же единичной силой. Тогда результатом матричной операции
F = MT ⋅ D⋅ Mp .
(2.24)
будет матрица-столбец значений прогибов балки в расчетных сечениях.
Таким образом, задача определения изогнутой оси балки решена.
21
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
3 Автоматизация расчета плоских рам
3.1 Описание расчетной схемы
Рассмотрим теперь более сложную конструкцию – раму. Рама
отличается от балки тем, что расположение расчетных сечений
определяется уже двумя координатами. Кроме того, рама представляет
собой комбинацию прямолинейных стержней, соединенных между собой
шарнирно или жестко под разными углами, причем количество стержней в
раме может быть большим. Это определяет разнообразие геометрических
форм рам и тем самым осложняет унификацию их расчета. Рассмотрим
общие принципы расчета рам на простом примере статически
определимой рамы, содержащей небольшое число стержней - П-образной
рамы, заделанной одним концом. Схема рамы показана на рисунке 3.1.
y
2
3
1
x
Рисунок 3.1 – Расчетная схема рамы
Для расчета данной рамы, т.е. для определения значений
изгибающих моментов, поперечных и продольных сил в расчетных
сечениях, не нужно предварительно определять опорные реакции,
поскольку любое сечение отсекает из рассмотрения эти реакции. Вопросы
автоматизации определения опорных реакций будут рассмотрены ниже. А
пока приступим к автоматизации вычисления внутренних усилий. Из
соображения экономии
ограничимся описанием вычисления только
изгибающих моментов.
Введем систему координат, показанную на рисунке 3.1 и
пронумеруем стержни (на рисунке номера показаны в квадратах). Рама
может быть нагружена тремя типами нагрузок: распределенной нагрузкой,
сосредоточенными силами, сосредоточенными моментами. Расчетные
формулы для определения внутренних сил для каждого типа нагрузок
будут разными. Приступая к вычислению изгибающих моментов
компьютер должен в соответствии с типом нагрузки выбрать ту или иную
22
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
формулу. Очевидно, что тип нагрузки нужно закодировать числовым
кодом, понятным компьютеру. Введем обозначение типа нагрузки с
помощью некоторой переменной целого типа Т : для распределенной
нагрузки Т = 0, для сосредоточенной силы Т = 1, для сосредоточенного
момента Т = 2. Понятно, что величина переменной Т должна быть
введена вместе с информацией о каждой нагрузке, причем в первую
очередь. Кроме указанной переменной нужно ввести величину нагрузки, ее
ориентацию и место приложения. Для распределенной нагрузки вводится
ее интенсивность (обычно нагрузку на рамы сводят к распределенной
равномерно). В случае более сложной функции распределения нужно
задавать еще и тип формулы условным кодом. Формулы, соответствующие
этим условным кодам должны быть заложены в программу расчета).
Необходимо оговорить правило знаков для направления нагрузки:
например, сила, направленная слева направо – положительная, а справа
налево – отрицательная, момент, действующий по часовой стрелке –
положительный, а наоборот – отрицательный. Это правило также должно
быть заложено в программу расчета. Нагрузка может быть вертикальной
или горизонтальной. Удобно ориентацию нагрузки закодировать с
помощью переменной целого типа (обозначим ее буквой F ). Пусть F = 0,
если нагрузка горизонтальная, и
F =1, если вертикальная. Место
приложения сосредоточенной нагрузки задается двумя координатами: x и
y. Сложнее с распределенной нагрузкой: нужно сообщить координаты
начала и конца участка действия этой нагрузки. Можно, однако,
ограничиться только координатами начала этого участка, добавив еще его
длину, поскольку нагрузку, переходящую на другой стержень, лучше
вводить отдельно. Следует также оговорить, что понимается под началом
загружения и ввести это в программу. Например: началом загружения
считается нижняя точка на вертикальном стержне и левая на
горизонтальном или наклонном. Таким образом, информация о нагрузках
имеет вид набора чисел, имеющих строго определенный порядок. В этом
порядке информация расшифровывается компьютером. Например, запись
0 1 -4.5 1.1 2.3 1.8
расшифровывается так: распределенная нагрузка (0), вертикальная (1),
действующая снизу вверх с интенсивностью 4,5 (-4.5), начинается в
сечении с координатой x , равной 1,1 (1.1), и координатой y, равной 2,3
(2.3), и действует на участке стержня длиной 1,8 (1.8).
Как и в балке, вычисление внутренних сил компьютер
осуществляет от каждой нагрузки отдельно в расчетных сечениях,
переходя от одного сечения к другому в порядке их нумерации.
Рассмотрим, как автоматизировать процесс назначения расчетных сечений
и определения их координат. В общем случае длины всех стержней
разные, обозначим их в порядке нумерации: d1, d2 , d3 . Дискретизацию
расчетной схемы можно выполнить по-разному: путем разбиения на части
23
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
равной длины на всех стержнях или на равное число частей на каждом
стержне. При произвольной длине разных стержней равной длины частей
деления на всей раме добиться не всегда удается, поэтому можно
поступить следующим образом. Если предусмотреть при вводе исходных
данных желательное расстояние между расчетными сечениями (степень
дискретизации) s , то в процессе обработки исходных данных с помощью
компьютера нетрудно уточнить эту величину для каждого стержня по
формуле
si = d i / O(d i / s ),
(3.1)
где O (di / s ) – функция округления до ближайшего целого
результата, заключеного в скобки. Например, если длина стержня di = 4, а
расстояние между сечениями в исходных данных s =0,3, то с помощью
функции округления вначале определяется количество частей на стержне
O (di / s ) = О (4 / 0,3) = О (13,33) = 13,
а затем уточняется расстояние между расчетными сечениями
si =4 / 13 = 0,308.
Нумерацию расчетных сечений удобно сделать сквозной по всей
раме. Тогда координаты расчетных сечений на стержнях вычисляются по
формулам:
для первого стержня, на котором n1 частей
x j = 0,
y j = ( j − 1) ⋅ s1 ,
(3.2)
(3.3)
где j = 1..n1+1 ,
для второго стержня, на котором n2 частей
xk = ( j − 1) ⋅ s2 ,
y k = d1 ,
k = n1+ j +1,
(3.4)
(3.5)
(3.6)
где j = 1..n2 +1;
для третьего стержня, на котором n3 частей
xk = d 2 ,
(3.7)
24
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
y k = d1 − ( j − 1) ⋅ s3 ,
k = n1+ n2+ j +2 ,
(3.8)
(3.9)
где j = 1..n3 +1.
Необходимо сказать, что последнее расчетное сечение на первом
стержне и первое на втором находятся в узле, соединяющем эти стержни,
следовательно их координаты, подсчитанные по указанным формулам,
совпадают. Казалось бы, что их можно объединить в одно расчетное
сечение. И с точки зрения определения изгибающих моментов это не
привело бы к неточности в расчете: равновесие в узлах требует равенства
моментов, если в узле сходится два стержня. Но с точки зрения
вычисления поперечных и продольных сил неточность при объединении
очевидна: эти внутренние усилия с разных сторон узла разные по
величине. Кроме того, в схемах, где в узлах сходится более двух стержней,
неточность возникает и при вычислении изгибающих моментов: в этом
случае на концах стержней, примыкающих к узлу изгибающие моменты в
общем случае разные. Поэтому количество расчетных сечений в узлах
должно быть равно количеству сходящихся в них стержней. Но компьютер
определяет усилия в сечениях в зависимости от их координат. Значит,
координаты сечений должны отличаться друг от друга. Это нетрудно
сделать следующим способом: после выполнения компьютером цикла
вычислений координат расчетных сечений по стержню ввести
корректировку для узловых сечений: для первого стержня
yn1+ 1 = yn1+ 1 − z ,
(3.10)
xn1+ 2 = xn1+ 2 + z ,
(3.11)
для второго стержня
xn1+ n 2 + 2 = xn1+ n 2 + 2 − z ,
(3.12)
где z - некоторая малая величина, на которую можно удалить от
узла расчетное сечение без ущерба для точности расчета (например, 1см
или 1 мм).
Выражения (3.10) - (3.12), нелепые с точки зрения математики, в
действительности обозначают компьютерную операцию присваивания:
вычисленные ранее величины изменяются на величину z. В нашем примере
координаты узловых сечений в узле, соединяющем стержни 1 и 2, теперь
будут: в сечении с номером n1+1 - x = 0, y = d1 – z, в сечении с
номером n1+2 x = z, y = d1. В результате координаты расчетных
сечений не совпадают, следовательно компьютер будет их рассматривать,
как принадлежащие разным стержням.
25
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
3.2 Определение внутренних усилий
Теперь можно приступить непосредственно к рассмотрению
процедуры вычисления внутренних усилий в расчетных сечениях.
Ограничимся определением, как было сказано выше, только изгибающих
моментов. Несмотря на простоту рассматриваемой в качестве примера
расчетной схемы, насчитывается 15 схем нагружения и взаимного
расположения нагрузок и расчетных сечений, для которых значения
изгибающих моментов подсчитываются по разным формулам. Эти схемы
приведены на рисунках 3 - 5. Черточками на рисунках отмечены места
расчетных сечений на стержнях рамы. Для проектирования элементов
рамы важно знать не только величину изгибающего момента, но и
расположение растянутой и сжатой зон в поперечных сечениях. Поэтому
нужно договориться о правиле знаков для изгибающих моментов, в
соответствии с которым составлены формулы. Примем, что изгибающий
момент, растягивающий правое наружное волокно (фибру) в вертикальном
стержне или нижнее в горизонтальном стержне, считается
положительным, а оказывающий противоположное действие –
отрицательным.
Изгибающие моменты в расчетных сечениях могут быть равны
нулю, либо подлежат вычислению по одной из формул. Для упрощения
процедуры расчета вначале изгибающим моментам в расчетных сечениях
присваивается значение, равное нулю. Затем организуется цикл обхода
расчетных сечений в последовательности возрастания их номеров. Для
каждого расчетного сечения организуется цикл обхода всех действующих
на раму нагрузок в последовательности возрастания номеров нагрузок.
Для каждой нагрузки просматриваются все условия взаимного
расположения нагрузок и расчетных сечений, типа нагрузок и их
ориентации, соответствующие расчетным формулам. При совпадении этих
условий с действительным положением нагрузки компьютер осуществляет
вычисление изгибающего момента по формуле. Если все рассмотренные
условия не дают совпадения, то игибающий момент остается равным
нулю. Рассмотрим математическую запись условий применимости формул
для расчета изгибающих моментов нашей рамы. Для удобства
рассмотрения приведем для каждого случая схему относительного
расположения нагрузки и расчетного сечения на рисунках. Напомним, что
компьютер использует только математическую запись условий
применимости формул.
26
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рисунок 3.2 – Схема 1
На рисунке 3.2 приведена схема относительного расположения
расчетных сечений (отмечены на рисунке черточками) и сосредоточенной
силы (указана стрелкой). Формула для определения изгибающего момента
в указанных сечениях
M ij = Pj ⋅ ( xi − x j ),
(3.13)
Математическое описание схемы 1
Tj = 1, Fj=1, xi<xj.
(3.14)
Записанное условие означает следующее: сосредоточенная
вертикальная сила, расположенная правее расчетного сечения.
Формула для определения изгибающего момента в указанных на
схемах 2 и 3 сечениях
M ij = Pj ⋅ ( yi − y j ),
(3.15)
а математическое описание схемы 2:
Tj = 1, Fj=0, xj=0, yi<yj ,
(3.16)
27
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рисунок 3.3 - Схема 2
схемы 3:
Tj = 1, Fj=0,
xi<l2, xj=l2 .
(3.17)
Рисунок 3.4 - Схема 3
Формула (3.15) применяется при выполнении либо условия (3.16),
либо (3.17).
Формула для определения изгибающего момента в указанных на
схеме 4 сечениях
M ij = − Pj ⋅ ( yi − y j ),
(3.18)
28
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
а математическое описание схемы 4:
Tj = 1, Fj=0,
xi=l2 , xj=l2, yi>yj.
(3.19)
Ниже приводятся формулы для определения изгибающих моментов
в сечениях, указанных на схемах, приведенных на рисунках, и
математическое описание взаимного расположения нагрузок и расчетных
сечений без дополнительных комментариев. Читателю предлагается
сопоставить записи с соответствующими схемами и расшифровать эти
записи.
Схема 5:
Рисунок 3.6 – Схема 5
M ij = q j ⋅ lqj ( xi − x j − lqj / 2),
Tj = 0, Fj=1,
xi<l2, xj<l2, xi<xj.
(3.20)
(3.21)
Схема 6:
29
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рисунок 3.7 – Схема 6
M ij = − q j ⋅ ( x j − xi ) 2 / 2,
Tj = 0, Fj=1,
xi<l2, xj<xi, xi<xj+lqj .
(3.22)
(3.23)
Схема 7:
Рисунок 3.8 – Схема 7
M ij = q j ⋅ lqj ( yi − y j − lqj / 2),
Tj = 0, Fj=0,
xi=0, xj=0, yj>yi.
(3.24)
(3.25)
Схема 8:
Рисунок 3.9 – Схема 8
M ij = q j ⋅ lqj ( yi − y j − lqj / 2),
(3.26)
30
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Tj = 0, Fj=0, xi<l2, xj=l2 .
(3.27)
Схема 9:
Рисунок 3.10 – Схема 9
M ij = − q j ⋅ ( y j + lqj − yi ) 2 / 2,
Tj = 0, Fj=0, xi=0, xj=0, yj<yi,
(3.28)
yi<yj+lqj .
(3.29)
Схема 10:
Рисунок 3.11 – Схема 10
31
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
M ij = q j ⋅ lqj ( y j − yi − lqj / 2),
Tj = 0, Fj=0, xi= l2, xj= l2,
yi>yj+lqj .
(3.30)
(3.31)
Схема 11:
Рисунок 3.12 – Схема 11
M ij = − q j ⋅ ( y j − yi ) 2 / 2,
(3.32)
Tj = 0, Fj=0, xi= l2, xj= l2, yi>yj , yi>yj+lqj .
(3.33)
Для схем 12, 14, 15 формула для определения изгибающего момента
в указанных сечениях
M ij = − m j ,
(3.34)
математическое
описание
относительного
расположения
сосредоточенного момента относительно расчетных сечений для схемы 12:
32
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рисунок 3.13 – Схема 12
Tj = 2,
xi=0, xj=0, yj>yi ,
(3.35)
для схемы 13:
Рисунок 3.14 – Схема 13
Tj = 2,
xi< l2, xj= l2 , xi<xj .
(3.36)
для схемы 14:
Рисунок 3.15 – Схема 14
33
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Tj = 2,
xi< l2, xj= l2 .
(3.37)
Формула для определения изгибающего момента в указанном
сечении схемы 15:
M ij = m j ,
(3.38)
Рисунок 3.16 – Схема 15
Условие применимости этой формулы
Tj = 2,
xi= l2, xj= l2, yi>yj .
(3.36)
В приведенных формулах:
Pj – величина сосредоточенной силы с номером j;
qj – величина интенсивности распределенной нагрузки, имеющей
номер j;
mj – величина сосредоточенного момента с номером j;
lqj - длина участка действия распределенной нагрузки с номером j .
Напомним, что одновременное выполнение всех равенств и
неравенств, содержащихся в одной из перечисленных записей – условие
для вычисления изгибающего момента по соответствующей формуле.
Вычисление осуществляется для каждого расчетного сечения i от всех
действующих на раму нагрузок в последовательности возрастания их
номеров j . Для каждой пары значений номеров i и j компьютер
рассматривает всю последовательность записей до тех пор, пока не будет
удовлетворена одна из них. Изгибающий момент в расчетном сечении
определяется по формуле
Mi =
np
∑
j= 1
M ij ,
(3.37)
34
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
где np обозначено количество действующих на раму нагрузок.
Совершенно аналогично строится вычисление поперечных и
продольных сил в рачетных сечениях. Компьютер может определить
экстремальные значения изгибающих моментов и расчетные сечения, в
которых они возникают. Для этого необходимо организовать цикл обхода
всех расчетных сечений и для каждого из них проверять одновременное
выполнение двух неравенств
Mi > Mi− 1
(3.38)
и
Mi > Mi+ 1 ,
(3.39)
где входящие в выражение моменты берутся по абсолютной
величине.
Значение номера расчетного сечения, для которого выполняются
оба указанных условия: (3.38) и (3.39), запоминается и может быть
сообщено проектировщику.
3.3 Автоматизация определения опорных реакций
Ограничимся рассмотрением расчетных схем, не содержащих
внутренних шарниров. Если количество опорных стержней при этом равно
трем, то система статически определима и для определения опорных
реакций достаточно составить и решить три уравнения равновесия.
Совместное решение системы уравнений всегда связано с большим
количеством промежуточных вычислений при понижении порядка.
Поэтому при «ручном» счете всегда стараются составить уравнения так,
чтобы уменьшить объем таких вычислений. В частности, при составлении
уравнений проекций оси стараются выбрать так, чтобы какие-либо
неизвестные давали проекции на эти оси, равные нулю. При составлении
уравнений моментов выбирают точки, относительно которых
определяются моменты, в опорных сечениях: тогда одна или две реакции
относительно этой точки момента не создают и из уравнений
исключаются. Опытный расчетчик всегда составит уравнения так, чтобы
объем вычислений был минимальным. Совсем другой подход к
составлению уравнений при компьютерном решении задачи.
Для автомата совершенно безразлично, какое количество нулей в
матрице коэффициентов уравнений. Более того, проще всего (с точки
зрения составления алгоритма) решается задача, когда матрица
коэффициентов не содержит нулей. Зато важно, чтобы алгоритм
составления системы был как можно проще и универсальней. Рассмотрим
один из вариантов алгоритма.
35
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Примем, что система уравнений равновесия имеет следующий вид
∑
∑
∑
X = 0,
(3.40)
Y = 0,
(3.41)
M0 = 0,
(3.42)
где первое уравнение – сумма проекций на горизонтальную ось,
второе – на вертикальную, а третье – сумма моментов всех действующих
на систему сил относительно узла с номером один. При этом безразлично,
где находится этот узел. Номер выбран для определенности, поскольку в
любой схеме есть узел с эти номером.
Система уравнений имеет следующую структуру
a11 X 1 + a12 X 2 + a13 X 3 + b1 = 0
a21 X 1 + a12 X 2 + a23 X 3 + b2 = 0
(3.43)
a31 X 1 + a32 X 2 + a33 X 3 + b3 = 0
Если реакции опор, как это чаще всего бывает, представляют собой
вертикальную или горизонтальную силу, то коэффициенты в первых двух
уравнениях представляют собой либо единицы, либо нули. Коэффициенты
при неизвестных в третьем уравнении имеют вид: для горизонтальных
реакций
a3 j = y j − y1 ,
(3.44)
a3 j = x j − x1 ,
(3.45)
для вертикальных реакций
где j – номер опорной реакции, а x и y – координаты опорных
узлов.
Выбор величины коэффициентов в первых уравнениях или
формулы для вычисления коэффициентов в третьем должен быть
осуществлен компьютером автоматически в зависимости от того, какова
ориентация опорного стержня с номером j. Следовательно, информацию
об ориентации опорного стержня нужно ввести в память компьютера в
качестве исходных данных. Эта информация должна быть закодирована.
Удобно обозначение ориентации осуществить с помощью переменной
целого типа, которой присваивается значение нуль или единица. Назовем
36
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
эту переменную F. Пусть F =1, если опорный стержень вертикальный, и
F=0, если горизонтальный. Тогда при вводе данных об опорных стержнях
нужно ввести для каждого стержня три числа: две координаты xj и yj , а
также обозначение ориентации Fj , где j – номер опорного стержня.
Коэффициенты уравнений теперь можно вычислить по формулам:
a1 j = 1 − F j ,
(3.46)
a2 j = F j ,
(3.47)
a3 j = F j ⋅ ( x j − x1 ) + (1 − F j ) ⋅ ( y j − y1 ) .
(3.48)
Свободные члены уравнений равновесия представляют собой
суммы проекций нагрузок на горизонтальную и вертикальную оси и
суммы моментов этих нагрузок относительно первого узла. Принцип
вычисления аналогичен определению реакций. Отличие лишь в том, что в
качестве нагрузки могут , кроме сосредоточенных сил, выступать и
распределенная нагрузка, и сосредоточенные моменты. Ведем обозначения
для координат точек приложения нагрузок: xpk и ypk (k – номер нагрузки).
Для равномерно распределенной нагрузки указанные координаты могут
означать начало участка действия нагрузки. Кроме этого нужно задать еще
и длину участка действия нагрузки (обозначим ее lpk). Естественно, что
при вводе нагрузок должен быть указан тип нагрузки. Формулы для
вычисления свободных членов принимают вид:
b1k =
∑
b2 k =
b3k =
+
∑
∑
(1 − Fk ) ⋅ Pk +
∑
∑
Fk ⋅ qk ⋅ lk ,
Fk ⋅ Pk +
∑
(1 − Fk ) ⋅ Pk ⋅ ( y k − y1 ) +
Fk ⋅ Pk ⋅ ( xk − x1 ) +
∑
∑
(1 − Fk ) ⋅ qk ⋅ lk ,
(3.49)
(3.50)
(1 − Fk ) ⋅ qk ⋅ lk ⋅ ( y k + lk / 2 − y1 ) +
Fk ⋅ qk ⋅ lk ⋅ ( xk + lk / 2 − x1 ) + ∑ M k , (3.51)
где Pk - сосредоточенная нагрузка с номером k;
qk – интенсивность распределенной нагрузки с номером k;
Mk – величина сосредоточенного момента с номером k.
3.4 Раскрытие статической неопределимости
Данная задача только в самых простых случаях может быть решена
аналитически в замкнутом виде. В подавляющем большинстве случаев
задача сводится к решению системы линейных алгебраических уравнений,
чаще всего довольно высокого порядка. Поэтому решение этой задачи
37
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
чаще всего осуществляется численным методом. Численные методы
отличаются от аналитических тем, что алгебраические преобразования
математических выражений заменяются соответствующими операциями с
числами. При использовании численных методов решение соответствует
конкретным числовым исходным данным и получается в виде чисел.
Аналитическое решение может быть получено в замкнутом виде – в виде
формулы или совокупности формул, позволяющих производить анализ
решения, минуя все промежуточные преобразования. Однако далеко не
всегда можно получить аналитическое решение в замкнутом виде из-за
громоздкости промежуточных преобразований. Кроме того, часто именно
громоздкость получаемых формул не позволяет непосредственно их
анализировать. В этих случаях приходится использовать численный
анализ: анализировать численные результаты, полученные при различных
значениях исходных параметров. Решение статически неопределимых
задач расчета конструкций относится к последнему случаю.
Эффективность численного метода решения определяется
простотой и прозрачностью выполняемых вычислительных операций,
приводящих к цели с контролируемой точностью. Одним из наиболее
эффективных численных алгоритмов является алгоритм, основанный на
матричных операциях. Выше уже описывалось использование матричных
операций при определении перемещений в балке. Классический метод
раскрытия статической неопределимости расчетной схемы – метод сил –
использует определение перемещений для формирования системы
уравнений совместности деформаций. Количество уравнений метода сил
может быть достаточно велико, а количество коэффициентов и свободных
членов уравнений, являющихся перемещениями пропорционально
квадрату количества уравнений. Применение матричных алгоритмов
делает процедуру определения коэффициентов и свободных членов
уравнений качественно независимой от расчетной схемы и нагружения.
Различие заключается лишь в порядке участвующих в процедуре матриц.
Рассмотрим в общих чертах как осуществляется раскрытие статической
определимости при расчете рамы.
Для решения задачи необходимо составить исходные матрицы
внутренних усилий в расчетных сечениях. Обозначим Mp матрицу
изгибающих моментов, вызванных внешними нагрузками, Me матрицу
изгибающих моментов, вызванных единичными силами, в основной
системе (статически определимой системе). При наличии групп
независимых нагрузок, действующих на раму, матрица Mp может иметь
число столбцов, равное количеству этих групп. В этом случае решение
получается для каждой из групп независимо. Матрица Me имеет столько
столбцов, сколько уравнений в разрешающей системе (число «лишних»
неизвестных). Количество строк в обеих матрицах равно количеству
расчетных сечений. Для определения перемещений необходимо составить
матрицу податливости конструкции D (об этом подробно сказано выше в
разделе, посвященном построению изогнутой оси балки). Матрица
38
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
податливости – квадратная диагональная матрица, ненулевые элементы
которой располагаются по диагонали. Порядок матрицы определяется
количеством участков интегрирования. Каждый элемент матрицы
податливости является матрицей, структура которой зависит от способа
определения перемещений, точнее говоря – от способа вычисления
интеграла, с помощью которого моделируется перемещение. О процедуре
автоматизации определения внутренних усилий
в статически
определимых системах также говорилось выше.
Операция определения матрицы коэффициентов уравнений метода
сил выглядит следующим образом:
A = M eT ⋅ D ⋅ M e ,
где А - матрица коэффициентов;
M eT – транспонированная матрица
моментов.
(3.52)
единичных
изгибающих
Аналогично находится матрица свободных членов уравнений
B = M eT ⋅ D ⋅ M p .
(3.53)
Система уравнений метода сил выглядит в матричной форме так
A⋅ X + B = O,
(3.54)
X = − A− 1 ⋅ B ,
(3.55)
где О – нулевая матрица.
Решение этого уравнения
где А-1 - матрица, обратная матрице А.
Изгибающие моменты определяются по формуле
M = Me ⋅ X + M p .
(3.56)
Подставляя в это выражение матричное описание входящей в него
матрицы Х и расшифровывая его, используя выражения для матриц А и
В, можно процедуру раскрытия статической неопределимости записать с
помощью матричных операций с исходными матрицами в виде:
M = M p − M e ⋅ ( M eT ⋅ D ⋅ M e ) − 1 ⋅ M eT ⋅ D ⋅ M p .
(3.57)
39
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
В приведенном матричном выражении используются следующие
операции с матрицами: умножение, транспонирование, обращение и
сложение. Все эти операции осуществляются по стандартным схемам и
легко автоматизируются. Таким образом, задача раскрытия статической
неопределимости благодаря использованию матричных операций может
быть автоматизирована полностью.
40
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
4 Автоматизация расчета ферм
4.1 Подготовка расчетной схемы
Рассмотрим теперь как можно автоматизировать определение
усилий в стержнях статически определимой фермы. Известно, что эта
работа может быть выполнена различными способами: как аналитически,
так и графически. Причем проектировщики предпочитают для сложных
ферм графический способ ввиду его меньшей утомительности и удобству
контроля правильности решения задачи. Правда, для обеспечения
требуемой точности расчета масштаб построения должен быть достаточно
крупным и строго соблюдаем. При использовании аналитических способов
для вычисления усилий во всех стержнях фермы приходится выполнять
множество однотипных, а потому и утомительных вычислительных
операций. Поэтому автоматизация расчета ферм существенно облегчает
работу проектировщиков. Рассмотрим один из возможных вариантов
автоматизации этой проектной процедуры, предложенный автором
настоящего пособия,
математической основой которого является
известный метод вырезания узлов.
Сформулируем прежде всего задачу. Требуется определить усилия
в стержнях фермы произвольной конфигурации, геометрия которой задана
координатами расположения узлов и расположением соединяющих их
стержней. Ферма не должна содержать шпренгельных элементов, а
количество опорных стержней не должно превышать трех, т.е ферма
должна быть балочного типа.
При расчете фермы традиционным (ручным) способом
проектировщик видит перед собой схему фермы и без труда (при наличии
сответствующей квалификации проектировщика) выбирает метод и
последовательность расчета. Компьютер же имеет дело только с числовой
информацией. (Заметим попутно, что компьютерные «картинки», которые
видит перед собой проектировщик при использовании современных
автоматизированных систем, предназначены вовсе не для компьютера, а
для удобства пользователя. Как компьютер «понимает» эти картинки мы
будем обсуждать ниже). Поэтому формирование математического
описания геометрии фермы является первой задачей автоматизации
расчета.
Определим тот минимум информации, который достаточен для
такого описания. Прежде всего это количество узлов фермы. Обозначим
эту величину U. Тогда количество стержней, соединяющих узлы (т.е. без
учета трех опорных стержней), определяется формулой
S = 2 ⋅ U − 3.
(4.1)
Количество узлов необходимо ввести в память компьютера. В качестве
исходных данных выступают также и координаты узлов. Проектировщик
41
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
должен знать, какая система координат заложена в методику расчета.
Удобно принять прямоугольную систему координат с началом в крайнем
левом нижнем узле фермы. Тогда все координаты узлов будут величинами
положительными. Ось x обычно горизонтальна,
y - вертикальна.
Координаты узлов запоминаются компьютером в виде двух одномерных
массивов чисел: X и Y. Элементы этих массивов: xi и yi , где i – номер
узла. Необходимо еще ввести информацию о том, какие узлы соединяют
между собой стержни. Для этого предварительно на схеме проектировщик
должен пронумеровать узлы и стержни и в порядке нумерации стержней
ввести в память компьютера номера узлов, являющихся началом стержней
(пусть это будут элементы одномерного массива NN - nnj , где j – номер
стержня), а также номера узлов, являющихся концами стержней (массив
NK с элементами nkj). Какой из двух узлов, соединяющих стержни,
принять за начало, какой за конец - безразлично. Для определения усилий
в стержнях нужно знать, какие стержни входят в рассматриваемый узел, и
под каким углом они направлены. Эта информация также может быть
введена проектировщиком, но попытаемся описать эту процедуру
математически. Организуем цикл обхода узлов в порядке их нумерации.
Для каждого узла организуем цикл просмотра номеров узлов в массивах
NN и NK . Условием принадлежности стержня с номером j узлу с номером
i будет выполнение одного из двух условий:
nn j = i
(4.2)
nk j = i .
(4.3)
или
Выполнение
первого
условия
означает,
что
номер
рассматриваемого узла i совпадает с номером узла в начале стержня,
имеющего номер j , а выполнение второго – с номером узла в конце
стержня, имеющего номер j . Безусловно, одновременное выполнение
равенств (4.2) и (4.3) невозможно. Номера стержней, для которых
удовлетворено одно из указанных условий, и количество стержней,
входящих в узел компьютеру необходимо запомнить. Это та информация,
которая содержится на графическом изображениии схемы фермы, но
представленная в виде расположенных в строго определенном порядке
чисел и тем самым доступная для распознавания компьютеру. Опишем
этот порядок.
Назовем KSY одномерный массив чисел, элементами которого
является количество стержней, входящих в узлы. Так, если элемент
KSY5=3, то это означает, что в узле с номером 5 сходятся 3 стержня.
Назовем двумерный массив чисел NSY в котором хранится информация о
номерах стержней, входящих в узлы. Элемент этого массива,
42
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
расположенный в строке с номером i и в столбце с номером j – это номер
стержня в общей нумерации стержней фермы, который входит в узел с
номером i и имеет в этом узле порядковый номер j. Таким образом, в
каждом узле существует своя, локальная, нумерация стержней, в которой
стержни
пронумерованы
компьютером
автоматически
в
последовательности определения их принадлежности к узлу. Например,
если NSY5,3=8, то это означает, что входящий в узел 5 под номером 3
стержень имеет номер 8 в сквозной нумерации стержней фермы.
Процедура записи информации в массивы KSY и NSY автоматически
выполняется компьютером в процессе описанного выше определения
номеров стержней, входящих в узлы. Например, если, проверяя
удовлетворение условий (4.2) или (4.3) для узла с номером 16, компьютер
установит, что первым одно из этих условий удовлетворяется для стержня
с номером 12, то элементу KSY16 массива KSY будет присвоено значение 1,
а элементу NSY16,1 массива NSY - значение 12. Если следующим в этой
процедуре проверки окажется стержень с номером 18, то элементу KSY16
массива KSY будет присвоено значение 2, а элементу NSY16,2 массива NSY
- значение 18.
Рассмотрим теперь описание нагружения фермы. Поскольку ферма
должна быть нагружена только действующими в узлах сосредоточенными
силами, то нумерацию нагрузок удобно совместить с нумерацией узлов.
Т.е. сила с номером 5 должна действовать в узле 5. Нагрузки удобно
привести к вертикальной и горизонтальной составляющим и записывать в
память компьютера в виде двух одномерных массивов. Отсутствие
нагрузки в каком-либо узле обозначается нулем. Иначе говоря, нужно
ввести два массива чисел (в количестве U в каждом) в последовательности
возрастания номеров узлов.
После ввода нагрузок необходимо определить реакции опор. Эта
процедура выполняется так же как и в рамах, поэтому не будем на ней
останавливаться. Скажем только, что после определения реакций
дополняются массивы нагрузок: величины реакций с соответствующим
знаком прибавляются к нагрузкам, действующим в опорных узлах.
4.2 Рассмотрение равновесия узлов
Теперь можно приступить к описанию процедуры рассмотрения
равновесия узлов. Прежде всего следует определить порядок обхода узлов.
Все, кто знаком с методом вырезания узлов, знают, что для
определенности задачи вычисления усилий в стержнях в рассматриваемом
узле должно быть не более двух неизвестных усилий. Это следует из
количества независимых уравнений равновесия для плоской системы
сходящихся сил. Проектировщик, выполняя расчет вручную, каждый раз
мысленно анализирует ситуацию в очередном узле, вычисляя количество
неизвестных, и принимает в зависимости от полученного результата то или
иное решение: вычислять усилия или пропустить пока этот узел. Как уже
43
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
отмечалось выше неоднократно, компьютер имеет дело только с числами,
поэтому надо придумать способ, чтобы с помощью числовой информации
описать возможность или невозможность вычисления усилий в данном
узле. Предлагается следующий простой способ (он,естественно, далеко не
единственно
возможный).
Введем
дополнительно
одномерный
информационный массив чисел Z, каждому элементу которого в начале
расчета присваивается значение 1. Номера элементов соответсвуют
номерам стержней. Если в результате расчета
усилие в стержне
становится определенным, то в соответствующий номеру этого стержня
элемент массива Z вместо единицы записывается нуль. Для каждого узла
степень неопределимости можно определять суммой Zj всех стержней,
входящих в узел. Условием возможности вычисления усилий в стержнях
узла является неравенство
0<
KSYi
∑
Z j ≤ 2,
(4.4)
1
где i – номер узла;
j – номер стержня, входящего в узел i в локальной нумерации;
KSYi - количество стержней, входящих в узел i.
Очевидно, что если выполняется равенство
KSYi
∑
Z j = 0,
(4.5)
1
то вычисление усилий в узле отпадает в силу определенности всех
входящих в узел стержней.
При рассмотрении равновесия узлов может быть два варианта
решения. В первом варианте, когда в двух из входящих в узел стержней
усилия неизвестны (сумма Zj равна двум), нужно составить и решить два
линейных алгебраических уравнения равновесия. Если номера стержней,
усилия в которых неизвестны, в локальной системе нумерации узла имеют
номера w и v, то уравнения имеют вид
N w ⋅ a wx + N v ⋅ avx + Px +
N w ⋅ a wy + N v ⋅ avy + Py +
k
∑
N i ⋅ aix = 0 ,
i = 1, i ≠ w, i ≠ v
k
∑
Ni ⋅
i = 1, i ≠ w, i ≠ v
aiy = 0 ,
(4.6)
(4.7)
где N – усилия в стержнях;
44
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
aix , aiy – косинусы углов наклона стержней к осям координат;
Px , Py – проекции на оси координат внешних сил, действующих на
узел;
k – количество стержней в узле.
При суммировании исключаются стержни с номерами w и v.
Решение этой системы может быть представлено с помощью двух формул
k
Nw =
∑
i = 1, i ≠ w, i ≠ v
N i aiy −
avy
∑
N i aix + Py −
avx i = 1, i ≠ w, i ≠ v
avy
a wy −
a wx
avx
k
Nv =
k
∑
N i aix
i = 1, i ≠ w, i ≠ v
a wy −
avy
avx
Px
,
(4.8)
+ Px − a wx N w
avy
avx
.
(4.9)
a wx
Для того, чтобы использовать приведенные формулы должны быть
известны косинусы углов наклона стержней к осям координат.
Вычисление этих величин вполне доступно для автоматизации. Поскольку
координаты узлов на концах стержней известны, то формулы для
определения косинусов углов наклона нетрудно записать:
aix =
aiy =
xnk − xnn
,
li
y nk − y nn
,
li
(4.10)
(4.11)
где xnn и ynn - координаты узла в начале стержня;
xnk и ynk – координаты узла в конце стержня;
li - длина стержня, определяемая также через координаты узлов на
концах стержня
li =
( xnk − xnn ) 2 + ( y nk − ynn ) 2 .
(4.12)
45
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Чтобы пользоваться формулами (4.8) и (4.9) необходимо также установить
номера стержней, усилия в которых следует определить. Для этого
организуется цикл обхода стержней узла, начиная с первого. Вначале
анализируется величина элемента массива Z с номером NSYj,i ( j – номер
узла, i – номер стержня в локальной нумерации). Если указанная величина
оказывается равной единице, то номер NSYj,i записывается в массив из двух
элементов (назовем его R). Поскольку сумма показателей Z узла равна
двум, то в массиве R оказывается два числа. Теперь остается присвоить
переменным w и v значения:
w = R1 ,
(4.13)
v = R2 .
(4.14)
При вычислении сумм проекций известных усилий в стержнях на оси
координат также используется переход к номерам стержней в общей
нумерации через массив NSY: величина усилия Ni есть элемент под
номером NSYj,i из массива результатов вычисления усилий.
Соответственно, результаты определения усилий Nw и Nv заносятся в
массив результатов в элементы с номерами NSYjw и NSYjv .
Второй вариант при рассмотрении равновесия узлов – когда
неизвестно только одно усилие в узле. Это усилие определяется по
формуле
− Px −
Nw =
k
∑
N i aix
i = 1, i ≠ w
.
(4.15)
a wx
Номер w стержня с неизвестным усилием определяется так же, как
рассмотрено выше.
4.3 Пример расчета фермы
Опишем теперь весь процесс вычисления усилий в стержнях на
примере фермы, изображенной на рисунке 4.1.
46
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
y
5
4
7
6
4
3
6
11
9
1
8
5
10
8
1
7
12
2
2
13
x
3
Рисунок 4.1 – Геометрическая схема фермы
На рисунке изображена ферма, содержащая восемь узлов (номера
узлов указаны стрелочками), соединенных между собой 13 стержнями.
Исходная информация для расчета усилий в стержнях содержит:
количество узлов, координаты узлов, номера узлов на концах стержней и
внешняя нагрузка, приложенная в узлах в виде вертикальной и
горизонтальной составляющих. В результате ввода исходных данных
компьютер формирует массивы: координат ( X и Y ), номеров узлов в
начале стержней ( NN ) и номеров узлов в конце стержней ( NK ). В
таблице 4.1 приведены элементы массивов NN и NK для фермы,
изображенной на рисунке 4.1.
47
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Таблица 4.1 – Элементы массивов номеров узлов
Номера
стержней
Массив
NN
Массив
NK
1
2
3
4
5
6
7
8
9
10
11
12
13
1
2
4
5
6
7
1
1
2
2
2
3
3
2
3
5
6
7
8
4
5
5
6
7
7
8
Компьютер
формирует
автоматически
массив
признаков
определенности усилий в стержнях – Z, всем элементам которого
присваивается значение zi = 1. Затем компьютер приступает к обработке
полученной при вводе информации. Осуществляется цикл обхода узлов в
порядке их нумерации. Для каждого узла просматриваются массивы NN и
NK в порядке нумерации элементов. Выясняется принадлежность
стержней тому или иному узлу. Так, в узле 1 при просмотре массива NN
выясняется, что значения элементов NN1 , NN7 и NN8 совпадают с
номером узла, следовательно стержни с этими номерами входят в этот
узел. Компьютер начинает формирование массива номеров стержней,
входящих в узлы - NSY. В этом массиве узлу 1 отводится первая строка, а
элементам массива в этой строке в том порядке, в котором встречаются
значения элементов NN1 , NN7 и NN8, совпадающих с номером узла,
присваиваютя соответствующие номера стержней: NSY1,1=1, NSY1,2=7,
NSY1,3=8. При просмотре массива NK в узле 1 оказывается, что ни одно
значение его элементов не совпадает с номером узла, следовательно, узел 1
не является концом ни одного стержня и в него входят только
обнаруженные при просмотре массива NN стержни. Точно такая процедура
выполняется для всех остальных узлов. В результате оказывается
сформированным двумерный массив, который для фермы, изображенной
на рисунке 6, имеет следующий вид (таблица 4.2).
Как видно, номера стержней в строках располагаются строго в том
порядке, как они встречаются в строках таблицы 4.1, соответствующих
массивам NN и NK: вначале идут номера, встречающиеся при просмотре
массива NN , например, для узла 2: 2, 9, 10 и 11, затем при просмотре
массива NK : 1. В последнем столбце таблицы приведены элементы
массива KSY – количества стержней, входящих в узлы. Этот массив
формируется также автоматически одновременно с массивом NSY.
48
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Таблица 4.2 – Массив номеров стержней, входящих в узлы фермы
Номера
узлов
1
2
1
2
3
4
5
6
7
8
1
2
12
3
4
5
6
6
7
9
13
7
3
4
5
13
Локальные номера стержней
3
4
5
Общее число стержней в
узле - KSY
8
3
10
11
1
5
2
3
2
8
9
4
8
9
4
11
12
4
2
На этом компьютер заканчивает подготовительную работу и
приступает к вычислению усилий в стержнях. Снова начинается цикл
обхода узлов в порядке их нумерации. В каждом узле прежде всего
определяется количество стержней в узле (значение элемента массива
KSY). Для первого узла нашей фермы, например, KSY1 =2. Вычисляется
сумма показателей Z стержней, входящих в узел. Поскольку массив Z
построен в порядке общей нумерации стержней, используется массив
номеров NSY, однако выяснение величины показателя каждого стержня
производится в порядке локальной нумерации. В узле 1 сумма показателей
Z равна трем, следовательно, условие (4.4) не выполняется и вычисление
усилий не может быть произведено. Происходит переход к узлу 2. В этом
узле, как и в узле 3, сумма показателей больше двух, и компьютер
начинает вычисление усилий только в узле 4, где сумма Z равна двум и
поэтому используются формулы (4.8) и (4.9), в которых w=1, v=2 (номера
стержней 3 и 7 с неизвестными усилиями - в локальной нумерации узла), а
суммы известных усилий в стержнях отсутствуют т. к. таковых в узле пока
нет. После определения усилий в стержнях полученные значения заносятся
в массив N согласно номерам в общей нумерации стержней (используется
массив номеров NSY) и вносятся коррективы в массив Z – элементы Z3 и Z7
становятся равными нулю.
Следующим к рассмотрению принимается узел 8, а узлы 5,6,7
пропускаются по тем же соображениям, что и узлы 1-3. Вычисление
усилий в стержнях 6 и 13 осуществляется так же как и в узле 4. Таким
образом, цикл обхода всех узлов завершен. Теперь компьютер анализирует
степень определенности усилий во всех стержнях фермы. Для этого
суммируются значения элементов массива Z. Если сумма не равна нулю, то
обход узлов начинается снова с первого узла. В нашем случае после
первого обхода всех узлов массив Z имеет вид, представленный в таблице
4.3.
49
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Таблица 4.3 – Массив Z после первого цикла обхода узлов
Номера
стержней
Значения
показателей Z
1
2
3
4
5
6
7
8
9
10
11
12
1
1
0
1
1
0
0
1
1
1
1
0
Продолжим пример расчета усилий в ферме. Во втором цикле
обхода узлов первым в узле 1 встречается стержень с номером 1
(напомним, что номер стержня компьютер определяет с помощью массива
номеров NSY ) в общей системе нумерации. Его показатель Z равен
единице, следовательно усилие в этом стержне неизвестно и w=1. Далее
следует стержень с номером 7, его показатель Z равен нулю. Третьим в
локальной системе является стержень с номером 8 и его показатель Z равен
единице, значит v =3. Сумма показателей Z в узле равна двум, и
компьютер может приступить к вычислениям по формулам (4.8) и (4.9).
Теперь в сумме определенных усилий в формулах участвует усилие в
стержне 7 (его номер в локальной системе нумерации 2 и он из суммы не
исключается). После вычисления усилий в стержнях корректируются
массивы N и Z и обход узлов продолжается. На этот раз исключаются из
рассмотрения узлы с номерами 2 (в нем сумма Z оказывается равной
четырем), 4 и 8 (в них сумма Z равна нулю). Несмотря на это в результате
обхода всех узлов в массиве Z показателей определенности усилий
значения всех элементов становятся равными нулю. Таким образом, сумма
Z всех стержней равна нулю и расчет усилий в стержнях фермы завершен.
4.4 Об автоматизации подготовки исходных данных
Как следует из изоженного, для автоматизированного расчета
фермы необходимо в память компьютера ввести координаты узлов и
номера узлов, которые соединяют стержни. Если геометрия фермы
простая, а количество узлов невелико, то эта процедура несложная. Другое
дело, когда узлов в ферме много, а определение координат узлов требует
выполнения большого количества вычислительных операций. Возрастает
трудоемкость подготовки данных и вероятность случайных ошибок.
Следовательно, автоматизация подготовки данных – задача весьма
актуальная.
Набор геометрических схем ферм, применяемых в строительстве в
качестве стропильных конструкций, довольно ограничен: существуют
типовые схемы, обеспечивающие унификацию процесса изготовления. В
частности, распространены стропильные фермы с параллельными поясами,
имеющие регулярную структуру, поддающуюся описанию средствами
математики. Рассмотрим ферму, расчет которой только что приводился в
качестве примера (рисунок 4.1). Поставим задачу автоматизировать
процедуры определения координат узлов и нумерации узлов и стержней.
50
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Ограничимся заданием пролета фермы L, ее высотой H и
количеством панелей n. Ферма на рисунке 4.1 имеет две панели, каждая из
которых содержит пару раскосов (восходящий и нисходящий) и пару
стоек. Точно такая же структура у ферм, имеющих большие пролеты.
Поэтому, математическое описание определения координат узлов и
нумерации узлов и стержней для произвольного числа панелей решает
задачу автоматизации подготовки данных всего класса стропильных ферм
с параллельными поясами.
Начнем с нумерации узлов. Определим строгий порядок
нумерации: нумеруются вначале узлы нижнего пояса в порядке слева
направо, начиная с левого узла, затем узлы верхнего пояса в том же
порядке. Тогда правый узел нижнего пояса имеет номер n+ 1, левый узел
верхнего пояса – номер n + 2, правый узел верхнего пояса – номер 3n + 2
(количество узлов верхнего пояса равно 2 n +1). Для нашего примера,
соответственно, номера указанных узлов: 3, 4, 8 (в верхнем поясе пять
узлов).
Определим теперь порядок нумерации стержней: вначале
нумеруются стержни нижнего пояса в порядке слева направо, потом –
верхнего пояса в том же порядке, далее элементы решетки, также слева
направо. Тогда стержни нижнего пояса будут иметь номера, начиная с 1 и
заканчивая номером n, стержни верхнего пояса: от n +1 до 3 n
включительно. Стержни решетки имеют номера от 3 n +1 до 6 n +1 (в
каждой панели три элемента решетки, за исключением первой, где их на
один больше). Для фермы, которая служит примером, стержни решетки
имеют номера от 7 до 13, а для фермы с пролетом, содержащим восемь
панелей – номера от 25 до 49 включительно.
Обозначим произвольный номер узла через i , а стержня – j .
Теперь по номеру узла компьютер может определить, где расположен этот
узел: если
i < n + 2,
(4.16)
то узел в нижнем поясе, если
i > n + 1,
(4.17)
то узел в верхнем поясе. Если номер стержня
j < n + 1,
(4.18)
то это – стержень нижнего пояса, если
n < j < 3n + 1 ,
(4.19)
51
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
то тогда он является элементом верхнего пояса, и в случае, когда
его номер
j > 3n ,
(4.20)
то это означает, что он принадлежит решетке.
Полученные формулы недостаточны, чтобы определить по номеру
стержня, какой панели он принадлежит, а также то, является ли он
стойкой, восходящим или нисходящим раскосом. А это необходимо знать
для выбора формулы, по которой можно определить номера узлов,
соединяемые стержнем. Обозначим
k
номер панели, которой
принадлежит стержень. Тогда номер стержня нижнего пояса можно
выразить через номер панели
j= k.
(4.21)
Эта формула очевидна, т.к. в каждой панели один стержень
нижнего пояса. Также очевидно, что номера узлов, которые соединяют
стержни нижнего пояса выражаются формулами
NN j = k ,
(4.22)
NK j = k + 1 .
(4.23)
В каждой панели верхнего пояса два стержня. Их номера также
можно связать с номерами панелей: номер левого стержня в панели с
номером k
j = n + 2k − 1 ,
(4.24)
j = n + 2k .
(4.25)
Номера узлов, соединяемых стержнями верхнего пояса удобнее
выражать через номера стержней, поскольку легко заметить
закономерность связи между ними
NN j = j + 1 ,
(4.26)
NK j = j + 2 .
(4.27)
В каждой панели рассматриваемой схемы фермы по одной стойке и
по одному восходящему и нисходящему раскосу (в последней панели
фермы фактически две стойки, но последнюю, чтобы не нарушать
52
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
закономерность можно отнести к несуществующей панели с номером
n+1). Нумерация стержней решетки начинается с номера 3n +1 (см.
формулу (4.20). Каждая стойка является первой в панели, в каждой панели
три элемента решетки, поэтому номер стойки в общей нумерации
стержней
j = 3n + 3(k − 1) + 1.
(4.28)
Восходящий раскос в нумерации следует за стойкой и его номер
j = 3n + 3(k − 1) + 2 ,
(4.29)
а нисходящий, соответственно,
j = 3n + 3(k − 1) + 3 .
(4.30)
Как видно из рассмотрения схемы фермы, нижние узлы стоек совпадают с
начальными узлами стержней нижнего пояса, следовательно их номера
выражаются формулой (4.22). Номера верхних узлов стоек соседних
панелей отличаются на два, а номер верхнего узла первой панели согласно
формуле (4.17) равен n + 2 , поэтому
NK j = n + 2 + 2(k − 1) .
(4.31)
Нижние узлы восходящих раскосов совпадают с началами, а нисходящих с
концами стержней нижнего пояса, поэтому их номера определяются по
формулам: для восходящих раскосов
NN j = k ,
(4.32)
NN j = k + 1 .
(4.33)
для нисходящих раскосов
Верхние концы раскосов одной панели располагаются в одном и том же
узле, номер которого на один больше, чем номер верхнего раскоса стойки
этой же панели. Учитывая формулу (4.31) номер верхних узлов раскосов
панели с номером k вычисляется по формуле
NK j = n + 3 + 2(k − 1) .
(4.34)
53
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Более простой является задача определения координат узлов.
Координаты узлов нижнего пояса ( i - порядковый номер узла):
xi = L ⋅ (i − 1) / n ,
(4.35)
yi = 0 .
(4.36)
Координаты узлов верхнего пояса:
xi = L ⋅ (i − n − 2) /( 2 ⋅ n) ,
(4.37)
yi = H .
(4.38)
Итак, все формулы, необходимые для автоматического определения
геометрических параметров фермы определены. Рассмотрим теперь
порядок выполнения этой процедуры.
Сначала вычисляется общее
количество узлов фермы. Формула для расчета получается просто,
поскольку количество узлов нижнего пояса на один больше количества
панелей, а количество узлов верхнего пояса на один больше удвоенного
числа панелей:
U = 3n + 2 .
(4.39)
Общее количество стержней, соединяющих узлы, также может быть
определено через число панелей
N s = 6n + 1 .
(4.40)
Формирование массивов номеров узлов, расположенных в начале (NN) и в
конце (NK) стержней, проще всего осуществить в цикле по номерам
панелей. В каждой панели рассматриваемой схемы шесть стержней:
стержень нижнего пояса, левый и правый (в данной панели) стержни
верхнего пояса, стойка, восходящий раскос и нисходящий раскос. В таком
порядке и производится запись номеров узлов в массивы NN и NK.
Последовательность операций для каждого стержня панели такова.
Вначале вычисляется номер стержня, а затем номера узлов на его концах.
Покажем эту процедуру на числовом примере фермы, изображенной на
рисунке 4.1 (число панелей n=2).
Нижний стержень первой панели (k=1). Номер стержня
определяется по формуле (4.21):
j = k = 1,
номера узлов на концах стержня – по формулам (4.22) и (4.23)
54
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
NN1 = k = 1 ,
NK1 = k + 1 = 2 .
Для верхнего левого стержня используются формулы (4.24), (4.26),
(4.27):
j = n + 2k − 1 = 2 + 2 ⋅ 1 − 1 = 3 ,
NN 3 = j + 1 = 3 + 1 = 4 ,
NK 3 = j + 2 = 3 + 2 = 5 .
Для верхнего правого стержня - формулы (4.25), (4.26), (4.27):
j = n + 2k = 2 + 2 ⋅ 1 = 4 ,
NN 4 = j + 1 = 4 + 1 = 5 ,
NK 4 = j + 2 = 4 + 2 = 6 .
Для стойки – формулы (4.28), (4.22), (4.31):
j = 3n + 3(k − 1) + 1 = 3 ⋅ 2 + 3 ⋅ (1 − 1) + 1 = 7 ,
NN 7 = k = 1 ,
NK 7 = n + 2 + 2 ⋅ (k − 1) = 2 + 2 + 2(1 − 1) = 4 .
Для восходящего раскоса – формулы (4.29), (4.32), (4.34):
j = 3n + 3(k − 1) + 2 = 3 ⋅ 2 + 3 ⋅ (1 − 1) + 2 = 8 ,
NN 8 = k = 1 ,
NK 8 = n + 3 + 2 ⋅ (k − 1) = 2 + 3 + 2(1 − 1) = 5 ,
Для нисходящего раскоса – формулы (4.30), (4.33), (4.34):
j = 3n + 3(k − 1) + 3 = 3 ⋅ 2 + 3 ⋅ (1 − 1) + 3 = 9 ,
55
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
NN 9 = k + 1 = 1 + 1 = 2 ,
NK 9 = n + 3 + 2 ⋅ (k − 1) = 2 + 3 + 2(1 − 1) = 5 .
Совершенно аналогично вычисляются номера стержней и узлов на
их концах для второй панели. Отличие заключается в том, что в формулах
величина k= 2. Последний по счету стержень фермы является стойкой –
единственным существующим стержнем третьей панели, поэтому его
номер:
j = 3n + 3(k − 1) + 1 = 3 ⋅ 2 + 3 ⋅ (3 − 1) + 1 = 13 ,
номер нижнего узла:
NN13 = k = 3 ,
номер верхнего узла:
NK13 = n + 2 + 2 ⋅ (k − 1) = 2 + 2 + 2(3 − 1) = 8 .
Таким образом массивы NN и NK сформированы. Вычисление
координат узлов выполняется в цикле в порядке возрастания номеров i
узлов по формулам (4.35), (4.36) при номерах узлов (узлы нижнего пояса)
i< n+ 2
и по формулам (4.37), (4.38) в остальных случаях.
4.5 Применение матричного алгоритма расчета
Рассмотренные методы автоматизации расчета рам и ферм требуют
разработки алгоритмов применительно к тому или иному типу
конструктивной схемы. Эти алгоритмы, как следует из изложенного выше,
содержат довольно сложные схемы математического описания и анализа
геометрии и структуры каждой схемы. В результате проектирующие
компьютерные программы, способные осуществлять расчет разнообразных
схем оказываются громоздкими, поскольку должны содержать большое
количество модулей, реализующих ту или иную расчетную схему.
Причиной этого является то, что эти методы расчета создавались
применительно к возможностям «ручного счета» (т.е. без использования
автоматов). Так, например, метод вырезания узлов позволяет решить
задачу определения усилий в стержнях фермы ограничиваясь
рассмотрением систем уравнений не выше второго порядка. Это очень
важно при «ручном счете», поскольку для решения системы уравнений
56
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
высокого порядка требуется произодить большой объем промежуточных
арифметических операций, увеличивающий время, затрачиваемое на
решение, и повышающий вероятность появления случайных ошибок. Если
же рассматривать технологию проведения расчета конструкции с позиций
автомата, то предпочтительной является более простая математическая
модель, пусть и требующая для реализации большего количества
вычислений.
Рассмотрим снова ферму, расчетная схема которой представлена на
рисунке 4.1. В этой ферме 13 стержней, усилия в которых надо определить.
Если добавить к ним три опорных стержня, то оказывается, что для
определения усилий во всех стержнях фермы нужно решить систему
уравнений 16 порядка. Эта задача для проектировщика, даже
вооруженного микрокалькулятором, потребует для своего решения
многочасовых вычислений. Для компьютера же эта задача пустяковая,
поскольку существует много эффективных методов решения систем
алгебраических уравнений, реализованных в стандартных программах.
Главной проблемой здесь становится разработка наиболее простого
способа составления системы уравнений, годного для широкого круга
различных расчетных схем. Рассмотрим один из таких способов.
Система уравнений для определения усилий в стержнях фермы
имеет следующую структуру
a11 N1 + a12 N 2 + a13 N 3 + ... + a1k N k + b1 = 0
a21 N1 + a22 N 2 + a23 N 3 + ... + a2 k N k + b2 = 0
a31 N1 + a32 N 2 + a33 N 3 + ... + a3k N k + b3 = 0
(4.41)
……………………………………………..
ak1 N1 + ak 2 N 2 + ak 3 N 3 + ... + akk N k + bk = 0 ,
где Ni - подлежащие определению усилия в стержнях;
aij – косинусы углов наклона стержней к осям координат,
Каждое из представленных уравнений – это уравнение равновесия
системы сил, действующих на узел. Для каждого узла можно составить два
уравнения равновесия – суммы проекций сил на оси координат. Но
количество внутренних стержней фермы на три меньше, чем удвоенное
число узлов. Следовательно, три уравнения не будут независимыми. Это
уравнения равновесия опорных узлов. В эти узлы входят опорные стержни,
усилия в которых определяются из уравнений равновесия всей фермы в
целом. Эти уравнения должны быть добавлены к системе (4.41), а
уравнения, содержащие опорные реакции необходимо удалить. Но
57
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
операция по удалению лишних уравнений и добавлению дополнительных
может быть осуществлена только после формирования системы (4.41).
Итак,
основной
задачей
является
составление
матриц
коэффициентов и свободных членов уравнений (4.41). Оказывается, что
эта сложная логическая задача может быть решена путем выполнения
последовательности операций с матрицами.
Введем понятие структурной матрицы Sc , представляющей собой
прямоугольную матрицу, число строк которой равно количеству узлов
фермы, а число столбцов – количеству стержней. Элементами структурной
матрицы являются числа: единицы и нули. С помощью структурной
матрицы описывается взаимное расположение узлов и стержней. Единицей
и единицей с минусом соответственно в структурной матрице
обозначаются узлы, расположенные в начале и в конце стержня. За начало
стержня принимается узел, имеющий меньший номер. Остальные
элементы матрицы – нулевые. Если, например, стержень с номером 4
соединяет узлы с номерами 2 и 5, то в структурной матрице единица
(начало стержня) располагается на строке с номером 2 и в столбце с
номером 4, а единица с минусом (конец стержня) - на строке с номером и
в столбце с тем же номером 4. Очевидно, что в каждом столбце
структурной матрицы есть только два ненулевых элемента: единица и
минус единица. В строке же столько ненулевых элементов, сколько
стержней сходится в этом узле. В качестве примера построим структурную
матрицу фермы, схема которой представлена на рисунке 4.1. Нумерацию
узлов и стержней сохраним такой же, как и в рассмотренных выше
примерах. Структурная матрица имеет восемь строк и 13 столбцов:
Sc=
1
-1
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
1
-1
1
0
0
-1
0
0
0
0
1
0
0
0
-1
0
0
0
0
-1
0
0
1
0
0
0
0
1
0
0
0
-1
0
0
0
1
0
0
0
0
-1
0
0
0
1
0
0
0
-1
0
0
0
1
0
0
0
0
-1
(4.42)
Структурная матрица дает такое же представление о
геометрической структуре фермы как массивы NN и NK номеров узлов,
которые соединяют стержни, использованные в описанном выше
алгоритме расчета фермы. Но оказывается, что использование этой
матрицы позволяет заменить логические операции при анализе ситуаций в
58
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
узлах фермы простыми операциями с матрицами. Чтобы облегчить
восприятие излагаемого алгоритма ограничимся рассмотрением фермы,
состоящей из одной панели и содержащей пять узлов и семь стержней
(тогда количество уравнений сокращается до семи). Схема фермы
представлена на рисунке 4.2.
y
4
3
4
5
3
2
7
5
6
x
1
1
2
Рисунок 4.2 – Схема фермы из одной панели
Структурная матрица для этой фермы имеет вид:
Sc=
1
-1
0
0
0
0
0
1
-1
0
0
0
0
1
-1
1
0
-1
0
0
1
0
0
-1
0
0
1
0
-1
0
0
1
0
0
-1
(4.43)
59
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Введем матрицы координат узлов – матрицы-столбцы из двух
элементов:
Ci =
xi
yi
(4.44)
Здесь i – номер узла, координаты которого являются элементами
соответствующей матрицы. В свою очередь матрица координат узлов всей
фермы составляется из элементов Ci и также представляет собой матрицу,
которая для фермы, рассматриваемой в качестве примера, имеет вид:
С1
С2
С3
С4
С5
C=
(4.45)
Назовем STc матрицу, полученную путем транспонирования
матрицы Sc (транспонирование – преобразование матрицы таким образом,
что строки становятся столбцами, а столбцы – строками):
STc=
1
0
0
1
1
0
0
-1
0
0
0
0
1
1
0
1
0
-1
0
0
0
0
-1
1
0
-1
-1
0
0
0
-1
0
0
0
-1
(4.46)
Перемножим теперь матрицу STc на матрицу координат фермы C.
Напомним, что при перемножении матриц элементы строки левой
матрицы перемножаются на соответствующие по номеру элементы
столбца правой матрицы, полученные произведения суммируются и сумма
является элементом новой матрицы, расположенным на строке, имеющей
номер строки левой матрицы и номер столбца правой матрицы. При этом
количество строк результирующей матрицы равно количеству строк левой,
а количество столбцов – количеству столбцов правой матрицы.
60
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
П = - STc · C.
(4.47)
Для нашей фермы матрица П имеет вид:
П= -
С1 – С2
С3 – С4
С4 – С5
С1 – С3
С1 – С4
С2 – С4
С2 – С5
(4.48)
В свою очередь, элементы матрицы
матрицы-столбцы из двух элементов:
П1 =
П2 =
C1 – C2 =
C3 – C4 =
П представляют собой
x1 – x2
y1 – y2
x3 – x4
y3 – y4
(4.48)
(4.49)
и т. д. Нетрудно заметить, что матрица П представляет собой матрицу,
элементами которой являются проекции стержней на оси координат.
Длины стержней можно найти также с использованием матричных
операций
li =
ПТ i ⋅ П i ,
(4.50)
где под корнем произведение двух матриц, правая из которых
представляет собой матричный элемент с номером i матрицы П, а левая
(ПТi) – транспонированную правую. В результате перемножения матриц
под корнем образуется сумма квадратов проекций стержней на оси
координат.
Сформируем теперь диагональную квадратную матрицу L , которая
для нашей фермы имеет вид:
61
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
L=
1/l1
0
0
0
0
0
0
0
1/l2
0
0
0
0
0
0
0
1/l3
0
0
0
0
0
0
0
1/l4
0
0
0
0
0
0
0
1/l5
0
0
0
0
0
0
0
1/l6
0
0
0
0
0
0
0
1/l7
(4.51)
Умножим матрицу L на матрицу П:
A= L⋅ П.
(4.52)
Элементы полученной в результате матрицы–столбца А :
А1 = -
(C1 – C2)/ l1 = -
А2 = -
(C3 – C4)/ l1
( x1 – x2 ) / l1
( y1 – y2 ) / l1
( x3 – x4 ) / l1
( y3 – y4 ) / l1
= -
(4.53)
(4.54)
и т.д. Как видно из выражений (4.53) и (4.54), элементы матрицы А – не
что иное как косинусы углов наклона стержней к осям координат.
Составим теперь матрицу Р
нагрузок в узлах. Для
рассматриваемой в качестве примера фермы эта матрица имеет вид:
Р=
Р1
Р2
Р3
Р4
Р5
(4.55)
62
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Элементы этой матрицы, в свою очередь представляют собой
матрицы-столбцы из двух элементов – проекций сил, приложенных в
узлах, на оси координат:
Рi =
рxi
рyi
(4.56)
Сформируем диагональную матрицу АD из элементов матрицы А
AD =
A1
0
0
0
0
0
0
0
A2
0
0
0
0
0
0
0
A3
0
0
0
0
0 0 0
0 0 0
0 0 0
A4 0 0
0 A5 0
0 0 A6
0 0 0
0
0
0
0
0
0
A7
(4.57)
Матрица коэффициентов уравнений равновесия узлов фермы D
получается путем перемножения матриц
D=Sc· АD,
(4.58)
Поскольку матрица АD состоит из матриц-столбцов, содержащих по два
элемента каждая, в матрице D количество строк равно удвоенному
количеству узлов, а количество столбцов равно количеству стержней. Но
матрица коэффициентов должна быть квадратной, следовательно из нее
надо удалить три строки (как было сказано выше - три уравнения из
уравнений равновесия узлов заменяются уравнениями общего равновесия
фермы, составляемых для определения опорных реакций). Удаляются
строки, соответствующие номерам опорных узлов: если в опорном узле
два опорных стержня, то удаляются обе строки, соответствующие номеру
этого узла, если один, то та, которая соответствует направлению
имеющегося в этом узле опорного стержня. Так, в нашем примере
удаляются первая, вторая и четвертая строки из десяти. Соответственно
63
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
корректируется матрица Р : из нее удаляются элементы с теми же
номерами.
64
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
5 Универсальный метод расчета конструкций
В настоящее время наиболее универсальным методом расчета
конструкций является метод конечных элементов (МКЭ). В самом общем
виде сущность метода конечных элементов заключается в следующем.
Расчетная схема конструкции составляется из элементов, напряженнодеформированное состояние которых полностью определяется условиями
на их концах и нагрузкой, действующей на эти элементы. Если, например,
элементом является стержень, на одном конце которого известны
изгибающий момент, поперечная и продольная сила, заданы перемещения
этого конца относительно осей координат и угол поворота концевого
сечения, известна нагрузка, действующая на этот стержень, если известна
жесткость стержня и его конфигурация, то при условии, что этот стержень
подчиняется законам теории упругости, достаточно знаний, полученных
при изучении курса сопротивления материалов, чтобы найти эти
параметры на другом его конце в зависимости от условий прикрепления
этого стержня к остальной конструкции.
Рассмотрим в качестве простейшего примера ломаный стержень,
жестко заделанный по концам, представленный на рисунке 5.1. Стержень
состоит из трех участков, жестко соединенных между собой. На рисунке
изображены внешние силы, действующие на стержень. К ним относятся
вертикальные и горизонтальные составляющие нагрузки в узлах 2 и 3, а
также опорные реакции в узлах 1 и 4 в виде вертикальных и
горизонтальных составляющих и опорные моменты. В силу того, что
данная система - плоская, в каждом узле напряженно деформированное
состояние описывается шестью параметрами: X – проекция внутреннего
усилия в узле на горизонтальную ось, Y - проекция внутреннего усилия в
узле на вертикальную ось, M – изгибающий момент в узле, U – проекция
перемещения узла на горизонтальную ось, V - проекция перемещения узла
на вертикальную ось, Θ - угол поворота сечения в узле. Это описание
можно представить в матричной форме:
65
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
2
2
3
3
4
1
1
Рисунок 5.1 – Простейшая схема к методу МКЭ
 X
Y
 
M
Π =  
U
V
 
Θ 
(5.1)
Обозначим А матрицу, с помощью которой параметры узла преобразуются
в параметры соседнего узла, тогда операция такого преобразования может
быть записана следующим образом:
Πi= Α
i − 1, i
⋅Π
i − 1.
(5.2)
Матрица А – квадратная и содержит шесть строк и шесть столбцов. Для
построения
матрицы
необходимо
записать
выражения
для
соответствующих параметров через параметры предыдущего узла. Так,
например, угол поворота узла 2 вычисляется по формуле:
Θ
2
s12
s12
s
= Θ1− Χ1⋅
sin α 1 + Υ 1 ⋅
cosα 1 + M 1 1 , (5.3)
2 ⋅ E ⋅ J1
2 ⋅ E ⋅ J1
E ⋅ J1
где s1 – длина участка 1, м;
α1 – угол наклона участка к горизонтальной оси;
66
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
J1 – момент инерции сечения участка, м4;
Е – модуль упругости, МПа.
Пользуясь выражением (5.3) можно определить элементы шестой строки
матрицы А. Коэффициент при параметре Θ (единица) – это элемент А6,6,
коэффициент при параметре Х – элемент А6,1, при параметре Υ – элемент
А6,2, при параметре М – элемент А6,3. Поскольку члены, содержащие
параметры U и V отсутствуют, то элементы А6,4 и А6,5 – нулевые. Все
выражения для элементов матрицы А содержат величины, числовые
значения которых определяются на основании исходных данных, т.е.
матрица численно определена.
Принцип метода конечных элементов заключается в том, что все
элементы расчетной схемы рассматриваются как самостоятельные,
находящиеся под воздействием приложенных на концах, а иногда и в
пределах элемента нагрузки. Объединение этих элементов в единую
систему осуществляется путем наложения на элементы условий в виде
уравнений. Прежде всего это уравнения равновесия внутренних узлов: для
каждого узла плоской системы должно выполняться три уравнения
равновесия. В частности, для схемы на рисунке 5.1, например, равновесие
узла 2 записывается с помощью уравнений:
− N 2 − 1 ⋅ cosα 1 − Q2 − 1 ⋅ sin α 1 + N 2 − 2 ⋅ cosα
2
+ Q2 − 2 ⋅ sin α
2
+ X2 = 0,
(5.4)
− N 2 − 1 ⋅ sin α 1 + Q2 − 1 ⋅ cosα 1 + N 2 − 2 ⋅ sin α
2
+ Q2 − 2 ⋅ cosα
2
+ Y2 = 0 ,
(5.5)
M 2− 1 = M 2− 2 ,
(5.6)
где N2-1 – продольная сила, действующая на узел 2 со стороны
стержня 1, МН;
N2-2 – то же, но со стороны стержня 2;
Q2-1 – поперечная сила, действующая на узел 2 со стороны стержня
1, МН;
Q2-2 – то же, но со стороны стержня 2;
M2-1–изгибающий момент, действующий на узел 2 со стороны
стержня 1, МНм;
M2-2 – то же, но со стороны стержня 2;
α1 – угол наклона стержня 1 к горизонтальной оси;
α2– угол наклона стержня 2 к горизонтальной оси;
X2 – внешняя горизонтальная сила в узле 2, МН;
Y2 – внешняя вертикальная сила в узле 2. МН.
Следующая группа уравнений это условия равновесия стержней.
Таких уравнений для каждого стержня тоже три. Для равновесия стержня 1
в нашем примере необходимо выполнение условий:
67
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
N1− 1 ⋅ cosα 1 − Q1− 1 ⋅ sin α 1 − N 2 − 1 ⋅ cosα 1 − Q2 − 2 ⋅ sin α 1 = 0 ,
(5.7)
N1− 1 ⋅ sin α 1 + Q1− 1 ⋅ cosα 1 − N 2 − 1 ⋅ sin α 1 + Q2 − 1 ⋅ cosα 1 = 0 ,
(5.8)
M 1− 1 = M 2 − 1 ,
(5.9)
где N1-1 – продольная сила в стержне 1 на конце, примыкающем к
узлу 1, МН;
Q1-1 – поперечная сила в стержне 1 на конце, примыкающем к узлу
1, МН;
M1-1–изгибающий момент в стержне 1 на конце, примыкающем к
узлу 1, МНм.
Для того, чтобы конец стержня при его перемещениях от всех
воздействий оставался в узле, необходимо выполнение условия
неразрывности, т. е. чтобы перемещение конца стержня равнялось
перемещению узла. Для нашего примера уравнения неразрывности
принимают вид:
U 2− 1 − U 2 = 0 ,
(5.10)
V2 − 1 − V2 = 0 ,
(5.11)
Θ
(5.12)
2− 1
− Θ
2
= 0,
где U2-1 – горизонтальное перемещение конца 2 стержня 1, м;
U2 – горизонтальное перемещение узла 2, м;
V2-1 – вертикальное перемещение конца 2 стержня 1, м;
V2 – вертикальное перемещение узла 2, м;
Θ2-1 – угол поворота сечения конца 2 стержня 1;
Θ2 – угол поворота узла 2.
Такие уравнения составляются для каждого конца всех стержней.
Для опорных узлов, где на перемещения наложены ограничения,
составляются уравнения, выражающие граничные кинематические
условия. Например, для узла 1 нашего примера эти уравнения принимают
вид:
U1 = 0 ,
(5.13)
V1 = 0 ,
(5.14)
68
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Θ 1 = 0.
(5.15)
Если в составе расчетной схемы есть внутренние шарниры, то
составляются дополнительные уравнения равенства нулю изгибающих
моментов на концах примыкающих шарнирно стержней.
Общее количество уравнений равно 3m + 12s , где m – количество
узлов, а s – количество элементов системы. Для нашего примера
количество уравнений составляет 48 (четыре узла и три стержня).
Количество неизвестных тоже равно 48 (по два расчетных сечения в трех
стержнях с шестью параметрами в каждом, а также перемещения четырех
узлов, определяемые тремя параметрами в каждом узле).
Количество
уравнений равно количеству неизвестных, следовательно, задача имеет
однозначное решение. Уравнения могут быть составлены в матричном
виде, причем вся последовательность составления уравнений поддается
описанию с помощью матричной алгебры и тем самым процедура
доступна для автоматизации с помощью компьютера.
Принцип решения задачи в методе конечных элементов сохраняется
и в том случае, если элементы представляют собой не стержни, а
пластинки треугольной или другой определенной конфигурации, или
массивные тела (параллелепипеды, тетраэдр, треугольная призма и др.).
Изменяется лишь матрица преобразования усилий, действующих на узлы
элемента, в перемещения этих узлов, а также количество описывающих
совместную работу элементов уравнений. Напряженно-деформированное
состояние элементов рассматривается с помощью методов теории
упругости. Возможно также учитывать пластическое деформирование
элементов и изменение деформаций и напряжений во времени.
69
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
6 Автоматизация работы с текстом
Составление проекта неизбежно сталкивается с необходимостью
операций с текстом: печатание пояснительной записки, редактирование
текста и размножение в необходимом количестве экземпляров. Эта работа
выполнялась обычно с помощью пишущей машинки. Предварительно
текст редактировался и тщательно выправлялся вручную, а замеченные
опечатки также выправлялись вручную. В случае необходимости
перекомпоновать текст, вставить или удалить часть текста, приходилось
его полностью или частично перепечатывать. Качество отпечатанного
текста зависело от квалификации осуществлявшего эту процедуру
специалиста (машинистки), как правило не являющегося специалистом в
проектировании. Применение для выполнения работы с текстом
компьютера позволило существенно усовершенствовать процедуру,
сделать ее доступной для обычного проектировщика при сохранении
высокого качества оформления текста. Как же это достигается машиной,
предназначенной только для вычислений?
Справедливости ради следует сказать, что печатание текста (ввод
текста в память компьютера) технически ничем не отличается от печатания
на пишущей машинке. Преимущества компьютера проявляются прежде
всего в обработке текста: редактировании, корректировке, компоновке и
т.п. Рассмотрим процесс работы с текстом несколько подробнее. Текст
представляет собой совокупность символов (букв, цифр, разделительных
знаков, условных знаков, специальных символов и т.п.), расположенных в
такой последовательности, что при просматривании текста в определенном
порядке мозг человека улавливает смысл, зашифрованный с помощью этих
символов. Каждый из символов вводится в компьютер в виде цифрового
кода, т.е. для компьютера является числом. Это число располагается в
ячейке памяти компьютера, имеющей определенный адрес: запоминается.
Таким образом введенный в компьютер текст представляет собой числовой
массив, с которым компьютер может производить те или иные операции. В
частности, можно заставить компьютер распечатать на бумаге
сохраненный в его памяти текст. Для этого нужно выполнить операцию
последовательного перебора всех элементов указанного числового массива
с одновременной записью числовых кодов в печатающее устройство,
которое расшифровывает коды и печатает соответствующие символы на
бумаге.
Вернемся теперь к процедуре ввода текста. Поскольку в памяти
компьютера текст представляет собой массив чисел, то в нем нет строк,
абзацев, страниц. Поэтому при вводе текста нужно вводить специальные
разделительные признаки, также закодированные числовым кодом.
Разделение слов осуществляется, например, пробелом. Для компьютера
пробел означает не отсутствие символа, а символ пробела –
соответствующее двоичное число. Ввод текста может быть осуществлен
только с помощью специальной программы (комплекса программ,
70
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
называемого обычно текстовым редактором). Нажимая на ту или иную
клавишу, пользователь вводит в память компьютера тот или иной код.
Современные программы - редакторы текста - осуществляют
автоматический перевод на новую строку путем сравнения длины
введенной текстовой информации с учетом шрифта, ширины символов,
пробелов, с длиной строки, вычисленной компьютером по размеру бумаги
и заданным полям. После последнего символа строки автоматически
добавляется код конца строки. Конец абзаца ставится при принудительном
переходе на новую строку, заданном пользователем. Конец страницы
автоматически определяется компьютером: каждый раз при переходе на
новую строку компьютер вычисляет общую высоту текста на текущей
странице по количеству строк, пробелов между строками, размерам полей
и сравнивает ее с заданным размером страницы.
Рассмотрим теперь, как осуществляется редактирование текста на
простейших примерах. Если нужно вставить в текст слово, нужно прежде
всего активизировать соответствующую программу редактора текста.
Указывая на место, откуда будет начинаться вставляемое слово
проектировщик тем самым заставляет компьютер изменить адреса
символов всего массива чисел, располагающихся после остающейся
неизменной части текста, освобождая ячейку для вставляемого символа.
После окончания процедуры переадресации в освободившуюся ячейку
заносится вставляемый символ. Такая же процедура производится для
следую щего вставляемого символа и т.д. если вставляется массив текста,
записанный предварительно в буфер, то компьютер в соответствии с
количеством символов текста, хранящегося в буфере вычисляет новые
координаты (номера ячеек) следующего за вставкой текста, освобождает
(стирает) ячейки для вставляемого текста и заносит символы в эти ячейки.
Таким образом, компьютер выполняет весьма несложные арифметические
операции, но количество этих операций очень велико. Аналогично
осущетвляется удаление текста. В этом случае вначале освобождаются
ячейки, содержащие удаляемые символы, а затем на их место
записываются оставшиеся. Фактически операции вставки и удаления части
массива являются изменением номеров элементов массива чисел,
представляющих текст.
Для того, чтобы осуществлять те или иные операции с текстом,
проектировщику желательно иметь этот текст перед глазами. В противном
случае необходимо указывать координаты места в тексте, куда следует
внести исправления. Надо заметить, в то время, когда компьютеры не
имели дисплея (а это было не так уж и давно, всего лет тридцать тому
назад), для внесения корректив в текст следовало предварительно
вычислить и указать номер строки и номер позиции в строке, с которой
начиналось
исправление
текста.
Наличие
дисплея
позволяет
автоматизировать управление процессом редактирования.
Экран дисплея при работе с текстом отражает информацию,
содержащуюся в ячейках оперативной памяти компьютера. Числовые
71
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
коды, которые хранятся в ячейках преобразуются в соответствующие
символы. Изображение символа осуществляется с помощью светящихся
точек (пикселов), которые группируясь определенным образом, создают
образ этого символа. Чем большее количество точек участвует в
построении символа, тем более четкое получается изображение. На
каждый символ, изображаемый на экране дисплея при работе с текстом,
отводится определенное количество пикселов. Положение каждого
пиксела на экране фиксировано: координаты его неизменны. Благодаря
этому экран дисплея связан с оперативной памятью компьютера. Экран
дисплея разбит невидимой сеткой на прямоугольные элементы,
предназначенные для размещения в каждом из них одного символа, в том
числе и пробела. Количество элементов может изменяться в зависимости
от размера шрифта или масштаба изображения. Каждый элемент экрана в
стационарном положении связан с определенной ячейкой памяти. При
изменении состояния экрана происходит автоматическое изменение
соответствия элементов экрана ячейкам оперативной памяти. Так, если на
экране в каком-либо месте текста вставить символ, то, начиная с ячейки
памяти, соответствующей элементу, куда вставляется новый символ,
происходит описанная выше корректировка в памяти компьютера. Иначе
говоря, экран служит для автоматического указания координат в
оперативной памяти. Если происходит просмотр текста - перемещение
текста вниз или вверх на экране дисплея - то одновременно производится
изменение номеров ячеек, соответствующих элементам всего экрана, и
изменение изображения в элементах. Как видно, работа с текстом требует
от компьютера выполнения огромного количества простых, однако
требующих определенного времени для выполнения, операций. Большая
скорость современных компьютеров позволяет работать с текстом с той
скоростью, с которой пользователь может вводить информацию. Однако в
некоторых случаях заметно, что компьютер “не успевает” выполнять эти
операции своевременно и изображения символов появляются спустя
некоторое время. Так, например, происходит, когда корректируются или
просматриваются тексты, содержащие формулы или рисунки.
Работа с экраном дисплея производится с помощью указателя –
курсора, а перемещение курсора управляется с помощью клавиатуры.
Расположение курсора в том или ином элементе экрана связывает
пользователя с определенной ячейкой памяти компьютера. Таким образом
фактически курсор указывает на определенную ячейку памяти
компьютера. При запуске той или иной программы редактора текста
работа компьютера начинается с указанной курсором ячейки.
Перемещение курсора по экрану требует времени, и в современных
компьютерах для ускорения процедуры указания на экране дисплея
используется “мышь”. Указатель мыши выполняет ту же функцию, что и
курсор, но перемещение его по экрану происходит быстро и в любом
направлении, поэтому управление с помощью мыши очень удобно.
72
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
7 Автоматизация графических работ
7.1 Общие сведения
Выше было сказано, что изображение букв, цифр и других
понятных человеку символов может быть построено из совокупности
определенным образом расположенных точек, выделяющихся на общем
фоне. Аналогично может быть построено любое изображение. Качество
изображения тем лучше, чем больше точек участвует в таком построении.
Печатающее устройство компьютера может выводить на бумагу построчно
(предварительно расшифровав коды) содержимое заданного пользователем
раздела оперативной памяти компьютера. Если ввести в память
компьютера массив информации, в котором будут в определенном порядке
занесены точки, изображающие рисунок, а затем вывести этот массив на
печать, то на бумаге появится нужный рисунок. Еще на заре компьютерной
эры, когда еще не было дисплеев и когда компьютеры выполняли в
основном только соответствующие его названию вычислительные
процедуры, экспериментаторы-программисты выводили на печать
рисунки, построенные из различных печатных символов. Для этого
составлялись программы вывода на печать, где расписывалась каждая
строка: указывались последовательно все символы строки, в том числе и
пробелы. Конечно, такие «рисунки» должны были рассматриваться
издалека, чтобы каждый печатный символ казался темным пятном,
интенсивность которого зависела от сложности рисунка символа. В
результате слияния этих темных пятен возникало нечеткое, но понятное
изображение. В настоящее время печатающие устройства обладают
большой разрешающей способностью (т.е. расстояние между двумя
соседними точками печати очень мало) в результате изображение
получается достаточно четким. Проблема заключается в том, чтобы
занести в память компьютера закодированное числовым кодом
изображение. Ведь, как и во времена отсутствия дисплеев, необходимо
определить координаты каждой точки рисунка. Сделать это вручную, как
было описано выше, можно только в качестве эксперимента: слишком
велик объем этой информации, слишком трудной является задача
определения координат всех точек, имитирующих рисунок. Рассмотрим,
как можно автоматизировать этот процесс с помощью самого компьютера.
7.2 Построение отрезка прямой
Изображение отрезка прямой можно получить из отдельных точек
на этой прямой, расположенных так часто, чтобы между ними не были
заметны просветы. Для построения прямой с помощью компьютера на
листе бумаги нужно сформировать в памяти компьютера массив координат
этих точек. Это можно сделать вводя последовательно числовые значения
координат с клавиатуры. Но можно заставить компьютер определять эти
73
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
координаты путем вычислений. Рассмотрим вначале построение отрезка
прямой на оси координат x. Пусть разрешающая способность (наименьшее
расстояние между соседними точками) d, а координаты концов отрезка:
x1= a, x2=b. Организуем цикл вычисления координат точек на отрезке по
формуле
xi = a + (i − 1) ⋅ d ,
где i – параметр,
начиная со значения i=1.
(7.1)
увеличивающийся на единицу каждый раз,
Величина координаты ограничена условием
xi ≤ b .
(7.2)
Остается записать эти координаты в память компьютера в виде
одномерного массива. Сложнее задача в случае произвольного
расположения отрезка относительно начала и осей координат.
Пусть требуется построить отрезок прямой между точками с
координатами: x1, y1 и x2, y2. Введем локальную систему координат x0 О y0
с началом в первой точке отрезка и осью x0 , направленной вдоль отрезка.
Тогда координаты точек в локальной системе, выраженные через
координаты общей системы координат можно определить по формулам
x = x1 + x0 ⋅ cosα − y0 ⋅ sin α ,
(7.3)
y = y1 + x0 ⋅ sin α + y0 ⋅ cosα ,
(7.4)
где α – угол поворота локальной системы координат относительно
общей системы координат, который определяется с помощью формулы
α = arctg
y2 − y1
.
x2 − x1
(7.5)
Воспользуемся способом автоматизированного определения
координат точек, с помощью которых имитируется отрезок прямой на оси
координат. Последовательность решения задачи такова. Определяется угол
поворота локальной системы координат α по формуле (7.5). Затем
вычисляется длина отрезка
b=
( y 2 − y1 ) 2 + ( x2 − x1 ) 2 .
(7.6)
74
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Необходимо теперь определить d - разрешающую способность вдоль
отрезка в локальной системе координат. Обозначим разрешающую
способность вдоль оси x через dx , вдоль оси y – через dy. Тогда
при α < π / 4 и
d = d x / cosα
(7.7)
d = d y / sin α
(7.8)
при α ≥ π / 4 . В формулах (7.7) и (7.8) величины синусов и косинусов
берутся со знаком плюс, а угол из формулы (7.5) берется в пределах
0 < α < π / 2 . Организуется цикл вычислений при изменении параметра i
от значения i=1 путем изменения на единицу каждый раз. Для каждого
значения i вычисляется координата
x0i = (i − 1) ⋅ d
(7.9)
и проверяется выполнение условия
x0 i < b .
(7.10)
Если условие (7.10) выполняется, то вычисляются по формулам (7.3) и
(7.4) координаты очередной точки (координата y0 = 0, т.к. отрезок прямой
находится на оси локальной системы координат). Если же условие (7.10)
не выполняется, то построение заканчивается.
Таким образом, определение координат точек, в совокупности
представляющих отрезок прямой, соединяющей две заданные граничные
точки, описывается с помощью простейших арифметических операций, а,
следовательно может быть полностью автоматизировано. Для
осуществления этой процедуры достаточно обратиться к программе,
реализующей эту процедуру и ввести в память компьютера координаты
точек, которые должен соединить этот отрезок.
Здесь нужно сделать небольшое отступление, поскольку
утверждение о простейших арифметических операциях кажется не совсем
справедливым: определение тригонометрических функций при обычных
вычислениях, осуществляемых вручную, обычно осуществляется с
помощью таблиц (калькуляторы не в счет: это тоже компьютеры!).
7.3 О вычислении тригонометрических функций
Действительно,
компьютер
тригонометрические
функции
вычисляет, используя то или иное представление функции в виде
бесконечного ряда, из которого удерживается конечное число первых
75
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
членов, обеспечивающее достаточную точность. Так, например, функция
синуса угла x может быть представлена рядом:
x3 x5 x7
xn
,
sin x = x −
+
−
+ ⋅⋅⋅+
3! 5! 7!
n!
(7.11)
функция косинуса:
x2 x4 x6
xn
.
cos x = 1 −
+
−
+ ⋅⋅⋅+
2! 4! 6!
n!
(7.12)
Значение угла x должно быть, естественно, представлено в радианах. Как
видно, здесь действительно простые арифметические операции. Несколько
сложнее с обратными тригонометрическими функциями. Так, для
определения значения угла x по величине его тангенса нужно вначале
вычислить значение синуса
sin x =
tg 2 x
tg 2 x + 1
,
(7.13)
а затем использовать представление в виде ряда:
x = π − 2 ⋅ (sin x +
sin 2 x sin 3x sin 4 x
sin nx
+
+
+ ⋅⋅⋅+
)
2
3
4
n
(7.14)
при 0 ≤ x ≤ π . В свою очередь, для определения значений синусов углов,
кратных x, нужно воспользоваться выражением


(k 2 − 2 2 ) 3
(k 2 − 2 2 )(k 2 − 4 2 ) 5
sin kx = k cos x ⋅  sin x −
sin x +
sin x − ⋅ ⋅ ⋅  .
3!
5!


(7.15)
Таким образом и обратные тригонометрические функции доступны для
вычисления с помощью компьютеров.
76
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
7.4 Использование дисплея для выполнения графических работ
Описанное выше построение отрезка прямой осуществляется в
памяти компьютера и приобретает характер чертежа только в результате
вывода на печать. Это неудобно в случае, когда требуется вносить
коррективы и добавления в чертеж. Проектировщик привык работать с
чертежом перед глазами, и в этом ему приходит на помощь графический
дисплей. Графический режим работы дисплея дает возможность связывать
с оперативной памятью каждую точку экрана. В современных
компьютерах количество точек на экране превышает миллион, что дает
возможность построить на нем довольно сложное изображение с
достаточной точностью. Как говорилось выше, экран представляет собой
как бы сетку, ячейками которой являются точки. Каждая точка в экранной
системе имеет свои координаты. В то же время точка связана с
определенной ячейкой памяти и отражает на экране ее содержимое,
полученное путем расшифровки записанного в ней числового кода.
Поскольку курсор можно перемещать по экрану дисплея, то это означает,
что можно перемещаться по массиву ячеек в памяти компьютера. Указав
на некоторую точку на экране дисплея, можно активизировать
соответствующую ячейку памяти и записать туда информацию о
состоянии экрана в этой точке. Если в этой точке должна находиться точка
изображения, то нужно запустить программу, заносящую экранные
координаты и интенсивность (или цвет) точки в ячейку памяти.
Одновременно на экране появится изображение. Переводя курсор с одной
точки на другую можно таким образом построить прямую или другое
изображение. Для такой работы, конечно, значительно удобнее
использовать мышь. Указатель мыши легко и быстро перемещается по
экрану и очень облегчает работу.
Посмотрим, как с помощью экрана дисплея построить отрезок
прямой. Рассмотренный выше алгоритм вычисления координат точек,
имитирующих отрезок прямой, должен быть запрограммирован, а
программа должна быть записана в памяти компьютера. Обратившись к
этой программе (о программном обеспечении будет более подробно
сказано ниже) мы запускаем процесс вычислений. Программа запрашивает
исходные данные: координаты концов отрезка. С помощью мыши (или
курсора
с
клавиатуры)
указываются
последовательно
точки,
соответствующие концам отрезка, на экране, а, следовательно экранные
координаты этих точек. Компьютер вычисляет экранные координаты тех
точек, которые оказываются на прямой, соединяющей точки, указанные
при вводе данных и заносит координаты точек в соответствующие ячейки
памяти. Одновременно эти точки высвечиваются на экране. Изображение
построено. Содержимое ячеек оперативной памяти может быть записано
на магнитный носитель и тем самым сохранено после выключения
компьютера, или передано на печатающее устройство для воспроизведения
77
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
на бумаге. Экран может быть настроен так, чтобы координаты точек
соответствовали реальным размерам чертежа в нужном масштабе.
7.5 Построение геометрических фигур из отрезков прямых
Запишем условно обращение к программе, осуществляющей
построение отрезка прямой, следующим образом
LINE ( x10 , y10 , x20 , y20 ) ,
(7.17)
где LINE – условное обознач ение (имя) программы, а в скобках
перечислены входные параметры программы: координаты концевых точек
отрезка в экранной системе координат. Под именем программы
зашифрован
номер
ячейки
памяти,
с
которой
начинается
последовательность
команд
программы.
Следовательно
итогом
выполнения записи (7.17) является построение отрезка. Если за
обращением (7.17) последует аналогичное обращение, но с другими
координатами, то будет построен еще один отрезок. Так, если нужно
построить треугольник, вершины которого имеют координаты: первая - x10
и y10 , вторая - x20 и y 20 , третья - x30 и y30 , то достаточно выполнить подряд
три обращения к программе построения отрезка прямой
LINE ( x10 , y10 , x20 , y20 ) ,
(7.18)
LINE ( x20 , y 20 , x30 , y30 ) ,
(7.19)
LINE ( x30 , y30 , x10 , y10 ) .
(7.20)
В процессе построения проектировщик должен будет трижды
вводить исходные данные в память компьютера. В результате будет
построен треугольник. Если объединить все три обращения в одну
программу, назвав ее , например, TRG, то в качестве входных параметров
надо будет задать три пары координат: эти параметры вводятся в память
компьютера при обращении:
TRG ( x10 , y10 , x20 , y 20 , x30 , y30 ) .
(7.21)
При обращениях к программе построения отрезка компьютер будет
извлекать координаты непосредственно из оперативной памяти
компьютера.
78
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Аналогично можно построить любую геометрическую фигуру,
составленную из отрезков прямых. А для часто употребляемых фигур
можно составить программы их построения и хранить в памяти
компьютера.
7.6 Построение дуги окружности
Для того, чтобы построить дугу окружности, нужно описать с
помощью арифметических операций вычисление координат точек,
лежащих на этой дуге. Связь между координатами точек на дуге
окружности, центр которой находится в начале координат, выражается
формулой
x2 + y2 = R2 ,
(7.22)
где R – радиус окружности.
Как и при построении отрезка прямой кривую можно построить, задавая
координату x путем увеличения на величину разрешающей способности
при воспроизведении изображения. Начальное значение координаты x
должно быть задано проектировщиком. Очевидно, что должно быть
известно и значение координаты y в начальной точке дуги, а также
значения координат в конце дуги. Если известна координата x, то
координата y находится по формуле
y=
R2 − x2 .
(7.23)
Для того, чтобы воспользоваться этой формулой, нужно знать значение
радиуса R . Т.е. в качестве необходимых для построения дуги исходных
данных выступают пять чисел: две пары координат начальной и конечной
точек дуги и радиус. Можно задать и другие комбинации из числовых
значений пяти параметров: 2) – две координаты начальной точки, две
координаты центра окружности и любая координата конечной точки; 3) две координаты начальной точки, две координаты центра окружности и
угловой размер дуги; 4) - две координаты начальной точки, две
координаты центра окружности и длина хорды; 5) - две координаты
начальной точки, две координаты конечной точки и угловой размер дуги.
Нетрудно убедиться в том, что любая из этих комбинаций дает
возможность определения всех пяти параметров любой другой
комбинации. В любом случае прежде, чем приступить к вычислению
координат точек, лежащих на дуге, компьютеру необходимо выполнить
ряд математических действий. Рассмотрим первый из перечисленных
вариантов задания исходных данных, когда заданы две пары координат
начальной и конечной точек дуги и радиус.
79
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Исходные данные, естественно, задаются в экранной системе
координат, и прежде всего следует перейти к локальной системе. Удобнее
всего выбрать систему координат таким образом, чтобы дуга
располагалась симметрично относительно оси x (рисунок 7.1). Тогда хорда
h – k будет параллельна локальной оси x. Точка m является серединой
хорды. Длина хорды l определяется по экранным координатам начальной и
конечной точек дуги:
l=
( xk0 − xh0 ) 2 + ( y k0 − y h0 ) 2 ,
(7.24)
где верхний индекс в обозначении координат означает
принадлежность к экранной системе координат.
В локальной системе координат координаты концов дуги
вычисляются по формулам:
xh = − l / 2 ,
xk = l / 2 ,
(7.25)
(7.26)
y
h
m
h
k
α
x
z
Рисунок 7.1 – Схема к построению дуги
80
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
yh = yk =
l2 .
R −
4
2
(7.27)
Заметим, что компьютер вычисляет только положительное значение
квадратного корня из числа. Локальная система координат повернута
относительно экранной на угол, который определяется из выражения
β = arctg
y k0 − y h0
xk0 − xh0
.
(7.28)
Построение дуги в локальной системе координат выполняется
путем циклической прцедуры вычисления координат по формуле
xi = xh + d ⋅ (i − 1) ,
(7.29)
где разрешающая способность d определяется по одной из формул (7.7)
или (7.8). Соответствующее значение координаты y находится по формуле
(7.23) до тех пор, пока не выполнится условие
xi > l / 2 .
(7.30)
Теперь нужно полученные координаты точек на дуге преобразовать в
координаты экранной системы. Для этого нужно вначале получить
координаты в новой локальной системе координат с началом в точке h:
xih = xi − xh ,
(7.31)
yih = yi − y h .
(7.32)
Искомые координаты определяются по формулам:
xi0 = xih cos β + yih sin β + xh0 −
yi0 = yih cos β − xih sin β + y h0 .
l
,
2
(7.33)
(7.34)
Алгоритм построения дуги выглядит так. После обращения к
программе построения дуги вводятся в память компьютера пять чисел:
координаты точек на концах и радиус. Затем вычисляется длина хорды и
угловая величина дуги. Далее в цикле вычисляются координаты точек на
81
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
дуге в локальной системе координат, которые сразу же преобразуются в
экранные координаты, и точки высвечиваются на экране.
В том случае, если намечаемая к построению дуга имеет угловую
величину, превышающую π, нужно в исходных данных задавать угловую
величину γ. В частности, если в исходных данных заданы координаты
центра окружности ( xz, yz ), координаты начальной точки дуги ( xh, yh ) и
угловая величина дуги ( γ ), то вычисляется радиус
R=
( xh0 − x z0 ) 2 + ( y h0 − y z0 ) 2 ,
(7.35)
затем вычисляются координаты точки в начале дуги в локальной системе
координат (рисунок 7.2)
γ
xh = − R sin ,
2
y
α
(7.36)
h
z
x
m
h
k
Рисунок 7.2 – К построению дуги, большей π
82
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
γ
y h = R cos .
2
(7.37)
Как видно, координата yh при значениях угла γ, больших, чем π,
автоматически становится отрицательной. Вычисление координат точек на
дуге осуществляется в два этапа. На первом этапе вычисляются
координаты левой части дуги (расположенной в области отрицательных
значений координаты x в локальной системе координат). Причем вначале
назначается координата y очередной точки
yi = y h + d ⋅ (i − 1) ,
(7.38)
где d – разрешающая способность экрана вдоль оси y в локальной системе
координат, определяемая по одной из формул (7.7) или (7.8). Затем
проверяется выполнение условия
yi ≤ R .
(7.39)
Если условие выполняется, то вычисляется координата x
xi = − R 2 − yi2 .
В противном случае значение параметра цикла
осуществляется переход ко второму этапу.
(7.40)
i
сохраняется и
На втором этапе организуется цикл по переменной j , начиная со
значения j =1. Вычисляется координата y по формуле
yi +
j− 1
= R− d ⋅ j.
(7.41)
Проверяется выполнение условия
yi +
j− 1
≥ yh .
(7.42)
Если это условие выполняется, то вычисляется координата x
xi +
j− 1
= xi − j ,
(7.43)
т.е. вычисляются координаты точек, расположенных симметрично
вычисленным на первом этапе относительно оси y. Невыполнение условия
(7.42) означает, что процесс построения дуги закончен. Заметим, что сразу
же после вычисления пары координат какой-либо точки производится
83
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
преобразование их в экранные координаты и высвечивание точки на
экране.
С помощью дуг окружности можно построить кривую сложной
конфигурации, если разбить ее на части, каждая из которых представляет
собой дугу окружности.
7.7 Автоматизация ввода данных при графических работах
Несмотря на то, что вычисление координат точек осуществляется
компьютером достаточно быстро, построение изображения сложной
конфигурации занимает много времени, если исходная информация
вводится с клавиатуры. По существу время построения на экране дисплея
изображения практически равно времени, затраченному на ввод исходных
параметров. Существенный прогресс в этой процедуре был достигнут
благодаря внедрению ”мыши” . С помощью “мыши” проектировщик
может указать на экране положение нужной точки и тем самым передать в
оперативную память экранные координаты этой точки. Специальные
графические редакторы (программы, предназначенные для выполнения
графических работ), кроме того выводят на экран эти координаты, что
позволяет производить точные построения.
Однако и использование “мыши” для ввода данных не дает
ощутимого преимущества в скорости построения изображения по
сравнению с черчением на бумаге вручную.Ведь для построения каждого
элемента (отрезка прямой или дуги) нужно обратиться к сответстующей
программе и ввести параметры (отметить точки на экране). Для того,
чтобы обратиться к той или иной программе нужно сообщить компьютеру
имя этой программы, т.е. числовой код, согласно которому компьютер
определяет место в оперативной памяти, где записана эта программа. В
современных оперативных системах и эта операция автоматизирована. Для
этого также используется графический экран. Если на экране разместить
этикетки программ, которые легко различаются пользователем, то
достаточно поместить в этикетку указатель “мыши” и простым нажатием
клавиши запустить программу в работу. Как же компьютер узнает, что
нужно запустить именно эту программу? При размещении на экране
этикетки программы автоматически передаются в оперативную память
экранные координаты границ участка экрана, занятые этикеткой. Обычно
этикетки имеют прямоугольную форму. Пусть участок экрана, занятый
этикеткой некоторой программы, например, выполняющей построение
отрезка прямой, имеет вид прямоугольника ABCD, изображенного на
рисунке 7.3.
84
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
A
B
C
D
Рисунок 7.3 – Этикетка в виде прямоугольника
Предположим, что экранные координаты вершин этого
прямоугольника, соответственно: xA = xC , xB = xD , yA = yB , yC = yD . Тогда
условие попадания указателя «мыши» в данный прямоугольник можно
записать с помощью неравенств:
x < xB ,
x > xA ,
y < yA ,
y > yC ,
(7.44)
(7.45)
(7.46)
(7.47)
где x и y – координаты точки на экране, в которой расположен
указатель “мыши”.
Программа, осуществляющая управление программами, этикетки которых
размещены на экране, запускается путем нажатия клавиши мыши. Сразу
же считываются координаты указанной мышью точки экрана и
производится последовательная проверка выполнения неравенств,
описывающих положение этикеток на экране. Если координаты указанной
мышью точки удовлетворяют одновременно всем четырем неравенствам
(7.44) - (7.46), то управляющая программа запускает соответствующую
данной этикетке программу. Если на экране одновременно находится
множество этикеток, компьютер последовательно выполняет проверку
всех неравенств, пока не встретит нужную комбинацию. Таким образом
простое указание на этикетку требует осуществления большого количества
вычислительных операций.
85
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
7.8 Хранение и воспроизведение изображений
Построенные на экране дисплея изображения сохраняются до тех
пор, пока в оперативной памяти находятся координаты точек, из которых
составлено это изображение. Для того, чтобы сохранить изображение и
после выключения компьютера, необходимо записать информацию о нем
на магнитный носитель (магнитный диск). Информация, естественно,
записывается в числовых кодах. Существует два способа записи и
хранения графической информации: растровый и векторный.
Растровый, или координатный, способ заключается в том, что
записываются координаты всех точек, участвующих в построении
изображения, в той последовательности, в которой они вычислялись при
построении. Понятно, что количество этих точек как правило весьма
велико, и объем памяти, занимаемой при записи изображения,
соответственно, также велико. Так, например, если для построения отрезка
горизонтальной прямой длиной 10 сантиметров на экране дисплея нужно
порядка 200 точек, то при растровом способе записи нужно сохранить в
памяти порядка 400 координат. Можно представить себе количество чисел,
которые нужно запомнить, чтобы сохранить построенный сложный
чертеж. Воспроизведение на экране или на печатающем устройстве
изображения, сохраненного растровым способом, заключается в
последовательном считывании с магнитного носителя координат точек.
При этом изображение на экране появляется без дополнительных
преобразований. То есть, быстрота воспроизведения зависит только от
скорости работы считывающего устройства.
Векторный способ заключается в том, что в памяти сохраняется имя
программы, с помощью которой осуществлялось построение изображения
и входные параметры, введенные пользователем. Если нужно запомнить
изображение, состоящее из многих элементов, для построения каждого из
которых производилось обращение к той или иной программе, то
запоминается вся цепочка этих обращений и соответствующие, введенные
проектировщиком параметры. Совершенно понятно, что такая запись
занимает значительно меньше места. Для запоминания того же отрезка,
например, требуется записать всего пять чисел (код имени программы –
тоже число). Чтобы воспроизвести на экране записанное векторным
способом изображение, компьютер вначале считывает с магнитного
носителя код программы, выполнившей построение, и запускает ее.
Выполняя далее команды программы, компьютер считывает нужные для
построения параметры и снова производит построение (вычисляет
координаты точек, из которых составляется изображение). Если
изображение сложное, то такая операция производится для всех элементов
изображения. Поэтому при воспроизведении чертежа, сохраненного в
векторной форме, изображение на экране появляется постепенно, с той
скоростью, с которой компьютер вычисляет координаты. Таким образом,
векторный способ экономичнее (компактнее), чем растровый, но
86
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
воспроизведение осуществляется медленнее, ввиду необходимости снова
вычислять координаты.
При графических работах, как правило, применяется векторый
способ. Он наиболее эффективен для преобразования изображений и
редактирования.
7.9 Редактирование изображений
Как уже отмечалось, создание компьютерных изображений на
экране дисплея требует затрат времени, соизмеримых с временем
построения тех же изображений на бумаге вручную (карандашом и
линейкой). Но это утверждение справедливо только для построения
оригинальных изображений. Специальные компьютерные программы,
совокупность которых составляет так называемые графические редакторы,
позволяют осуществлять различные манипуляции с уже созданными
изображениями.
Прежде всего следует сказать о графических примитивах:
изображениях, наиболее часто встречающихся в чертежах, таких,
например, как стрелки, выносные линии, прямоугольники, элементы схем
и т. п. Каждое из этих изображений для своего построения требует
обращения к нескольким разным программам. Объединение этих
программ в один комплекс позволяет с помощью только одного обращения
сразу же построить примитив. Естественно, что этот комплекс должен
храниться в памяти. Использование графических примитивов избавляет
проектировщика от монотонной, рутинной работы. Достаточно обратиться
к программе построения примитива и указать место, где он должен быть
изображен, и компьютер выполнит построение.
Если необходимо осуществить перемещение элемента по экрану,
нужно обратиться к программе, выполняющей эту операцию и указать
место, куда должен переместиться графический элемент. Используя
формулы преобразования координат, компьютер пересчитывает
координаты узловых точек, которые являются входными параметрами для
работы программы построения элемента, и снова осуществляет
построение. Аналогично осуществляется процедура поворота изображения
на заданный угол. Если необходимо совершить подобные преобразования
с объектом, содержащим множество элементов, необходимо объединить
их: создать в памяти компьютера всю цепочку операций по их построению,
после чего компьютер пересчитает соответствующие входные параметры
этих операций и последовательно выполнит построение.
Таким образом, редактирование (преобразование) графических
объектов осуществляется путем выполнения вычислительных операций,
связанных с изменением координат точек, из которых составлено
изображение.
Отсюда
вытекает
требование
соответствующего
быстродействия компьютера. Если скорость выполнения арифметических
операций будет невелика, то редактирование изображений будет
87
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
осуществляться медленно, и в работе проектировщика будет много пауз,
вызванных ожиданием выполнения корректировок. Компьютеры,
обладающие высокой скоростью выполнения арифметических действий
(десятки миллионов операций в секунду), позволяют осуществлять
пересчет координат всего экрана за доли секунды. Тем самым создается
возможность изменять изображение так быстро, что человеческий глаз
воспринимает это изменение как непрерывное движение.
88
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
8 Информационное
проектирования
обеспечение
автоматизизации
8.1 Базы данных
В процессе проектирования проектировщик постоянно испытывает
необходимость обращаться к различным источникам за информацией того
или иного рода. Прежде всего это справочная и нормативная информация.
Так, например, при выборе элементов металлических конструкций из
стандартных прокатных профилей необходимо знать геометрические
характеристики сечений, которые приводятся в справочниках. При
конструировании узлов соединений конструкций должны быть выполнены
определенные нормативные требования, которые приводятся в
строительных нормах и правилах. Таких примеров можно привести
великое множество. При традиционном проектировании под рукой
проектировщика всегда находятся нормативные документы, различные
справочники, каталоги и прочая информация на бумажных носителях, в
которой он ищет необходимую информацию. При разработке конструкций
проектировщик всегда начинает с поиска типовых решений или аналогов.
Для этого он обращается к альбомам типовых чертежей, просматривает
ранее выполненные проекты. В объем необходимой при проектировании
информации входят также: технологические документы, содержащие
перечень элементарных проектных задач, алгоритмы их решения,
технологические карты, комплекс экологических требований и
рекомендаций для проектирования элементов объектов строительства,
программные модули, всякого рода организационные правила и т.п.
Поиск информации – неотъемлемая составляющая работы
проектировщика. И на эту процедуру уходит достаточно много времени и
сил. Для того. чтобы поиск информации осуществлялся в кратчайшее
время, вся необходимая для проектирования информация должна быть
определенным образом организована. Необходимость организации
(упорядочивания) информации можно проиллюстрировать на простейших
примерах. Классическим примером может служить десятичная система
счисления. Известно, что любое число в десятичной системе счисления
представлено с помощью определенным образом расставленных цифр.
Самая правая цифра указывает на количество единиц, вторая справа –
количество десятков и т.д. Если прозвольным образом расположить числа
от 0 до 999 и поставить задачу найти среди них некоторое конкретное
число, то потребуется осуществить перебор значительного количества
чисел прежде, чем встретится нужное. В худшем случае потребуется 1000
операций сравнения. Расположив все числа по порядку, определенному
десятичной системой, мы легко найдем нужное число. Для этого в самом
неблагоприятном случае надо будет произвести 30 операций сравнения –
по 10 в каждом десятичном разряде. Т.е. упорядочивание чисел уменьшает
89
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
время поиска в данном примере более, чем в 30 раз. Другой классический
пример организации хранения информации – библиотека. Представим
себе, что все библиотечные фонды представляют собой книги, сложенные
на полках самым произвольным образом. Поиск нужной книги в такой
библиотеке возможен только путем перебора всех книг, если нет никаких
внешних признаков книги, которую надо найти, например цвет, толщина,
формат и т.п. Поэтому в каждой библиотеке книги расставляют в строго
определенном порядке. В основном используется тематический принцип
расстановки, но может быть и другой. Например, алфавитный принцип
используется в алфавитном каталоге, где основным признаком является
фамилия первого автора книги, либо, если авторов больше трех – название
книги. Порядок в хранении информации необходим не только для ее
поиска, но и и для различных манипуляций с ней, например, пополнение,
перестановка, удаление и т.п.
При автоматизированном проектировании информация содержится
на магнитных носителях в виде баз данных. Базы данных содержат как
числовые данные, так и текстовые и графические. Поиск информации и
другая работа с базой данных
должны выполняться с помощью
компьютера. А для этого база данных должна удовлетворять целому ряду
требований. И основным требованием является строгая организация
данных. Компьютерная база данных – совокупность определенным
образом расположенных данных. Простейший элемент базы данных: поле
– место, где расположено число, слово, обозначение и т.п. Например, в
таблице сортамента фасонного проката в поле может быть расположено
наименование (скажем, 50Б1) или ширина полки (величина в мм) и т.п.
Совокупность полей образует запись. Примером записи может служить
строка в таблице сортамента. Совокупность информации, содержащейся в
одной записи, образует экземпляр записи. Совокупность экземпляров
записей одинаковой структуры образует файл. Примером файла может
быть таблица сортамента одного типа профиля. Все поля в записи (строке)
заняты разными параметрами профиля одного типоразмера. Но все записи
одного файла имеют одинаковую структуру. Скажем, в каждой строке
сортамента за значением высоты профиля идет ширина полки, затем
толщина стенки и т.д. Расположенные в строго определенном порядке
данные называются структурированными. Структурирование данных дает
возможность обмена информацией между различными элементами
системы автоматизированного проектирования.
Структура базы данных должна быть как можно более простой и
желательно стандартной. Выполнение этого требования обеспечивает
возможность обмена данными с помощью стандартных программных
модулей. База данных должна быть удобной для пользователя и
обеспечивать максимальную скорость выполнения операций с ней.
База данных должна содержать на носителях, доступных для
использования
компьютером,
все
данные,
необходимые
для
проектирования любых объектов, входящих в компетенцию данной
90
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
автоматизированной системы. В то же время избыточность данных должна
быть минимальной. Иначе говоря, ненужных данных должно быть как
можно меньше. Содержащаяся в базе данных информация не должна быть
противоречивой. Например, в таблице сортамента масса одного метра
профиля, размещенная в одном из полей записи может быть получена
перемножением площади сечения, также расположенной в одном из полей
этой же записи, на плотность стали. Следовательно, содержимое этих двух
полей записи не должно быть противоречивым.
База данных должна быть доступна для всех участников
проектирования (возможность общего доступа). В то же время база данных
должна быть защищена от несанкционированного доступа к ее
содержимому. Это означает, что использовать данные, содержащиеся в
базе данных, можно, но вносить любые коррективы в хранящуюся там
информацию пользователь не имеет права. База данных должна
пополняться новыми данными, в нее должны вноситься изменения в связи
с изменениями нормативных документов, удаляться устаревшие сведения
и т.п. Но выполнять эту работу могут только специалисты, ответственные
за функционирование базы данных.
Использование информации, хранящейся в базе данных, возможно
только при наличии программ, управляющих манипуляциями с этой
информацией. Совокупность таких управляющих программ называют
системой управления базой данных (СУБД). Для того, чтобы выполнить
какую-либо операцию с информацией, имеющейся в базе данных,
пользователь должен обратиться к соответствующей управляющей
программе. Предположим, пользователю нужно посмотреть таблицу
сортамента. Обратившись к программе, обслуживающей такую процедуру,
пользователь на запрос программы уточняет задачу, сообщая какую
именно таблицу ему нужно посмотреть. Компьютер, выполняя программу,
извлекает из базы данных, хранящейся на диске, соответствующий файл и
переписывает его в оперативную память. После этого он преобразует эту
информацию к виду, удобному для пользования. Дело в том, что
информация хранится на магнитном носителе в упакованном виде: там
хранится только содержимое полей записей. Поэтому компьютер строит
таблицу и заносит туда извлеченную информацию. После того, как
таблица сформирована, она появляется на экране.
При создании системы управления базой данных нужно
предусмотреть все необходимые при проектировании процедуры и
манипуляции с данными. Чем больше таких процедур предусмотрено
разработчиками СУБД, тем удобнее пользователю работать с базой
данных. Управление базами данных, как и всякие другие процедуры и
операции, выполняемые компьютером, строится на четких математических
моделях. Поэтому структура базы данных, как было отмечено выше,
должна быть простой и доступной для математического описания. В
частности, очень эффективна табличная структура (реляционная система
баз данных). При такой структуре многие манипуляции с данными
91
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
строятся на матричных алгоритмах и алгебре множеств. С помощью
стандартных математических методов можно, например, упорядочивать
данные по тому или иному признаку (например, построить данные в
порядке возрастания или убывания какого-либо параметра или в
алфавитном порядке), сгруппировать их по какому-либо признаку,
объединить данные, содержащиеся в разных файлах и т.д. и т.п.
Существуют и другие структуры баз данных: иерархическая система (по
этой структуре выстроена файловая система современных компьютеров:
корневой каталог – каталоги – подкаталоги – файлы), сетевая (примером
может служить интернет) и др.
Во время выполнении конкретной проектной процедуры требуется
только небольшая часть всей информации, хранящейся в базе данных. Эта
информация должна быть доступна для непосредственного использования
при решении проектных задач. Чтобы можно было совершать те или иные
манипуляции с данными, они должны на момент выполнения процедуры
находиться в оперативной памяти. Информация, необходимая в момент
разработки того или иного раздела проекта конкретного объекта
строительства называется рабочей базой данных. Остальная часть данных
остается невостребованной и может находиться на магнитном носителе.
По окончанию работы с данным разделом проекта часть данных или вся
рабочая база данных из оперативной памяти удаляется, а вместо нее
загружается информация рабочей базы следующего раздела. Информация,
относящаяся к всему проектируемому объекту, называется динамичной
базой данных. Во время проектирования объекта по мере выполнения
разделов происходит обмен информацией между динамичной и рабочей
базами данных: ненужная для дальнейшей работы информация из рабочей
базы данных удаляется, а из динамичной в рабочую переписывается
информация, необходимая на очередном этапе проектирования.
Статичная база данных содержит информацию для постоянного
хранения, не связанную с конкретными объектами проектирования, а
имеющую общий характер и предназначенную для возможного
использования при проектировании любого из категории объектов, для
которой разработана система автоматизированного проектирования.
Взаимодействие между этими базами данных осуществляется в
следующих режимах.
1. Передача данных из раздела статичной базы данных в
динамичную базу данных полностью.
2. Передача данных в динамичную базу данных с выборкой из
разных разделов статичной базы данных.
3. Передача из рабочей базы данных, которые уже не нужны при
выполнении очередной проектной процедуры, в динамичную
базу данных.
4. Передача отдельных специальных данных из статичной базы в
рабочую базу данных.
5. Занесение данных из динамичной базы данных в статичную.
92
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Статичная база данных содержит:
- нормативную информацию;
- социальные требования к объектам;
- природные и климатические требования;
- требования производства и материалов;
- планировочные и объемно-планировочные элементы;
- конструктивно-планировочные элементы;
- узлы и изделия;
- справочную информацию;
- информацию о графических элементах;
- информацию о текстовой проектной документации.
Обмен данными осуществляется с помощью управляющих
программ. Обмен может быть осуществлен как с участием
проектировщика, так и в автоматическом режиме. В первом случае
проектировщик сам указывает, какие элементы базы данных следует
удалить и какие загрузить в рабочую базу данных. При автоматическом
режиме обмен данных производит специальная управляющая программа в
соответствии с последовательностью выполнения этапов проектирования,
и переход от выполнения одной проектной процедуры к другой
происходит без участия проектировщика. В первом случае обмен данными
происходит в диалоговом режиме. Остановимся на этом несколько
подробнее.
9.2 О диалоговом режиме работы с компьютером
Под диалоговом режимом работы проектировщика с компьютером
понимается такой режим, когда компьютер выводит на экран дисплея
сообщение и прерывает свою работу, ожидая ввода необходимой для
дальнейшей работы информации. Такая ситуация при автоматизированном
проектировании возникает тогда, когда какую-либо процедуру невозможно
описать математически, либо в системе автоматизированного
проектирования нет соответствующей программы, реализующей эту
процедуру. Чаще всего эта ситуация возникает в момент принятия
решения. Вообще процесс проектирования по существу представляет
собой непрерывную цепь последовательно принимаемых решений. Если
решение может быть принято однозначно на основании предварительно
проделанных вычислений или логических действий, то эта процедура
может быть описана математически и потому выполнена автоматически,
без участия проектировщика. Так, например, осуществляется выбор
формулы, по которой рассчитывается величина изгибающего момента в
том или ином расчетном сечении рамы при действии на раму конкретной
нагрузки (выше уже было рассмотрено, как это делается). Здесь
математически, с помощью системы равенств и неравенств однозначно
описывается условие применимости той или иной формулы. Более
93
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
сложным случаем является, например, выбор типа поперечного сечения
элемента конструкции. Тут требования, выработанные прочностным
расчетом, могут быть удовлетворены с помощью сечений разной
конфигурации. Однако, если ввести дополнительный критерий, например,
стоимость или вес элемента, решение становится более определенным. Но
и в этом случае надо предварительно предусмотреть возможность равной
оптимальности двух вариантов по всем критериям: чтобы решение,
которое должен принять компьютер, было описано математически.
Например, при прочих равных условиях преимущество получает тот
вариант, который имеет меньший порядковый номер. Если же процедура
выбора описать математически невозможно, то возникает необходимость
прерывания работы компьютера и включения в процесс пректировщика.
Организация диалога проектировщика с компьютером – важная
составляющая системы автоматизированного проектирования. Форма
взаимодействия проектировщика с компьютером называется иногда
интерфейсом пользователя. «Толковый словарь по информатике»
определяет понятие «интерфейс пользователя» как «комплекс
программных средств, обеспечивающий взаимодействие пользователя с
системой» или «средства связи между пользователем и системой».
(Заметим, что основное значение слова интерфейс несколько иное:
интерфейс – это оборудование, с помощью которого осуществляется
сопряжение
каналов
с
устройствами
управления,
внешними
запоминающими устройствами и устройствами ввода и вывода. В
программировании же интерфейс – совокупность описаний и соглашений
о процедуре передачи управления в подпрограмму и возврата в исходную
программу). Чем лучше интерфейс пользователя автоматизированной
системы, тем удобнее с ней работать проектировщику.
Для того, чтобы проектировщик знал, какие действия он должен
выполнить для продолжения работы автоматизированной системы
проектирования, на экран дисплея выводится соответствующая
информация. Это может быть текстовая информация. Например: «введите
значение параметра А». Информация должна быть исчерпывающей,
однозначно определяющей действия проектировщика. Если нужно ввести
числовую величину, имеющую размерность, то эта рамерность должна
быть указана. Если нужно ввести ряд числовых величин,то должен быть
указан порядок их ввода. Если необходимо осуществить выбор из
нескольких вариантов решения должны быть указаны эти варианты и т.д.
Современные графические средства позволяют уменьшить в
значительной степени объем вводимой проектировщиком с клавиатуры
информации в ответ на запрос компьютера. В частности используются
шаблоны в виде окон на экране дисплея, в которых располагается
информация, предлагаемая проектировщику для выбора решения.
Например, для выбора типа профиля элемента фермы предлагается набор
профилей в виде списка. Проектировщику с помощью мыши необходимо
указать выбранный им тип профиля и простым нажатием кнопки
94
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
необходимые сведения будут введены в память компьютера. При
рассмотрении вопросов автоматизации графических работ было описано,
как с помощью мыши и графического шаблона можно ввести инфомацию
без помощи клавиатуры. Для облегчения выбора в диалоге
проектировщика с компьютером могут быть предусмотрены подсказки:
рекомендуемые варианты решения. Например, в шаблоне указывается
наиболее часто принимаемое решение и предлагается либо согласиться с
ним, либо перейти к выбору из множества других. В первом случае
достаточно нажать кнопку и система продолжит работу, во втором будет
предложен перечень вариантов для выбора и нужно будет указать
конкретный, отличающийся от шаблонного, вариант.
При работе проектировщика с системой требуется внимательность,
но, к сожалению, не исключены и ошибки. Некоторые ошибки могут
привести к сбою системы и вся предыдущая работа может оказаться
напрасной. В частности, при вводе числовых величин вместо точки может
быть введена запятая или другой недопустимый знак. Программа диалога
может предумотреть анализ введенной информации прежде, чем она
попадет в оперативную часть системы. В случае несоответствия введенной
информации требованиям работа прекращается и на экран выводится
сообщение об ошибке с предложением ее исправить.
9.3 Управление базой данных
База данных представляет собой информацию, записанную на
магнитных носителях. Для того, чтобы эта информация могла активно
использоваться пользователем, с ней необходимо осуществить
определенные манипуляции. Прежде всего нужную пользователю
информацию надо отыскать на магнитном диске и считать в оперативную
память. Эта операция осуществляется специальной программой.
Например, проектировщику в процессе работы понадобились сведения из
таблицы сортамента двутавров. Для этого он либо набирает на клавиатуре,
либо указывает с помощью шаблона имя программы, осуществляющей
процедуру поиска на диске этой информации и считывание ее в
оперативную память. Эта информация имеет вид некоторого массива
чисел. Теперь следует запустить программу, преобразующую этот массив к
виду, удобному для непосредственного использования. Так, если
проектировщик хочет увидеть таблицу сортамента в таком виде, как она
приведена
в
справочной
литературе,
запускается
программа,
осуществляющая автоматическое построение таблицы. Каждый, кто
пользовался программой построения таблиц в том или ином текстовом
редакторе, знает, что нужно указать количество строк и столбцов,
заполнить шапку таблицы соответствующей текстовой информацией, а
затем разместить в ячейки числовую информацию. Все эти действия и
выполняются указанной управляющей программой.
95
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Поскольку массив данных построен таким образом, что каждый
элемент массива при формировании таблицы попадает точно на свое место
в таблице, нетрудно сделать программу, осуществляющую поиск
конкретного элемента таблицы. Так, если проектировщику нужно
подобрать двутавр по требуемому моменту сопротивления, он запускает
программу, которая последовательно просматривает элементы массива,
содержимое которых является значениями моментов сопротивления
профилей в порядке возрастания номеров двутавров. Номера этих
элементов компьютер определяет путем вычисления по соответствующей
формуле. Покажем, как это делается. Пусть в таблице двутавров s строк, а
в каждой строке t столбцов. Пусть значения моментов сопротивления
содержатся в столбце с номером m. Тогда в одномерном массиве (пусть
имя этого массива А, все элементы которого имеют каждый свой номер j)
элементы, содержащие значения моментов сопротивления можно найти по
номеру
j = (i − 1)t + m ,
(9.1)
где i – номер строки таблицы.
Компьютер последовательно просматривает элементы, начиная с первой
строки (значение i = 1) и увеличивая каждый раз i на единицу. Сначала
вычисляется номер элемента, потом значение элемента с этим номером
сравнивается с требуемым моментом сопротивления. Проверяется
выполнение неравенства
W ≥ Aj ,
(9.2)
где W – требуемый момент сопротивления.
Если указанное неравенство выполняется, то процесс повторяется, если
нет, то прерывается и достигнутое значение номера строки запоминается.
По номеру строки можно узнать номер нужного профиля, а также все
данные этого профиля. Но для этого уже используется другая программа.
Иногда бывает необходимо осуществить перестройку таблицы,
чтобы было удобно использовать рассмотренный выше алгоритм. Так,
таблица сортамента уголков для каждого размера полок содержит
несколько типоразмеров с разной толщиной полок. Если осуществляется
поиск профиля, удовлетворяющего по площади поперечного сечения, то
непосредственное использование прямого перебора профилей в порядке
возрастания номеров строк могут привести к результату, не являющемуся
оптимальным с точки зрения расхода материала. Процесс просмотра
закончится на уголке, первым удовлетворившим требование по площади
сечения, хотя, быть может, профиль с более широкими полками, но с
96
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
меньшей толщиной полок, расположенный в таблице ниже, имеет
меньшее, но удовлетворяющее требованию, сечение. Чтобы исключить
такой результат можно перестроить таблицу, выстроив все типоразмеры
строго по возрастанию площадей сечения. Это можно сделать, запустив
соответствующую программу, после чего использовать рассмотренный
выше алгоритм поиска.
При
создании
базы
данных,
предназначенной
для
функционирования той или иной системы автоматизированного
проектирования, определяется круг задач, которые решаются с помощью
этой базы данных и, соответственно с этими задачами те манипуляции,
которые должны осуществляться с этими данными для их решения. Затем
разрабатываются программы, обеспечивающие выполнение этих
манипуляций. Сложность этих программ зависит от системы организации
самой базы данных. Чем универсальнее эта система, тем проще
описываются математически манипуляции с этими данными. Тем проще и
универсальнее управляющие программы. Использование общепринятых
систем построения баз данных позволяет для их обслуживания применять
готовые программные модули.
Совокупность программ, осуществляющих операции с данными,
содержащимися в базе данных, называется системой управления базой
данных (сокращенно - СУБД). Чем больше операций с данными может
осуществить система управления базой данных, тем эффективнее работа
проектировщика,
тем
выше
степень
автоматизации
процесса
проектирования. Так, например, если
в процессе проектирования,
выполняемого в автоматическом режиме, возникает необходимость
извлечь из базы данных какую-то числовую величину и тут же
использовать ее для выполнения расчета, вовсе не обязательно прерывать
работу компьютера. Можно в проектирующей программе предусмотреть
обращение к соответствующей управляющей программе, осуществляющей
все необходимые операции с данными и передающей значение нужного
параметра в качестве исходного данного непосредственно в
проектирующую программу. Тогда автоматическое выполнение
проектирования не прерывается, и процесс продолжается без
вмешательства проектировщика.
База данных в совокупности с системой управления базой данных
образуют банк данных. В системе автоматизированного проектирования
обычно предусматривается возможность одновременного выполнения
проектных задач разными пользователями: каждый на своем компьютере
решает свою задачу, если, конечно, эти задачи являются взаимно
независимыми. Так, например, возможно параллельное решение задач
проектирования стропильных конструкций и расчета сети водоснабжения.
В этом случае банк данных должен обеспечивать централизованный
доступ ко всем накопленным данным. Это означает, что каждый
пользователь имеет возможность обратиться к базе данных по мере
97
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
необходимости. Естественно, что для этого все пользователи системы
должны быть объединены в сеть.
10
Программное
проектирования
обеспечение
автоматизации
Программное обеспечение автоматизированного проектирования –
это совокупность программ, необходимых для выполнения проектных
задач, решаемых данной автоматизированной системой. Все программы,
содержащиеся в программном обеспечении, можно разделить на две
группы: системные программы и прикладные программы. Прикладные
программы, называемые также проектирующими, решают конкретные
проектные задачи. С помощью системных программ осуществляется
управление процессом проектирования. В свою очередь, системные
программы можно разделить на программы операционной системы, в
которую встроена данная автоматизированная система проектирования, и
программы, предназначенные непосредственно для управления процессом
проектирования.
При
создании
автоматизированной
системы
разрабатываются только программы второй из указанных групп системных
программ.
Как было отмечено выше, проектные процедуры и операции могут
быть автоматизированы с помощью компьютерной техники только в том
случае, если они описываются с помощью элементарных математических
действий. Иначе говоря, проектные процедуры должны быть
формализованы или представлены в виде математичесих формул.
Последовательность математических операций, реализующих решение той
или иной проектной задачи, называется алгоритмом решения. Алгоритм
может быть линейным: в этом случае все операции совершаются
последовательно
и отсутствуют процедуры выбора (схема такого
алгоритма показана на рисунке 10.1).
Рисунок 10.1 – Схема линейного алгоритма
На рисунке 10.1 кружком показано обращение к внешним
устройствам: ввод и вывод информации. Прямоугольником обозначены
блоки вычислительной части алгоритма.
Если в зависимости от введенных исходных данных или от
результатов решения промежуточных задач дальнейшее решение идет
98
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
разными путями, алгоритм становится разветвленным. Выбор пути
осуществляется автоматически, если процедура выбора однозначно
описана математически. Если же это невозможно, то в алгоритме
предусматривается прерывание для принятия решения проектировщиком.
Дальнейшее продвижение по алгоритму выполняется только после ввода
проектировщиком соответствующей информации. Примерная схема такого
алгоритма показана на следующем рисунке. Здесь ромбом обозначена
процедура выбора.
Рисунок 10.2 – Схема разветвленного алгоритма
Здесь показано раветвление при выборе, осуществляемом на основании
введенных
данных.
Например,
программа
выполняет
расчет
двухшарнирной арки как без затяжки, так и с затяжкой. Эта информация
вводится в иходных данных, анализируется в блоке выбора и далее
решение идет разными путями. Ниже (на рисунке 10.3) приведена схема с
разветвлением в процессе решения задачи.
Рисунок 10.3 - Схема с разветвлением в процессе решения задачи
Большое распространение имеют алгоритмы, содержащие циклические
процедуры (они были рассмотрены выше при описании автоматизации
расчета балок, ферм и рам). Схема такого алгоритма приведена на
следующем рисунке.
99
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рисунок 10.4 – Схема алгоритма цикла
По аналогичной схеме строится и процесс выбора оптимального
проектного решения. Отличие заключается в том, что при возвращении в
начало цикла меняется не только параметр цикла, но и исходные данные
для решения проектной задачи.
Алгоритм решения проектной задачи должен быть составлен таким
образом, чтобы на каждом шаге все используемые величины были либо
заданы в виде исходных данных или численно определены на предыдущих
шагах решения. Кроме того, необходимо предусмотреть возможные случаи
неоднозначности решения, которые могут встретиться при вычислениях, а
также так называемые сбойные ситуации. Так, например, при
использовании в вычислениях квадратного корня компьютер считает
результат
извлечения
корня
положительным.
Поэтому,
если
предусматривается выбор отрицательного значения корня, необходимо
такой выбор описать математически. Здесь же возможен вариант
появления под корнем отрицательного числа или нуля. Если по условию
задачи такое невозможно, то, во избежание сбойной ситуации следует
предусмотреть прерывание для сообщения пользователю об ошибке. Если
же такое возможно, например при использовании эмпирических формул,
то следует вначале предусмотреть оценку подкоренного выражения и дать
алгоритм обхода сбойной ситуации без вмешательства пользователя.
На основании разработанного алгоритма составляется программа,
представляющая запись алгоритма с помощью одного из языков
программирования. Выбор языка программирования находится в
компетенции программиста, осуществляющего составление программы.
Прежде всего язык должен быть удобен для записи конкретного
алгоритма. В настоящее время существует множество языков
программирования, каждый из которых ориентирован на определенный
круг решаемых задач. Поэтому при создании автоматизированной системы
могут быть использованы разные языки программирования. Однако,
следует помнить, что непосредственно для работы компьютера
100
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
программы, написанные на языках программирования, использовать
невозможно. Для того, чтобы программа стала понятной компьютеру, ее
нужно перевести на машинный язык с помощью специальной программы –
транслятора. Для каждого языка программирования создана программатранслятор.
Это
стандартная
программа
и
при
создании
автоматизированной системы ее необходимо пробрести и включить в базу
данных. Чем больше различных языков программирования используется
при разработке прикладных и системных программ автоматизированной
системы, тем больше программ-трансляторов необходимо приобретать и
включать в базу данных. Поэтому набор языков нужно ограничить, причем
предпочтение следует отдавать более мощным, универсальным языкам.
Программы на так называемом, машинном, языке представляют
собой последовательность команд, записанных цифровым двоичным
кодом. Команд, непосредственно выполняемых компьютером, немного.
Это, прежде всего арифметические операции, команды присвоения
значений, удаления, сравнения и т.п., а также команды управления:
перехода из одной части программы в другую, условного перехода
(перехода с возвратом обратно после выполнения определенной части
программы), перехода по определенному условию, останова и т.п.
Количество команд в машинном языке определяется возможностями
электрических схем. Следует сказать, что нет особой необходимости в
увеличении количества команд, непосредственно понятных электрической
схеме компьютера. Существующего количества вполне достаточно, чтобы
реализовать любой алгоритм, записанный с помощью арифметических
операций. Важно отметиь лишь то, что программы, написанные на
машинном языке всегда намного длиннее, чем написанные на языке
программирования. Известно, что современные языки программирования
существенно приближены к обычному языку (как правило – английскому)
и поэтому более удобны в использовании. Но чем выше уровень языка, тем
относительно более длинной является соответствующая написанной на
этом языке программе программа в машинных кодах. Поэтому с точки
зрения затрат памяти на хранение в базе данных лучше хранить программу
на языке программирования, чем в машинных кодах. При использовании
такой программы в процессе проектирования при обращении к ней вначале
происходит трансляция (перевод на машинный язык), а потом уже
выполнение. При хранении в машинных кодах операция перевода не
требуется и поэтому отпадает наобходимость в хранении программытранслятора. Однако в этом случае существенно затрудняется, а иногда
становится и невозможной модернизация программного обеспечения. Это
объясняется тем, что работа в машинных кодах доступна только
программистам очень высокой квалификации и требует, кроме того,
больших затрат времени.
Программа после ее разработки должна пройти процедуру отладки.
При отладке прежде всего выясняется наличие грубых ошибок, обычно
возникающих случайно. Такие ошибки обычно выявляются при
101
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
трансляции: современные программы-трансляторы имеют возможность не
только выявлять такие ошибки, но и сообщают (выводят на экран) какого
типа ошибка выявлена. Значительно сложнее выявить ошибки,
незамеченные транслятором. Для их обнаружения нужно запустить
программу на выполнение, введя исходные данные контрольного варианта.
Если возможно, результаты решения контрольного варианта задачи нужно
получить вручную или с помощью другой программы. Когда такое
невозможно, приходится использовать специальные приемы контроля.
Процедура отладки, а также возможные корректировки в процессе
совершенствования программы существенно зависят от ее структуры.
Программы, аналогично алгоритмам, могут иметь линейную структуру,
т.е. представляют собой последовательность выполняемых одна вслед за
другой операций. Однако, значительно чаще они имеют разветвленную
структуру, состоят из различных блоков, в каждом из которых
выполняются определенные задачи. Наиболее сложными для отладки и для
совершенствования являются программы, представляющие собой единый
неделимый массив операторов. Значительно удобнее работать с
программой, построенной в виде системы программных блоков. Пример
такой структуры показан на рисунке 10.5
2
4
3
1
Рисунок 10.5 – Блочная структура программы
Здесь блоком 1 помечена головная часть программы, из которой
управление передается в блоки 2 и 3. В свою очередь из блока 2
управление передается в блок 4. Каждый раз после выполнения всех
операций соответствующего блока происходит возврат в тот блок, откуда
было передано управление. В частности, маршрут выполнения программы,
структура которой показана на рисунке, имеет вид: 1 – 2 – 4 – 2 – 1 – 3 – 1.
При запуске программы первыми операциями обычно являются
операции ввода данных, необходимых для ее выполнения. Этими данными
могут быть численные значения переменных, константы, массивы чисел,
102
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
текстовые значения переменных или текстовые константы и т.д. В
процессе работы программы могут быть выработаны новые значения
введенных переменных или получены значения других предусмотренных
программой переменных. В программе, представляющей собой единый
монолит, все переменные и константы доступны для использования
любому участку программы. Несколько по другому строится программа, в
структуре которой имеются подпрограммы (или процедуры), которые
обладают определенной самостоятельностью.
Подпрограмма (процедура) – относительно самостоятельная часть
программы, которая может использовать независимые от основной части
программы переменные. Это как бы защищает процедуру от влияния
работы остальной части программы. В процессе работы происходит
обращение из основной программы к процедуре. При этом в процедуру
могут быть переданы в качестве исходных данных те или иные параметры
(значения переменных, текстовые константы, массивы и т.п.). В процедуре
с этими параметрами осуществляются те или иные манипуляции. По
окончании работы процедуры происходит возвращение в основную часть
программы. При этом возврат сопровождается передачей выработанных
процедурой значений выходных параметров, которые используются
основной программой в дальнейшем. Преимущество такой схемы
заключается в том, что оперативная память компьютера для работы
процедуры используется только при ее работе. Как только заканчивается
работа процедуры та часть оперативной памяти, которая была
использована ею для размещения переменных и констант, необходимых
для ее работы, освобождается и может быть использована для работы
другой процедуры. Примером может служить, программа, реализующая
расчет рамы методом сил. В алгоритме этой программы многократно
используется операция вычисления перемещений, выполняемая по одним
и тем же формулам, но всякий раз с различными исходными данными
(значения изгибающих моментов, длина участка, жесткость участка). Эту
процедуру удобно выделить из общей части программы в
самостоятельную. Тогда при обращении к ней нужно сообщать указанные
выше исходные данные, а при выходе из процедуры в основную часть
программы будет передано искомое перемещение. Еще более эффективно
в той же программе выделение в подпрограмму (процедуру) решение
системы линейных алгебраических уравнений. В этом случае в качестве
параметров процедуры выступают массивы коэффициентов уравнений и
свободных членов уравнений. В качестве выходных параметров – массив
определенных значений неизвестных. В этой процедуре задействовано
большое количество промежуточных значений коэффициентов и
свободных членов уравнений, получающихся при понижении порядка
уравнений, хранение которых необходимо в процессе решения. По
окончании работы процедур вся занятая этими промежуточными
значениями автоматически освобождается. Именно по этой причине
сложные, имеющие большое количество переменных программы
103
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
рационально составлять, используя в меру возможности подпрограммы
(процедуры).
Еще более рационально при построении программ подпрограммы
(процедуры) оформлять в виде самостоятельных модулей. Под
программным модулем понимается программа, оформленная стандартным
образом так, что она может быть подключена к любой другой программе.
Для подключения программного модуля необходимо только соответствие
используемых модулем и основной программой входных и выходных
параметров. Это соответствие должно быть обеспечено основной
программой, подключающей модуль. Модуль же является неизменяемой
программой. Сведения о входных и выходных параметрах модуля
являются его атрибутами и сообщаются в описании модуля. При
обращении к модулю необходимо строго соблюдать последовательность
ввода параметров, их тип, размерности и другие требования. Программные
модули должны храниться в базе данных автоматизированного
проектирования. При запуске программы, при работе которой
используются модули, прежде всего автоматически производится
компиляция (сборка) всех модулей. При этом система обычно
автоматически проверяет соответствие общих параметров основной
программы и модулей и в случае обнаружения несоответствия сообщает об
этом. Если этого не делать, то в процессе работы может произойти сбой с
потерей всех результатов, либо, что еще хуже (это очень трудно
обнаружить) – неверное решение задачи.
При создании программного обеспечения желательно максимально
использовать стандартные модули: готовые программы, решающие
стандартные проектные или математические задачи. Преимущества
стандартных модулей в том, что надежность их работы обеспечена
известным
разработчиком.
Стандартные
программные
модули
сопровождаются описанием и тестовыми исходными данными, с помощью
которых можно проверить качество приобретаемого программного
продукта. Применение стандартных модулей сокращает время на создание
автоматизированной системы и расходы на разработку программного
обеспечения.
Важным
преимуществом
модульной
организации
программного обеспечения является удобство развития и модернизации
системы. Программный модуль можно независимо от системы заменить на
другой, более совершенный, сохранив неизменными только атрибуты его
подключения к системе автоматизированного проектирования. Так,
например, если автоматизированная система в качестве модуля использует
программу расчета усилий в стержнях фермы, то совершенно безразлично,
какой метод расчета используется в программе. Поэтому модуль,
использующий метод вырезания узлов можно безболезненно заменить на
программу, решающую задачу методом конечных элементов.
Единственное (но очень важное) требование должно быть соблюдено:
исходные данные для расчета и результаты, возвращаемые из модуля
должны иметь в обоих модулях совершенно одинаковую структуру.
104
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
В целом программное обеспечение системы автоматизированного
проектирования можно классифицировать по иерархическому принципу
следующим образом.
Первый уровень: программы, имеющие простую структуру, т.е. не
имеющие обращений к другим процедурам.
Второй уровень: программы со сложной структурой, т.е. имеющие
обращение к другим процедурам (как входящим в их состав в виде
подпрограмм, так и программным модулям).
Третий уровень: программы, имеющие самостоятельный вход и
выход (программы, которые могут быть подключены к системе для
автоматического запуска или могут запускаться независимо от системы).
Четвертый уровень: самостоятельные программы, решающие
специальные проектные задачи, например задачу оптимизации
конструкции или выполнение чертежа стандартного узла или элемента.
Пятый уровень: программный комплекс, предназначенный для
проектирования конкретных типов конструкций (например, комплекс
проектирования стального каркаса одноэтажного промышленного здания).
Шестой уровень: программы управления базами данных,
управления
работой
программных
комплексов,
управления
вычислительными процессами.
105
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
11
Общие
принципы
построения
автоматизированного проетирования
систем
Как было отмечено в начале данного учебного пособия, система
автоматизированного проектирования (САПР) включает в себя комплекс
средств и методов, обеспечивающих автоматизацию выполнения
проектных процедур и операций с помощью компьютерной техники. Выше
с разной степенью подробности были рассмотрены некоторые
составляющие САПР: математическое обеспечение (алгоритмы решения
проектных
задач),
информационное
обеспечение
(информация,
необходимая при проектировании, ее организация и управление этой
информацией), программное обеспечение (программы,осуществляющие
выполнение проектных задач и управляющие процессом проектирования).
Кроме рассмотренных составляющих для успешного функционирования
САПР необходимы еще две важных составляющие.
Техническое обеспечение САПР – это комплекс технических
средств, без которых работа системы невозможна или неэффективна. Сюда
прежде всего относится основной элемент – процессор (или
арифметическое
устройство),
осуществляющий
выполнение
арифметических и логических операций с числами и числовыми кодами.
Числовые коды хранятся в ячейках оперативной памяти. Оперативная
память – это сложная система электрических микросхем. Работа
процессора по существу заключается
в определении движения
электрического тока по маршруту, заданному командой выполняющейся
программы, и тем самым включающему в электрическую схему те или
иные ячейки памяти. Иначе говоря электрическая схема работающего
компьютера находится в состоянии непрерывного изменеиия. В
современных компьютерах процессор с оперативной памятью технически
объединен с устройством ввода информации с магнитных носителей в
оперативную память и вывода информации из оперативной памяти на
магнитные носители в системный блок. Магнитные носители – жесткие
магнитные диски – установленные на постоянной основе в системный блок
предназначены для хранения программ оперативной системы компьютера
и постоянного хранения оперативной информации (программ, данных)
пользователя. При работе компьютера систематически происходит обмен
информацией между системным жестким диском и оперативной памятью.
Дело в том, что оперативная память является памятью электрической: при
выключении тока или в резком изменении его параметров происходит
потеря всей информации, содержащейся в электрической памяти. Если же
выработанная в электрической памяти информация своевременно
переписана на магнитный диск, то ей уже не угрожает потеря при
выключении тока. Устройство ввода и вывода информации предназначено
для считывания и записи информации на съемный диск (жесткий или
106
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
гибкий). Эта процедура называется обменом информации с внешним
носителем.
Устройства, содержащиеся в системном блоке, являются тем
минимумом, который обеспечивает работу компьютера. Однако в
системном блоке нет устройств, управляющих работой компьютера.
Включение компьютера в сеть запускает автоматически только те
программы, которые загружают (переписывают в оперативную память ту
информацию, которая необходима для функционирования оперативной
системы) компьютер. После успешной загрузки компьютер автоматически
прекращает работу, ожидая ввода той или иной команды, запускающей ту
или иную функциональную программу. Эти команды могут быть записаны
на диске, установленном во внешнее устройство ввода. Но для того, чтобы
считать эти команды надо запустить программу, управляющую этой
процедурой. Если команда запуска этой программы содержится в
программе загрузки компьютера, то работа может быть выполнена без
участия пользователя: после включения компьютера в сеть будет
осуществлена загрузка, а по ее окончании автоматически произойдет
считывание информации со съемного диска, согласно этой информации
будет запущена в работу программа, содержащаяся в памяти компьютера,
а результаты работы, если это предусмотрено программой, будут
переписаны на тот же съемный магнитный диск. Такой способ запуска
используется крайне редко.
При
автоматизированном
проектировании
пользователь
(проектировщик) обычно принимает активное участие в работе. Для этого
ему необходимо устройство для оперативного ввода необходимой
информации. Этим устройством является клавиатура. С помощью
клавиатуры проектировщик может ввести команды, которые немедленно
будут выполнены компьютером, имена программ, которые нужно
запустить на выполнение, тексты программ, обычные тексты, числовые
данные и другую информацию. С помощью клавиатуры пользователь
может управлять работой компьютера, вводить исходные данные,
производить редактирование текстов и даже выполнять графические
построения. Следует напомнить, что первые компьютеры клавиатуры не
имели и ввод информации осуществлялся с перфолент, а затем с
перфокарт, что было весьма трудоемко и чревато ошибками при больших
объемах информации. Поэтому создание клавиатуры стало огромным
скачком в компьютерной технике.
Однако возможность набора текста с помощью клавиатуры
потребовала создания устройства для визуального контроля вводимого
текста. Ведь ошибки во вводимой информации совершенно недопустимы
при использовании компьютерной техники, поскольку в отличие от
человека он не поймет смысла слова, если в нем случайно пропущена одна
буква. А случайные ошибки, конечно, возможны при наборе больших
массивов текста, особенно числового. Устройством, упрощающим
безошибочный ввод данных, явился видеотерминал, который обычно
107
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
называется дисплеем или монитором. Дисплей – это телевизионный экран,
изображение на котором связано с оперативной памятью компьютера.
Первые дисплеи были только текстовыми: на экране высвечивались строки
вводимого текста и управляющие команды, вводимые пользователем. На
таком дисплее можно было строить простые изображения, используя для
этого различные специальные символы. Создание графического дисплея
открыло возможность выполнения чертежей и тем самым автоматизации
изготовления проектной документации.
Для построения графических примитивов необходимо с клавиатуры
набрать имя программы, осуществляющей это построение и числовые
исходные данные. Для построения сложного честежа такую операцию
необходимо выполнить многократно. Такое построение отнимает много
времени и большого внимания проектировщика, которое при длительной
работе с клавиатурой снижается. А исправление замеченных ошибок снова
требует ввода имени программы и новых данных. И снова было создано
устройство, облегчающее работу проектировщика, - «мышь». С помощью
мыши можно указывать на экране дисплея точку, тем самым связываясь с
оперативной памятью. Перемещение указателя мыши по экрану
осуществляется очень быстро. Применение графических шаблонов в
современных дисплеях позволяет осуществлять запуск программ простым
указанием на соответствующее место экрана. Все это сделало работу по
вводу информации такой, что скорость ввода стала соизмеримой со
скоростью обработки ее компьютером.
В комплект необходимых для автоматизированного проектирования
технических средств входит также устройство для вывода информации на
бумажные носители, иначе говоря – принтер. Устройство преобразования
информации, находящейся на бумажном носителе, в информацию на
магнитном носителе – сканер. Благодаря сканеру можно обойтись без
ввода текстовой информации с клавиатуры, а также ввести в память
компьютера всякого рода изображения, причем ничуть не уступающие по
качеству оригиналу. Для работы в сети необходимо еще одно устройство модем, с помощью которого осуществляется связь компьютеров с базой
данных проектирования.
Для эффективного функционирования автоматизированного
проектирования техническое обеспечение должно удовлетворять целому
ряду требований. Основные из них следующие:
- высокое быстродействие процессора или, иначе говоря, большая
скорость выполнения арифметических операций. Это требование
особнно важно для работ с текстом и графических работ,
которые выполняются в диалоговом режиме и, в силу того, что
процедуры
редактирования
текста
и
построения
и
редактирования изображений связаны с большим количеством
вычислительных операций, только высокое быстродействие
обеспечивает немедленное выполнение компьютером команд
108
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
проектировщика
(выполнение
одной
команды
может
потребовать сотен тысяч арифметических действий);
- большой объем оперативной памяти компьютера. Большой
объем оперативной памяти позволяет решать вычислительные
проектные задачи, связанные с хранением больших (сотни тысяч
чисел) массивов промежуточных результатов (например –
решение систем алгебраических уравнений, порядок которых –
десятки тысяч уравнений), а также сложные графические
объекты;
- высокая разрешающая способность дисплея, без которой
качественное выполнение графических работ немыслимо;
- высокая скорость обмена информацией между оперативной и
магнитной памятью (обеспечивается быстротой считывания и
записи на магнитные диски).
Для работы с системой автоматизированного проектирования
необходимо методическое обеспечение. Под методическим обеспечением
понимается информация, необходимая для работы проектировщиков с
системой. Прежде всего это информация общего характера о системе
проектирования: область применения, возможности и ограничения
системы. Затем – инструкции для пользователей системы: описание правил
подготовки исходных данных, описание представления результатов
работы системы, описание диалоговой системы, информация об
управлении режимами, описание действий при возникновении сбойных
ситуаций и т.п. Методическое обеспечение представляется как в виде
описания на бумажных носителях, так и в электронном варианте,
доступном для непосредственного использования при запуске
автоматизированной системы в виде текста на экране дисплея.
109
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
12 Некоторые сведения о программном комплексе
«ЛИРА»
Программный комплекс «ЛИРА» предназначен для численного
исследования прочности и устойчивости конструкций, а также для
автоматизированного выполнения ряда процессов конструирования.
Комплекс обеспечивает исследование широкого класса конструкций:
плоские и пространственные стержневые ситемы, пластинчатые и
оболочечные системы , массивные тела, комбинированные системы
(рамно-связевые конструкции высотных зданий, плиты на грунтовом
основании, ребристые плиты, многослойные конструкции). Расчет
выполняется как на статические (сосредоточенные силы или моменты,
распределенные нагрузки, температурные воздействия, перемещения), так
и на динамические (пульсация ветра, вибрация от технологического
оборудования, удар, сейсмическая нагрузка) воздействия.
Исследуемые объекты могут иметь произвольные очертания,
локальные ослабления в виде различной формы отверстий и полостей, а
также различные условия опирания. Комплекс базируется на
использовании расчетного метода конечных элементов для определения
внутренних усилий и перемещений элементов конструкций. Комплекс
также включает программные модули, автоматизирующие ряд процессов
проектирования: выбор невыгодных комбинаций нагрузок, унификация
элементов по прочности, оптимальное армирование сечений элементов
железобетонных конструкций. Комплекс имеет информационную связь с
наиболее распространенными графическими системами, такими как
AutoCAD и ArchiCAD.
По функциональному признаку в комплексе ЛИРА выделяются
следующие основные части.
1. Система, организующая графическую интуитивную среду
пользователя. Многочисленные функции этой системы
позволяют синтезировать расчетные схемы и анализировать
результаты расчета в удобном для пользователя виде. При
синтезе расчетных схем могут быть использованы различные
приемы фрагментации, применения регулярных сеток,
размножения, задания табличной информации, умолчания,
масштабирования и т.п. Результаты расчета могут быть
представлены в цифровой (табличной) форме или в виде
изополей
и
изолиний
параметров
напряженнодеформированного состояния.
2. Линейный процессор реализует собственно расчетные функции:
составление и решение системы линейных алгебраических
уравнений, определение внутренних усилий и напряжений,
определение расчетных сочетаний усилий и расчетных
сочетаний нагрузок. Из оперативных протоколов пользователь
110
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
может получить информацию о ходе расчета. Линейный
процессор также реализует суперэлементную процедуру, расчет
на динамические воздействия и устойчивость, оценку
прочности по различным теориям, обработку сечений
произвольного профиля.
3. Нелинейный процессор релизует расчет физически и
геометрически нелинейных систем шаговым методом. В
прцессе расчета пользователь получает текстовую, цифровую и
графическую оперативную информацию о нарастании
перемещений, появлении трещин, образовании пластических
шарниров и т.п.
4. Проектирующая
система
железобетонных
конструкций
производит на основе анализа усилий и напряжений
унификацию элементов, назначает конструктивные элементы и
производит армирование.
5. Проектирующая
система
металлических
конструкций
производит на основе анализа усилий и напряжений
унификацию элементов, назначает конструктивные элементы и
выполняет подбор или проверку сечений.
6. Документирующая система оформляет результаты работы
программного комплекса. С помощью этой системы
пользователь
может
получить
и
отредактировать
пояснительную записку, сформировать таблицы результатов
требуемой формы, представить результаты в виде эпюр и
изополей перемещений и усилий, деформированных схем, форм
колебаний и потери устойчивости, схем армирования. Система
также оформляет полученную графическую информацию в виде
чертежей со штампами, примечаниями и другими реквизитами.
Интерактивная графическая интуитивная среда пользователя
предоставляет возможность быстро и наглядно создавать расчетные схемы
из стержней, ферм, рам, пластин, оболочек, объемных тел. Полученная
конструкция отображается на экране в виде реального пространственного
изображения. Это изображение можно поворачивать, масштабировать,
выделять фрагменты, копировать, перемещать по экрану, собирать
сложные расчетные схемы. Графическая среда имеет четыре основных
режима работы: начальная загрузка задачи, формирование расчетной
схемы, представление на экране результатов работы, документирование.
Библиотека конечных элементов содержит следующие типы
элементов.
1. Стержни. Стержень может иметь произвольное сечение,
постоянное по длине и произвольную местную нагрузку.
Примыкание стержня к узлам может осуществляться при
помощи абсолютно жестких вставок или шарниров. Частные
случаи стержня: рамный стержень, стержень фермы, стержень
балочного ростверка и др.
111
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
2. Оболочки. Конечные элементы, моделирующие оболочки –
плоские треугольники, прямоугольники и произвольные
четырехугольники. Элементы могут быть изотропными и
анизотропными.
Рассматриваются
следующие
виды
напряженного состояния элементов: плоское напряженное
состояние, плоская деформация, тонкая пластина, толстая
плита, многослойная плита, тонкая, толстая или многослойная
оболочка, осесимметричное напряженное состояние.
3. Массивные тела. Массивные тела моделируются трехмерными
элементами: параллелепипед, тетраэдр, треугольная призма,
четырехугольная
призма,
выпуклые
шестиузловой
и
восьмиугловой элементы.
4. Специальные конечные элементы, моделирующие связи
конечной
жесткости,
упругое
основание,
заданные
перемещения.
Формирование системы уравнений осуществляется поэлементно.
Для каждого конечного элемента строится матрица жесткости и в
соответствии с номерами перемещений этого элемента вносятся данные в
общую матрицу системы уравнений. Если по направлению какого-либо
перемещения наложена связь, то соответствующие строка и столбец из
системы уравнений исключаются. Для решения системы уравнений
использован метод Гаусса. При этом учитываются симметричность и
разреженность матрицы. С целью уменьшения ширины ленты ненулевых
элементов матрицы используются алгоритмы перенумерации неизвестных.
Реализуется также обход нулевых элементов внутри ленты.
При большом количестве элементов возможно применение
суперэлементов. Для этого рассчитываемая конструкция разбивается на
подсистемы - суперэлементы, каждый из суперэлементов - на конечные
элементы. Узлы, принадлежащие только одному суперэлементу,
называются внутренними, а остальные – суперузлами. Суперэлементы и
суперузлы образуют основную систему. При решении системы уравнений
вначале исключаются неизвестные, соответствующие внутренним узлам, и
находятся перемещения суперузлов, а по этим перемещениям
определяются перемещения внутренних узлов суперэлементов.
Напряжения и деформации вычисляются в центрах тяжести
плоских или трехмерных элементов, а для стержней – в начале и конце
стержневого элемента. Оценка прочности производится в соответствии с
выбранной теории прочности из следующего ряда: наибольших главных
напряжений; наибольших главных деформаций; наибольших касательных
напряжений; энергетическая; О.Мора; Ю.И.Ягна; П.П.Баландина;
И.Н.Миролюбова; Д.Друккера-В.Прагера; Г.С.Писаренко-А.А.Лебедева.
Проектирующая
система
железобетонных
конструкций
осуществляет армирование следующих типов элементов конструкций:
стержень, балка-стенка; плита; оболочка. Подбор и проверка арматуры
производится в стержнях прямоугольного, таврового, двутаврового,
112
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
коробчатого, кольцевого сечений. В балке-стенке подбирается арматура в
двух направлениях, а в плите и оболочке верхняя и нижняя в двух
направлениях.
Проектирующая
система
металлических
конструкций
предназначена для подбора и проверки сечений элементов ферм, балок,
колонн из стандартных профилей (уголки, двутавры, швеллеры), сварных и
составных сечений. Подбор и проверка сечений осуществляется как для
отдельных конечных элементов, так и для конструктивных и
унифицированных элементов. При этом подбор и проверка элементов
может производиться в автоматическом режиме для всех элементов и в
автономном режиме для выбранного элемента. В последнем случае
возможно вариантное проектирование (изменяя материал, состав и
размеры сечения, расставляя ребра жесткости и т.п.).
113
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
13 Термины и понятия, встречающиеся при описании
систем автоматизации проектирования
Алгоритм – точная последовательность вычислительных операций,
ведущих от начальных данных к искомому результату.
Атрибут – признак, описатель данных (имя, тип, длина, количество
и т.п.).
База данных – совокупность организованных (расположенных,
выстроенных таким образом, чтобы можно было использовать общие
принципы описания, хранения и манипулирования) данных.
Байт – наименьшая единица данных.
Банк данных – автоматизированная информационная система
централизованного хранения и коллективного использования данных.
Бит – минимальная единица количества информации (один
двоичный разряд: единица или ноль).
Винчестер – малогабаритный пакет жестких магнитных дисков,
герметизированный вместе с головками записи-чтения.
Графопостроитель (плоттер) – устройство вывода данных в
графической форме на бумажный носитель.
Декодер – схема, преобразующая слово (двоичное число) в
электрический сигнал.
Директорий – каталог.
Диск – магнитный носитель информации, представляющий собой
круглую пластину, покрытую слоем материала в виде концентрических
дорожек, способного запоминать и воспроизводить информацию.
Дискета – гибкий магнитный диск.
Графический дисплей – устройство, предназначенное для
отображения на экране информации в графической и в алфавитноцифровой форме.
Загрузка – пересылка данных с носителя данных в основную память
компьютера.
Интерфейс пользователя – комплекс программных средств, с
помощью которых обеспечивается взаимодействие пользователя с
автоматизированной системой.
Каталог – справочник, содержащий список входящих в него
файлов и подкаталогов.
Команда – управляющий сигнал, запускающий выполнение
определенной операции.
Компиляция – трансляция программ на язык, близкий к машинному.
Массив – поименованная (имеющая имя) совокупность однотипных
элементов, упорядоченных по индексам (номерам), определяющим
положение элемента в массиве.
114
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Меню – список вариантов (режимов, команд, ответов и т.п.),
выводимых на экран дисплея и предлагаемых пользователю для выбора.
Модем – функциональное устройство, преобразующее цифровые
сигналы в аналоговую форму и обратно для передачи по линиям связи.
Мышь – манипулятор ввода графической информации (ввода
координат положения указателя на экране дисплея).
Обеспечение – совокупность методов, средств и мероприятий,
необходимых для нормального функционирования того или иного объекта
или процесса.
Оболочка
–
инструментальное
программное
средство,
предназначенное для автоматизации работы пользователя с файлами и
каталогами.
Обращение – доступ к тому или иному устройству, к программе или
к данным.
Окно – часть экрана дисплея, с которой программа или
пользователь работает как с отдельным экраном.
Оптимизация – процесс нахождения минимума (или максимума)
функции при заданных ограничениях.
Опция – дополнительное средство, указываемое в задании для
обрабатывающей программы и предназначенное для изменения основного
режима ее работы.
Пакет прикладных программ – система прикладных программ,
предназначенных для решения задач определенного класса.
Пиксел – наименьший элемент экрана (точка) дисплея, которому
могут быть независимым образом заданы координаты, цвет,
интенсивность.
Пиктограмма – условное изображение информационного объекта
или программы (этикетка).
Подсистема – часть системы, выполняющая одну или несколько ее
функций.
Поле – часть записи для размещения элементарных данных.
Примитив – простейший графический элемент.
Программа – упорядоченная последовательность команд;
последовательность
предложений
на
языке
программирования,
описывающая алгоритм решения задачи.
Процессор – устройство компьютера, предназначенное для
выполнения программы.
Растр – множество точечных элементов, с помощью которых знак
фиксируется на экране дисплея или на бумажном носителе.
Сервер – в вычислительных сетях: компьютер, управляющий
использованием ресурсов сети (баз данных, принтеров, внешней памяти).
Сжатие - устранение избыточности (избыточные данные – те,
которые могут быть получены путем манипуляций с имеющимися) в
представлении данных на носителе (архивирование).
115
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Система – совокупность объектов и отношений между ними,
образующая единое целое.
Сканер – устройство ввода изображения в память компьютера.
Слово – цепочка символов, имеющая определенное смысловое
значение.
Табулирование – размещение объектов в форме таблицы.
Такт – время выполнения элементарной (простейшей) внутренней
операции процессора.
Терминал – устройство для взаимодействия оператора с
компьютером (дисплей – видеотерминал).
Файл – поименованная совокупность данных, находящихся во
внешней памяти, доступная для обработки программой посредством
специальных операций.
Формализация – процесс представления информации в виде
математической записи.
Формат – способ расположения или представления данных.
Цикл – многократно выполняемый участок алгоритма или
программы.
Шаблон – последовательность знаков, определяющая схему
представления и редактирования элементарных данных.
Язык – средство описания данных и алгоритмов решения задач.
Ячейка – элемент памяти компьютера для хранения одного данного.
116
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Контрольные вопросы
1. Зачем при автоматизированном проектировании требуется компьютер с
большой скоростью выполнения операций, с большой оперативной
памятью и большой скоростью обмена информации?
2. Чем
определяется
возможность
автоматизации
выполнения
интеллектуальной процедуры с помощью компьютера?
3. Каковы принципиальные отличия расчета балки с помощью
компьютера от аналитического решения той же задачи?
4. Как можно автоматизировать построение изогнутой оси балки с
помощью компьютера?
5. В чем преимущества применения матричных алгоритмов при
автоматизированном проектировании?
6. Каким образом компьютеру передать исчерпывающие сведения о
нагрузках, действующих на конструкцию?
7. Исходя из чего компьютер осуществляет выбор формулы для
вычисления внутренних усилий в раме?
8. Как можно автоматизировать определение геометрических параметров
при расчете фермы?
9. С помощью какого приема можно автоматизировать проверку
статической определимости равновесия узла фермы?
10. Как сократить объем вводимой информации при расчете ферм с
типовыми конструктивными схемами?
11. В чем смысл структурной матрицы при применении универсальных
схем расчета?
12. В чем преимущества метода конечных элементов при компьютерном
проектировании?
13. Какие вычислительные процедуры выполняет компьютер при
редактировании текста?
14. Какая информация необходима компьютеру для построения
изображения?
15. Что положено в основу автоматизации построения отрезка прямой?
16. В чем принцип автоматизированного построения сложных фигур?
17. Как автоматизировать построение дуги окружности?
18. В чем заключается сложность построения рисунков на экране дисплея?
19. Каким образом можно ускорить построение чертежей на экране
дисплея?
20. Как осуществляется хранение и воспроизведение изображений при
компьютерном проектировании?
21. В чем преимущества использования «мыши» при компьютерном
проектировании?
22. Каков принцип управления программами с помощью экранных
этикеток и шаблонов?
23. Что такое: графический примитив?
24. В чем смысл «организации баз данных»?
117
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
25. Что такое: управление базой данных?
26. В чем суть диалогового режима работы проектировщика с
компьютером?
27. Что такое: циклический процесс при вычислении?
28. В чем преимущества модульной организации программного
обеспечения автоматизированного проектирования?
29. Какие задачи решает программное обеспечение автоматизированного
проектирования?
30. Какие функции выполняют отдельные виды технического обеспечения
автоматизированного проектирования?
118
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Список использованных источников
1. Системы автоматизированного проектирования. [Текст]. В 9-ти
книгах. Книга 1. Принципы построения и структуры САПР. /
И.П.Норенков - М.: Высшая школа, 1986. – 127с.
2. Аверченков В.И. Основы построения САПР. [Текст]: Учебное
пособие / В.И.Аверченков, В.А. Камаев - Волгоград, 1984. –
120с.
3. Керимов
Э.Г.
Автоматизированное
проектирование
конструкций. [Текст] / Э.Г.Керимов, С.А.Багиров - М.:
Машиностроение, 1985. – 224с.
4. Гитберг В.Д. Системное проектирование в строительстве.
[Текст] / В.Д. Гитберг - Л.: Стройиздат, 1987. – 160с.
5. Першиков В.И. Толковый словарь по информатике. [Текст] /
В.И.Першиков, В.М.Савинков - М.: Финансы и статистика, 1995.
– 544с.
6. Дейт К.Дж. Введение в системы баз данных. [Текст] / К.Дж. Дейт
- К.: Диалектика, 1998. – 784с.
7. Петров А.В. Проблемы и принципы создания САПР [Текст] /
А.В.Петров, В.М.Черненький. - М.: Высшая школа, 1990. – 143с.
8. Мастаченко
В.Н.
Автоматизация
проектирования
железобетонных конструкций [Текст] / В.Н.Мастаченко, Я.Г.
Мирвис, В.Н.Уколов -Л. : Стройиздат, 1982. – 224с.
9. Метод конечных элементов: теория и численная реализация.
Программный комплекс «ЛИРА-Windows». [Текст]– К.: ФАКТ,
1997. - 138с.
10. Вермишев Ю.Х. Основы автоматизации проектирования.
[Текст] / Ю.Х.Вермишев – М.: Радио и связь, 1988. – 280с.
11. Гусаков А.А. Системотехника строительства. [Текст] / А.А.
Гусаков – М.: Стройиздат, 1993. – 368с.
12. Черячукин В.В. Основы автоматизации строительного
проектирования. [Текст] / В.В.Черячукин – Пенза, 1996. – 48с.
13. Двайт Г.Б. Таблицы интегралов и другие математические
формулы. [Текст] / Г.Б.Двайт – Л, 1966. – 228с.
14. Строительная механика. [Текст] / Под ред. А.В.Даркова;
А.В.Дарков [и др.] – М.: Высш.шк., 1976. – 600с.
119
Документ
Категория
Без категории
Просмотров
141
Размер файла
703 Кб
Теги
строительство, 2760, автоматизация, основы, проектирование
1/--страниц
Пожаловаться на содержимое документа