Indexへ
(3413)//【3414】→(3424)
------------------------
【タイトル】寸法値と寸法線の離れの一括変更
【記事番号】 3414 (*)
【 日時 】05/07/23 00:38
【 発言者 】青いウサギ

寸法値と寸法線の離れが、0.5なのを

0.35に一括変更出来ますか?

ver.4.05a

XP Pro SP2


Indexへ
(3414)←【3424】→(3427)
------------------------
【タイトル】Re(1):寸法値と寸法線の離れの一括変更
【記事番号】 3424 (3414)
【 日時 】05/07/23 14:51
【 発言者 】コジマ

▼青いウサギさん:
>寸法値と寸法線の離れが、0.5なのを
>
>0.35に一括変更出来ますか?
>
>ver.4.05a
>
>XP Pro SP2

標準機能では、できません。

外部変形なら可能です。
(但し、寸法線と寸法値の関連付けがメンドーなので、寸法値を鉛直方向に一括して数値移動するようにしました。)

「寸法値の鉛直移動距離(図寸)数式可」の欄に -0.15 または 0.35-0.5 と入力してください。

この外変の実行には、mswin32 版 Ruby のインストールが必要です。
以下で入手できます。
http://www61.tok2.com/home2/gravelroad/tips/inst_msw.html

コピペ後、全角スペースを半角スペースに一括置換してください。

◎バッチファイル(ファイル名 寸法値位置変更.bat)

@REM 寸法値位置の一括変更
@echo off
REM #jww
REM #cd
REM #ht10
REM #zz
REM #zw
REM #c寸法値の鉛直移動距離(図寸)数式可 無指定:1/_/a
REM #h3
REM #e
copy jwc_temp.txt temp.txt > nul
ruby -Ks 寸法値位置変更.rb temp.txt %1> jwc_temp.txt

◎スクリプトファイル(ファイル名 寸法値位置変更.rb)

include Math
move=1
while ARGV.size>1
    case argument=ARGV.pop
        when /\/a/
            move=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]=~/^cs/
        if $_=~/\"/
            moji=$'.chop
        end
        moji_arg=atan2(xy[4].to_f,xy[3].to_f)
        xy[1]=xy[1].to_f-move*zusun*sin(moji_arg)
        xy[2]=xy[2].to_f+move*zusun*cos(moji_arg)
        puts xy[0,5].join("\s")+"\s\""+moji

    else
        print $_

    end
end


Indexへ
(3424)←【3427】→(3430)
------------------------
【タイトル】Re(1):寸法図形のみ対応
【記事番号】 3427 (3414)
【 日時 】05/07/23 17:47
【 発言者 】コジマ

▼青いウサギさん:
>寸法値と寸法線の離れが、0.5なのを
>
>0.35に一括変更出来ますか?
>
>ver.4.05a
>
>XP Pro SP2

以下は寸法図形のみに対応する外変です。
入力窓に 0.35 と入力で OK です。


◎バッチファイル(ファイル名 寸法値位置変更2.bat)

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


◎スクリプトファイル(ファイル名 寸法値位置変更2.rb)

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へ
(3427)←【3430】→(3433)
------------------------
【タイトル】Re(2)有難う御座います。質疑が有るのですが。
【記事番号】 3430 (3427)
【 日時 】05/07/24 01:12
【 発言者 】青いウサギ

▼コジマさん:

早速の外変作成、頭が下がる思いです。感謝です。

さて、外変に対して、ブラックボックスのわたしですが、
2,3幼稚と思われる、質疑に答えていただけますか?

1.全角スペースを、半角スペースに、一括変換する方法が
 解りません。バッチファイル、スクリプトファイルともに、
 行うものですか?

2.解凍したrubyファイル一括(doc,lib,manの三つのフォルダーと10個ノファイル )をSYSTEM32の中に全て入れてよいのですか?

3.バッチファイルだけ、一つ一つ全角を半角に直して、外変を実行しましたが、
 うまくいきませんでした。


Indexへ
(3430)←【3433】→(3431)
------------------------
【タイトル】ブラックボックス
【記事番号】 3433 (3430)
【 日時 】05/07/24 09:43
【 発言者 】joker
【 リンク 】http://www.atsmile.com/jw/



▼青いウサギさん:
>さて、外変に対して、ブラックボックスのわたしですが、

くだらない突っ込みですが、ブラックボックスというのは、
中身が詳細に分からなくとも、使う事はできる、という事を指します。

>1.全角スペースを、半角スペースに、一括変換する方法が
> 解りません。バッチファイル、スクリプトファイルともに、
> 行うものですか?

一般的に、テキストエディタの変換(置換)機能を使います。
両方とも、行います。

必要もないのに、なぜ、全角を使うのか、というと、
ホームページ上では、半角空白を連続して並べても、思ったように
空白を付けてくれないからです。

>2.解凍したrubyファイル一括(doc,lib,manの三つのフォルダーと10個ノファイル)をSYSTEM32の中に全て入れてよいのですか?

誘導されていたサイト内で説明のあったとおりです。

>3.バッチファイルだけ、一つ一つ全角を半角に直して、外変を実行しましたが、
>うまくいきませんでした。

バッチファイル・rubyスクリプト共、全角空白を半角空白に置換しましょう。

ちなみに、私のところで試しに入れてみましたが、ちゃんと動いています。


Indexへ
(3433)←【3431】→(3434)
------------------------
【タイトル】Re2: 寸法図形のみ対応
【記事番号】 3431 (3427)
【 日時 】05/07/24 01:14
【 発言者 】wakui wakui@v003.vaio.ne.jp_NoVirus

コジマさん、皆さん、こんばんは。

寸法値位置変更と寸法図形用、両者とも動いてくれません。
最近の寸法端部変更は使わせていただいていますので、設定がおかしいわけでは
無いかと思うのですが・・・・。使い方がおかしいのでしょうか。
皆さんは稼動しておられますでしょうか。

jww4.09  ■コマント゛選択をAUTOモート゛クロックメニュー
winXP_HE SP1 sony PCG-Z1VE
-- CMN v0.49kβ --


Indexへ
(3431)←【3434】→(3435)
------------------------
【タイトル】msrubyの外変って
【記事番号】 3434 (3431)
【 日時 】05/07/24 09:56
【 発言者 】joker
【 リンク 】http://www.atsmile.com/jw/



▼wakuiさん:

>皆さんは稼動しておられますでしょうか。

先程、初めて msrubyの外変って使わせてもらいましたが
別段、なんともなく、すんなり、動きましたけど?
単純な絵を描いて、での話ですけれど。

OS: WindowsXp Pro SP2
JWW: 4.05a、4.09でも確認OK

但し私は SYSTEM32とかに入れるのを嫌う人間なので、その辺のテキトーな場所に
入れてしまいましたけどね。(笑)
↑イレギュラーな使い方だろうから無視して下さい。


Indexへ
(3434)←【3435】//(3415)
------------------------
【タイトル】Re: msrubyの外変って
【記事番号】 3435 (3434)
【 日時 】05/07/24 10:28
【 発言者 】wakui wakui@v003.vaio.ne.jp_NoVirus

jokerさん、こんにちは。

検証ありがとうございました。
なんでかなぁともう一度スクリプトを眺めてみたらば、
一番最初に◎以下のコメントが残っていました。私のミスです。

そこで動作確認いたしました。コジマさん、皆さん失礼しました。


jww4.09  ■コマント゛選択をAUTOモート゛クロックメニュー
winXP_HE SP1 sony PCG-Z1VE
-- CMN v0.49kβ --