過去ログ

                                Page    1539
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼外部変形の紹介  鋪装屋 21/9/28(火) 10:08
   ┗Re:外部変形の紹介  kojima 21/9/29(水) 12:59
      ┗Re:外部変形の紹介  鋪装屋 21/9/29(水) 15:08
         ┗Re:外部変形の紹介  kojima 21/9/29(水) 22:31
            ┗Re:外部変形の紹介  鋪装屋 21/9/30(木) 12:31
               ┗Re:外部変形の紹介  kojima 21/10/3(日) 22:10
                  ┣Re:外部変形の紹介  鋪装屋 21/10/4(月) 7:18
                  ┃  ┗Re:外部変形の紹介  鋪装屋 21/10/5(火) 9:30
                  ┗Re:外部変形の紹介  鋪装屋 21/10/15(金) 8:30
                     ┗Re:外部変形の紹介  鋪装屋 21/10/25(月) 10:28

 ───────────────────────────────────────
 ■題名 : 外部変形の紹介
 ■名前 : 鋪装屋
 ■日付 : 21/9/28(火) 10:08
 -------------------------------------------------------------------------
   使用目的ーーーー鋪装展開図
三角形・四角形面積表(小嶋氏作)で
複底辺(幅員)の記載が切点記載であるが
一括記載(例:面積記入)
高さ(延長)が展開図の中央もしくは展開図外に一括記載に
近い外部変形があれば紹介してください。
なお設定は必須です。

 ───────────────────────────────────────  ■題名 : Re:外部変形の紹介  ■名前 : kojima  ■日付 : 21/9/29(水) 12:59  -------------------------------------------------------------------------
   土木は専門外なので説明が理解できません。

舗装展開図は以下を参考にすれば
https://www.city.anjo.aichi.jp/zigyo/nyusatsu/keiyaku/yoteikekka/documents/2014102840d.pdf


〇設定4.txtの内容

書込レイヤ__________________________________________a
書込文字種__________________________________________3
小数点以下桁数______________________________________3
数値丸め 四捨五入:1 切上:2 切捨:3___________________1
指示点からの文字の離れ(図寸)________________________1
書込線色____________________________________________1
書込線種____________________________________________1
書込点色____________________________________________6
幅員の記入位置 指示点上:1 指示点下:2 幅員中央:3_____1


〇バッチファイル

@REM 舗装展開図への長さ記入
@echo off
REM #jww
REM #cd
REM #h1
REM #1記入縦位置の中心を指示してください
REM #hp
REM #e
notepad 設定4.txt
copy jwc_temp.txt temp.txt > nul
ruby -x %~f0 temp.txt > jwc_temp.txt
pause
goto end
#!ruby -Ks
include Math
#指定の小数点以下で丸める
def keta_f(s,keta,marume)
s2=s*(10**keta)
if marume==1
s3=s2.round
elsif marume==2
s3=s2.floor
else
s3=s2.ceil
end

return (s3.to_f/(10**keta)).to_s
end
tuki=0
setei_a=[]
open("設定4.txt","r"){|f|
while f.gets
xy=$_.split(/\_+/)
setei_a<<xy[1]
end
}
k_ly=setei_a[0]
k_mojisyu=setei_a[1].to_i
keta=setei_a[2].to_i
marume=setei_a[3].to_i
hanare=setei_a[4].to_f
k_lc=setei_a[5].to_i
k_lt=setei_a[6].to_i
k_pn=setei_a[7].to_i
iti=setei_a[8].to_i
puts "ly#{k_ly}","cn#{k_mojisyu}","lc#{k_lc}","lt#{k_lt}","pn#{k_pn}"
tatesen_a=[];by_a=[];hch=[]
while ARGF.gets
xy=$_.split
if xy[0]=~/^hs/
xy[1..-1].each{|item|by_a<<item.to_f}
end
if xy[0]=~/^lg/
zusun=by_a[xy[0][2,1].hex]
end
if xy[0]=~/^hch/
xy.each{|item|hch<<item.to_f}
end
if xy[0]=~/^hp1/
hpx=xy[1].to_f
hpy=xy[2].to_f
end
if xy[0]=~/^\d|^-/
xy.collect!{|item|item.to_f}
if xy[0]>xy[2]
xy[0],xy[1],xy[2],xy[3]=xy[2],xy[3],xy[0],xy[1]
elsif xy[0]==xy[2]
xy[1],xy[3]=xy[3],xy[1] if xy[1]>xy[3]
tatesen_a<<xy
end
end
end
tatesen_a.sort!{|a,b|a[0]<=>b[0]}
x1=tatesen_a[0][0]-tuki*zusun
x2=tatesen_a[-1][0]+tuki*zusun
puts "z3"
printf(" %.11f %.11f %.11f %.11f\n",x1,hpy,x2,hpy)
if iti==1
puts "cc0"
elsif iti==2
puts "cc2"
else
puts "cc1"
end
tatesen_a.each{|xx1,yy1,xx2,yy2|
l=hypot(yy2-yy1,xx2-xx1)/1000
moji_x=xx1-hanare*zusun
if iti==1
moji_y=hpy+hanare*zusun
elsif iti==2
moji_y=hpy-hanare*zusun
else
moji_y=yy1+(yy2-yy1)/2
end
puts "z3"
printf("ch %.11f %.11f 0 1 \"%s\n",moji_x,moji_y,keta_f(l,keta,marume))
puts "z3"
printf("pt %.11f %.11f\n",xx1,hpy)
}
iti==2 ? keisu= -1 : keisu=1

