Indexへ
(4292)//【4286】→(4288)
------------------------
【タイトル】寸法について
【記事番号】 4286 (*)
【 日時 】05/12/03 19:05
【 発言者 】さる

寸法を1の位で四捨五入する場合はどうすればよいかわかりません。どなたか教えてください。


Indexへ
(4286)←【4288】→(4290)
------------------------
【タイトル】Re(1):寸法について
【記事番号】 4288 (4286)
【 日時 】05/12/03 19:19
【 発言者 】siegel
【 リンク 】http://homepage2.nifty.com/siegel



▼さるさん:
>寸法を1の位で四捨五入する場合はどうすればよいかわかりません。どなたか教えてください。

寸法コマンド−>設定−>寸法設定ダイアログ−>小数点以下にて

表示桁数 −>0桁   にチェック
表示桁以下−>四捨五入 にチェック

ご参考まで。 


Indexへ
(4288)←【4290】→(4291)
------------------------
【タイトル】ありがとうございます。でも・・・
【記事番号】 4290 (4288)
【 日時 】05/12/03 20:51
【 発言者 】さる

▼siegelさん:
>▼さるさん:
>>寸法を1の位で四捨五入する場合はどうすればよいかわかりません。どなたか教えてください。
>
>寸法コマンド−>設定−>寸法設定ダイアログ−>小数点以下にて
>
>表示桁数 −>0桁   にチェック
>表示桁以下−>四捨五入 にチェック
>
>ご参考まで。 

回答ありがとうございます。それをしているのですが、できません。説明不足だったかもしれませんが、例えば、909mmの値を寸法で自動的に910mmにしてくれないかと思いまして。


Indexへ
(4290)←【4291】→(4293)
------------------------
【タイトル】Re(1):ありがとうございます。でも・・・
【記事番号】 4291 (4290)
【 日時 】05/12/03 22:17
【 発言者 】siegel
【 リンク 】http://homepage2.nifty.com/siegel



▼さるさん:
>それをしているのですが、できません。説明不足だったかもしれませんが、例えば、909mmの値を寸法で自動的に910mmにしてくれないかと思いまして。

失礼しました。
前出の設定は、909.4 は 909に、909.5 は 910になる設定ですね。

Jww本体機能では、無理のようですが、外部変形で、寸法属性を無くせば、
四捨五入のスクリプトで出来そうですが??

回答にならず、すみません。


Indexへ
(4291)←【4293】→(4294)
------------------------
【タイトル】Re(1):ありがとうございます。でも・・・
【記事番号】 4293 (4290)
【 日時 】05/12/04 10:09
【 発言者 】gorilla

▼さるさん:

>回答ありがとうございます。それをしているのですが、できません。説明不足だったかもしれませんが、例えば、909mmの値を寸法で自動的に910mmにしてくれないかと思いまして。

さるさん こんにちわ
建築関係の方のようですね。JWWの機能の話ではなくなりますが、寸法について一言。
一般的にミリの位を四捨五入してしまうと最大5mmの誤差が出ることになります。これは、現実的な現場の施工精度を考えても誤差が大きすぎませんか?
3尺=909     → 910
1尺5寸=454.5 → 450 ??

建築設計で3尺=909mmを910mmに置き換えて使うのは一般的ですが、これは設計図上の実寸909を四捨五入したものではなく、3尺=910mm として設計していると言うことのはずです。 
設計値が909mmならやはり寸法数値は909であるべきではないでしょうか?
建築設計では、ミリ以下は現実的な現場の施工精度を考えれば四捨五入しても問題ないとは思いますが。


Indexへ
(4293)←【4294】→(4313)
------------------------
【タイトル】Re(1):ありがとうございます。でも・・・
【記事番号】 4294 (4290)
【 日時 】05/12/04 16:10
【 発言者 】コジマ

▼さるさん:
>回答ありがとうございます。それをしているのですが、できません。説明不足だったかもしれませんが、例えば、909mmの値を寸法で自動的に910mmにしてくれないかと思いまして。

かなり、以前に似たような質問があり、その時に作成した外部変形です。

mswin32 版 Ruby のインストールが必要です。
以下で入手してください。
http://www61.tok2.com/home2/gravelroad/tips/inst_msw.html

◎バッチファイル(ファイル名 00$.bat)
以下の分をコピペした後、全角スペースを半角スペースに一括置換してください。

@REM 桁を指定して数値を丸める(四捨五入)
@echo off
REM #jww
REM #cd
REM #zz
REM #zc
REM #h3
REM #hc文字を範囲選択してください
REM #k3桁ごとの区切文字 無指定= 1)|1)コンマ(L)|2)スペース(R)| /_/a
REM #k数値を丸める桁数(四捨五入) 無指定= 1)|1)無(L)|2)下1桁(R)|3)下2桁|4)下3桁| /_/b
REM #e
copy jwc_temp.txt temp.txt > nul
ruby -Ks 00$.rb temp.txt %1 %2 > jwc_temp.txt

◎スクリプトファイル(ファイル名 00$.rb)
以下の分をコピペした後、全角スペースを半角スペースに一括置換してください。


BEGIN{
    puts "hd"
    $kugiri="1"
    $keta="1"
    while ARGV.length > 1
        case argument=ARGV.pop
            when/^\/a/
                $kugiri=argument[2..-1]
            when/^\/b/
                $keta=argument[2..-1]

        end
    end
}
def main
    if $keta=="1";keta=1;elsif $keta=="2";keta=10;elsif $keta=="3";keta=100
        elsif $keta=="4";keta=1000
    end
    hash={"0"=>"0","1"=>"1","2"=>"2","3"=>"3","4"=>"4",
    "5"=>"5","6"=>"6","7"=>"7","8"=>"8","9"=>"9",
    ","=>",","\s"=>" ","\."=>"\."}
    hash1=hash.invert
    while ARGF.gets
    xy =split
        if xy[0] =="hq"
        elsif xy[0] =~/^cs/ or xy[0] =~/^ch/
            a=$_.split("\"")
            tango1=a[1].chop
            if tango1=~/./
                tango2=$`+"\."+$'
            else
                tango2=tango1
            end
            tango2.tr!("  ,,","")
            tango3=tango2.split('')
            if tango3[0].size==1
                tango=tango3
                word=tango2
            else
                tango=tango3.collect{|item|hash1[item]}
                word=tango.join('')
            end
            if word=~/^[0-9]/ && word=~/[0-9]$/ &&
                         tango.include?(nil)!=true
                x=xy[1].to_f
                y=xy[2].to_f
                mojix=xy[3].to_f
                mojiy=xy[4].to_f
                word2=((((word.to_f)/keta).round)*keta).to_s
                worda=word2.split('')
                if tango3[0].size==1
                    if worda.size>3
                        if $kugiri=="1"
                            sunpou=comma(word2)
                        elsif $kugiri=="2"
                            sunpou=(comma(word2).gsub("\,","\s"))
                        end
                    else
                        sunpou=word2
                    end
                else
                    if worda.size>3
                        if $kugiri=="1"
                            tango4=comma(word2).split('')
                        elsif $kugiri=="2"
                            tango4=((comma(word2)).gsub("\,","\s")).split('')
                        end

                    else
                        tango4=word2.split('')
                    end
                    tango5=tango4.collect{|item|hash[item]}
                    sunpou=tango5.join('')
                end
                printf("ch %s %s %s %s \"%s\n",
                            x,y,mojix,mojiy,sunpou)
            else
                print $_
            end
        else
            print $_
        end
    end
end
def comma(s)
  r = [/(\d\d\d)((?=\d))/,/(\d)(\d\d)/,/(\d\d)(\d)/] [s.size % 3]
  s.gsub!(r,'\1,\2')
end
main


Indexへ
(4294)←【4313】//(4296)
------------------------
【タイトル】みなさん、ありがとうございます。
【記事番号】 4313 (4290)
【 日時 】05/12/05 13:39
【 発言者 】さる

 みなさん、たくさんの回答ありがとうございます。お陰で仕事が進みました。