
;
; MIDAS/CIVIL MCTOOLS 语句、语法说明
;
; 整理日期: 2011-10-12, 2011-11-21
; 2012-03-21, 2012-05-24, 2012-05-29, 2012-06-28, 2012-12-22
; 2013-03-21 修改命令: *READDXF, 增加POINT的排序功能(IfgPtOrderXYZ), 修改*ESELCOPY_BEAM命令, 增加线单元生成平面单元功能
; 2013-03-27 增加命令: *NDSORT, 对节点数组中的节点按节点坐标X/Y/Z进行排序;
; *NSELSORT, 对选择的节点集合按节点坐标X/Y/Z进行排序
; 2013-04-02 *LOADCASE, ON/OFF 设置/取消 默认的温度系列工况
; 2013-04-16 *ESEL, CADD/CNEW/CDEL, xCen, yCen, zCen, Rmax, Rmin 按平面半径或空间半径进行单元搜索选择/再选择/删除
; *NSEL, CADD/CNEW/CDEL, xCen, yCen, zCen, Rmax, Rmin 按平面半径或空间半径进行节点搜索选择/再选择/删除
; *ESEL, -1/0/1/+X/-X/+Y/-Y/+Z/-Z, myElemAR, myElemNum 按序号/X/Y/Z方向排序后保存到 myElemAR 数组中, 其个数保存到 myElemNum 变量中
; 2013-04-18 后处理命令: *PRE, *POST, *GETFILENAME, *READLOADCASE, *READDISP/*READDISPLACE, *READSTRESS/*READSTR, *OUT, *GETMAXINFO 等
; 2013-04-19 *WEIGHT, OFF/XS, YS, ZS *SECT, OFF
; 2013-04-21 *AUTORUN, NdBeg, NdEnd, NdAdd
; 2013-08-02 在*PATH/*PATHX/*PATHY/*PATHZ/*PATHT, STEP, valueInit, n1*d1, n2*d2, ... 中设置 初值值(valueInit)
; 2013-08-03 *CIRSECT 圆形截面划分命令
; 2013-08-08 *NSEL, XYZADD/XYZDEL, xMin, xMax, yMin, yMax, zMin, zMax
; 2013-08-28 *NSELXYZ, xMin, xMax, yMin, yMax, zMin, zMax
; 修改 *SUB, subDataFileName.TXT, NumRepeat, paraVar1=value1, paraVar2=value2, ...
; 2013-08-30 *READDXF, ..., (增加按层获取的梁单元信息) myLayNameInCAD1, myBeamArray1, myNodeArray1, myLayNameInCAD2, myBeamArray2, myNodeArray2, ...
; 2013-09-03 *FILEOUT, LOG, ON/OFF (读取记录文件等中间信息数据是否输出)
; 2013-09-04 增加内力读取命令 *READFORCE, ...
; 2013-09-05 修改命令 *GETDATAFIELD, ... 可读取单元内力
; 2013-09-05 设置系统数组变量(1-5), 读取系统变量的命令 *GETSYSARRAY, myVarSave, noSYSAR, NRow, NCol
; 2013-09-07 增加常数 vbCRLF, vbCR, vbLF 用于输出换行; 设置保留小数点后1-4位的函数 Round1(x)-Round4(x)
; 2013-09-11 增加 空格函数 SPACE(n) 与 空格常量(SPACE)、逗号字符(COMMA 或 逗号)、引号字符(QUOTE 或 引号)、分号字符(SEPAR 或 分号)
; 2013-09-11 增加查询功能: 按 F1 及选择的命令名可及时查询, 在 文本编辑过程中, 将自动根据输入的命令进行查询
; 2013-09-13 增加单元应力读取命令 *READELEMSTR, ...
; 2013-09-14 在后处理程序中, 增加 节点/单元 激活设置命令 *LIVE
; 2013-09-15 增加获取单元长度、单元节点数量的函数 ELEM_L, ELEM_0, 修改 *GET 命令
;
;
; 大连理工大学 交通学院 道路研究所
; 李玉华
; liwo@dlut.edu.cn; liwo2008@126.com;
;
QQ: 1765121144
; BEGIN 数据正式开始标记
; (1) 数据分隔符号为 逗号
号 "
引号
; [KW] 常数, 常量, 字符, 分号, 分隔符
; 引号字符分隔符号 "
SEPAR
; [KW] 常数, 常量, 字符, 分号, 分隔符
; 引号字符分隔符号 "
分号
; [KW] 变量, 定义, 简单变量
; 简单变量定义(格式1), 提示: 简单变量可不事先定义即可使用
; VARi: 变量名, 不能以数字开头, 不区分大小写, 无字符长度
; ASDOU/ASDOUBLE: 双精度实数;ASINT/ASUINTEGER: 4字节整数; ASSTRING/ASSTR: 字符串
; 三种类型只能选择一种, 默认为实数;如无 AS* 项, 则定义为实数
; 示例:
; *DIM, myNd, myNe, AsInteger ; 定义整数变量 myNd, myNe
; *DIM, Aa, Bb, Cc, AsDouble ; 定义实数(双精度)变量 myNd, myNe
; *DIM myStr, Cc AsString ; 定义字符串, 注意空格的位置
*DIM, VAR1[, VAR2][, VAR3, ...], ASDOUBLE[/ASINTEGER/ASSTRING/ASDOU/ASINT/ASSTR]
; [KW] 变量, 定义, 数组变量
; 数组变量定义, 提示: 数组变量在使用前必须定义, 且只能定义一维数组
; 类型为 ASDOUBLE
; 示例: *DIM, myArray(), myB(), ASDouble ; 定义一维数组变量
*DIM, myArVAR1(), myArVAR2(), ..., ASDOUBLE/ASDOU/ASSTRING/ASSTR
; [KW] 实数, 输出, 字符串, 转换, 格式
; 将实数 a 转换为 规定格式 的字符串
*FORMAT, myRstSTR, a, "0.00"
; [KW] 实数, 输出, 字符串, 转换, 格式
; 将实数 a 转换为 规定格式 的字符串
; Nsum 总位数
; NDig 小数点后位数
*FORMAT, myRstSTR, a, NSum, NDig
; [KW] MCT, 文件名, 输出
; 设置 MCT 输出结果文件名, 后缀文件名默认为 .MCT, 否则 MIDAS 不识别
; mctOutFileName 为定义的输出文件名, 可以为字符串 或 变量名
*MCTOUTNAME, mctOutFileName[.MCT]
; [KW] 变量赋值, 数组变量, 批量赋值
; 给数组变量赋值, 其中元素值可采用类似 11to66by11 的等增量形式, 以及 ni*dati 的重复数据形式
*ARRAY, myVarAR, Dat1, Dat2, Dat3, ##to##by##, n1*dat1, dat2, n3*dat3, ...
; [KW] 元素个数, 数组变量, 上限
; 获取数组变量的元素个数, 整数
; myVarName 数组变量名
; myNumDataVar 记录数组元素个数的变量
*UBOUND, myVarName, myNumDataVar
; [KW] 获取, 节点, 最大编号, 系统变量
; 获取当前节点最大编号, 整数
; 例: Nd = SYS_NodeNum
SYS_NodeNum
; [KW] 获取, 单元, 最大编号, 系统变量
; 获取当前单元最大编号, 整数
; 例: Ne = SYS_NodeNum
SYS_ElemNum
; [KW] 获取, 节点总数, 系统变量
; 获取当前节点总数量, 整数
; 例: Nd = SYS_NodeCount
SYS_NodeCount
; [KW] 获取, 单元总数, 系统变量
; 获取当前单元总数量
; 例: Ne = SYS_ElemCount
SYS_ElemCount
; [KW] 赋值, 变量赋值, 命令赋值
; 为变量赋值
; Vari 要赋值的变量名, 在赋值之前 必须采用 *DIM 语句定义
; StrExp 赋值数据表达式, 可含有定义的变量名、普通数
学函数;可含有空格"
标准节点号串, 每3个一组
; Ndia 也可以是 2to200by2 的形式
*NSEL, ADD/DEL/ADDABS/DELABS, Nd1a, Nd1b, Nd1c, Nd2a, Nd2b, Nd2c, ...
; [KW] 节点, 选择, 坐标范围
; 节点选择时, 根据X/Y/Z坐标值范围 [valMin, valMax ] 增加/删除 节点集合中的节点号
*NSEL, XADD/YADD/ZADD/XDEL/YDEL/ZDEL, valMin, valMax
; [KW] 节点, 选择, 半径, 平面距离, 空间距离
; xCen, yCen, Zcen: 参考中心点三维坐标
; Rmax, Rmin: 设定的最小距离、最大距离; Rmin 默认为 0.0
; 计算与点(xCen,yCen,Zcen) 点的距离R, 当 Rmin < R < Rmax 时为满足要求的点
; CADD: 当点满足要求时, 将被添加到集合中;
; CNEW: 当点满足要求时, 将被添加到 新集合中, 原集合被全部删除; 单次有效
; CDEL: 当点满足要求时, 将从集合中删除
*NSEL, CADD/CNEW/CDEL, xCen, yCen, zCen, Rmax[, Rmin]
; [KW] 节点, 选择, 坐标范围
; 在已有节点集合中, 根据X/Y/Z坐标值范围 [valMin, valMax ] 增加/删除 节点集合中的节点号
*NSEL, XADDNSEL/YADDNSEL/ZADDNSEL/XDELNSEL/YDELNSEL/ZDELNSEL, valMin, valMax
; [KW] 节点, 选择, 坐标范围
; 在已有节点集合中, 增加(ADD)/删除(DEL) X/Y/Z 与坐标值为 valMid 最接近 的节点号(可能有多个)
; 在选择集中增加/删除 与坐标 valMid 距离最近的节点
*NSEL, XADDNSEL/YADDNSEL/ZADDNSEL/XDELNSEL/YDELNSEL/ZDELNSEL, valMid
; [KW] 节点, 选择, 坐标范围
; 在已有节点集合中, 增加(ADD)/删除(DEL) 满足 x, y, z 坐标范围要求的节点
; 如果不考虑 x/y/z 坐标范围, 则填写 很小及很大的数量范围即可, 如 (xMin=)-99999, (xMax=)99999
*NSEL, XYZADD/XYZDEL, xMin, xMax, yMin, yMax, zMin, zMax
; [KW] 节点,选择,坐标范围
; 获得已选择节点集合的节点坐标最小值、最大值,保存到相应的变量中
; xMin、xMax X 坐标最小值、X坐标最大值
; yMin、yMax Y 坐标最小值、X坐标最大值
; zMin、zMax Z 坐标最小值、Z坐标最大值
*NSELXYZ, xMin, xMax, yMin, yMax, zMin, zMax
; [KW] 节点, 删除, 节点串, 标准
; SEL: 删除节点选择集合中的全部节点
; Nd1, Nd2, Nd3: 删除用标准节点号串定义的全部节点
; 提示: 节点删除后必须重新定义, 不可自动恢复
*NDEL, SEL[/Nd1, Nd2, Nd3]
; [KW] 节点坐标, 排序, 顺序, 节点数组, 节点, 数组
; 对定义的节点号数组中的 节点 按节点坐标 X/Y/Z 进行排序; 数组定义参见 *ARRAY 命令或 *DIM 命令
; myNdBas 为定义的节点号数组变量, 其中依次存放 节点号(无顺序)
; myNdSort 为结果输出数组变量, 其中存放 按顺序排好 的节点号
; +X/-X 按 X 坐标增加 或 X 坐标减少 排序
; +Y/-Y 按 Y 坐标增加 或 Y 坐标减少 排序
; +Z/-Z 按 Z 坐标增加 或 Z 坐标减少 排序
; myNumNd 为 数组中的 节点个数 (可选参数), 也可以用命令提取: *UBOUND, my
NdSort, myNumNd
*NDSORT, myNdBAS, myNdSORT, +X/-X/+Y/-Y/+Z/-Z, myNumNd
; [KW] 节点坐标, 排序, 顺序, 节点集合, 节点, 选择
; 对选择的节点集合 中的节点, 按节点坐标 X/Y/Z 进行排序; 节点选择参见 *NSEL 命令
; myNdSort 为结果输出数组变量, 其中存放 按顺序排好 的节点号
; +X/-X 按 X 坐标增加 或 X 坐标减少 排序
; +Y/-Y 按 Y 坐标增加 或 Y 坐标减少 排序
; +Z/-Z 按 Z 坐标增加 或 Z 坐标减少 排序
; myNumNd 为 节点集合中的 节点个数 (可选参数), 也可以用命令提取: *UBOUND, myNdSort, myNumNd
*NSELSORT, myNdSORT, +X/-X/+Y/-Y/+Z/-Z, myNumNd
; [KW] 节点, 坐标, 赋值, 集体, 批量
; 对选择的所有节点坐标集体赋值
*CSET, NSEL/SEL/ALL, X/Y/Z, Value
; [KW] 节点, 拷贝, 选择, 坐标增量
; 对选择的节点集合进行自动拷贝
; NumRPT: 拷贝生成的次数
; XAdd, YAdd, ZAdd: 每次拷贝生成时节点的 X、Y、Z 坐标增量。
; XAddTm, YAddTm, ZAddTm: 每次拷贝生成时节点 X、Y、Z 坐标增量系数
*NSELCOPY, NumRPT, XAdd, YAdd, ZAdd[, XAddTM][, YAddTM][, ZAddTM]
; [KW] 节点, 旋转, 坐标
; 节点坐标 旋转
; ALL/NSEL: 对全部节点 或 选择的节点集合进行 坐标旋转计算
; XY/YZ/XZ: 只在 三个 平面内 进行坐标旋转计算
; AngRotate: 旋转角度, 逆时针方向为 正, 反之为 负;单位:度
; xBas, yBas: 旋转基点
*ROTATE, ALL/NSEL, XY/YZ/XZ/, AngRotate, xBas, yBas
; [KW] 节点, 单元, 旋转, 绕直线, 空间单元, 生成
; 平面绕直线旋转, 生成空间单元
; ALL/ESEL 全部单元/选择的单元
; XY/YX/YZ/ZY/XZ/ZX 定义平面
; [X=]/[Y=]/[Z=]val 旋转轴直线
; AngBeg, AngEnd, AngAdd 旋转起始角度、终止角度、增量
; NdBeg, NeBeg 节点、单元起始编号
*CROTATE, ALL/ESEL, XY/YX/YZ/ZY/XZ/ZX, [X=]/[Y=]/[Z=]val, AngBeg, AngEnd[, AngAdd[, NdBeg[, NeBeg]]]
; [KW] 节点, 坐标, 倾斜
; 节点坐标倾斜
; ALL/NSEL: 对全部节点 或 选择的节点集合进行 坐标倾斜计算
; XY/YX/YZ/ZY/XZ/ZX: 只在上述平面内进行计算, 沿第1个坐标轴进行倾斜, 按Cos(AngSlope)进行变化
; yMid: 基点
*SLOPE, ALL/NSEL, XY/YX/YZ/ZY/XZ/ZX, AngSlope, CenY
; [KW] 节点, 坐标, 对称
; 节点坐标对称
; ALL/NSEL: 对全部节点 或 选择的节点集合进行 坐标对称计算
; XY/YX/YZ/ZY/XZ/ZX: 只在上述平面内进行 计算
; ADD/DEL: 新增对称点 / 删除原对称点
*MIRROR, ALL/NSEL/SEL, XY/YX/YZ/ZY/XZ/ZX, aX+bY+c=0.0, ADD/DEL
; [KW] 节点, 坐标, 自动生成, 线性, 一维
; 一维线性节点自动生成
; Nd1、Nd2、Nd3:标准节点号串, 其中Nd1、Nd2节点必须事先定义
; 暂时无自动单元生成功能, 推荐采用关键节点命令
*NLMESH, Nd1, Nd2, Nd3
; [KW] 节点, 坐标, 关键节点, 自动生成, 线性, 一维
; 一维线性节点自
动生成(采用关键节点)
; KdName1、KdName2:采用关键节点自动生成时, 直线端点的关键节点名称 (注意字符型常数必需带引号")
; KDivNum: 等分数量, 不输入是默认为1
; NdBeg: 起点节点号, 无NdBeg 时(默认为0), 自动从当前最大节点号 + 1开始生成
; NeBeg: 起点梁单元号, 无NeBeg 时(默认为0), 自动从当前最大单元号 + 1开始生成; NeBeg < 0 时, 不生成梁单元
*KLMESH, KdName1, KdName2[, KDivNum[, NdBeg, [NeBeg]]]
; [KW] 节点, 单元, 坐标, 自动生成, 圆弧
; 圆弧节点及单元自动生成
; XY/YZ/XZ: 只在 XY/YZ/XZ 平面内生成圆弧节点及单元
; Nd1、Nd2、Nd3: 起点节点号、终止节点号、节点增量, 按顺时针方向旋转
; Xc, yc: 圆弧圆心坐标, 默认为坐标原点(0, 0)
; NeBeg: 起点节点号和单元号。为0时表示从当前最大节点号、最大单元号自动记录, 为负数表示不生成
*NAMESH, XY/YZ/XZ, Nd1, Nd2[, Nd3[, xc[, yc[, NeBeg]]]]
; [KW] 关键节点, 自动生成, 圆弧, 节点, 梁单元
; 采用关键节点号自动生成圆弧形排列的节点及单元
; XY/YZ/XZ: 只在 XY/YZ/XZ 平面内生成圆弧节点及单元
; KdName1、KdName2: 采用关键节点生成的起点、终点关键节点名称 (注意字符型常数必需带引号")
; NumDiv: 等分数量
; KdCen: 圆心点的关键节点号
; Ndeg、NeBeg: 起点节点号和单元号。为0时表示从当前最大节点号、最大单元号自动记录, 负数表示不生成
; ShapeIFG1=0/1/2/3/4/..., 分块变形块数, ShapeIFG2=节点沿着径向拉伸变形的系数(相对于外矢距), 1.0 到达相切点
*KAMESH, XY/YZ/XZ, KdName1, KdName2[, NumDiv[, KdCen[, NeBeg[, NeBeg[, ShapeIFG[, ShapeIFG2]]]]]]
; 平面四边形网格节点自动生成
;Nd1、Nd2、Nd3、Nd4: 四边形四个角点的节点号(均应事先定义), Nd1、Nd2为左下、右下(或左上、右上)角点号, Nd3、Nd4为左上、右上(或左下、右下)角点号
;NdAdd1、NdAdd2: 沿方向1、2的节点号增量; 其中Nd1→Nd2或 Nd3→Nd4 为1方向, Nd1→Nd3或 Nd2→Nd4 为2方向
;沿1方向的节点号增量为 Nd2 - Nd1, 沿2方向的节点号增量为 Nd3 - Nd1
*NRMESH, Nd1, Nd2, Nd3, Nd4, NdAdd1, NdAdd2
; 平面四边形网格节点自动生成
;Nd1、Nd2、Nd3、Nd4: 四边形四个角点的节点号(均应事先定义), Nd1、Nd2为左下、右下(或左上、右上)角点号, Nd3为左上、右上(或左下、右下)角点号
;NdGen1、NdGen2:沿方向1、2的节点号自动生成数量; Nd1→Nd2 为1方向, Nd1→Nd3 为2方向
;沿1方向的节点号增量为 Nd2 - Nd1, 沿2方向的节点号增量为 Nd3 - Nd1
*NRMESH, Nd1, Nd2, Nd3, 0, NdGen1, NdGen2
; 采用关键节点生成平面四边形网格的节点及单元
;KNd1、KNd2、KNd3、KNd4: 四个角点的关键点名称 (注意字符型常数必需带引号")
;KDivNum1、KDivNum2:上述定义的1方向、2方
方向的划分数量(考虑1、2方向的不等间距步长), 默认为1
;NdBeg: 自动生成的起点节点号, 默认为0, 将从当前最大节点号+1开始
;NeBeg: 自动生成的起点单元号, 默认为0, 将从当前最大单元号+1开始。NeBeg=-1时, 不生成任何单元
;IfgBP: 自动生成单元选项
; IfgBP=0(默认值), 生成平面单元
; IfgBP=1, 生成梁单元
; IfgBP= -1, 不生成任何单元
*KRMESH, Kd1, Kd2, Kd3, Kd4[, KDivN1[, KDivN2[, NdBeg[, NeBeg[, IfgBP]]]]]
; 空间立体网格节点自动生成
; NdOrg: 基本节点号, 为立方体八个角点的一个角点, 事先应定义
;Nd1、Nd2、Nd3: 邻接节点号, 为立方体网格中与基本节点号(NdOrg) 相邻的三个角点号, 分别沿立方体表面的三个方向, 节点号应事先定义。
; 方向1: NdOrg→Nd1; 方向2: NdOrg→Nd2; 方向3: NdOrg→Nd3
;NdGen1、NdGen2、NdGen3:沿三个方向自动生成的次数, 从1开始(表示初始节点)
*N3DMESH, NdOrg, Nd1, Nd2, Nd3, NdGen1, NdGen2, NdGen3
; 节点坐标焊接, 以消除重复节点
; NSEL/ALL: 对选择的节点/全部节点 进行焊接处理
; ZeroEPS: 焊接距离精度(默认为 0.001m), 当两个节点的空间距离小于指定的距离精度时, 将两个节点进行焊接
; Ifg: 节点焊接方式选择
; Ifg=0: 删除较大的节点号, 保留较小的节点号
; Ifg=1: 删除较小的节点号, 保留较大的节点号
; Ifg=2: 节点重新排序(暂时无此功能)
*WELD, NSEL/ALL, ZeroEPS, Ifg
; 节点坐标互换
; 注意: 采用 *SWAP 交换将影响 节点自由度边界条件定义, 影响实体单元节点序号
*SWAP, ALL/NSEL, X/Y/Z, X/Y/Z
; 设置节点约束信息
; Str000000/Str111111: 自由度字符串, 为6个1/0组成, 1表示约束, 0表示自由
; 6个位置分别表示X、Y、Z方向的平移自由度和绕X、绕Y、绕Z方向的转动自由度
; Ndi1、Ndi2、Ndi3: 设定节点自由度的标准节点串号, 可包含多个
; 提示: 如果数据文件中有 *SWAP 命令, 则自由度序号明显改变, *D 命令不自动修改 因此产生的 自由度变化.
; 亦即, "1111111/000000" 定义的自由度约束信息为 最终结果
*D, "111111"/"000000
系数
; XS, YS, ZS 分别为整体坐标系 下沿 X, Y, Z 方向的系数
; 默认 XS= YS = ZS = -1.04
*WEIGHT, XS[, YS[, ZS]]
; 设置当前工况号及工况名称
; Ld 工况号
; LdName 工况名称, 默认为 工况LD
*LOADCASE, Ld[, LdName]
; 取消默认的 温度荷载 工况
; ON= 自动设置 温度系列 默认工况
; OFF= 取消自动设置的 温度系列 默认工况
*LOADCASE, ON/OFF
; 节点集中力/力矩
; FX、FY、FZ:节点集中力作用方向
; MX、MY、MZ:节点集中力矩作用方向
; LoadVal: 荷载值
;Ndi1、Ndi2、Ndi3: 设定集中力的标准节点号串, 可包含多个
; 提示: 如果数据文件中有 *SWAP 命令, 则节点力作用方向将改变, *F 命令不自动修改 因此产生的 方向变化.
; 亦即, FX/FY/FZ/MX/MY/MZ 定义的作用方向为最终结果
*F, LoadVal, FX/FY/FZ/MX/MY/MZ, Nd11, Nd12, Nd13, Nd21, Nd22, Nd23, ...
; 节点集中力/力矩
; FX、FY、FZ:节点集中力作用方向
; MX、MY、MZ:节点集中力矩作用方向
; LoadVal: 荷载值
; ALL/NSEL/SEL: 对全部节点或选择集合中的节点
; 提示: 如果数据文件中有 *SWAP 命令, 则节点力作用方向将改变, *F 命令不自动修改 因此产生的 方向变化.
; 亦即, FX/FY/FZ/MX/MY/MZ 定义的作用方向为最终结果
*F, LoadVal, FX/FY/FZ/MX/MY/MZ, ALL/NSEL/SEL
; 设置单元类型名称, 以区分2节点梁单元和4节点平面单元的多种类型
; ElementName = 梁单元/桁架单元/只受拉单元/只受压单元/平面单元(面单元)/平面应力单元/平面应变单元/轴对称单元/实体单元
; ElementName = BEAM/TRUSS/TENSTR/COMPTR/PLATE/PLSTRS/PLSTRN/AXISYM/SOLID
; 用法示例:
; *ETNAME, 4, 桁架单元 ; 先定义单元库
; ......
; *ETYPEE, 4 ; 在程序的适当位置 设置当前(及之后)单元的类型号
*ETNAME, Ne, ElementName[, TypeInfo]
; 设定当前的单元类型编号 Ne
; 提示: 在此之前, 应采用 *ETNAME 命令定义单元库 类型及名称
*ETYPE, Ne
; 材料库定义的标准材料
; Num: 材料序号
; TypeName: 材料类别名称, CONC(混凝土)/STEEL(钢材)/SRC(组合材料), 可以用汉字名称
; MatName: 在模型中的材料识别名称, 用户定义(汉字或字符)
; ValName: 详细类型, 即具体的材料名称代号, C15-C80, Q235/Q345/Q420, Strand1470-Strand1860
; 用法示例:
; *MAT, 2, CONC, 混凝土材料, C30 ; 先定义材料
; ......
; *EMAT, 2 ; 在程序的适当位置 设置当前(及之后)单元的材料号
*MAT, 序号, TypeName, MatName, ValName
; 用户定义的材料
; Num: 材料序号
; USER: 用户自定义材料类型的标识
; MatName: 在模型中的材料识别名称, 用户自定义
; E, u, Alfa, DEN, MASS: E(弹性模量), u(泊松比), Alfa(传热系数), DEN(密度), MASS(比重)
*MAT, 序号,
USER(保留字), MatName, E, u, Alfa, DEN, MASS
; 设置当前单元的材料号, 或对选择的单元集合中的所有单元设置材料号
; NowMat 将要设定的当前单元材料类型编号
; ALL/ESEL/SEL 对所选择的单元集合中的所有单元赋予 材料号
; 提示: 在此之前应 采用 *MAT 命令定义材料属性 数据
*EMAT, NowMat[, ALL/ESEL/SEL]
; [KW] 截面, 参数, 定义, 设置
; Num: 截面序号
; TypeName: 截面类型名称代码, 矩形/SB/圆形/SR/T形/T/工字形/H/箱形/B/多箱室ROCT/八角形SOCT
; SectName: 在模型中的截面识别名称, 用户自定义
; Val1: 截面高度h; Val2: 截面宽度b
; 用法示例:
; *SECT, 3, 圆形, 钢管截面, 0.10 ; 先定义截面
; ......
; *ESECT, 3 ; 在程序的适当位置 设置当前(及之后)单元的截面号
*SECT, 序号, 类别名称(矩形/SB/圆形/SR/管/P/T形/箱形/B/...), 识别名称(模型识别符), 详细尺寸(H, B, t... 最多10个)
; [KW] 截面, 定义, 取消
; 取消所有截面设置
*SECT, OFF
; 当前截面号设定
; NowSect 将要设定的当前单元截面类型编号
; ALL/ESEL/SEL 对所选择的单元集合中的所有单元 赋予 截面号
; 提示: 在此之前应 采用 *SECT 命令定义好截面 类型及数据
*ESECT, NowSect[, ALL/ESEL/SEL]
; 设置当前单元厚度, 或设置单元集合的单元厚度
; t 当前单元厚度值, 必须为正值(大于0)
; ALL/ESEL/SEL 设置所选择的单元集合中所有单元的厚度
*THICK, t[, ALL/ESEL/SEL]
; 单元定义
; Nd1-Nd8 为单元的节点号, 梁单元有2个节点, 平面单元有4个节点或3个节点, 实体单元有8个或6个节点
*E, Nd1, Nd2[, Nd3][, ... ][, Nd8]
; 单元定义
; Nd1-Nd8 为单元的节点号, 梁单元有2个节点, 平面单元有4个节点或3个节点, 实体单元有8个或6个节点
E, Name, NMat, NSec, Nd1, Nd2, ..., Nd8
; 单元集合选择
; ALL 选择全部单元
; NONE 无单元选择
; CLEAR 清除 单元集合
*ESEL, ALL/NONE/CLEAR/NON/CLE/NEW
; 单元集合选择
; ADD/DEL: 向单元选择集合中 增添/删除 单元号, Neia、 Neib、Neic(i=1, 2, …)为标准单元号串, 每3个一组
; ADD/DEL 必须是单元 处于激活状态 ( =1.0 ) 才进行选择/删除
; ADDABS/DELABS 不管单元是否处于 激活状态 ( =0.0 也可 ) 都可以 进行选择/删除
; Neia 也可以是 2to200by2 的形式
*ESEL, ADD/DEL/ADDABS/DELABS, Ne1a, Ne1b, Ne1c, Ne2a, Ne2b, Ne2c, ...
; 单元集合选择
; AADD/ADEL: 根据数组变量 myElemAR 中保存的单元号, 向选择集合中 添加/删除
*ESEL, AADD/ADEL, myElemAR
; 选择指定单元类型的单元
; BEAM/PLATE/SOLID : 在所列单元标准号串中, 选择 BEAM单元(2节点)/PLATE单元(4节点)/SOLID单元(8节点)
*ESEL, BEAM/PLATE/SOLID, Ne1a, Ne1b, Ne1c, Ne2a, Ne2b, Ne2c, ...
; [
KW] 单元选择, 坐标范围
; 根据坐标范围 向单元选择集合众 相应单元
*ESEL, XADD/YADD/ZADD, vMin, vMax
; [KW] 单元, 选择, 半径, 平面距离, 空间距离
; xCen, yCen, Zcen: 参考中心点三维坐标
; Rmax, Rmin: 设定的最小距离、最大距离; Rmin 默认为 0.0
; 计算单元所有节点与点(xCen,yCen,Zcen) 的距离 R, 当 Rmin < R < Rmax 时为满足要求的 单元
; CADD: 当单元满足要求时, 将被添加到集合中
; CNEW: 当点满足要求时, 将被添加到 新集合中, 原集合被全部删除; 单次有效
; CDEL: 当单元满足要求时, 将从集合中删除
*ESEL, CADD/CNEW/CDEL, xCen, yCen, zCen, Rmax[, Rmin]
; 将当前选择的单元集合众的单元按要求的排序方式保存到 myElemAR 数组中, 单元总个数保存到 myElemNum 变量中
; -1/0/1 按单元编号大小,从大到小/不改变顺序/从小到大 进行排序
; +X/X/-X 按单元坐标的平均值(形心位置) 的 X 坐标排序, 按 从小到大/从小到大/从大到小 方式
; +Y/Y/-Y 按单元坐标的平均值(形心位置) 的 Y 坐标排序, 按 从小到大/从小到大/从大到小 方式
; +Z/Z/-Z 按单元坐标的平均值(形心位置) 的 Z 坐标排序, 按 从小到大/从小到大/从大到小 方式
*ESEL, -1/0/1/+X/-X/+Y/-Y/+Z/-Z, myElemAR, myElemNum
; [KW] 单元选择删除, 坐标范围
; 根据坐标范围删除 选择集合中 相应的单元
*ESEL, XDEL/YDEL/ZDEL, vMin, vMax
; 删除 选择集合中的单元
; ESEL/SEL: 删除单元选择集合中的全部单元
; Ne1, Ne2, Ne3: 删除用标准单元号串定义的全部单元
; 提示: 单元删除后必须重新定义, 不可自动恢复
*EDEL, SEL[/Ne1, Ne2, Ne3]
; 梁单元拷贝(可生成梁格单元及生成平面单元)
;NumRPT: 对选择的梁单元集合进行拷贝生成的次数
;NdIadd、NdJadd: 拷贝生成时, 梁单元左、右节点号增量
;NdType: 生成方式选项
;NdType=0 or 3, 每次每个单元生成3个单元, 即单元1: NdIadd→NdJadd, 单元2: NdI→NdIAdd, 单元3: NdJ→NdJAdd
;NdType=1, 每次每个单元生成1个单元, 即单元1:NdIadd→NdJadd
;NdType=2, 每次每个单元生成2个单元, 即单元1:NdIadd→NdIadd; 单元2:NdJadd→NdJadd
;NdType=4, 每次每个单元生成1个平面单元, 即:NdI, NdJ, NdJ+NdJadd, NdI+NdIadd
; 所有涉及的节点都应事先定义
*ESELCOPY_BEAM, NumRPT, NdIadd, NdJadd, NdType
; 平面单元集合拷贝
; NumRPT: 对选择的平面单元集合进行拷贝生成的次数
; Nd1Add - Nd4Add:新生成单元与前单元的4个节点号增量
; 所有涉及的节点都应事先定义
*ESELCOPY_PLATE/*ESELCOPY_PLATE, NumRPT, Nd1Add, Nd2Add, Nd3Add, Nd4Add
; 实体单元集合拷贝
; NumRPT: 对选择的实体单元集合进行拷贝生成的次数
; Nd1Add - Nd8Add:新生成的单元与前单元的8个节点号增量
; 所有涉及的节
点都应事先定义
*ESELCOPY_SOLID, NumRPT, Nd1Add, Nd2Add, Nd3Add, ..., Nd8Add
; 通过平面单元 放样/拷贝 生成三维实体单元
; NumRPT: 对选择的平面单元集合进行拷贝生成的次数
; NdAdd: 新生成的单元与前单元的各节点号增量
; NOrdIfg: 节点顺序 反向
*ESELPLATE_TOSOLID, NumRPT, NdAdd[, NOrdIfg]
; 直线单元生成
; NdI、NdJ: 初始梁单元(已经定义)的左、右节点号。
; NumGEN: 再自动生成的次数(从1开始, 表示初始单元)。
; NdAddI、NdAddJ: 每次自动生成的新单元的左、右节点号增量
; 无 NdAddI、NdAddJ时, 采用默认值 (NdAddI = NdAddJ = NdJ – NdI)
; 无 NdAddJ 时, 默认NdAddJ = NdAddI
; 所有涉及的节点都应事先定义
*ELMESH_BEAM, NdI, NdJ, NumGEN[, NdAddI[, NdAddJ]]
; 四边形网格梁单元生成
; NdOrg: 原始角点号, 四边形的4个角点的1个角点节点号, 应事先定义
; Nd1、Nd2: 四边形网格中, 沿1方向和2方向、与原始角点邻接的网格节点号, 应事先定义
; 方向1: NdOrg → Nd1
; 方向2: NdOrg → Nd2
; NumGEN1、NumGEN2: 沿两个方向的单元生成个数(从1开始, 表示初始单元)
; 所有涉及的节点都应事先定义
*ERMESH_BEAM, NdOrg, Nd1, Nd2, NumGEN1, NumGEN2
; 四边形网格平面单元生成
; Nd1、Nd2、Nd3、Nd4: 初始平面单元4个角点的节点号, 应事先定义
; NumGEN1、NumGen2: 沿1、2方向生成的单元次数(从1开始, 表示初始单元)
; 方向1: Nd1 → Nd2 或 Nd4 → Nd3
; 方向2: Nd1 → Nd4 或 Nd2 → Nd3
; 所有涉及的节点都应事先定义
*ERMESH_PLATE/*ERMESH_PLANE, Nd1, Nd2, Nd3, Nd4, NumGEN1, NumGEN2
; 改变顺序 平面单元/实体单元 的节点顺序
; ALL/ESEL/SEL 对所有单元/选择集合中的单元
; CMD: 逆时针/顺时针/反向
; ElemTypeName: PLATE/SOLID/平面单元/实体单元
*REVNUMBER[, ALL/ESEL/SEL[, XY/YX/YZ/ZY/XZ/ZX[, CMD[, ElemTypeName]]]]
; 通过三维路径放样, 生成节点、单元
; DataFileName: 放样路径数据文件名(可含路径, 应含文件扩展名)
; KeyWord: 引导路径坐标数据的关键词
; NdX、NdY、NdZ: 路径上每个节点的三维坐标数据序号
; 每行数据按序号排列时(从1开始), 第NdX、NDY、NDZ个数据为 路径节点 的X、Y、Z坐标;
; 序号范围为 1-4, 填0表示对应的坐标值为 0
; IfgDIR: 三维放样时, 路径在节点处切线矢量方向的选择
; IfgDIR=0: 取节点前、后两个矢量方向的平均值;
; IfgDIR=1:取节点之前的直线矢量方向;
; IfgDIR=2:取节点之后的直线矢量方向
; SolidIFG: 定义三维实体单元节点编号的顺序
; SolidIFG=0 节点顺序正常
; SolidIFG=1, 反方向(常用于Y, Z坐标互换情况)
*LOFT, DataFileName, KeyWord, NdX, NdY, NdZ[, IfgDIR[, SolidIFG]]
; 数据文件 DataFileName 数据格式
; 如果 KeyWor
不为空, 则文件中关键词 KeyWord 之后的数据有效
; 有效数据的第1行数据的第1个整数(NumNd), 表示路径上的节点数量
; 有效数据的第 2 行至 NumNd +1 行数据定义路径的节点坐标、是否生成节点处的横隔板、垂直截面的节点坐标数据
;
; 数据格式如下:;
; Nd, X, Y, Z[, IfgLoft[, SectFN/ ScaleX[, DataKW/ ScaleY]]]
;
; Nd: 路径节点序号, 正整数, 1 – NumNd
; X、Y、Z: 路径节点的三维坐标
;IfgLoft: 节点 Nd 处是否生成横隔板的选项, 具有继承性(当前行数据继承上一行的数据), 默认为值为0
; IfgLoft = 0: 由选择的平面 BEAM 单元生成空间板壳单元
; IfgLoft < 0: 由平面 PLATE 单元生成空间实体单元
; IfgLoft > 0: 由平面 BEAM 单元生成空间板壳单元, 且在 当前节点处 由平面 PLATE 单元生成 横膈板单元(PLATE), IfgSect 为板单元的厚度
; SectFN: 为节点坐标数据文件名(可含路径)
; 如果该文件存在, 程序将从该文件中读取当前路径垂直截面的节点坐标, 此时, DataKW 为文件中节点坐标数据的引导词(从第1列开始), 截面尺寸系数为1
; 如果SectFN 文件不存在, 则当前截面数据与上一个截面数据相同
; 此时, 可考虑截面尺寸的缩放系数, SectFN 和 DataKW 的数值分别为X、Y方向的X、Y方向的缩放系数, 该值必须为正, 否则将被忽略
*LOFT_命令_DataFileName_放样路径文件_数据格式
; 根据系统定义的路径进行放样
; SYSPATH: 可直接采用 *PATHX/*PATHY/*PATHZ/*PATHT 定义的路径。
; IdX, IdY: 被放样截面的坐标序号
; IfgDIR: 三维放样时, 路径在节点处切线矢量方向的选择。
; IfgDIR=0: 取节点前、后两个矢量方向的平均值;
; IfgDIR=1:取节点之前的直线矢量方向;
; IfgDIR=2:取节点之后的直线矢量方向。
; SolidIFG=0 节点顺序正常
; SolidIFG=1, 反方向(用于Y, Z坐标互换情况)
*LOFT, SYSPATH, IdX, IdY[, IfgDIR[, SolidIFG]]
; [KW] 放样, 路径, 结构组, 组名, 前缀字符, 字符串, 实体单元, 横隔板
; 设置三维放样路径中 横隔板结构组 统一前缀名 字符串
; NAMEPRE 保留字
; GrpNameStr
*LOFT, NAMEPRE, GrpNameStr
; 系统路径设置
; 清除路径记录
*PATHX/*PATHY/*PATHZ/*PATHT, CLEAR/NEW/NULL/CLE/NUL
; 系统路径设置
; 按绝对值坐标设置路径数据, 其中*PATHT 定义路径上横断面参数(一般为板单元的厚度值)
; valInit 为相对路径设置的 起点初始值
; ni*di 表示路径上有 ni 个 di 值
*PATHX/*PATHY/*PATHZ/*PATHT, STEP, valInit, n1*d1, n2*d2, n3*d3, ...
; 系统路径设置
; 按相对坐标(步长)设置路径数据, 其中*PATHT 定义路径上横断面参数(一般为板单元的厚度值)
*PATHX/*PATHY/*PATHZ/*PATHT, ABS, d1, d2, d3, ...
; [KW] 系统路径, 节点名称, 前缀, 放样, 结构组
; 系统路径
径节点名称定义
; NAME 关键词
; GpNamePRE 数组变量, 保存路径上个节点的 名称前缀
*PATH, NAME, GpNamePRE
; 结构组类型
; Name: 结构组名
; NODE: 表示按节点定义
; Nd1, Nd2, Nd3: 标准节点串号, 每3个一组, 可含若干个组
*MGROUP, Name, NODE, Nd11, Nd12, Nd13, Nd21, Nd22, Nd23, …
; 结构组类型
; Name: 结构组名
; NODE: 表示按节点定义
; 全部被选择的节点集合
*MGROUP, Name, NODE, ALL/SEL/NSEL
; 结构组类型
; Name: 结构组名。
; ELEM: 表示按单元定义。
; Ne1, Ne2, Ne3: 标准单元串号, 每3个一组, 可含若干个组
*MGROUP, Name, ELEM, Ne1, Ne2, Ne3, Ne21, Ne22, Ne23, …
; 结构组类型
; Name: 结构组名
; NODE: 表示按单元定义
; 全部被选择的单元集合
*MGROUP, Name, ELEM, ALL/SEL/ESEL
; 正多边形截面节点、单元自动生成
; NumSide: 正多边形边数, NumSide ≥ 3
; Rc: 外接圆半径, 当 Rc < 0.1时, 取 Rc=0.1
; DisRC: 单元划分时, 采用向内扩展平行正多边形的方法, 相邻多边形的间距值为DisRc。当DisRc < 0.01时, 设定 DisRC = 0.2*Rc
; NDiv: 单元划分时, 边长的等分数量。如果 NDiv = 0, 则设定 NDiv = 2
; 输出结果: 从当前节点号、单元号开始, 自动生成平面节点及外边界BEAM 单元和区域内的 PLATE 单元
*NSIDE, NumSide, Rc[, DisRc[, NDiv]]
; T梁截面数据
; Hb-梁高 Wf-腹板宽 Wtp-顶板全宽 Htp1-顶板翼缘端部厚 Htp2-顶板翼缘根部厚 Wdn-底板全宽 hdn1-马蹄高度 hdn2-马蹄高度(含抹斜)
; nDivTpHorL、nDivTpHorR-顶板左、右侧翼缘水平方向等分数 nDivFbHorM-腹板水平方向等分数
; nDivTpVer- 顶板左、右侧翼缘垂直方向 等分数 nDivMidVer-腹板中间段垂直方向 等分数 nDivDnVer- 马蹄全厚度垂直方向 等分数
; nDivDnHorL、nDivDnHorR- 马蹄左右侧等分数
; 如 *TSECT, 1.60, 0.20, 1.80, 0.20, 0.40, 0.60, 0.20, 0.40, 4, 2, 4, 2, 8, 4, 2, 2
*TSECT, Hb, Wf, Wtp, Htp1, Htp2, Wdn, Hdn1, Hdn2, nDivTpHorL, nDivFbHorM, nDivTpHorR, nDivTpVer, nDivMidVer, nDivDnVer, nDivDnHorL, nDivDnHorR
; T梁截面数据
; 采用表格数据形式输入
*TSECT, TAB
; 箱梁截面节点、单元自动生成
; NdBeg: 起点节点号, 默认值为0, 表示从当前最大节点号开始
; NeBeg: 起点单元号, 默认值为0, 表示从当前最大单元号开始
; 注意: 用 | 分隔的前后数据表示箱梁截面的左、右侧数据
; 例: *BOXSECT, 箱室数3个, 箱梁高2m, 顶板宽10m, 底板宽6m, 顶板横坡0.02, 悬臂板长1.5m, 单元长0.3m
*BOXSECT, NdBeg, NeBeg, 箱室数n, 箱梁高h, 顶板宽wT/顶板全宽wT, 底板宽wD/底板全宽wD, 顶板半宽/半顶板宽wTLb|wTRb, 底板半宽/半底板宽wDLb|wDRb, _
单元类型BEAM/PLATE, 单元长s, 臂板长wxbL|wxbR, 悬臂板厚txbL1|txbL2, 左悬臂板厚txbL1|txbL2, 右
悬臂板厚txbR1|txbR2, _
顶板横坡pdTL/pdTR, 底板横坡pdDL/pdDR, 边腹板厚tbfL/tbfR, 边腹板倾角AbfL/AbfR, 箱室宽wBox1/wBox2/…/wBoxN, _
顶板厚tBoxT1/tBoxT2/…/tBoxTN, 底板厚tBoxD1/ tBoxD1/…/tBoxDN, 中腹板厚tFb1/tFb2/…/tFbN-1, _
单元划分顶板N1, 单元划分底板N2, 单元划分中腹板N3, 单元划分边腹板N4/N5
; [KW] 圆形, 截面, 划分, 空洞
; 自动划分圆形截面
; nType=0 实心圆形(中间为矩形单元), 默认值为 0;
; nType=1 实心圆形(全部为同心圆, 中间为三角形单元);
; nType=2 空心圆形(中间矩形空洞);
; nType=3 空心圆形(全部为同心圆,中间为圆形空洞)
; xCIR, yCIR: 圆心坐标, 默认为 (0.0, 0.0)
; R: 圆半径, R >= 0.001, 默认为 1.0
; NumDIV: 内接正方形 的总划分单元数(nType=0, 2, NumDIV >= 2(偶数)
; 或沿圆周方向的等分数(nType=1,3), NumDIV >= 3
; DsInSideStep: 变量、数值或数组, 用于指定沿半径(直径)方向的单元划分长度
; ndType=0,2: 从内到外指定内接正方形内各划分单元的边长, 若无(=0), 则采用等分值
; ndType=1,3: 从内到外的各同心圆间距值, 若为0,则半径5等分,若为负数-N, 则半径N等分; 用数组定义时, 第n个值为第n等分的值.
; NdBeg, NeBeg: 节点起点号、单元起点号, 默认为当前最大节点号、最大单元号
; FnSCR: 圆形截面节点及单元划分输出的 AutoCAD .SCR 脚本文件
*CIRSECT, nType[, xCIR[, yCIR[, R[, NumDIV[, DsInSideStep[, NdBeg[, NeBeg[, FnSCR]]]]]]]]
; 路径节点、单元自动生成
; PathName: 定义的路径名称, 字符串
; NdBeg: 起点节点号, 默认值为0, 表示从当前最大节点号开始编号
; NeBeg: 起点单元号, 默认值为0, 表示从当前最大单元号开始编号
; IfgR: =0, 采用导线法(默认值); =1, 采用曲线法
; DsLN、DsCV: 在直线段、曲线段划分参考长度
; Xi, Yi: 直角坐标系下的坐标
; Ri, Ls1、Ls2: 设置平曲线时的圆曲线半径、第1、第2缓和曲线长度
; 例: *PATHXY, 路径, 0, 0, 0, 5.0, 2.0, _
; 10.0, 20.0, 0.0, 0.0, 0.0, _
; 300.0, 50.0, 200.0, 50.0, 50.0, _
; 710.0, 400.0, 400.0, 90.0, 60.0, _
; 1210.0, 320.0, 300.0, 60.0, 30.0, _
; 1400.0, 170.0, 0.0, 0.0, 0.0
*PATHXY, PathName, NdBeg, NeBeg, IfgRC=0/1, DsLN, DsCV, x1, y1, R1, Ls11, ls12, x2, y2, R2, Ls21, lS22, X3, y3, R3, Ls31, Ls32, …
; 连续梁节点与单元自动生成
; NdBeg: 起点节点号, 默认值为0, 表示从当前最大节点号开始编号
; NeBeg: 起点单元号, 默认值为0, 表示从当前最大单元号开始编号
; NSpan: 梁跨径数
; P01+#i: 第i个支座水平方向位移约束信息和第i个墩柱单元划分数
据。P0+ 表示第i个支座水平无约束, P1+表示有约束。 #i形式如 4*2.0+3*1.5
; ai1*bi1+ai2*bi2+...+ain*bin: 第i跨的单元划分数据
; 例: *BEAM, 0, 0, 3, P1+5*1.0, 5*1.0+10*2.0+5*1.0, _
; P0+5*1.0, 5*1.0+10*2.0+5*1.0, _
; P0+5*1.5, 5*1.0+10*2.0+5*1.0, _
; P0+5*1.5
; 表示3跨连续梁, 跨径 30+30+30m, 墩柱高 5m、5m、7.5m、7.5m, 第1个支座水平方向约束
*BEAM, NdBeg, NeBeg, NSpan, P01+#1, a11*b11+a12*b12+...+a1n*b1n, P01+#2, a21*b21+a22*b22+...+a2n*b2n, P01+#n-1, ..., P01+#n
; [KW] 调用, 执行, 子程序, 子过程, 内嵌
; 读取并执行数据 SubFileName.TXT 子过程程序文件, 同时将该文件中的 定义的变量赋值, 相当于过程调用
; SubFileName.TXT 保存子程序的数据文件名
; NumRepeat 子程序循环执行的次数, 因为采用 *REPEAT 命令不能重复执行 *SUB 命令
; VariInSub = DataVali 为子过程 SubFileName.Txt 中的参数 VariInSub 赋值 DataVali
*SUB, SubFileName, NumRepeat, Var1InSub= DataVal1, Var2InSub = DataVal2, Var3InSub = DataVal3, ...
; 简单数据对话框输入
; PromptMsg 提示信息
; PreSettingStr 为默认数据
; Vari 赋值变量
; 对话框中的输入提示信息 PromptMsg, 默认值为 PreSettingStr, 将要输入赋值的变量名 Var1, Var2, ... 可以为多个
; 提示: 默认值应用引号标识, 其中不能含有逗号 “, ”, 可用分号”;” 或空格代替
*INPUTBOX, PromptMsg, PreSettingStr, Var1, Var2, ...
; 简单数据对话框输入, 可采用重复数据
; PromptMsg 提示信息
; PreSettingStr 为默认数据
; ARRAY 标记符号, 也可以为空
; myAR 保存的赋值变量, 数组类型, myAR(0) 为数据总个数
; 对话框中的输入提示信息 PromptMsg, 默认值为 PreSettingStr
; 提示: 数据必需采用逗号 “, ”分隔; "25 3*30 40" 表示"25 30 30 30 40"
; 注意: 3*30 是3个数据, 而不是数据90
*INPUTBOX, PromptMsg, PreSettingStr, ARRAY/myAR, myAR/ARRAY ; 2012-12-22 修改, 第4或第5个参数为 关键词 ARRAY
; 表格数据输入
; DataVarName 符合要求的数据变量名, 之后第1个数据用 DataVarName(1)引用, 第2个数据用 DataVarName(2)引用, ...
; DataInputTitle 表格数据输入的 标题名称
; DataNameNotei, Datai, ChooseDataia/ChooseDataib/ChooseDataic/ ... 第i个输入数据的名称及说明、数据默认值、如果为可选项则列出所有可选项目(用/分隔)
*DATAINPUT, DataVarName, DataInputTitle, DataNameNote1, Data1, ChooseData1a/ChooseData1b/ChooseData1c, DataNameNote2, Data2, ChooseData2a/ChooseData2b/ChooseData2c, ...
; 重复执行命令
; 上条命令/语句的重复执行次数, 数据增量Addi
*REPEAT, NRpt, Add1[, Add2][, Add3][, ...]
; 简单条件语句(格式1)
; 简单条件语句(单条语句), 条件为真时执行语句1, 否则执行语句2
*IF, Var1, E
Q/NE/GE/GT/LE/LT, Var2, 赋值语句1(条件为真)[, 赋值语句2(条件为假)]
; 简单条件语句(格式2)
; 简单条件语句(单条语句), 条件为真时执行语句1, 否则执行语句2
*IF, Var1, EQ/NE/GE/GT/LE/LT, Var2, THEN, 赋值语句(条件为真)
; 复杂简单条件语句
; 语句格式如下
; *IF, Var1, EQ/NE/GE/GT/LE/LT, Var2, THEN
; 语句段1 (条件为真时执行)
; 特别提示: 在 *ELSE 之前再 添加一行 无关的 语句, 否则容易出错
; *Else
; 语句段2 (条件为假时执行)
; 特别提示: 在 *ENDIF 之前再 添加一行 无关的 语句, 否则容易出错
; *EndIf (注意也可以是 *END IF)
;
; Var1, Var2 进行 EQ相等/NE不等/GE不大于/GT大于/LE不小于/LT小于 运算
; 结果为真, 则执行*IF 与 *ELSE 之间 或者 *IF 与 *ENDIF 之间的语句段
; 结果为假, 则执行 *ELES 与 *ENDIF 之间的语句段
*IF, Var1, EQ/NE/GE/GT/LE/LT, Var2, THEN _
语句段1 (条件为真时执行) ... _
*ELSE _
语句段2 (条件为假时执行) ... _
*ENDIF
; 循环执行语句
; 语句格式如下
; *DO, VarI, VarBeg, VarEnd, VarAdd
; 语句段1
; *EXITDO, Var1, EQ/NE/GE/GT/LE/LT, Var2
; 语句段2
; *IF, Var1, EQ/NE/GE/GT/LE/LT, Var2, THEN
; 语句段3
; *Else
; 语句段4
; *ENDIF
; 语句段5
; *ENDO
;
; 变量 VarI, 起始值 VarBeg, 终止值 VarEnd, 变量增量 VarAdd
; 如果 Var1 与 Var2 运算后结果为真, 则退出循环
; 只能有一条 *IF … THEN *ELSE … *ENDIF 语句
*DO, VarI, VarBeg, VarEnd, VarAdd _
语句段1 ... _
*EXITDO, Var1, EQ/NE/GE/GT/LE/LT, Var2 ... _
语句段2 ... _
*IF, Var1, EQ/NE/GE/GT/LE/LT, Var2, THEN _
语句段3 ... _
*ELSE
语句段4 ... _
*ENDIF
语句段5 ... _
*ENDDO
; [KW] 函数, 空格, 字符
; n 为空格数量
; 无参数(SPACE) 为1个空格
SPACE(n)
[KW] 数学函数, 绝对值
; 数学函数, 取 x 绝对值
ABS(x)
[KW] 数学函数, 符号
; 数学函数, 取 x 的符号
; x > 0, SIGN(x) = 1
; x = 0, SIGN(x) = 0
; x < 0, SIGN(x) = -1
SIGN(x)
[KW] 数学函数, 取整, 四舍五入, 整数
; 数学函数, 取 x 的整数部分
FIX(x)
[KW] 数学函数, 取整, 四舍五入, 整数
; 数学函数, 对 x 四舍五入后取整数
INT(x)
[KW] 数学函数, 取整, 四舍五入, 整数
; 数学函数, 取与 x 最接近的整数
Floor(x)
[KW] 数学函数, 取整, 四舍五入, 最接近, 整数
; 数学函数, 取与 x 最接近的整数
; 相关命令: Round3(x)、Round4(x)、Round5(x)、 ...、Round19(x)
Round(x)
[KW] 数学函数, 取整, 保留, 小数点后, 1位, 一位
; 数学函数, 保留小数点后 1 位
; 相关命令: Round3(x)、Round4(x)、Round5(x)、 ...、Round19(x)
Round1(x)
[KW] 数学函数, 取整, 保留, 小数点后, 2位, 两位
; 数学函数, 保
留小数点后 2 位
; 相关命令: Round3(x)、Round4(x)、Round5(x)、 ...、Round19(x)
Round2(x)
[KW] 数学函数, 指数
; 指数函数, EPX(x) = e ^ x
EXP(x)
[KW] 数学函数, 平方
; 指数函数, 取 x 的平方值
SQR(x)
[KW] 数学函数, 平方根
; 指数函数, 取 x 的平方根
SQRT(x)
[KW] 数学函数, 自然对数
; 对数函数, 取 x 的自然对数值
Log(x)
[KW] 数学函数, 自然对数, 10
; 对数函数, 取 x 的对数值(以10为底)
Log10(x)
; 三角函数, 余弦
COS(x)
; 三角函数, 正弦
SIN(x)
; 三角函数, 正切
TAN(x)
; 反余弦三角函数
ACOS(x)
; 反正弦三角函数
ASIN(x)
; 反正切三角函数
ATN(x)
; 反三角函数
ATAN(x)
; 数学函数
Cosh(x)
; 数学函数
Sinh(x)
; 数学函数
Tanh(x)
; 数学函数
ACosh(x)
; 数学函数
ASinh(x)
; 数学函数
ATanh(x)
; 随机数生成函数
; 产生范围为 [0, 1.0] 的随机数
RND()
; 节点坐标信息获取函数
; 取节点 N 的 X 坐标
NODEX(N)
; 节点坐标信息获取函数
; 取节点 N 的 Y 坐标
NODEY(N)
; 节点坐标信息获取函数
; 取节点 N 的 Z 坐标
NODEZ(N)
; 节点号获取函数
; 在所有节点中 获取 节点X坐标 与 x 最接近的节点号
NEARX(x)
; 节点号获取函数
; 在所有节点中 获取 节点Y坐标 与 y 最接近的节点号
NEARY(y)
; 节点号获取函数
; 在所有节点中 获取 节点Z坐标 与 z 最接近的节点号
NEARZ(z)
; 节点号获取函数
; 在 确定的节点选择集合中获取 节点X坐标 与 x 最接近的节点号
NSELNEARX(x)
; 节点号获取函数
; 在 确定的节点选择集合中获取 节点Y坐标 与 y 最接近的节点号
NSELNEARY(y)
; 节点号获取函数
; 在 确定的节点选择集合中获取 节点Z坐标 与 z 最接近的节点号
NSELNEARZ(z)
; 获取节点选择集合中的节点总个数
NodeSelNum()
; 获取单元选择集合中的单元总个数
ElemSelNum()
; NumNodeSel, NumElemSel, GetNodeSelNext, GetElemSelNext
; 获取节点选择集合中的下一个节点号
; x=0 初始化; x=1 获取下一个节点号
; y=0 表示全部节点搜索完毕或已完成初始化
GetNodeSelNext(x)
; 获取单元选择集合中的 下一个单元号
; x=0 初始化; x=1 获取下一个单元号
; y=0 表示全部单元搜索完毕或已完成初始化
GetElemSelNext(x)
; [KW] 单元, 节点, 节点数, 节点数量, 获取
; 取单元 N 的节点数量
ELEM_0(N)
; [KW] 单元, 长度, 梁单元, 获取, 单元属性
; 取单元 N 的节点数量
ELEM_L(N)/ELEM_LEN(N)
; [KW] 单元, 属性, 获取, 材料, 编号
; 取单元 N 的材料编号
ELEM_M(N)/ELEM_MAT(N)
; [KW] 单元, 属性, 获取, 截面, 编号
; 取单元 N 的截面编号
ELEM_S(N)/ELEM_S
(N)
; [KW] 单元, 属性, 获取, 厚度, 编号
; 取单元 N 的厚度值
ELEM_H(N)/ELEM_THICK(N)
; [KW] 单元, 属性, 获取, 类型, 编号
; 取单元 N 的类型号
ELEM_T(N)/ELEM_TYPE(N)
; [KW] 单元, 节点编号, 节点序号, 获取, 第1个
; 取单元 N 的第1个节点
ELEM_1(N)
; [KW] 单元, 节点编号, 节点序号, 获取, 第2个
; 取单元 N 的第2个节点
ELEM_2(N)
; [KW] 单元, 节点编号, 节点序号, 获取, 第3个
; 取单元 N 的第3个节点
ELEM_3(N)
; [KW] 单元, 节点编号, 节点序号, 获取, 第4个
; 取单元 N 的第4个节点
ELEM_4(N)
; [KW] 单元, 节点编号, 节点序号, 获取, 第5个
; 取单元 N 的第5个节点
ELEM_5(N)
; [KW] 单元, 节点编号, 节点序号, 获取, 第6个
; 取单元 N 的第6个节点
ELEM_6(N)
; [KW] 单元, 节点编号, 节点序号, 获取, 第7个
; 取单元 N 的第7个节点
ELEM_7(N)
; [KW] 单元, 节点编号, 节点序号, 获取, 第8个
; 取单元 N 的第8个节点
ELEM_8(N)
; 生成结构简图, AutoCAD 接口数据文件 (.SCR文件), 在AutoCAD 的COMMAND 中执行 SCRIPT 命令即可, 注意关闭目标捕捉
; FNSCR 输出的数据文件名, 扩展名应为 .SCR
; HTXT 字符高度
; 输出内容选项: ALL(全部节点、单元)/STRU(全部结构)/NSEL(选择的节点)/ESEL(选择的单元)/PSEL(选择的表面单元)
*ACADSCR/*ACAD, FNSCR[, HTXT[, ALL/STRU/NSEL/ESEL/PSEL]]
; 列出节点坐标信息, 输出结果保存在 FILENAME.LOG 中
*NLIST
; 列出节点坐标数据, 输出结果保存在 FILENAME.LOG 中
*ELIST
; 节点数据保存
; 保存选择集合中的全部节点坐标数据。
; FileName:保存的数据文件名, 含路径。
; NSEL/SEL:所选择的节点集合, 否则保存所有节点
*NSAVE, SaveDataFileName[, SEL/NSEL]
; 单元数据保存
; 保存选择集合中的全部单元节点信息
; FileName:保存的数据文件名, 含路径。
; ESEL/SEL:所选择的单元集合, 否则保存所有单元
*ESAVE, SaveDataFileName[, SEL/ESEL]
; 从文件中读取 部分节点 坐标数据
; DataFileName: 从该数据文件中读取节点坐标数据。
; KeyWord: 引导数据的关键词(从第1列开始), 可以为空。
; NdBeg:起点节点号(默认为0), 为0时自动从当前最大节点号开始;小于0时按实际的节点号读取。
; 如果 NdBeg = -1, 则按 实际节点号 读取,
; 如果 NdBeg = 0, 则从当前最大节点号开始
; 如果 NdBeg >= 1, 则从 NdBeg 开始读取
; NdCol: 节点号在数据行的数据序号, 为0时节点号顺序增加。
; xNCol、yNCol、zNCol: 数据行中对应X、Y、Z坐标的数据序号, 为0时该坐标按0处理
*NREAD, DataFileName[, KeyWord[, NdBeg[, NdCol[, xNCol[, yNCol[, zNCol]]]]]]
; 从文件中读取 部分单元 数据
; DataFileName: 从该数据文件中读
读取节点坐标数据。
; ElemName: 单元类型名称, BEAM/PLATE/PLANE/SOLID/B/P/S
; KeyWord: 引导数据的关键词(从第1列开始), 可以为空。
; NeBeg:起点单元号(默认为0), 为0时自动从当前最大单元号开始;小于0时按实际的单元号读取。
; 如果 NeBeg = -1, 则按 实际单元号 读取
; 如果 NeBeg = 0, 则从当前最大单元号开始
; 如果 NeBeg >= 1, 则从 NeBeg 开始读取
; NeCol: 数据行对应单元号的数据序号, 为0时单元号顺序增加。
; K1、K2、…、K8: 数据行中对应单元第k个节点号的数据序号
*EREAD, DataFileName[, ElemName[, KeyWord[, NeBeg[, NeCol[, K1, K2, K3, K4, K5, K6, K7, K8]]]]]
; 程序运行时, 给出提示信息
; 用于设置信息提示的打开、关闭
*MSGBOX, ON/OFF/YES/NO/TRUE/FALSE/1/0
; 程序运行时, 给出提示信息
; 将表达式 Prompti 依次求值, 并合并为 信息提示 内容, 输出等待回应
; 注意: 字符串应用在前后加上 " 符号
*MSGBOX, Prompt1, Prompt2, Prompt3, Prompt4, ...
; 列出当前所有变量信息, 结果保存在 FILENAME.LOG 中
*VARLIST
; 获取 系统二维字符型数组 变量值
; myVarSave 保存变量值的 变量
; noSYSAR 系统数组编号(1,2,3,4,5)
; NRow, NCol 系统变量的行、列号
; 注意: 如果 NCol=-1, 则表示 将第 NRow 行的所有数据保存到 数组 myVarSave 中
; 此时, 数组元素个数 保存到变量 muNumCOl 中
*GETSYSARRAY, myVarSave, noSYSAR, NRow, NCol[, myNumCol]
; 设定文件路径
*FILEPATH, myFilePath
; 获取将要保存的数据文件名
; Prompt 为提示信息, FileName 必须为定义的字符串变量
*GETSAVEFN/*GETSAVEFILENAME, FileName, PromptMsg
; 获取将要打开的数据文件名
; Prompt 为提示信息, FileName 必须为定义的字符串变量
*GETOPENFN/*GETOPENFILENAME, FileName, PromptMsg
; [KW] 文件, 打开
; Read 读取 Write 输出 Append 添加
; 相关命令, *CLOSE/*WRITE/*APPEND
*OPEN, FileName[, Read/Write/Append]
; [KW] 文件, 关闭
; 应首先打开文件, 命令 *OPEN
; 其它相关命令, *WRITE/*APPEND
*CLOSE, R/W/A or READ/WRITE/APPEND
; [KW] 文件, 读取, 读数据
; 从打开的文件中读取数据到指定的变量
; 相关命令: *OPEN/*CLOSE/*WRITE
*READ, Var1[, Var2[, Var3, …]]]
; [KW] 文件, 读取, 一行, 数据, 换行
; 从打开的文件中读取 一行数据 到指定的变量
; 相关命令: *OPEN/*CLOSE/*WRITE
*READLINE/*READLN, VarCC
; [KW} 文件, 输出, 写, 数据
; 向打开的文件中输出数据
; 相关命令: *OPEN/*CLOSE/*WRITE
*WRITE/*WRITELN[, Var1[, Var2[, Var3, … ]]]
; [KW] 文件, 数据, 增添, 增加, 输出, 写
; 向打开的文件中增添数据
; 相关命令: *OPEN/*CLOSE/*WRITE
*APPEND/* APPENDLN[, Var1[, Var2[, Var3, … ]]]
; 获取结构的节点/单元信息, 保存到变量 Var 中
; Var:
将提取的参数值赋值保存到该变量, 该变量需事先定义
; NODE/ELEM: 提取 节点参数/单元参数
; X/Y/Z: 提取节点的 X/Y/Z坐标值
; F: 提取节点荷载
; 0: 提取单元的节点数
; 1-8: 提取单元的第 k 个节点号
; MAT: 提取单元的材料号
; TYPE: 提取单元的类型号
; SECT: 提取单元的截面号
; THICK: 提取单元的厚度值
; LEN: 提取单元的长度(限于2节点梁单元)
; ND: 节点号或单元号
*GET, Var, NODE/ELEM, X/Y/Z/F/0-8/MAT/TYPE/SECT/THICK/LEN, Nd
; 从文件中读取 X, Y, Z 坐标
; DataFileName: 数据文件, 可以采用 AutoCAD 的文本窗口存储作标点数据
; xKeyW/yKeyW/zKeyZ: 引导 X, Y, Z 作标数据的关键字, 不能为空
; NdBeg: 起点节点号, 默认为0, 自动从当前最大节点号开始记录
; Scale: 坐标数据的系数
; XMIN/XMAX/YMIN/YMAX/ZMIN/ZMAX: MIN 表示按坐标从小到大的顺序重新排列, MAX 表示按坐标从大到小的顺序重新排列. X/Y/Z 表示按 X/Y/Z 坐标进行排列
; DataKeyW: 数据段的关键词, 默认为空, 表示无关键词
*READXYZ, DataFileName, xKeyW, yKeyW, zKeyW, NeBeg, Scale, XMIN/XMAX/YMIN/YMAX/ZMIN/ZMAX, DataKeyW
; [KW] AutoCAD, DWG, DXF, 自动, 读取, 节点, 单元, 层名
; 从 DXF 文件中自动获取 节点坐标和单元信息
; 可读取点(POINT)、直线(LINE)、平面多段线(LWPOLYLINE)、3D多段线(POLYLINE)、圆弧(ARC)、圆(CIRCLE) 等类型
; dxfFileName: 保存的 DXF 图形交换文件名
; xSc, ySc, zSc: X, Y, Z 坐标系数
; NdBeg, NeBeg: 起点节点号, 默认为0, 自动从当前最大节点号开始记录
; NeBeg: 起点单元号(默认为0), 为 0 时从当前最大单元号开始记录
; 如果 NeBeg <= -1, 则不生成单元
; IfgELEM= 0, 仅生成梁单元
; IfgELEM= 1, 仅生成平面单元
; IfgELEM= 2, 生成梁单元 及 平面单元
; IfgDD= 1/0, 直线端点也作为 节点, 默认为 0
; IfgPtOrderXYZ= X/+X 或 Y/+Y 或 Z/+Z 或 -X 或 -Y 或 -Z, 分别表示对 POINT输入的点按X/Y/Z/-X/-Y/-Z方向进行排序
; myLayNameAR, myLayNum 梁单元及节点 涉及的图层名(按顺序保存)、图层数量
; myLayNameInCADi, myBeamArrayi, myNodeArrayi: AutoCAD 图形文件(DXF)中第i个图层层名, 该图层上的梁单元编号数组,节点编号数组
; 注意: 层名如果为 "SYSARRAY
节点, 单元, 移动荷载, 移动节点荷载, 节点荷载, 温度荷载, 边界条件, 材料, 截面, 厚度, 自重, 荷载组合
; 特许输出
*ONLYOUT, NODE, ELEM, ACLOAD, MDLOAD, NDLOAD, TEMLOAD, BOUND, MAT, SECT, THICK, WEIGHT, LDCASE, _
节点, 单元, 移动荷载, 移动节点荷载, 节点荷载, 温度荷载, 边界条件, 材料, 截面, 厚度, 自重, 荷载组合
; MCT 数据格式原样抄录
; *MCTBEG
; MCT数据
; *MCTEND
*MCTBEG .... MCT数据原样抄录 .... *MCTEND
; 设置刚性连接
*RIGIDLINK, M-NODE, DOF, Nd1a, Nd1b, Nd1c, Nd2a, Nd2b, Nd2c, ...
; 均布荷载
; Neia, Neib, Neic 标准单元串
*EPRESS, Val, GX/GY/GZ, Ne1a, Ne1b, Ne1c, Ne2a, Ne2b, Ne2c, ...
; 均布荷载
*EPRESS, Val, GX/GY/GZ, ALL/ESEL/SEL
; 定义车道面, *SURFLANE1 与 *SURFLANE2 联合使用
; NAME, WIDTH 车道面名称、车道面宽度
; START, END 起点、终点的 倾斜度
; MOVING = BOTH
; WS 宽度
; 示例:
; *SURFLANE1, R1, WP, 0.0, 0.0, BOTH, WP, 人群
; Nd1 = myPeoNd(1)
; Nd2 = Nd1 + NumSP*NdAdd
; *SURFLANE2, R1, Nd1, Nd1, 1, 0.0, 25.0, YES, Nd1+NdAdd, Nd2, NdAdd, 0.0, 25.0,
*SURFLANE1, NAME, WIDTH, START, END, MOVING, WS, 汽车/人群/自定义
; 定义车道面, *SURFLANE1 与 *SURFLANE2 联合使用
; 示例:
; *DO, Nc, 1, 4, 1
; *SURFLANE1, Q&Nc, WC, 0.0, 0.0, BOTH, 1.8, 汽车
;
; Nd1 = myBusNd(Nc)
; Nd2 = Nd1 + NumSP*NdAdd
; *SURFLANE2, Q&Nc, Nd1, Nd1, 1, 0.0, 25.0, YES, Nd1+NdAdd, Nd2, NdAdd, 0.0, 25.0, NO
; *ENDDO
;
*SURFLANE2, NAME, iNODE1a, iNODE1b, iNODE1c, OFFSET1, SPAN1, bSPANSTART1, iNODE2a, iNODE2b, iNODE2c, OFFSET2, SPAN2, bSPANSTART2, ...
; 定义系统升降温度
*TEMLOAD, sysTemUp, sysTemDn
; 设置支座沉降工况(未组合)
*ZZZLOAD, DX/DY/DZ/RX/RY/RZ, disValue, Nd1a, Nd1b, Nd1c, Nd2a, Nd2b, Nd2c, ...
; 表面单元选择(BEAM, PLATE, SOLID)
; 通过表面单元及 *EPRESS 命令可在实体单元面上施加 切向面荷载(沿总体坐标X,Y,Z方向)
; 悬臂量计算示例表明, 三维实体单元的表面切向荷载施加方法 正确
; 方法如下:
; *PSEL, ADD, Z=0.0, 0.001 ; 选择表面单元
; *PSEL, EADD, 0, 0.001, 1 ; 生成表面单元 (厚度 0.001)
; *EPRESS, Q, GX/GY/GZ, ESEL ; 添加面荷载
; 清除
*PSEL, MAX/CLEAR/NONE/NULL
; 表面单元选择(BEAM, PLATE, SOLID)
; 根据三点 Nd1, Nd2, Nd3 确定平面
; DistZERO 距离精度
; BEAM/PLATE/PLANE/SOLID 选择的单元类型
; B/P/S 为各单元类型的简写形式
; 相关命令: *PSEL, EADD, 0, tThick ; 将表面单元 添加到结构中
*PSEL, NEW/ADD, Nd1, Nd2, Nd3[, DistZERO][, BEAM/PLATE/PLANE/SOLID]
; 表面单元选择(BEAM, PLATE, SOLID)
; 直接定义空间平面参数
; DistZERO 距离精度
; BEAM/PLATE/PLANE/SOLID 选择的单
元类型
; B/P/S 为各单元类型的简写形式
; 相关命令: *PSEL, EADD, 0, tThick ; 将表面单元 添加到结构中
*PSEL, NEW/ADD, aX+bY+cZ+d[=0.0[, DistZERO]][, BEAM/B/PLATE/PLANE/P/SOLID/S]
; 表面单元选择(BEAM, PLATE, SOLID)
; 将当前 选择的 单元号集合 添加到表面单元 选择集合中
; 相关命令: *PSEL, EADD, 0, tThick ; 将表面单元 添加到结构中
*PSEL, NEW/ADD, ESEL/SEL
; 将选择的表面单元(4节点平面单元) 添加到结构中
; NeBeg 起点单元编号
; tThick 单元厚度
; nMat 单元材料编号
*PSEL, EADD, NeBeg[, tThick[, nMat]]
; [KW] 移动荷载, 相对坐标, 节点荷载, 位置
; 定义移动节点荷载
; Nd1, Nd2, NdAdd 标准节点串, 定义移动路径
; NdAdd3ForPLN 当存在多个 移动荷载 作用平面时, 通过 (Nd1, Nd1+NdAdd, Nd1+NdAdd3ForPLN) 确定计算点平面 (2013-09-12 修改)
; Dxi, Dyi 第i个节点荷载的相对位置坐标
; Pi 第i个节点荷载的大小
; 注意: (1) 当 NdAdd3ForPLN <= 0时, 将首先利用 *PSEL 设定的当前平面表面 法线方向, 确定荷载节点 所在的平面, 自动从该平面上搜索荷载涉及的单元/节点
; (2) 当 NdAdd3ForPLN >= 1时, 通过 (Ndk, Ndk+NdAdd, Ndk+NdAdd3ForPLN) 确定荷载节点 所在的平面, 自动从该平面上搜索荷载涉及的单元/节点
; (3) X 方向沿 Nd1-Nd2方向, Y 方向与X方向垂直, 并于选择的平面法线构成右手坐标系
*MLOAD, Nd1, Nd2, NdAdd, NdAdd3ForPLN, FX/FY/FZ/MX/MY/MZ, Dx1, Dy1, P1, Dx2, Dy2, P2, ...
; [KW] 移动荷载, 节点荷载, 数组数据
; 定义移动节点荷载
; Nd1, Nd2, Nd3 标准节点串, 定义移动路径
; Px, Py 采用数组定义第i个节点荷载的相对位置坐标 Px(i), Py(i)
; Pp 第i个节点荷载的大小, 也可采用数组定义 Pp(i)
; NpBeg, NpEnd, NpAdd 从数组的第 NpBeg 开始, 增量为 NpAdd
; 注意: (1) 需要首先 利用 *PSEL 设定平面表面, 程序将自动从该平面上提取节点
; (2) X方向沿 Nd1-Nd2方向, Y方向与X方向垂直, 并于选择的平面法线构成右手坐标系
*MLOAD, Nd1, Nd2, Nd3, FX/FY/FZ/MX/MY/MZ, Px, Py, Pp, NpBeg, NpEnd, NpAdd
; [KW] 属性, 预应力钢筋, 参数
; 定义预应力钢筋的属性方法1
; ccTitle 标题; tendon 钢束名称
; 其余数据可通过数据表对话框进行修改
*TDN-PROPERTY_DATA, ccTitle, 钢束名称(NAME), tendon
; [KW] 属性, 预应力钢筋, 参数
; 定义预应力钢筋的属性
; 所有数据可通过数据表对话框进行修改
*TDN-PROPERTY_DATA, ccTitle, 钢束名称(NAME), tendon, , 单元截面钢束设置位置(TYPE), 截面内, CHOOSE(截面内/截面外), _
钢束材料号(MATL), 2, , 钢束总截面面积(AREA), 0.00434, , 孔道直径(DIA), 0.13, , RM, 2.0, , 松弛损失系数(RC), 0, , _
曲率摩擦系数(FF), 0.25, , 波动摩擦
系数(WF), 0.0015, , 极限强度(US), 190000, , 屈服强度(YS), 160000, , _
张拉方法(LT), 先张法, CHOOSE(先张法/后张法), 起点滑移量(ASB), 0.006, , 终点滑移量(ASE), 0.006, , _
(bBONDED), YES, CHOOSE(YES/NO), (ALPHA), 0, , (bOSRF), YES, CHOOSE(YES/NO), _
(FT), 0.3, , (FPK), 1667.216, , (ACHANGE), 0, , (bRELAX), YES, CHOOSE(YSE/NO)
; [KW] 裂缝线, 平面单元
; crDX, crDY, crDZ 沿着X, Y, Z方向的裂缝宽度
; Nd1a, Nd1b, Nd1c 第1条裂缝线上的标准节点号(起点, 终点, 增量), 其中 Nd1a为裂缝中心起点
; Ndia, Ndib, Ndic 第1条裂缝线上的标准节点号(起点, 终点, 增量), 其中 Ndia为裂缝中心起点
*CRACK_PLN, crDx, crDy, crDz, Nd1a, Nd1b, Nd1c, Nd2a, Nd2b, Nd2c, ... ; 以Nd1a 为基点
; [KW] 前处理, 设定, 运行进程, 运行状态, 关键词
; 设定为 前处理 状态, 默认为 前处理
*PRE
; [KW] 简图, 绘制, 屏幕, 图形, 设置
; 设置 是否绘制 屏幕结构图
*DRAWING, ON/YES/Y/T/1/OFF/NO/N/0/TRUE/FALSE
; [KW] 后处理, 设定, 运行进程, 运行状态, 关键词
; 设定为 后处理 状态
*POST
; [KW] 后处理, 节点,单元, 激活, 状态, 设置
; 激活节点或单元, 在读取 MIDAS 计算结果文件时, 需要根据选择的单元 或 节点进行输出
; 此时, 在选择节点或单元之前,必须保证 节点号/单元号 处于激活状态( 标识值 = 1)
; 默认对全部 节点或单元
; 相关命令: *GETDATAFILED
*LIVE, NODE/ELEM/节点/单元[, ALL/[N1, N2, NAdd]]
; [KW] 数据, 分隔符
; 设置输出结果文件中的 数据分隔符
; myChar 可以为字符串变量, 也可以直接输入 字符串(两端必须用 "" )
; 因为
, 顺序, 调整, 输出
; 选择 工况序号, 建立需要输出的 工况序号 集合
; NEW/CLEAR/CLE/NONE/NON 新建立/删除全部
; ADD/DEL 新建立/添加/删除
; 工况号 1to10b2, 3, 4 等各式
*LDSEL, NEW/CLEAR/CLE/NONE/NON/ADD/DEL, Ld1, Ld2, Ld3, ..., 1to10b2, ...
; [KW] 后处理, 选择, 工况, 顺序, 调整, 输出
; 选择 工况序号, 建立需要输出的 工况序号 集合, 同 *LDSEL
; NEW/CLEAR/CLE/NONE/NON 新建立/删除全部
; ADD/DEL 新建立/添加/删除
; 工况号 1to10b2, 3, 4 等各式
*LOADCASESEL, NEW/CLEAR/CLE/NONE/NON/ADD/DEL, Ld1, Ld2, Ld3, ..., 1to10b2, ...
; [KW] 后处理, 节点, 位移, 读取, 保存
; 读取 MIDAS 计算结果文件 mdsResultFN 中的 节点位移 数据, 保存到文件及 内存数组(与 *OUT 命令结合), 同 *READDISPLACE
; myMidasResultFN 扩展名为 .ANL, 通过 MIDAS 菜单(结果->输出文本结果) 保存计算结果 文本文件
; myForceOutFN 将要保存的内力结果文件名, 为空值则不保存到文件
; ccKIND 需要输出的内力序号标记 (1-654321)
; ccCFT 内力输出的格式, 如 "12.7
lemName 将要读取的单元中文名
; ccKIND 需要输出的应力序号标记 (1-654321)
; ccCFT 内力输出的格式, 如 "12.4
, 不含路径
*ANSYS, ON/YES/OFF/NO, FnNameBAS
; 中间文件输出选项
; 不生成 读取过程记录文件 NAME_LOG.OUT
*FILEOUT, LOG, ON/OFF
; [KW] 数据结束, 文件结束
; 数据结束
*EXIT/*ENDDATA
