FINI
/CLEAR,START
/FILNAME,ARCHDAM,1
/PLOPTS,DATE,0 !controls graphics options on subsequent displays(/plopts,label,key)
/TRIAD,LBOT !显示整体坐标系的位置(原点,左下,右下等等)
/VIEW,1,1,1,1 !图形怎么看
/VUP,1,Z !定义笛卡尔整体坐标系的参考方向(z表示向上,-z表示向下)
*AFUN,DEG !定义角度单位(度或弧度)
Z_UP=26.4 !上游水位 !定义参数并赋值
Z_DOWN=0 !下游水位
Z_SAND=38 !泥沙淤积水位
DENS_SAND=0.8 !淤积泥沙浮容重
ANG_FRI=20 !淤积泥沙内摩擦角
LAYER_NUM=7 ! 定义拱层数
*DIM,ELEVATION,ARRAY,LAYER_NUM !定义拱圈高程(定义数组和它的维数)
*DIM,T_ARCH,ARRAY,LAYER_NUM !定义拱厚
*DIM,ARCH_RAD,ARRAY,LAYER_NUM,2 !定义圆弧半径,上下游
*DIM,RAD_CEN,ARRAY,LAYER_NUM !定义圆弧中心Y值
*DIM,ARCH_ANGLE,ARRAY,LAYER_NUM,2 !定义圆弧左右中心角
ELEVATION(1)=28.8,24.8,19.8,14.8,9.8,4.8,0 !拱圈高程(对数组赋值)
H_DAM=ELEVATION(1)-ELEVATION(LAYER_NUM) !坝高
T_ARCH(1)=3,3,4.75,6.5,8.25,10,11.75 !拱厚
ARCH_RAD(1,1)=80,80,80,80,80,80,80 !外半径
*VOPER,ARCH_RAD(1,2),ARCH_RAD(1,1),SUB,T_ARCH(1) !计算内半径(两数组相减)
RAD_CEN(1)=80,80,80,80,80,80,80 !圆心位置,Y坐标
ARCH_ANGLE(1,1)=-56.74,-50.88,-47.04,-43.25,-37.91,-25.31,-9.79 !左中心角
ARCH_ANGLE(1,2)=36.81,36.77,31.18,25.26,19.14,14.19,8.58 !右中心角
W_DAM1=-ARCH_RAD(1,1)*SIN(ARCH_ANGLE(1,1)) !坝顶左弦长
W_DAM2=ARCH_RAD(1,1)*SIN(ARCH_ANGLE(1,2)) !坝顶右弦长
LOCAL,11,1,0,RAD_CEN(1),ELEVATION(1),-90 !局部柱面坐标,原点位于顶拱圆心,X轴为拱坝中心线,指向上游,Y轴为中心角
CSYS,0
!/PNUM,KP,1
!/PNUM,LINE,1
/PREP7
KNN=0
*DO,II,1,LAYER_NUM !生成拱坝控制关键点,每层6个点,上下游个三个点
PX1=ARCH_RAD(II,1)*SIN(ARCH_ANGLE(II,1))
PY1=RAD_CEN(II)-ARCH_RAD(II,1)*COS(ARCH_ANGLE(II,1))
PX2=ARCH_RAD(II,1)*SIN(ARCH_ANGLE(II,2))
PY2=RAD_CEN(II)-ARCH_RAD(II,1)*COS(ARCH_ANGLE(II,2))
K,KNN+1,PX1, PY1,ELEVATION(II)
K,KNN+2,0,RAD_CEN(II)-ARCH_RAD(II,1),ELEVATION(II)
K,KNN+3,PX2, PY2,ELEVATION(II)
PX3=ARCH_RAD(II,2)*SIN(ARCH_ANGLE(II,1))
PY3=RAD_CEN(II)-ARCH_RAD(II,2)*COS(ARCH_ANGLE(II,1))
PX4=ARCH_RAD(II,2)*SIN(ARCH_ANGLE(II,2))
PY4=RAD_CEN(II)-ARCH_RAD(II,2)*COS(ARCH_ANGLE(II,2))
K,KNN+4,PX3, PY3,ELEVATION(II)
K,KNN+5,0,RAD_CEN(II)-ARCH_RAD(II,2),ELEVATION(II)
K,KNN+6,PX4, PY4,ELEVATION(II)
KNN=6*II
*ENDDO
LARC,1,3,2 !生成拱圈线
*REPEAT,LAYER_NUM*2,3,3,3
L,1,4
*REPEAT,LAYER_NUM,6,6
L,3,6
*REPEAT,LAYER_NUM,6,6
ASKIN,1,3,5,7,9,11,13 !生成上游面
ASKIN,2,4,6,8,10,12,14 !生成下游面
ASKIN,15,16,17,18,19,20,21 !生成侧面
ASKIN,22,23,24,25,26,27,28
AL,1,15,2,22
AL,13,21,14,28
VA,6,1,3,2,4,5
!拉伸坝体侧面、底面,并进行切割,生成坝基
!拉伸生成坝基
ASEL,S,AREA,,4 !选择右侧面
VEXT,ALL,,,200 !拉伸成基岩
ASEL,S,AREA,,3 !选择左侧面
VEXT,ALL,,,-600 !拉伸成基岩
ALLSEL
ASEL,S,LOC,Z,ELEVATION(LAYER_NUM)-1,ELEVATION(LAYER_NUM)+1 !选择底面
VEXT,ALL,,,,,-100
ASEL,S,AREA,,10,20,5
ASEL,A,AREA,,23,27,4
VEXT,ALL,,,,200
ASEL,S,AREA,,8,18,5
ASEL,A,AREA,,25,29,4
VEXT,ALL,,,,-200
ALLSEL,ALL
SAVE
这是命令流能不能帮忙看看 |