« 距離測定 | トップページ | 円周長測定(2点間) »

2022年8月19日 (金)

円周長測定

選択した複数円弧の円周長を一括で測定する外部変形です。
注1. 円弧以外の選択図形は、除外されます。楕円弧は対象外。
 2. 回転移動/複写した円弧の測定結果は、規定位置に作図できません。

Photo_20220819100501

@if(0==1) //円周長測定
@echo off
REM #jww
REM #cd
REM #h1 範囲内のデータのみを選択
REM #ht10 ブロック図形除外
REM #ht30 寸法図形除外
REM #ht40 ソリッド図形除外
REM #hc 範囲選択してください。
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")
//ユーザー設定
ut=1000 //単位: m
unt="m"//単位表記:"m"、表記なし:""
k=3 //小数点第3位
//初期設定
dq="\"" //ダブルコーテーション
sp=" " //スペース
k=Math.pow(10,k)
/////jwc_temp.txt読込み
while (!r.AtEndOfLine){
line=r.ReadLine()
//
if(/hq/.test(line)){
}
//円弧取得
else if(/ci/.test(line)){
xy=line.split(/\s+/)
num=xy.length //配列数
xc=Number(xy[1]);yc=Number(xy[2]) //中心座標
rad=Number(xy[3]) //半径
ths=Number(xy[4]);the=Number(xy[5]) //始角・終角
el=xy[6] //扁平率
//円弧長計算
if(num==8 && el==1){
if(the>=ths){
th=the-ths //中心角
thc=ths+th/2} //法線(中心)傾き
else{
th=the+360-ths //中心角
thc=ths+th/2 //法線(中心)傾き
if(thc>360){thc=ths+th/2-360}
else{}
}
//ラジアン変換
th=th*Math.PI/180 //中心角
thc=thc*Math.PI/180 //法線(中心)傾き
//円周長計算
arc=rad*th/ut
arc=Math.round(arc*k)/k //四捨五入
//円周長作図座標
dx=rad*Math.cos(thc)
dy=rad*Math.sin(thc)
xch=xc+dx
ych=yc+dy
if(thc>Math.PI && thc<2*Math.PI)
{ cdx=-dy;cdy=dx}
else{cdx=dy;cdy=-dx}
//円周長作図
w.WriteLine("cc1") //文字基点"中下"
arclth=["ch",xch,ych,cdx,cdy,dq+arc+unt]
arclth=arclth.join(sp)
w.WriteLine(arclth)
}
else{} //円・楕円除外
}
else if(/^ /.test(line)){} //線除外
else if(/l[cty]|c[nhvskz2]|p[lt]/.test(line)){} //文字・点他除外
//設定情報
else{
w.WriteLine(line)}
} //while
r.Close();w.close()

|

« 距離測定 | トップページ | 円周長測定(2点間) »

コメント

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

最高です!
もっと早く相談すればよかったです…
有難く使わせて頂きます


因みに…すいません…
結果の語尾に単位付(m、mm)をしたいのですが
可能でしょうか?

投稿: a.fujii | 2022年8月19日 (金) 11時12分

somem様
追申:

当方工事測量等で設計レイアを仮表示にして
別のレイアで円弧の線上に実点を打って点間弧長をJWWの測定コマンドの弧指定で仮表示弧長を測定し
結果を書込みしてます…

外部変形でも仮表示を選択できるものなのでしょうか?

何度も厚かましいかも知れませんが
ご一考頂ければ幸いです。

投稿: a.fujii | 2022年8月19日 (金) 11時44分

a.fujiiさん、こんにちは。

単位表記、修正しました。(赤字)
1.ユーザー設定、2行目追加
2.円周長作図:2行目修正

距離測定も同様に修正しています。

>外部変形でも仮表示を選択できるものなのでしょうか?

外部変形で、指定レイヤの表示状態を切換えたいということですか?

投稿: somem | 2022年8月19日 (金) 12時45分

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

早速のご対応ありがとう御座います

すいません
JWWの測定コマンドで仮表示状態の円弧線が読み取りと言うか「なぞり」ができるので外部変形(円周長測定)でも仮表示状態の円弧線を測定出来るものなのでしょうか?

投稿: a.fujii | 2022年8月19日 (金) 13時07分

a.fujiiさん

外部変形では、仮表示レイヤの読取りはできません。

何故、表示状態で操作できないのか理由を教えていただけますか?
測定結果を別レイヤに作図したいということなら、外変で作図レイヤを指定することもできます。
それと、この外変では、円弧上の点間の周長は、測定できません。
距離測定と同じ様に、点間指定のスプリクトの方が良いのでしょうか?

投稿: somem | 2022年8月19日 (金) 15時44分

somem様
お世話になっております
言葉足らず申し訳ありません

・設計データを仮表示でプリントアウトすると測量データにメリハリ付き易いのと設計データの実点と測量データの実点を捕らえるときのエラー防止に便利で仮表示を頻繁に使います…当然レイヤで切り替えれば済む話ですので私の「ものぐさ」意見です無視してください(笑

・できましたら…円弧上の2点間距離が測定できれば
私的にはとても幸せなのですが…

すいません…人様の土俵で勝手なことばかり言いましてm(_ _)m

投稿: a.fujii | 2022年8月19日 (金) 16時24分

a.fujiiさん

少しお待ちください。

投稿: somem | 2022年8月19日 (金) 18時09分

a.fujiiさんへ

2点指示+円指示 が欲しいのか
2点指示+通過点指示 が欲しいのか
どちらかなのかを明確に書かれた方が良いと思います。アルゴリズムが結構違いますので。(後者の場合、3点円弧を計算する必要があります)

投稿: AF | 2022年8月19日 (金) 19時01分

AFさん、こんばんは。

2点指示+円指示だとは思いますが、どうでしょう。
滅多に作らない外部変形なので、いろいろ思い出しながらで、頭の体操です。

投稿: somem | 2022年8月19日 (金) 20時07分

somem様
AF様

お世話になっております。
「2点+円指示」です

お手間取らせます
よろしくお願いいたします。

投稿: a.fujii | 2022年8月20日 (土) 06時03分

コメントを書く



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




« 距離測定 | トップページ | 円周長測定(2点間) »