HO_CAD専用掲示板

HOME HELP 新規作成 新着記事 ツリー表示 発言ランク ファイル一覧 検索 過去ログ

■3022 / 親階層)  コンタ補助(外部変形)
□投稿者/ 田舎の土建屋 (1回)-(2017/04/26(Wed) 16:47:51)
    当方win7 pro XPmode HO cad ver2.7使用gawkは同一フォルダに在り。
    2点間で互いに高さを持つ時、H=1mのピッチ割を図面に落とす。
    「おーくの友」の作者に謝意を送ります。


    REM m補助【HO_CAD用に変更】 *
    @echo off
    REM #jw
    REM #h0
    REM #cd
    REM #1起点指示
    REM #2端点指示
    REM #1ch 起点高さ指示【TXT読み込み】
    REM #2ch 端点高さ指示【TXT読み込み】
    REM #e
    copy jwc_temp.txt test.txt > nul
    gawk.exe -f m補助.awk test.txt > jwc_temp.txt
    del test.txt
    end


    # m補助.awk

    /^hp1/{x1=$2;y1=$3}
    /^hp2/{x2=$2;y2=$3}
    /^hhp3/{n=1}
    /^hhp4/{n=2}
    /^ch/{
    if(n==1){h1=substr($6,2)*10^3}
    if(n==2){h2=substr($6,2)*10^3}
    }
    END{
    if((h2-h1)>0)
    {
    xu=x2;yu=y2;hu=h2;xb=x1;yb=y1;hb=h1
    }
    else{xu=x1;yu=y1;hu=h1;xb=x2;yb=y2;hb=h2
    }
    si=xu-xb; xsgn= sgn(si);
    si=yu-yb; ysgn= sgn(si);
    c=1000;hu=hu/c;hb=hb/c
    xk=(hu-hb)/(xu-xb+1e-7);yk=(hu-hb)/(yu-yb+1e-7)
    ab=xk;ab=abs(ab)
    xk=ab
    ab=yk;ab=abs(ab)
    yk=ab
    xt=(hb-int(hb))/xk;yt=(hb-int(hb))/yk
    xmk=1/xk;ymk=1/yk
    xge=xb-xsgn*xt;yge=yb-ysgn*yt;xcyo=(xu-xge);ycyo=(yu-yge)
    if(ysgn==0){n=xcyo/xmk}
    else{n=ycyo/ymk}
    ab=n;ab=abs(ab)
    n=ab;n=int(n)
    for(i = 1; i<= n; i++){
    printf("pt %e %e\n",(i*xsgn*xmk+xge),(i*ysgn*ymk+yge))
    }}
    function abs(ab) {
    if (ab<0) return -ab
    else return ab
    }
    function sgn(si)
    {
    if (si > 0) {
    return si=1}
    else if (si == 0) {
    return si=0}
    else {
    return si=-1;
    }}




記事引用 [メール受信/OFF] 削除キー/

前の記事(元になった記事) 次の記事(この記事の返信)
親記事 返信無し
 
上記関連ツリー

Nomal コンタ補助(外部変形) / 田舎の土建屋 (17/04/26(Wed) 16:47) #3022 ←Now

All 上記ツリーを一括表示
 
上記の記事へ返信