Indexへ
(6275)//【6276】→(6278)
------------------------
【タイトル】要望をお願いいたします。
【記事番号】 6276 (*)
【 日時 】06/04/05 20:04
【 発言者 】muzuki

作者様、皆様、お世話になっております。
要望をお願いいたします。(概に投稿されていたら申し訳ありません)

1、寸法図形の表示色について
  環境設定にて寸法図形の表示色を変える事は可能なのですが
  これを逆に寸法図形以外の寸法文字色変えたいのです。

  現在書いている図面(建築図)の9割以上は寸法図形です。
  通り芯間の寸法等のメイン寸法と他の寸法の文字を、大きさ、
  色共に変えております。現仕様ですと2種類の色の寸法図形が
  使用できないのでお願いできればと思います。
  (寸法図形と寸法図形以外の表示色を変えられるのは
  わかりやすく有り難いことです。)

2、複写、移動時の回転角について
  複写、移動時の回転角をドロップダウンリストから選択して
  いますがこれを「コピー」−「貼り付け」のときと同様に
  「90°毎」も出来るようにお願いできないでしょうか?
  回転角のメインは90°、180°−90°が圧倒的に多いかと
  思われます。
   それとDOS時代にあった「+90°」もあればと思います。
  (軸角で対処は出来ますが。)

宜しくお願いいたします。


Indexへ
(6276)←【6278】→(6279)
------------------------
【タイトル】Re(1):要望をお願いいたします。
【記事番号】 6278 (6276)
【 日時 】06/04/06 00:10
【 発言者 】コジマ

▼muzukiさん:
>1、寸法図形の表示色について
>  環境設定にて寸法図形の表示色を変える事は可能なのですが
>  これを逆に寸法図形以外の寸法文字色変えたいのです。

これは、ruby なら 比較的楽に外部変形をつくれます。

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

@REM 寸法文字の色を変更する
@echo off
REM #jww
REM #cd
REM #zz
REM #zc
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)
以下の文をコピペ後、全角スペースを半角スペースに一括置換してください。

puts "hd";lc="1"
while ARGV.size>1
    case argument=ARGV.pop
        when /\/a/
            lc=argument[2..-1]
    end
end
hcw=[];hch=[];hcd=[]
while ARGF.gets
    xy=split
    if xy[0]=~/^hq/
    elsif xy[0]=~/^hcw/
        xy.each{|item|hcw<        print $_
    elsif xy[0]=~/^hch/
        xy.each{|item|hch<        print $_
    elsif xy[0]=~/^hcd/
        xy.each{|item|hcd<        print $_
    elsif xy[0]=~/^cn\d$/
        cn=xy
        print $_
    elsif xy[0]=="z3"
        zno=ARGF.lineno
        print $_
    elsif xy[0]=~/^cs|^ch/
        csno=ARGF.lineno
        if zno.to_i+1==csno.to_i
            if cn[0]=="cn0"
                printf("%s %s %s %s %s\n",cn[0],cn[1],cn[2],cn[3],lc)
            else
                moji_w=hcw[cn[0][2,1].to_i]
                moji_h=hch[cn[0][2,1].to_i]
                moji_d=hcd[cn[0][2,1].to_i]
                printf("cn0 %s %s %s %s\n",moji_w,moji_h,moji_d,lc)
            end
        end
        print $_
        puts cn.join("\s")
    else
        print $_
    end
end


>2、複写、移動時の回転角について
>  複写、移動時の回転角をドロップダウンリストから選択して
>  いますがこれを「コピー」−「貼り付け」のときと同様に
>  「90°毎」も出来るようにお願いできないでしょうか?
>  回転角のメインは90°、180°−90°が圧倒的に多いかと
>  思われます。

クロックメニューで代用できます。

90°
直角の線上で、右PM4:00方向ドラッグ

-90°
直角の線上で、右PM4:00方向ドラッグ

180°
水平の線の右端で、左PM3:00方向ドラッグ(X軸角度)
左端をクリック。

-180°
水平の線の左端で、左PM3:00方向ドラッグ(-X軸角度)
右端をクリック。


Indexへ
(6278)←【6279】→(6287)
------------------------
【タイトル】Re(2):訂正
【記事番号】 6279 (6278)
【 日時 】06/04/06 00:34
【 発言者 】コジマ

前送のスクリプトでは、寸法属性が喪失するので訂正しました。


puts "hd";lc="1"
while ARGV.size>1
    case argument=ARGV.pop
        when /\/a/
            lc=argument[2..-1]
    end
end
hcw=[];hch=[];hcd=[]
while ARGF.gets
    xy=split
    if xy[0]=~/^hq/
    elsif xy[0]=~/^hcw/
        xy.each{|item|hcw<        print $_
    elsif xy[0]=~/^hch/
        xy.each{|item|hch<        print $_
    elsif xy[0]=~/^hcd/
        xy.each{|item|hcd<        print $_
    elsif xy[0]=~/^cn\d$/
        cn=xy
        print $_
    elsif xy[0]=="z3"
        zno=ARGF.lineno
        z=xy[0]
    elsif xy[0]=~/^cs|^ch/
        csno=ARGF.lineno
        if zno.to_i+1==csno.to_i
            if cn[0]=="cn0"
                printf("%s %s %s %s %s\n",cn[0],cn[1],cn[2],cn[3],lc)
            else
                moji_w=hcw[cn[0][2,1].to_i]
                moji_h=hch[cn[0][2,1].to_i]
                moji_d=hcd[cn[0][2,1].to_i]
                printf("cn0 %s %s %s %s\n",moji_w,moji_h,moji_d,lc)
            end
        end
        puts z;print $_;puts cn.join("\s")
    else
        print $_
    end
end


>180°
>水平の線の右端で、左PM3:00方向ドラッグ(X軸角度)
>左端をクリック。

180°
水平の線の右端で、右PM3:00方向ドラッグ(X軸角度)
左端をクリック。


>
>-180°
>水平の線の左端で、左PM3:00方向ドラッグ(-X軸角度)
>右端をクリック。

-180°
水平の線の左端で、右PM3:00方向ドラッグ(-X軸角度)
右端をクリック。


Indexへ
(6279)←【6287】→(6292)
------------------------
【タイトル】Re(3):訂正
【記事番号】 6287 (6279)
【 日時 】06/04/06 13:44
【 発言者 】muzuki

▼コジマさん:有り難うございました。

ruby1.8.4をインストールして見ましたが動きません。
他のruby(druby)の外変は動作するのですがパスの通し方が
      ↑sugi's home pageにあるものを使わせていただいています。
悪いのだと思います。少し勉強します。

>90°
>直角の線上で、右PM4:00方向ドラッグ

>-90°
>直角の線上で、右PM4:00方向ドラッグ

線角度ですね。90°は出来ますが-90°は出来ないようですが?
出来ますか?


Indexへ
(6287)←【6292】→(6299)
------------------------
【タイトル】Re(4):訂正
【記事番号】 6292 (6287)
【 日時 】06/04/06 15:50
【 発言者 】コジマ

▼muzukiさん:
>▼コジマさん:有り難うございました。
>
>ruby1.8.4をインストールして見ましたが動きません。
>他のruby(druby)の外変は動作するのですがパスの通し方が
>      ↑sugi's home pageにあるものを使わせていただいています。
>悪いのだと思います。少し勉強します。

sugi様のは、druby または mruby だそうです。

以下で入手してください。(牛渡様のサイト)
(インストール方法も明記されています。)
http://www61.tok2.com/home2/gravelroad/tips/inst_msw.html
>
>>90°
>>直角の線上で、右PM4:00方向ドラッグ
>
>>-90°
>>直角の線上で、右PM4:00方向ドラッグ
>
>線角度ですね。90°は出来ますが-90°は出来ないようですが?
>出来ますか?

間違えました。以下の通りです。

-90°
直角の線上で、右PM8:00方向ドラッグ

180°
水平の線右端で、右PM3:00方向ドラッグ
線左端をクリック


-180°
水平の線右端で、右PM9:00方向ドラッグ
線左端をクリック


Indexへ
(6292)←【6299】→(6300)
------------------------
【タイトル】Re(5):訂正
【記事番号】 6299 (6292)
【 日時 】06/04/07 05:20
【 発言者 】muzuki

▼コジマさん:お世話になりました。
動きました。有り難うございます。
一つ教えてください。
変更色を7番の文字色に固定するために下記のようにしました。

>@REM 寸法文字の色を変更する
>@echo off
>REM #jww
>REM #cd
>REM #zz
>REM #zc
               >REM #c寸法文字の変更色 無指定:1/_/a
>REM #h3
>REM #e
>copy jwc_temp.txt temp.txt > nul
>ruby -Ks 寸法文字変色.rb temp.txt 7 > jwc_temp.txt
                  ↑
                  変更
しかし、文字色は無指定の1番の文字色になってしまします。
御多忙のところ申し訳ありませんが教えてください。


Indexへ
(6299)←【6300】→(6303)
------------------------
【タイトル】Re(6):訂正
【記事番号】 6300 (6299)
【 日時 】06/04/07 08:38
【 発言者 】コジマ

▼muzukiさん:
>▼コジマさん:お世話になりました。
>動きました。有り難うございます。
>一つ教えてください。
>変更色を7番の文字色に固定するために下記のようにしました。

バッチファイルとスクリプトファイルの両方を修正します。


◎バッチファイル

@REM 寸法文字の色を変更する
@echo off
REM #jww
REM #cd
REM #zz
REM #zc
REM #c寸法文字の変更色 無指定:7/_/a
REM #h3
REM #e
copy jwc_temp.txt temp.txt > nul
ruby -Ks 寸法文字変色.rb temp.txt %1 > jwc_temp.txt


◎スクリプトファイル

puts "hd";lc="7"
while ARGV.size>1
    case argument=ARGV.pop
        when /\/a/
            lc=argument[2..-1]
    end
end
hcw=[];hch=[];hcd=[]
while ARGF.gets
    xy=split
    if xy[0]=~/^hq/
    elsif xy[0]=~/^hcw/
        xy.each{|item|hcw<        print $_
    elsif xy[0]=~/^hch/
        xy.each{|item|hch<        print $_
    elsif xy[0]=~/^hcd/
        xy.each{|item|hcd<        print $_
    elsif xy[0]=~/^cn\d$/
        cn=xy
        print $_
    elsif xy[0]=="z3"
        zno=ARGF.lineno
        z=xy[0]
    elsif xy[0]=~/^cs|^ch/
        csno=ARGF.lineno
        if zno.to_i+1==csno.to_i
            if cn[0]=="cn0"
                printf("%s %s %s %s %s\n",cn[0],cn[1],cn[2],cn[3],lc)
            else
                moji_w=hcw[cn[0][2,1].to_i]
                moji_h=hch[cn[0][2,1].to_i]
                moji_d=hcd[cn[0][2,1].to_i]
                printf("cn0 %s %s %s %s\n",moji_w,moji_h,moji_d,lc)
            end
            puts z;print $_;puts cn.join("\s")
        else
            print $_
        end
    else
        print $_
    end
end


Indexへ
(6300)←【6303】//(6277)
------------------------
【タイトル】Re(7):訂正
【記事番号】 6303 (6300)
【 日時 】06/04/07 11:15
【 発言者 】muzuki

▼コジマさん:

希望通りに出来ました。お世話になり、有り難うございました。
今後とも宜しくお願いいたします。