Indexへ
(9060)//【9061】→(9062)
------------------------
【タイトル】寸法値について
【記事番号】 9061 (*)
【 日時 】07/02/19 20:02
【 発言者 】k.w watanabe@funz.jp

寸法図形化された寸法値を複数まとめて移動する方法は、ないでしょうか(@_@)?


Indexへ
(9061)←【9062】→(9065)
------------------------
【タイトル】Re(1):寸法値について
【記事番号】 9062 (9061)
【 日時 】07/02/19 22:41
【 発言者 】kubo

▼k.wさん:
>寸法図形化された寸法値を複数まとめて移動する方法は、ないでしょうか(@_@)?

ご質問の内容が簡単すぎてよく判りません・・・。

「寸法図形化された寸法値」にかかわらず、図形を移動するのは、
「移動」コマンドで、範囲指定して「移動」すればできますけれど、
ご質問の趣旨は、それではないよう気がしますが・・・。

もしそうなら、もっと詳しく書き込みされた方がよろしいかと思います。


Indexへ
(9062)←【9065】→(9066)
------------------------
【タイトル】Re(1):寸法値について
【記事番号】 9065 (9061)
【 日時 】07/02/19 23:39
【 発言者 】coolyoppe

▼k.wさん:
>寸法図形化された寸法値を複数まとめて移動する方法は、ないでしょうか(@_@)?

こんにちは。

例えば、寸法線の上側に配置されている寸法値をまとめて寸法線の下側に
移動したいということなら、KITIさん作の「寸法回転」という外部変形が
あります。
選択した複数の寸法値をまとめて次の状態に出来るようです。
「回転」=その場で文字を180度回転
「反転」=寸法線の反対側に180度回転して移動
「跳越」=寸法線の反対側にそのまま移動

ただ、寸法の設定で「文字方向無補正」にチェックが無い状態で作図した
寸法だと、作図時に指示した順番によってはうまくいかない場合もある
ようです。(例えば、水平の寸法で右から左と指示して寸法線の上側に
作図された寸法など。)

また、外変実行後は寸法図形化はそのままですが寸法属性が解除されて
しまうようですので、属性選択などする場合は注意して下さい。
寸法図形で属性選択後、寸法属性に属性変更すれば戻ります。
(JWWの外部変形では寸法属性と寸法図形を同時に設定出来ないため。)


Indexへ
(9065)←【9066】→(9072)
------------------------
【タイトル】Re(2):寸法値について
【記事番号】 9066 (9065)
【 日時 】07/02/20 09:02
【 発言者 】KITI

 coolyoppeさん おはようございます、広島のKITIです。

>例えば、寸法線の上側に配置されている寸法値をまとめて寸法線の下側に
>移動したいということなら、KITIさん作の「寸法回転」という外部変形が
>あります。

 愚作の紹介ありがとうございます。

>ただ、寸法の設定で「文字方向無補正」にチェックが無い状態で作図した
>寸法だと、作図時に指示した順番によってはうまくいかない場合もある
>ようです。(例えば、水平の寸法で右から左と指示して寸法線の上側に
>作図された寸法など。)

 タイミングよく? 現在修正作業中です。ただ時間がとれなくて・・
近日中にはUPしたいと思っています。その折にはよろしくお願いします。

  デワデワ   広島のKITIより


Indexへ
(9066)←【9072】→(9073)
------------------------
【タイトル】寸法値について
【記事番号】 9072 (9065)
【 日時 】07/02/20 16:57
【 発言者 】k.w watanabe@funz.jp

coolyoppeさん、どうもありがとうございます。
その外変は僕もかなり使用させて頂いております。
寸法値だけを任意の位置にまとめて移動させたいのですが...(@_@;)
コピーや縮小拡大を行ってるうちになぜか寸法値が寸法線と若干重なってしまったのです。ひとつずつ、元の位置辺りに戻していたのでは時間がかかりすぎてしまうし、寸法解除して移動し、再度寸法化させると寸法化されないものもあるので困ってます。


Indexへ
(9072)←【9073】→(9074)
------------------------
【タイトル】Re(1):寸法値について
【記事番号】 9073 (9072)
【 日時 】07/02/20 17:28
【 発言者 】コジマ

▼k.wさん:
>寸法値だけを任意の位置にまとめて移動させたいのですが...(@_@;)
>コピーや縮小拡大を行ってるうちになぜか寸法値が寸法線と若干重なってしまったのです。ひとつずつ、元の位置辺りに戻していたのでは時間がかかりすぎてしまうし、寸法解除して移動し、再度寸法化させると寸法化されないものもあるので困ってます。

任意の規則性の無い位置にまとめて移動させるのは不可能です。
(各寸法図形・寸法値の元座標があれば、元に戻すことが可能でしょうが。)


以下の外部変形は、寸法線中央の指定した位置に一括移動します。
(デフォルト位値は、線上1mm(図寸))

以下の外部変形の実行には mswin32 版 Ruby のインストールが必要です。
以下で入手できます。
http://gravelroad.yh.land.to/category/2/subcatid/6

バッチファイルのみで実行されます。(スクリプト埋め込み)


◎バッチファイル(ファイル名 寸法位置変更.bat)
以下の文をコピペ後、全角スペースを半角スペースに一括置換してください。

@REM 寸法値位置の一括変更(寸法図形)
@echo off
REM #jww
REM #cd
REM #ht10
REM #zz
REM #zc
REM #zw
REM #c寸法値と寸法線の距離(図寸) 無指定:1/_/a
REM #h1
REM #e
copy jwc_temp.txt temp.txt > nul
ruby -x %~f0 temp.txt %1> jwc_temp.txt
exit

#!ruby -Ks
include Math
kyori=1
while ARGV.size>1
    case argument=ARGV.pop
        when /\/a/
            kyori=eval(argument[2..-1])
    end
end

