Indexへ
(19574)//【19554】→(19559)
------------------------
【タイトル】折れ線の角度測定について
【記事番号】 19554 (*)
【 日時 】07/03/06 09:13
【 発言者 】art

 お世話になります。
 折れ線グラフのような図形がある場合にある線分と線分との角度を測定し図面上に書き込んでくれるような外部変形はないでしょうか。

 例えば、水平な線分の端部からY方向にプラス(又は、マイナス)の方向に任意の線分を書いたとします。
 この場合に、もとの線分から任意の線分は2つの角度をもちますが(上側と下側)、この角度を簡単に測定したいのです。
 実際に作画したものは、s=1/500で総延長で1km程度の水道管でして、線分と線分との交点が500点ほど有り測定及びチェックで相当の時間が掛かりそうなので投稿致しました。角度は、度分秒で表示されると助かるのですが。(小数表示との切り替えがあるとなおいいです。)
 このような事の出来る類似の外部変形でも良いのですがご存じの方がおられたら教えてください。
 よろしくお願い致します。


Indexへ
(19554)←【19559】→(19561)
------------------------
【タイトル】Re(1):折れ線の角度測定について
【記事番号】 19559 (19554)
【 日時 】07/03/06 10:35
【 発言者 】鈴木

▼artさん:
> お世話になります。
> 折れ線グラフのような図形がある場合にある線分と線分との角度を測定し図面上に書き込んでくれるような外部変形はないでしょうか。
>
> 例えば、水平な線分の端部からY方向にプラス(又は、マイナス)の方向に任意の線分を書いたとします。
> この場合に、もとの線分から任意の線分は2つの角度をもちますが(上側と下側)、この角度を簡単に測定したいのです。
> 実際に作画したものは、s=1/500で総延長で1km程度の水道管でして、線分と線分との交点が500点ほど有り測定及びチェックで相当の時間が掛かりそうなので投稿致しました。角度は、度分秒で表示されると助かるのですが。(小数表示との切り替えがあるとなおいいです。)
> このような事の出来る類似の外部変形でも良いのですがご存じの方がおられたら教えてください。
> よろしくお願い致します。

●JWW標準装備として「線角」と「測定」の「角度測定」がありますが
この機能が不十分ということでしたら、もう少し具体的に要望を書かれると
回答もつきやすいと思います。


Indexへ
(19559)←【19561】→(19562)
------------------------
【タイトル】Re(1):折れ線の角度測定について
【記事番号】 19561 (19554)
【 日時 】07/03/06 11:38
【 発言者 】おっとー

▼artさん:
> お世話になります。
> 折れ線グラフのような図形がある場合にある線分と線分との角度を測定し図面上に書き込んでくれるような外部変形はないでしょうか。
>
> 例えば、水平な線分の端部からY方向にプラス(又は、マイナス)の方向に任意の線分を書いたとします。
> この場合に、もとの線分から任意の線分は2つの角度をもちますが(上側と下側)、この角度を簡単に測定したいのです。
> 実際に作画したものは、s=1/500で総延長で1km程度の水道管でして、線分と線分との交点が500点ほど有り測定及びチェックで相当の時間が掛かりそうなので投稿致しました。角度は、度分秒で表示されると助かるのですが。(小数表示との切り替えがあるとなおいいです。)
> このような事の出来る類似の外部変形でも良いのですがご存じの方がおられたら教えてください。
> よろしくお願い致します。

こんにちは
角度を測定し図面上に書き込んでくれるような外部変形とありますが
測定のみ出来る外部変形はあります。線と線で角度を測定出来るので役に立つのではないでしょうか。
sugi様のホームページのRuby 外部変形 スクリプト集 for jww ver 0.99bに
測定.BATが入っています。
http://homepage2.nifty.com/igus/
jwwの測定 又は 寸法で 線と線で角度を記入出来れば良いのですが・・・


Indexへ
(19561)←【19562】→(19599)
------------------------
【タイトル】Re(2):折れ線の角度測定について
【記事番号】 19562 (19561)
【 日時 】07/03/06 13:17
【 発言者 】art

▼鈴木さん、おっとーさん:
回答頂きありがとうございます。
教えて頂いた外部変形を確認してみます。
ありがとうございました。


Indexへ
(19562)←【19599】→(19605)
------------------------
【タイトル】Re(1):折れ線の角度測定について
【記事番号】 19599 (19554)
【 日時 】07/03/07 16:56
【 発言者 】コジマ

▼artさん:
> お世話になります。
> 折れ線グラフのような図形がある場合にある線分と線分との角度を測定し図面上に書き込んでくれるような外部変形はないでしょうか。
>
> 例えば、水平な線分の端部からY方向にプラス(又は、マイナス)の方向に任意の線分を書いたとします。
> この場合に、もとの線分から任意の線分は2つの角度をもちますが(上側と下側)、この角度を簡単に測定したいのです。
> 実際に作画したものは、s=1/500で総延長で1km程度の水道管でして、線分と線分との交点が500点ほど有り測定及びチェックで相当の時間が掛かりそうなので投稿致しました。角度は、度分秒で表示されると助かるのですが。(小数表示との切り替えがあるとなおいいです。)

