边坡分析,ARX, CAD二次开发,程序源代码

2019-03-21 18:53

辽宁工程技术大学毕业设计(论文)

9.专题部分

土坡稳定分析程序

9.1 程序理论依据

目前,我国的一些地区和行业规范都建议采用瑞典圆弧滑动面条分法验算土坡整体稳定性。本程序以该方法作为理论基础。 9.1.1 最危险滑动面圆心的确定

图9.1 最危险滑动圆弧的确定

fig9.1 risk slip face

最危险滑动面圆心位置的确定一般采取试算法。如图9.1。

内摩擦角??0的高塑性粘土。认为土坡的最危险圆弧滑动面通过坡脚。首先根据坡脚?由表9.1查出坡底角?1和坡顶角?2。再在图9.1中的坡底和坡顶分别画出破底

角?1和坡顶角?2,两线交点为O,O即为最危险滑动圆弧的圆心。

表9.1 坡脚与坡底角和坡顶角的关系 tab9.1

坡脚?(度) 坡底角?1(度) 90 33 75 32 40 60 29 40 45 28 38 33..78 26 35 30 26 36 26.57 25 35 15 24 37 0.32 25 37 坡顶角?2(度) 40 ②

内摩擦角??0的土:

a. 按上述步骤求出O点;

b. 由A点垂直向下量取一高度,该高度等于边坡高度H,得C点位置,由C点水平右量4.5倍H得D点,连接DO。 c. 在DO延长线上找若干点O1、O2、O3、……。作为滑动圆心,画出坡脚,计算边坡

稳定性安全系数K,找出K值较小的点

59

Oi;

第9章 专题部分

d. 过Oi点画DO延长线的垂线,再在垂线上找出若干点作为滑动圆心,试算K值,直至找

出K值最小的点,则此点即为最危险滑动弧圆心。

9.1.2 最危险滑动面条分法计算方法

按条分法计算时,先找出滑动圆心O,画出滑动圆弧,然后将滑动圆弧分成若干条,每条的b本程序取0.01R,R为滑动半径。任一分条的自重为Wi其可分解为切向力Ti和法向力

Ni。同时,在滑动面圆弧上还存在土的粘聚力C。通过推导可得:

K??Cl??(qb??bh)cos?Iiiiiii?1i?1ntntitan?i?(qb??bh)sin?iiiii?1nti

nt—分条数量Ci—分条的内聚力,kPali—分条的圆弧长度,m?i—分条内摩擦角,度?i—分条重度,kN/m3bi—分条宽度,mhi—分条高度,m (以上叙述摘自《基坑工程》,中国地质大学出版社)

?—分条的坡角,度

9.2 程序说明

本程序名位helloarx.arx,(另附软盘),在Visual C++环境中用ObjectARX 2000软件包开发而成。本程序可计算的最大土层数为100层。 9.3操作说明

1)在AUTOCAD 2000或AUTOCAD 2002中,将格式菜单栏中的标注样式箭头大小设为

0.5,文字高度设为0.5。关闭捕捉、正交、对象捕捉、对象追踪功能。 2)在工具菜单栏中,选择加载应用程序,将本程序加载。

3)在CAD命令行打入hello命令,依据提示输入参数即可。程序最终在命令行显示土坡安全系数,在CAD图形窗口中绘出土坡最危险滑动面,并标注出滑动面的几何参数(单位为米)。 9.4程序原代码 9.4.1 头文件hello.h #include #include #include \#include \#include\#include\#include\

60

辽宁工程技术大学毕业设计(论文)

void ArxTest(void);

9.4.2 ARX 框架程序arxmain..cpp #include \

void initApp() { acedRegCmds->addCommand(\CRX_CMD_MODAL,ArxTest); return; }