if iti==2
puts "cc1"
else
puts "cc7"
end
total_l=0
0.upto(tatesen_a.size-2){|i|
xw=tatesen_a[i+1][0]-tatesen_a[i][0]
moji_x=tatesen_a[i][0]+xw/2
moji_y=hpy-hanare*zusun*keisu
puts "z3"
printf("ch %.11f %.11f 1 0 \"%s\n",moji_x,moji_y,keta_f(xw/1000,keta,marume))
total_l += xw/1000
}
moji_h=hch[k_mojisyu]
y=hpy-(moji_h+hanare*3)*zusun*keisu
puts "z3"
printf(" %.11f %.11f %.11f %.11f\n",x1,y,x2,y)
puts "z3"
printf("pt %.11f %.11f\n",x1,y)
puts "z3"
printf("pt %.11f %.11f\n",x2,y)
xw=x2-x1
moji_x=x1+xw/2
moji_y=y-hanare*zusun*keisu
puts "z3"
printf("ch %.11f %.11f 1 0 \"%s\n",moji_x,moji_y,keta_f(total_l,keta,marume))
__END__
:end

 ───────────────────────────────────────  ■題名 : Re:外部変形の紹介  ■名前 : 鋪装屋  ■日付 : 21/9/29(水) 15:08  -------------------------------------------------------------------------
   ▼kojimaさん:
素早い対応ありがとうございます。
私が求めていた外変です。
お願いがあります。
数値丸めで、5単位切捨てを追加していただけないでしょうか。
厚かましいお願いで申し訳ありません。

 ───────────────────────────────────────  ■題名 : Re:外部変形の紹介  ■名前 : kojima  ■日付 : 21/9/29(水) 22:31  -------------------------------------------------------------------------
   〇設定4.txt

書込レイヤ_____________________________________________________a
書込文字種_____________________________________________________3
小数点以下桁数_________________________________________________3
数値丸め 四捨五入:1 切上:2 切捨:3 桁指定切捨:4 5単位切捨:5_____5
指示点からの文字の離れ(図寸)___________________________________1
書込線色_______________________________________________________1
書込線種_______________________________________________________1
書込点色_______________________________________________________6
幅員の記入位置 指示点上:1 指示点下:2 幅員中央:3________________1


〇バッチファイル

@REM 舗装展開図への長さ記入
@echo off
REM #jww
REM #cd
REM #h1
REM #1記入縦位置の中心を指示してください
REM #hp
REM #e
notepad 設定4.txt
copy jwc_temp.txt temp.txt > nul
ruby -x %~f0 temp.txt > jwc_temp.txt
pause
goto end
#!ruby -Ks
include Math
#指定の小数点以下で丸める
def keta_f(s,keta,marume)
xx=s*10**(keta)
case marume
when 1
suti=xx.round
when 2
suti=xx.ceil
when 3
suti=xx.floor
when 4
xx=s*10**(keta-1)
suti=xx.floor
return suti/(10.0**(keta-1))
when 5
xx=s*10**(keta-1)
d_str=sprintf("%f",xx)
int,d=d_str.split(".")
if d[0,1].to_i>=5
suti=("#{int}.5").to_f
else
suti=("#{int}.0").to_f
end
return suti/(10**(keta-1))
end
return suti/(10.0**keta)
end

tuki=0
setei_a=[]
open("設定4.txt","r"){|f|
while f.gets
xy=$_.split(/\_+/)
setei_a<<xy[1]
end
}

k_ly=setei_a[0]
k_mojisyu=setei_a[1].to_i
keta=setei_a[2].to_i
marume=setei_a[3].to_i
hanare=setei_a[4].to_f
k_lc=setei_a[5].to_i
k_lt=setei_a[6].to_i
k_pn=setei_a[7].to_i
iti=setei_a[8].to_i

puts "ly#{k_ly}","cn#{k_mojisyu}","lc#{k_lc}","lt#{k_lt}","pn#{k_pn}"

tatesen_a=[];by_a=[];hch=[]
while ARGF.gets
xy=$_.split
if xy[0]=~/^hs/
xy[1..-1].each{|item|by_a<<item.to_f}
end
if xy[0]=~/^lg/
zusun=by_a[xy[0][2,1].hex]
end
if xy[0]=~/^hch/
xy.each{|item|hch<<item.to_f}
end
if xy[0]=~/^hp1/
hpx=xy[1].to_f
hpy=xy[2].to_f
end
if xy[0]=~/^\d|^-/
xy.collect!{|item|item.to_f}
if xy[0]>xy[2]
xy[0],xy[1],xy[2],xy[3]=xy[2],xy[3],xy[0],xy[1]
elsif xy[0]==xy[2]
xy[1],xy[3]=xy[3],xy[1] if xy[1]>xy[3]
tatesen_a<<xy
end
end
end
tatesen_a.sort!{|a,b|a[0]<=>b[0]}
x1=tatesen_a[0][0]-tuki*zusun
x2=tatesen_a[-1][0]+tuki*zusun

