« 切下げ | トップページ | ゼロパディング »

2022年9月 3日 (土)

標高計算

図面上に記載された指定点の標高値から、任意点の標高値を計算する外部変形です。
※直線、円弧上の任意点に標高値を作図します。

Photo_20220903111501

@if(0==1) //標高計算
@echo off
REM #jww
REM #cd
REM #1ch 標高(起点)を指示してください (L)クリック
REM #2ch 標高(終点)を指示してください (L)クリック
REM #3ch 道路長(起点→終点)を指示してください (L)クリック
REM #4ch 道路長(起点→測定点)を指示してください (L)クリック
REM #5 測定点を指示してください (L)クリック (R)クリック
REM #hr
REM #e
cscript //nologo //e:jscript "%~f0" %*
copy temp.txt jwc_temp.txt
del temp.txt
goto:eof
@end
//ファイルオープン
fso=new ActiveXObject("Scripting.FileSystemObject")
r=fso.OpenTextFile("jwc_temp.txt")
w=fso.CreateTextFile("temp.txt")
//ユーザー設定
unt="m" //単位
k=3 //小数点第3位
//文字角度
dx=0;dy=5 //垂直(水平:dx=5;dy=0)
//初期設定
dq="\"" //ダブルコーテーション
sp=" " //スペース
k=Math.pow(10,k) //累乗
i=0
val=[] //配列宣言
/////jwc_temp.txt読込み
while (!r.AtEndOfLine){
line=r.ReadLine()
/////
if(/hq/.test(line)){}
//標高値作図座標取得
else if(/hp5/.test(line)){
xy=line.split(/\s+/)
xc=Number(xy[1]);yc=Number(xy[2])
}
//各文字データ取得
else if(/^ch/.test(line)){
chr=line.split(/\s+/)
nbr=chr[5]
//標高値に分割
nbr=nbr.split(dq);nbr=nbr[1]
nbr=nbr.split(unt);nbr=nbr[0]
//
nbr=Number(nbr) //数値変換
val[i]=nbr //配列に格納
i=i+1
}
else{}
} //while
/////
//標高値計算
{
slp=(val[1]-val[0])/val[2] //勾配
alti=val[0]+slp*val[3] //標高値
alti=Math.floor(alti*k)/k //切下げ
//ゼロパディング
if(alti<10){
str=String(alti) //数値→文字列変換
num=str.length //文字列長さ
if(num==1){
alti=alti+".000"}
else if(num==3){
alti=alti+"00"}
else if(num==4){
alti=alti+"0"}
else{}
}
else if(alti>=10 && alti<100){
str=String(alti)
num=str.length
if(num==2){
alti=alti+".000"}
else if(num==4){
alti=alti+"00"}
else if(num==5){
rc=alti+"0"}
else{}
}
else if(alti>=100 && alti<1000){
str=String(alti)
num=str.length
if(num==3){
alti=alti+".000"}
else if(num==5){
alti=alti+"00"}
else if(num==6){
rc=alti+"0"}
else{}
}
else{}
//標高値作図
w.WriteLine("cc0") //文字基点"左下"
alti=["ch",xc,yc,dx,dy,dq+alti]
alti=alti.join(sp)
w.WriteLine(alti)
}
r.Close();w.close()

|

« 切下げ | トップページ | ゼロパディング »

コメント

somem様
お世話になっております

問題無く起動できております
【円周長測定(2点間)】+【標高計算】
無敵です~

私のようなモノに貴重なお時間を割いて頂き
本当にありがとう御座います

投稿: a.fujii | 2022年9月 3日 (土) 13時22分

a.fujiiさん

ちょっと、クリック数が多いのが、難点ですが。
電卓は使わなくてすみますね。

投稿: somem | 2022年9月 4日 (日) 08時37分

somem様
お世話になっております

とても満足しております
クロックにsomem様の外変
仕込み過ぎ状態です~

本当にありがとうございました
m(_ _)m

投稿: a.fujii | 2022年9月 4日 (日) 18時53分

somem様
お世話になっております

少し難題が…
①~②間で何十点か標高が欲しい場合が出て来たのですが計算できるものでしょうか?

またまたで申し訳ありませんm(__)m

投稿: a.fujii | 2022年9月 6日 (火) 06時16分

a.fujiiさん

現状の外部変形の延長ではできません。
特異区間は、この外変の繰り返しで作図してください。

投稿: somem | 2022年9月 6日 (火) 18時59分

somem様
お世話になっております

分かりました~
ありがとうございました。

投稿: a.fujii | 2022年9月 7日 (水) 05時37分

コメントを書く



(ウェブ上には掲載しません)




« 切下げ | トップページ | ゼロパディング »