void unloadApp() { acedRegCmds->removeGroup(\ return; }

extern \

AcRx::AppRetCode acrxEntryPoint( AcRx::AppMsgCode msg, void* appId) {

switch( msg ) {

case AcRx::kInitAppMsg:

acrxDynamicLinker->unlockApplication(appId); acrxRegisterAppMDIAware(appId); initApp(); break;

case AcRx::kUnloadAppMsg: unloadApp(); break;

case AcRx::kLoadDwgMsg: break; }

return AcRx::kRetOK; }

9.4.3 土坡稳定分析主程序hello.cpp #include \

ads_real alf,H=0;//坡角及基坑高度

ads_real jd[9]={90,75,60,45,33.783,30,26.567,15,11.317},

b[9][2]={{33,40},{32,40},{29,40},{28,38},{26,35},{26,26},{25,35},{24,37},{25,37}};//各种坡角及其对应的坡底坡顶角

61

第9章 专题部分

ads_real ch[100];//各层厚度(由上至下)

ads_real c[100],fai[100],w[100],gam[100];//各层土对应的c,内摩擦角,含水量,容重 ads_point R,pa,pb,pd;//土坡控制点

ads_point pe[10],po[10]; //试算控制点 ads_point pj[100];//各层底与AB交点 ads_point abz;//AB中点坐标

ads_point pcj[100][100];//各层底与滑动面交点 int n[100];//各层土条数

ads_real d[100][2];//各层土条宽,d[][0]存放前n-1条宽,d[][1]存放后一条宽 ads_real th[10][100];//各层土滑动面试算宽度

ads_point xtz[100][100],stz[100][100];//各层土条中点对应的下、上坐标 ads_point xlt[100][100],xrt[100][100];//各层土条在滑动面上的左右边缘坐标 ads_real al[100][100];//每曾土条上的小圆弧长度 ads_real fpj[100][100]; ads_real q;//均布荷载集度

ads_real dq,lq;//均布荷载宽度及距坡沿距离 ads_point pal,pbr,pjr[100];

ads_real tg[100][100];//各土条高 ads_real bid[2];

ads_real gh,ctz;//按层递增的土条高度,土条重度 ads_real k[10];//试算的K值 ads_real r[10];//试算半径

int i,j,p,m,a,cs;// 循环控制变量 ads_real zk=0,mk=0; ads_point ko, ke; ads_real KR; ads_real K; ads_real pp;

ads_real zk1,zk2,zk3,zk4,zk11,zk22,zk33,zk44; ads_real mk1,mk2,mk3,mk11,mk22,mk33; ads_real fz1,fm1,fz2,fm2;

void ArxTest(void)

{ads_getreal(\请输入坡角(度) \

ads_getreal(\请输入均布荷载集度(千帕) \ads_getreal(\请输入均布荷载宽度(米)\

ads_getreal(\请输入均布荷载边缘距坡沿距离(米) \ads_getint(\请输入土层数 \

acedGetPoint(NULL,\请输入坡脚点 \for(i=0;i

{ acutPrintf(\对于第%d层土(由上而下)\\n\ acedGetReal(\请输入该层土厚(米) \

acedGetReal(\请输入该层土粘结力(千帕) \ acedGetReal(\请输入该层土内摩擦角(度) \

62

辽宁工程技术大学毕业设计(论文)

acedGetReal(\请输入该层土容重(千牛每立方米) \} H=0;

for(j=0;j

pb[X]=pa[X]+H/tan(alf*3.14159/180); pb[Y]=pa[Y]+H; pb[Z]=0;

//acutPrintf(\点%f,%f////////////\

//求各层底与AB交点

pj[0][X]=pb[X]-ch[0]/tan(alf*3.14159/180); pj[0][Y]=pb[Y]-ch[0]; pj[0][Z]=0; if(cs>1)

for(i=1;i

pal[X]=pa[X]-5; pal[Y]=pa[Y]; pal[Z]=0;

pbr[X]=pb[X]+100; pbr[Y]=pb[Y]; pbr[Z]=0;

acedCommand(RTSTR,\T,pbr,RTSTR,\for(i=0;i

{ pjr[i][X]=pj[i][X]+100; pjr[i][Y]=pj[i][Y]; pjr[i][Z]=0;

acedCommand(RTSTR,\}

//求O点坐标

pd[X]=pa[X]+4.5*H; pd[Y]=pa[Y]-H; pd[Z]=0; for(i=0;i<9;i++) if(alf>=jd[i]) {a=i;

63


边坡分析,ARX, CAD二次开发,程序源代码.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:常用汉字繁简字对照

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: