如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
TI单曲线编程案例讲解NO代码说明1Definea.qx()=设置a.qx用a和点号启动程序2Prgm自动生成的程序开始部分3RequestStr"重输起点0否1",zq,0字符串设置是否重输起点数据4z:=expr(zq)转换字符串为数值函数5Ifz=0Then条件语句开始部分6RequestStr"起点方位角",θh,0小数点输入方位角7expr(θh)→θ转换字符串为数值函数8θ0:=iPart(θ)+((fPart(θ))/(0.6))+((fPart(100*θ))/(90))把小数输入的角度转换为度9Request"起点X",x0,0提示输入起点坐标X10Request"起点Y",y0,0提示输入起点坐标Y11Request"起点桩号",k0,0起始输入起点桩号12Request"终点桩号",kz,0终点桩号13Request"起点半径",r1,0起点半径14Request"终点半径",r2,0终点半径15Request"左偏-1右1",β,0曲线走向,左负右正16EndIf结束条件语句17setMode(2,2)设置角度为度数18ls:=kz-k0计算全线曲线长19Ifr1=0Then计算起点曲率20ρ1:=0防止R=0时的数学错误21Else22ρ1:=((1)/(r1))23EndIf结束条件语句24Ifr2=0Then计算终点曲率25ρ2:=0防止R=0时的数学错误26Else27ρ2:=((1)/(r2))28EndIf结束条件语句29RequestStr"正算0反算字符串设置正算输0反算130字符串转换为数值31Ifz=0Then正算32Request"桩号≥"&string(k0),ki,0输入桩号,提示起点桩号33Ifki<k0-0.005orki>kz+0.005Then设置桩号超出范围的条件语句34Text"桩号超出范围",0显示超出范围35Stop终止程序36EndIf37Request"边距=",di,0输入边桩到中桩的距离38RequestStr"夹角(左负右正)=",θ₁,0边桩和中桩切线方位角39expr(θ₁)→θ转换40intDiv(θ,1)+((intDiv(remain(θ,1)*100,1))/(60))+((remain(把小数输入的度分秒转换为度θ*100,1)*100)/(3600))→θ141Else否则42Request"反算点X=",xp,0输入反算坐标43Request"反算点Y=",yp,044R▶Pr(xp-x0,yp-y0)+k0→ki计算近似桩号45Request"近似桩号=",ki,0桩号确认或者输入46Ifki<k0-0.005orki>kz+0.005Then超出范围的判断条件语句47Text"桩号超出范围",048Stop49EndIf50EndIf51Lblb152l:=ki-k0计算点到起点的曲线长53setMode(2,1)设置角度为弧度54θi:=θ0+∫(ρ1+((ρ2-ρ1)/(ls))*l,l,0,l)*β*((180)/(π))计算方位角55xz:=x0+∫(cos(θ0*((π)/(180))+ρ1*l*β+(ρ2-计算中桩坐标ρ1)*β*((l^(2))/(2*ls))),l,0,l)56yz:=y0+∫(sin(θ0*((π)/(180))+ρ1*l*β+(ρ2-ρ1)*β*((l^(2))/(2*ls))),l,0,l)57setMode(2,2)设置角度单位为度58Ifz=0Then59Disp[["桩号","边距","夹角"][ki,di,θ₁]]显示边桩数据60θi:=360*fPart(((360+θi)/(360)))转换方位角函数61Disp"中桩方位角=",θi▶DMS显示中桩切线方位角62Disp"计算X=",xz+di*cos(θi+θ)显示坐标63Disp"计算Y=",yz+di*sin(θi+θ)64EndIf65Ifz≠0Then反算66(xp-xz)*cos(θi)+(yp-yz)*sin(θi)→kn计算桩号差值67ki+kn→ki趋近桩号68Ifabs(kn)≥0.001Then差值大于1毫米,继续趋近计算69Gotob1到标签1重算70Else71Disp"桩号=",round(ki,3)条件成立显示桩号72Disp"边距=",round(−(xp-xz)*sin(θi)+(yp-yz)*cos(θi),3)显示边距73EndIf74EndIf75EndPrgm76以下是代码图片277