by=[]
puts "hd"
while ARGF.gets
    xy=split
    if xy[0]=~/^hq/
    elsif xy[0]=~/^hs/
        xy[1..-1].each{|item|by<    elsif xy[0]=~/^lg/
        print $_
        lg=xy[0][2,1]
        zusun=by[lg.hex]
    elsif xy[0]=~/^msg/ or xy[0]=~/^\#/
        print $_
        msg=xy[0]
    elsif xy[0]=~/^\d|^-/
        print $_
        if msg=="msg"
            xy.collect!{|item|item.to_f}
            if xy[0]>xy[2]
                xy[0],xy[2],xy[1],xy[3]=xy[2],xy[0],xy[3],xy[1]
            elsif xy[0]==xy[2]
                if xy[1]>xy[3]
                    xy[1],xy[3]=xy[3],xy[1]
                end
            end
            sen=xy
        end
    elsif xy[0]=~/^cs/
        if msg=="msg"
            if $_=~/\"/
                moji=$'.chop
            end
            moji_arg=atan2(xy[4].to_f,xy[3].to_f)
            x=xy[1].to_f-sen[0]
            y=xy[2].to_f-sen[1]
            l=sqrt(x**2+y**2)
            moji_sen_arg=atan2(y,x)
            sen_arg=atan2(sen[3]-sen[1],sen[2]-sen[0])
            moji_x=sen[0]+(l*cos(moji_sen_arg-sen_arg))*cos(sen_arg)
            moji_y=sen[1]+(l*cos(moji_sen_arg-sen_arg))*sin(sen_arg)
            if sen_arg                xy[1]=moji_x-kyori*zusun*sin(sen_arg)
                xy[2]=moji_y+kyori*zusun*cos(sen_arg)
            end
            puts xy[0,5].join("\s")+"\s\""+moji
        else
            print $_
        end
    else
        print $_
    end
end


Indexへ
(9073)←【9074】→(9078)
------------------------
【タイトル】Re(2):修正
【記事番号】 9074 (9073)
【 日時 】07/02/20 18:06
【 発言者 】コジマ

寸法線と重なった寸法値・寸法線より下の寸法値は、移動しない条件をつけていました。
(無条件に移動するようにしました。)


◎バッチファイル(ファイル名 寸法位置変更.bat)
以下の文をコピペ後、全角スペースを半角スペースに一括置換してください。

@REM 寸法値位置の一括変更(寸法図形)
@echo off
REM #jww
REM #cd
REM #ht10
REM #zz
REM #zc
REM #zw
REM #c寸法値と寸法線の距離(図寸) 無指定:1/_/a
REM #h1
REM #e
copy jwc_temp.txt temp.txt > nul
ruby -x %~f0 temp.txt %1> jwc_temp.txt
exit

#!ruby -Ks
include Math
kyori=1
while ARGV.size>1
    case argument=ARGV.pop
        when /\/a/
            kyori=eval(argument[2..-1])
    end
end

by=[]
puts "hd"
while ARGF.gets
    xy=split
    if xy[0]=~/^hq/
    elsif xy[0]=~/^hs/
        xy[1..-1].each{|item|by<    elsif xy[0]=~/^lg/
        print $_
        lg=xy[0][2,1]
        zusun=by[lg.hex]
    elsif xy[0]=~/^msg/ or xy[0]=~/^\#/
        print $_
        msg=xy[0]
    elsif xy[0]=~/^\d|^-/
        print $_
        if msg=="msg"
            xy.collect!{|item|item.to_f}
            if xy[0]>xy[2]
                xy[0],xy[2],xy[1],xy[3]=xy[2],xy[0],xy[3],xy[1]
            elsif xy[0]==xy[2]
                if xy[1]>xy[3]
                    xy[1],xy[3]=xy[3],xy[1]
                end
            end
            sen=xy
        end
    elsif xy[0]=~/^cs/
        if msg=="msg"
            if $_=~/\"/
                moji=$'.chop
            end
            moji_arg=atan2(xy[4].to_f,xy[3].to_f)
            x=xy[1].to_f-sen[0]
            y=xy[2].to_f-sen[1]
            l=sqrt(x**2+y**2)
            moji_sen_arg=atan2(y,x)
            sen_arg=atan2(sen[3]-sen[1],sen[2]-sen[0])
            moji_x=sen[0]+(l*cos(moji_sen_arg-sen_arg))*cos(sen_arg)
            moji_y=sen[1]+(l*cos(moji_sen_arg-sen_arg))*sin(sen_arg)

            xy[1]=moji_x-kyori*zusun*sin(sen_arg)
            xy[2]=moji_y+kyori*zusun*cos(sen_arg)

            puts xy[0,5].join("\s")+"\s\""+moji
        else
            print $_
        end
    else
        print $_
    end
end


Indexへ
(9074)←【9078】//(9067)
------------------------
【タイトル】Re(1):寸法値について
【記事番号】 9078 (9072)
【 日時 】07/02/21 00:05
【 発言者 】coolyoppe

▼k.wさん:
>coolyoppeさん、どうもありがとうございます。
>その外変は僕もかなり使用させて頂いております。
>寸法値だけを任意の位置にまとめて移動させたいのですが...(@_@;)
>コピーや縮小拡大を行ってるうちになぜか寸法値が寸法線と若干重なってしまったのです。ひとつずつ、元の位置辺りに戻していたのでは時間がかかりすぎてしまうし、寸法解除して移動し、再度寸法化させると寸法化されないものもあるので困ってます。

寸法図形の寸法値は、コピー等で縮小などを行っても通常は寸法線との
位置は元のままのはずですが・・・。

コジマさんが作成された外変を以前にもここで公開されたようですが、
ご覧のとおり再度公開していただけましたので、ぜひお試し下さい。

尚、寸法線の下側に変更したいときは、距離に「寸法値文字高+離れ」
をマイナスで入力すると良いようです。
文字高の計算が面倒な場合は、KITIさんの外変「寸法回転」をご使用
下さい。KITIさんが早速修正版をアップされたようです。
また、KITIさんの外変「寸法文字頭左下」の「寸法移動」から「跳越」
で「寸法回転」と同様の処理が出来るようです。
http://homepage2.nifty.com/kiti_ku/index.html

▼コジマさん:ありがとうございます。
 いつも素早い対応に感心しきりです!

▼KITIさん:こんにちは。
 修正作業お疲れ様です。
 早速バージョンアップしていただけたようで、ありがとうございます。