puts "z3"
printf(" %.11f %.11f %.11f %.11f\n",x1,hpy,x2,hpy)

if iti==1
puts "cc0"
elsif iti==2
puts "cc2"
else
puts "cc1"
end

tatesen_a.each{|xx1,yy1,xx2,yy2|
l=hypot(yy2-yy1,xx2-xx1)/1000
moji_x=xx1-hanare*zusun
if iti==1
moji_y=hpy+hanare*zusun
elsif iti==2
moji_y=hpy-hanare*zusun
else
moji_y=yy1+(yy2-yy1)/2
end
puts "z3"
printf("ch %.11f %.11f 0 1 \"%.#{keta}f\n",moji_x,moji_y,keta_f(l,keta,marume))
puts "z3"
printf("pt %.11f %.11f\n",xx1,hpy)
}

iti==2 ? keisu= -1 : keisu=1

if iti==2
puts "cc1"
else
puts "cc7"
end

total_l=0
0.upto(tatesen_a.size-2){|i|
xw=tatesen_a[i+1][0]-tatesen_a[i][0]
moji_x=tatesen_a[i][0]+xw/2
moji_y=hpy-hanare*zusun*keisu
puts "z3"
printf("ch %.11f %.11f 1 0 \"%.#{keta}f\n",moji_x,moji_y,keta_f(xw/1000,keta,marume))
total_l += xw/1000
}

moji_h=hch[k_mojisyu]
y=hpy-(moji_h+hanare*3)*zusun*keisu
puts "z3"
printf(" %.11f %.11f %.11f %.11f\n",x1,y,x2,y)
puts "z3"
printf("pt %.11f %.11f\n",x1,y)
puts "z3"
printf("pt %.11f %.11f\n",x2,y)

xw=x2-x1
moji_x=x1+xw/2
moji_y=y-hanare*zusun*keisu
puts "z3"
printf("ch %.11f %.11f 1 0 \"%.#{keta}f\n",moji_x,moji_y,keta_f(total_l,keta,marume))

__END__
:end

 ───────────────────────────────────────  ■題名 : Re:外部変形の紹介  ■名前 : 鋪装屋  ■日付 : 21/9/30(木) 12:31  -------------------------------------------------------------------------
   ▼kojimaさん:
遅くまで対応していただきありがとうございました。
さらにお願いですが
同一地点で幅員違いの断面が有る場合の数値記入に
対応できればありがたいのですが、とりあえず
直接記入で対応します。
時間があるときに対応可能であれば検討お願いします。
いただいた外部変形で作業効率が上がります。
大変ありがとうございました。

 ───────────────────────────────────────  ■題名 : Re:外部変形の紹介  ■名前 : kojima  ■日付 : 21/10/3(日) 22:10  -------------------------------------------------------------------------
   ▼鋪装屋さん:
>▼kojimaさん:

>同一地点で幅員違いの断面が有る場合の数値記入に
>対応できればありがたいのですが

この一言で、格段に難易度が上がります。
(100行程度から400行以上に)
三角形・四角形面積表の外変の転用。

以下にアップしています。
https://www.farchi.jp/downloads/index.php/file_61597a278bf7b

 ───────────────────────────────────────  ■題名 : Re:外部変形の紹介  ■名前 : 鋪装屋  ■日付 : 21/10/4(月) 7:18  -------------------------------------------------------------------------
   ▼kojimaさん:
ありがとうございました。
感謝、感謝です。

 ───────────────────────────────────────  ■題名 : Re:外部変形の紹介  ■名前 : 鋪装屋  ■日付 : 21/10/5(火) 9:30  -------------------------------------------------------------------------
   >▼kojimaさん:
次回、見直しの際、5単位切捨を入れて
もらえればありがたいです。
よろしくお願いします。

 ───────────────────────────────────────  ■題名 : Re:外部変形の紹介  ■名前 : 鋪装屋  ■日付 : 21/10/15(金) 8:30  -------------------------------------------------------------------------
   ▼kojimaさん:
鋪装展開図寸法記入02ありがとうございます。
快適に作業できます。
質問ですが
傾きのある展開図にも対応可能にした。(舗装展開図寸法記入2.bat)
ですが
普通の展開図(寸法記入で0K)を傾けて複写して
舗装展開図寸法記入2.batを実行しても無反応です。
傾きのある展開図とはどのような展開図でしょうか。

 ───────────────────────────────────────  ■題名 : Re:外部変形の紹介  ■名前 : 鋪装屋  ■日付 : 21/10/25(月) 10:28  -------------------------------------------------------------------------
   ▼kojimaさん:
鋪装展開図寸法記入03
ありがとうございます。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 1539