エルボの曲り角度の記入?

◎バッチファイル(ファイル名 連線角度.bat)
rubyスクリプト埋め込みなので、バッチファイルのみで動作します。

@REM 連線上へ曲り角度記入
@echo off
REM #jww
REM #cd
REM #c線と文字の離れ(図寸)無指定:1mm/_/a
REM #k角度の単位|1)度(L)|2)度分秒(R)|/_/b
REM #c小数点以下有効桁 無指定:3/_/c
REM #h1
REM #1連続線の始点を右クリック
REM #99#
REM #hp
REM #e
copy jwc_temp.txt temp.txt > nul
ruby -x %~f0 temp.txt %1 %2 > jwc_temp.txt
exit
#!ruby -Ks
include Math
hanare=1.0;keta=3
while ARGV.size>1
    case argument=ARGV.pop
        when /\/a/
            hanare=argument[2..-1].to_f
        when /\/b/
            tani=argument[2..-1]
        when /\/c/
            keta=argument[2..-1]
    end
end
sen=[];hp=[];by=[]
while ARGF.gets
    xy=split
    if xy[0]=~/^hs/
        xy[1..-1].each{|item|by<    end
    if xy[0]=~/^hp/
        hp<<[xy[1].to_f,xy[2].to_f]
    end
    if xy[0]=~/^lg/
        zusun=by[xy[0][2,1].hex]
    end
    if xy[0]=~/^\d|^-/
        xy.collect!{|item|item.to_f}
        sen<    end
end
i=0
while i    renzoku=[];a=hp[i]
    begin
      renzoku<        b=sen.find{|item|[item[0],item[1]]==a or [item[2],item[3]]==a}
        if b
            if renzoku[-1][0]==b[0] && renzoku[-1][1]==b[1]
                a=[b[2],b[3]]
            elsif renzoku[-1][0]==b[2] && renzoku[-1][1]==b[3]
                a=[b[0],b[1]]
            end
            sen.delete_if{|item|item==b}
        end
    end while(b)
    kakudo=atan2(renzoku[1][1]-renzoku[0][1],renzoku[1][0]-renzoku[0][0])*360/(2*PI)
    1.upto(renzoku.size-2){|j|
        x=renzoku[j+1][0]-renzoku[j][0]
        y=renzoku[j+1][1]-renzoku[j][1]
        l=sqrt(y**2+x**2)
        arg=atan2(y,x)
        kakudo2=arg*360.0/(2*PI)
        kakudo2 += 360.0 if kakudo2<0
        kakudo3=kakudo2-kakudo
        kakudo3 += 360.0 if kakudo3<0
        kakudo3 -= 360.0 if kakudo3>180
        moji_x=renzoku[j][0]-hanare*zusun*sin(arg)+hanare*zusun*cos(arg)
        moji_y=renzoku[j][1]+hanare*zusun*cos(arg)+hanare*zusun*sin(arg)
        if tani == "2"
            if kakudo3.to_s =~ /\./
                word1=$`
                word=("0"+$&+$').to_f*60
            else
                word1=kakudo3.to_s
                word=sprintf("%.#{keta}f",0)
            end
            if word.to_s =~ /\./
                word2=$`
                word=("0"+$&+$').to_f*60
            else
                word2=word
                word=sprintf("%.#{keta}f",0)
            end
            if word.to_s =~ /\./
                word3=sprintf("%.#{keta}f",word)
                word4=$&+$' if word3=~/\./
            else
                word3=sprintf("%.#{keta}f",0)
                word4=$&+$' if word3=~/\./
            end
            if word3.to_i == 60
                word2 ="#{word2.to_i+1}"
                word3 =sprintf("%.#{keta}f",0)
            end
            if word2.to_i == 60
                word1 ="#{word1.to_i+1}"
                word2 ="0"
            end
            word3=word3.to_i
            printf("ch %.11f %.11f %.11f %.11f \"%d°%02d'%02d%s\"\n",moji_x,moji_y,cos(arg),sin(arg),word1,word2,word3,word4)
        else
            kakudo3=sprintf("%.#{keta}f",kakudo3)
            printf("ch %.11f %.11f %.11f %.11f \"%s\n",moji_x,moji_y,cos(arg),sin(arg),kakudo3)
        end
        kakudo=kakudo2
    }
    i +=1
end


Indexへ
(19599)←【19605】//(19556)
------------------------
【タイトル】Re(2):折れ線の角度測定について
【記事番号】 19605 (19599)
【 日時 】07/03/08 13:07
【 発言者 】art

▼コジマさん:
いつもお世話になります。

>エルボの曲り角度の記入。
 その通りです。塩ビ管や鋳鉄管を道路に配管する時に、概略の法線を入れて見た後、曲管を選択する場合に非常に有効です。
 いつもお世話をかけてすいません。ありがとうございました。