уплотнения под влиянием кислотной
агрессии.
На основании вышеизложенного можно заключить, что, выбирая буферные системы в качестве добавок к цементному вяжущему, можно значительно повышать химическое сопротивление и первоначальную прочность це- мический удар" по материалу.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
ментного камня, а также добиваться увеличения подвижности цементной смеси или уменьшения ее водопровод-ности с вытекающими позитивными последствиями. Одним из наиболее ярких эффектов от применения этих добавок является их способность смягчать „хи-
1. Глинка Н. Л. Общая химия: Учеб. пособие для вузов. 20-е изд., испр./Под ред. В. А. Рабиновича. Л.: Химия, 1979. 720 с.
2. Добавки в бетон: Справ. пособие / В. С. Рамачандран, Р. Ф. Фельдман, М. Кол-
лепарди и др.; Под ред. В. С. Рамачандрана; Пер. с англ. Т. И. Розенберг и С. А. Болдырева; Под ред. А. С. Болдырева, В. Б. Ратинова. М.: Стройиздат, 1988. 575 с.
УУУУУУУУУУУХПП^УУУУ^
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ РАСЧЕТА ОБЪЕМОВ ЗЕМЛЯНЫХ РАБОТ ПРИ ВЕРТИКАЛЬНОЙ ПЛАНИРОВКЕ СТРОИТЕЛЬНЫХ ПЛОЩАДОК
О. А. ФРОЛКИН, ассистент,
Ю. В. ЮРКИН, инженер,
В. Т. ЕРОФЕЕВ, доктор технических наук
При проектировании производства
работ в строительстве значительную
трудоемкость представляют расчеты по определению объемов земляных работ. Нами предлагается программа их расчета при вертикальной планировке строительного участка методом нулевого баланса, при котором объемы выемки и насыпи равны, т. е. грунт перераспределяется в пределах планируемой площадки.
Предлагаемая программа „VERT-PLAN" отличается от известных методов автоматизации, используемых в организационно-технологической подготовке строительного производства [1 — 4 ], тем, что для проведения расчетов необходимо лишь наличие черных отметок, т. е. данных полевых измерений предполагаемой строительной площадки либо данных топографической карты местности.
Работа с программой начинается с ввода исходных данных (ввод разме-
ров площадки, разбивка ее на квадраты, ввод черных отметок по узлам раз-бивочной сетки). Это можно сделать непосредственно в программе или предварительно подготовить данные в любом текстовом редакторе (исключая текстовые редакторы, сохраняющие данные в формате RTF, например Microsoft Word) по определенной схеме.
Количество квадратов по оси X 4.00
Количество квадратов по оси У 3.00
Длина стороны квадрата
50.00
/ {
Отметки углов квадратов.
300.10 I 300.04 I 300.06 I 300.06 I
300.45 I 300.39 I 300.41 I 300.39 I
300.81 I 300.85 I 300.77 I 300.77 I
Особенностью такой схемы является то, что каждое число отметок углов квадрата должно оканчиваться на номере колонки, кратной 8, уменьшенной на единицу, т. е. число 1-й отмет-
© О. А. Фролкин, Ю. В. Юркин, В. Т. Ерофеев, 1998
ки должно оканчиваться на колонке 1x8-1=7, второй — на колонке 2 х 8-1 = 15 и т. д, Данные, подготовленные таким способом, необходимо откомпилировать приданным к пакету программ специальным конвертором.
Введенные данные можно сохранить как в специальном формате, не требующем никакой предварительной компиляции для загрузки, так и в „читаемом" формате по приведенной выше схеме. По завершении ввода данных
либо после загрузки файла с диска активизируется меню „РАСЧЕТ", при выборе которого открывается диалоговое окно ввода проектных уклонов. После этого производится полный расчет по нулевому балансу земляной массы, что обычно занимает 2 — 5 с (на процессоре 286), результаты выдаются в виде ведомости объемов земляных работ, используемой в строительной практике (фрагмент расчета показан в табл. 1).
Таблица 1
Ведомость объемов земляных работ
№ Рабочие отметки Площадь Площадь Объем работ
III Н2 НЗ H 4 насыпи выемки 11асыпь Выемка
1 7.52 6.52 5.52 6.52 2500.00 0.00 16321.42 0.00
2 6.52 5.52 4.52 5.52 2500.00 0.00 13821.42 0.00
3 5.52 4.52 3.52 4.52 2500.00 0.00 11321.42 0.00
При реализации решения по предлагаемой программе существует возможность рассмотреть трехмерное изображение строительной площадки с видимой границей реального рельефа ме-
4
стности и планируемого профиля с любой точки виртуального пространства (рис. 1).
Рис. 1. Трехмерная схема площадки: 1 — существующая поверхность; 2 — планируемая поверхность; 3 — линия пулевых работ
Структура
Исходный
программы.
текст программы создан для языка программирования Borland Pascal с применением пакета Turbo Vision. Принци-
блок-схема
пиальная
VERTPLAN"
образом:
»
выглядит
программы следующим
| НАЧАЛО |
1 .... 1
НАБОР ДАННЫХ С КЛАВИАТУРЫ ЗАГРУЗКА ДАННЫХ С ДИСКА
1 1
Г 1 1 1
РАСЧЕТ OfcbFUOB ПРОСМОТР ИЗМЕНЕНИЕ СОХРАНЕНИЕ
С ЗАДАННЫМИ ТРЕХМЕРНОЙ ИСХОДНЫХ РЕЗУЛЬТАТОВ
УКЛОНАМИ ДИАГРАММЫ ДАННЫХ РАБОТЫ
* ------J I i
выход
С инженерной точки зрения интересен только блок расчета объема земляных работ с заданными проектными уклонами:
Приводим текст блока программы:
PROCEDURE myapp.rzr;
{БЛОК ОПИСАНИЯ ВНУТР. ПЕРЕМЕН-
НЫХ}
var sn,sv>hl,h2,h3,h4,h0: real; eh,ana4,hn,hv,vn,w,ev,en: real; i j: integer; otin: potm; red: predw; vl,v2,v3>v4: potm; ul,u2,u3,u4: prab; perehod: boolean; allv,alln: string; wl,w2,w3,w4: pfou; function к (i j: integer): integer; begin
k:=(i-1 )+((j- l)*(iks+1)); end;
{ВНУТРЕННЯЯ ПРОЦЕДУРА СОЗДАНИЯ ШАПКИ ВЕДОМОСТИ ЗЕМЛЯНЫХ РАБОТ}
procedure createfile; var n: integer;
begin
assign(£r,4spw&a0 !.$$$'); rewrite(ff);
writeln(fiy------------------
--------------');
writeIn(lT,,| | Рабочие отметки | | | Объей работ |'); writeln(ÍT,,| N |------1------1-
----1—*-|Площадь|Площадь|—
—I——Г);
writeln(ff,,| | Н1 | Н2 | НЗ | Н4 |насыпи |выемки | Насыпь | Выемка |'); \угкс1п(ЛУ|—|—-|------1-
end;
{ВНУТРЕННЯЯ ПРОЦЕДУРА ПЕРЕВОДА ЧИСЛА В ЭКСПОНЕНЦИАЛЬНОМ ФОРМАТЕ В УДОБОЧИТАЕМЫЙ ФОРМАТ}
procedure mute(rreal:real; var sstring: string); var dotogo,posle: string; rd,ip: integer;
begin rd:=trunc(rreal); ip:=trunc((rreal-int(rreal))*100); str(abs(rd),dotogo); str(abs(rp),posle); if length(posle)= 1 then poste-O'+posle; sstring:=dotogo+7+posle; if rreal<0 then sstring:=
,-,+sstring;
/
end;
{ВНУТРЕННЯЯ ПРОЦЕДУРА ЗАПИСИ СТРОКИ ПОЛУЧЕННЫХ РЕЗУЛЬТАТОВ В ВЕДОМОСТЬ} procedure saveline(n: integer; hl,h2,h3,h4,sn,sv,vn,w: real); var snum,shl,sh2,sh3,sh4: string;
ssn,ssv,svn,sw: string; begin
str(n,snum); mute(hl,shl);
mute(h2,sh2);
¥
mute(h3,sh3);
mute(h4,sh4);
mute(sn,ssn);
mute(sv,ssv);
mute(abs(vn),svn);
mute(abs(w),sw);
write(ff,T);
while length(snum)<3 do snum:=' 4-snum; write(ff,snum); write(fif,T);
while length(shl)<6 do shl:- f+sh 1; write(ff,shl);
write(ff,T);
while length(sh2)<6 do sh2:- '+sh2;4 write(ff,sh2);
write(flf,T);
while length(sh3)<6 do sh3:~ f+sh3; write(ff,sh3);
write(ff,T);
while length(sh4)<6 do
4sh4:=* *+sh4; write(ff,sh4);
write(ff,T);
wliile length(ssn)<7 do ssn:=' '+ssn; write(ff,ssn);
write(ff,T);
while length(ssv)<7 do ssv:=' '+ssv; write(ff,ssv);
write(fr,T);
while lengtli(svn)<9 do svn:- '+svn; write(ff,svn); write(iT,T);
while length(sw)<9 do sw:- 4-sw; write(ff,sw);
writeln(flf,T);
end;
{ВНУТРЕННЯЯ ПРОЦЕДУРА ПОДСЧЕТА ОБЪЕМОВ НАСЫПЕЙ И ВЫЕМКИ} procedure podschet(hl,h2,
h3,h4:real); const treugol = 1; kwadr = 2; dwatreugol = 3; var nugol,nslu: word; minus,plus: word; ij: word;
h: array [1..4] of real; begin h[l]:=hl; h[2]:=h2; h[3]:=h3; h[4]:=h4; minus :=0;
if hi <0 then inc(minus); if h2<0 then inc(minus); if h3<0 tiien inc(minus); if h4<0 then inc(minus); plus:=4-minus;
if hl*h2*h3*h4<0 tlien
nslu.-treugol else nslu:=kwadr; if (nslu=kwadr) and (hl*li2<0) and (h2*h3 <0) tlien
nslu:=dwatreugol; case nslu of treugol: begin
if minus= 1 then begin
while h[i]X) do inc(i); sv:=abs(w/(h[i]/3)); sn:=da*da-sv; end
else begin i:=l;
while h[i]<0 do inc(i); sn:=abs(vn/(h[i]/3)); sv:=da*da-sn; end; end;
kwadr: begin
while h[i]>0 do inc(i);
• #
inc(i);
while h[i]>0 do inc(i);
sv:=abs(w/((h[i]+h[j])/4));
sn:=da*da-sv;
end;
dwatreugol: begin i'—1*
while h[i]>0 do inc(i); • •
j:=i; inc(i);
while h[i]>0 do inc(i); sv:=abs(w/((h[i]+h[j])/6)); sn:=da*da-sv; end; {begin in case} end; {case} end; {begin procedure}
{ОСНОВНАЯ ПРОЦЕДУРА РАСЧЕТА} BEGIN priznak:=3;
enablecommands(wincom2); disablecommands(wincoml);
{Подсчет проектной отметки}
i:=l;j:=l;
otm:=otmh stA. at(k(ij)); hl:=otmA.otmetka;
i:=iks+l;j:=l; otm:=otmlistA.at(k(ij)); h 1 :=h 1+otmA. otmetka; i:=l; j:=igr+l; otm:=o tmli stA. at (k(i j)); h 1 :=h 1 +otmA. otmetka; i:=Iks+l; j:=igrH; otm:=otml i stA. at(k(i j)); h 1 :=h l+otmA. otmetka; h2:=0;j:=l; for i:=2 to iks do begin otm:=otmlistA.at(k(ij)); h2:=h2+otmA.otmetka; end;
j:=igr+l;
for i:=2 to iks do begin otm:=otmlistA.at(k(ij)); h2 :=h2+otinA. otmetka; end;
i:=l; for j:=2 to igr do begin otm:=otmlistA.at(k(ij)); h2 :=h2+otmA. otmetka; end;
i:=iks+l;
for j:=2 to igr do begin otm:=otmlistA.at(k(ij)); h2 :=h2+otmA otmetka; end; h4:=0;
for j:=2 to igr do for i:=2 to iks do begin
otm:=otmlistA.at(k(ij));
h4 :=h4+otmA. otmetka; end;
h0:=(hl+2*h2+4*h4)/(4*iks*igr); hi :=h0-(ihor*iks*da)/2-(ivert*igr*da)/2;
9
{Подсчет красных отметок} redlist:=new (pcollection,init(50,10)); with redlistA do begin for j:=0 to igr do begin hO:=hl+ivert*da*j; for i:=0 to iks do begin h3:=hO+ihor*da*i; insert
(new(predw, ini t(h3))); end; end; end;
{Подсчет рабочих отметок} rablist:=new (pcollection,init(50,10)); with rablistA do begin for i:=0 to pred (otmlistA. count) do begin red:=redlistA.at(i); otm:=otmlistA.at(i); h3:=redA.redotm-otmA. otmetka; insert
(new(prab, ini t(h3))); end; end;
{Определение линии нулевых работ: под счет объемов} createfile; ana4:=da*da/4; ev:=0; en:=0; forj:=l to igr do for i:=l to iks do begin u 1 :=rablistA at(k(i j)); u2:=rablistA.at(k(i+lj)); u3:=rablistA.at(k(i+lj+l)); u4 :=rablistA. at(k(i j+1)); eh:=abs(ulA.rabotm)+ abs(u2A.rabotm)+ abs(u3A.rabotm)+ abs(u4A.rabotm); perehod:=false; if (ulA.rabotm<0) or (u2A.rabotm<0) or (u3A.rabotm<0>or (u4A.rabotm<0) then if (ulA.rabotm>0) or (u2A.rabotm>0) or (u3A.rabotm>0) or (u4A.rabotm>0) tlien perehod:=true;
hv:=0; hn:=0; vn:=0; w:=0; if perehod then begin if ulA.rabotm>0 then
hn:=hn+ulA.rabotm else hv:=hv-ulA.rabotm; if u2A.rabotm>0 then hn:=hn+u2A.rabotm else hv:=hv-u2A.rabotm; if u3A.rabotm>0 then hn:=lm+u3 A. rabo tm else hv:=hv-u3A.rabotm;
ф
if u4A.rabotm>0 then hn:=hn-Hi4A.rabotm else hv:=hv-u4A.rabotm; hv:=hv*hv/eh; hn:=hn*hn/eh;. w:=ana4*hv; vn:=ana4*hn; end
else begin
if ulA.rabotm+ u2A.rabotm+u3A.rabotm+ u4A.rabotm>0 then vn:=ana4*eh
else w:=ana4*eh; end;
ev:=ev+abs(w);
г
en:=en+abs(vn);
{Определение площадей насыпи/выемки} sn:=0; sv:=0;
if w=0 then sn:=da*da else
if vn=0 then sv:=da*da else podschet (ulA.rabotm, u2A.rabotm,u3A.rabotm, u4A.rabotm);
savelinc(i+(j-l)*iks,
ulA. rabotm,u2A.rabotm, u3A.rabotm,u4A.rabotm, sn,sv,abs(vn),abs(w)) end;
writeln(ff,'------------------
writeln(ff,,f); ^ longmutator(ev,allv); longmutator(en,alln); writeln(ff,'06uadi объем насыпи
- Ч-alln);
writeln(ff,'Общий объем выемки
- Ч-allv); close(ff);
{---------нулевая линия—
xillist:=new(pcollection,
init(50,10)); for j := 1 to igr do for i:=l to iks do begin
}
u 1 :=rablistA.at(k(i j)); u2:=rablistA.at(k(i+l j)); u3:=rablistA.at(k(i+l j+1)); u4:=rabl i stA. at (k (i j+1)); vl:=otmlistA.at(k(ij));
v2:=otmlistA.at(k(i+lj));
v3:=otmlistA.at(k(i+l j+1)); v4:=otmlistA.at(k(ij+l)); if (ulA.rabotm<0) or (u2A rabotmO) or (u3A. rabotmO) or (u4A.rabotm<0) then if (ulA.rabotm>0) or
(u2A.rabotm>0) or
(u3A.rabotm>0) or (u4A.rabotm>0) tlien perehod:=true; if perehod then begin with nllistA do begin
if ulA.rabotm* u2A.rabotm<0 tlien begin h 1:=abs(u 1A. rabotm) * da/(abs(u 1A. rabotm)+ abs(u2A.rabotm));
h3:=vlA.otmetka+ (v2A.otmetka-v 1A. otmetka) *h 1/da; hl:=hl+(i-l)*da; h2:=(j-l)*da; insert(new(pnl,
mit(hl,h2,h3))); end;
if u2A.rabotm* u3A.rabotm<0 then begin hi :=abs(u2A.rabotm)* da/(abs(u2A.rabotm)+ abs(u3A. rabotm));
¥
h3:=v2A.otmetka+
(v3A.otmetka-
v2A.otmetka)*hl/da;
hl:=hl-f(j-l)*da; h2:=i*da; insert (ncw(pnl, init(h2,hl,h3))); end;
if u3A.rabotm* u4A.rabotm<0 then begin 111 :=abs(u3A.rabotm)* da/(abs(u3A.rabotm)+ abs(u4A.rabotin));
h3:=v3A.otmetka+
(v4A.otmetka-v3A.otmetka)*hl/da; hl:=i*da-hl; h2:=j*da;
insert (new(pnl,
#
К несомненным преимуществам данной программы можно отнести малую емкость (150 Kb без базы данных), возможность работы на любом типе персональных компьютеров, совместимых с IBM, значительные визуальные
init(hl,h2,h3))); end;
if u4A.rabotm* ulA rabotm<0 then begin h 1 :=abs(u4 A. rabot in) * da/(abs(u4A.rabotm)+ abs(ulA.rabotm)); h3:=v4A.otmetka+ (vlA.otmetka-v4A.otmetka)*h 1/da; hl:=j*da-hl; li2:=(i-l)*da; insert(new(pnl, init(h2,hl,h3))); end; end;
end
end; END;
возможности, простота ввода данных, вывод результатов расчетов в виде готовых форматизировТГйных документов. Она рекомендуется для использования в учебных целях и при разработке ППР в проектных институтах.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Автоматизация решения задач подготовки строительного производства и оперативного управления / Б. Н. Небритое, Л. Б. Зеленцов, Г. И. Лазарев и др. / Под ред. Б. Н. Небритова. М.: Стройиздат, 1993. 416 с.
2. Кузнецов Ю. П , Прыкин Б. В., Рез-ниченко П. Т. Проектирование земляных и монтажных работ: Учеб. пособие для строит, вузов. Киев: Вища шк., 1981. 196 с.
3. Соустин В. Н. Вычисление объемов земляных работ при вертикальной планировке площадок // Геодезия и картография. 1996. № 10.
С. 55 — 56.
4. Черненко В. К., Галимуллин В. А., Че-(анов Л. С. Проектирование земляных работ: Программир. пособие для вузов по спец. „Пром. и гражд. стр-во"/Под ред. В. К. Черненко. 2-е изд., перераб. и доп. Киев: Вища шк., 1989. 152 с.
ККККККХКККККККККККККККККККККККХККККККККККККККККК
О ПЕРЕМЕЩЕНИЯХ ПОВЕРХНОСТИ УПРУГОГО ПОЛУПРОСТРАНСТВА ПРИ НЕКОТОРЫХ ВИДАХ НАГРУЖЕНИЯ
В. А. КАРТАШОВ, кандидат технических наук
Рассматривается действие на поверхность упругого полупространства нагрузки, которая распределена по како-
му-либо закону в пределах области, ограниченной некоторым контуром (рис. 1). Для нахождения вертикального (на-
© В. А. Карташов, 1998