Jw_cad 相談室−その2 New

 Jw_cad についての相談の場としてお使いください
情報の交換には Jw_cad 情報交換室 をご利用ください
なお、情報交換室と相談室の両方に同じ内容を投稿するのはご遠慮ください

2009年9月以前の発言過去ログのページからご覧ください。

それ以降の過去ログは消失しています。
申し訳ありませんが、復活の予定はありません。


新規投稿 ┃ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索 ┃設定 ┃過去ログ ┃ホーム
5 / 306 ツリー    ←次へ | 前へ→

倍面積 rp 22/8/2(火) 9:19

Re:倍面積 somem 22/8/3(水) 18:48
Re:倍面積 ban 22/8/3(水) 22:57
Re:倍面積 rp 22/8/4(木) 9:15
Re:倍面積 ban 22/8/4(木) 10:43
Re:倍面積 ban 22/8/4(木) 10:44
Re:倍面積 ban 22/8/4(木) 12:48
Re:倍面積 somem 22/8/4(木) 14:53
Re:倍面積 rp 22/8/4(木) 17:16

Re:倍面積
 somem  - 22/8/3(水) 18:48 -
rpさん、banさん

>確認申請に使用する敷地形状のうちの一部です。
>
>※敷地に関しては確認申請用に実測したものと、
>以前隣地で使用したという確認申請の敷地形状
>(PDFでーたでいただきました)が多少ずれがあり合わず
>補正をいれて変形させた箇所があります。

この質問の意図は、単純な掛け算となる形状でも計算誤差が出るのか知りたかったのです。
当方、外部変形を所有していないので、確認できません。
もっと簡単な数値でもかまいません。例えば、底辺5m、高さ2mとか。

引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36@KD175132143241.ppp-bb.dion.ne.jp>
・ツリー全体表示

Re:倍面積
 ban  - 22/8/3(水) 22:57 -
▼somemさん: >rpさん、banさん > >>確認申請に使用する敷地形状のうちの一部です。 >> >>※敷地に関しては確認申請用に実測したものと、 >>以前隣地で使用したという確認申請の敷地形状 >>(PDFでーたでいただきました)が多少ずれがあり合わず >>補正をいれて変形させた箇所があります。 > >この質問の意図は、単純な掛け算となる形状でも計算誤差が出るのか知りたかったのです。 >当方、外部変形を所有していないので、確認できません。 >もっと簡単な数値でもかまいません。例えば、底辺5m、高さ2mとか。 下記手順で三角形を作図 底辺 5000 複線間隔 2000 複線上の任意の点と底辺の両端で三角形作図 外部変形起動 四捨五入の場合 5.000 2.000 10.0000000 5.0000000 5.00m2 切捨の場合 5.000 1.999 9.9950000 4.9975000 4.99m2 切捨の時に不具合が発生 この外部変形は、基本的にはヘロンの公式で三角形の面積を求める ことが基本となっているようです。 (ヘロン公式及び三斜方式が選択出来ます) 高さは3辺の長さから求めているのでしょうか。 その為、高さに僅かな誤差が出て、切捨時に不具合が出たのでしょうか。 転載条件は下記の通りとなっています。 (3) 転載及び配布 転載・配布の際は,下記の条件を守って下さい. 1)プログラムを改変しないこと. 2)このファイル内のアーカイブファイルの内容をまとめて配布すること.  書籍・雑誌等への収録および他のネットへの転載については,あらかじめ ご相談下さい. rubyのscriptになっています。 ruby script fileは6個構成になっています。 解凍した物しかありませんが、再圧縮して配布して良いならば、 用意出来ます。 但し、私は普段アップロードはしていませんので、 アップロードの方法を教えてくれれば可能です。
引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.134 Safari/537.36 Edg/103.0.1264.77@p548238-ipngn2402morioka.iwate.ocn.ne.jp>
・ツリー全体表示

Re:倍面積
 rp  - 22/8/4(木) 9:15 -
▼banさん:
目的を説明できておらず申し訳ございません。

「確認申請の担当者の方が電卓で検算した際に、
計算が合わない状態を解消したい」というのが目的です。

敷地面積は切り捨てで減る分には問題ありませんし、
表の式を電卓で計算して合っていれば申請が通るので
計算があえばいいと考えています。
(審査の方は距離を測って計算するわけではないので)

※敷地図面で正確な矩形に出会ったことがないのですが、
建物形状が正確な矩形の場合は誤差がでないように
縦の長さ×横の長さで計算するように指導を受けたので、
実際にはそのように算出するようになるのではないかとは思います。


5000×2000の敷地の場合、表ですと
底辺  5.385
高さ 1.856
倍面積 9.9945600
面積 4.9972800
となり、電卓計算と一致するのでその場合は問題ないです。

底辺×高さを電卓で計算した際に、
倍面積が電卓の計算結果と異なる場合や、
倍面積を÷2した際の面積が電卓の計算結果と異なる場合に、
差し戻しになります。

引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36@i121-118-138-155.s41.a038.ap.plala.or.jp>
・ツリー全体表示

Re:倍面積
 ban  - 22/8/4(木) 10:43 -
以前(2009)、hayabusa さんがUPしていた三斜計算のソースを上げます。 JWW_SMPL.EXEと連携して動作するので、JWW_SMPL.EXEのある場所に保存します。 ファイル名は 三斜計算.bat とする。 但し、ソリッドには対応していません。 ソースが長いので2回に分けてUPします。 -----この下から---------- @REM 三斜計算CB出力 @echo off goto do%1 rem rem ---------------------------------------------------------------- rem ※このファイルを編集した場合は上書き保存して閉じてください。 rem ※ファイルを閉じなくても編集は反映されます。 rem ※作図設定はこのバッチファイルの82行目からです。 rem ---------------------------------------------------------------- rem ※概要 rem 1.この外部変形はJWW_SMPL.EXEと連携して三斜計算データをクリップ rem ボードにコピーするものです。 rem タブ区切りですのでエクセル側に於いて右クリックからセル単位で rem 貼付できます。(他の表計算ソフトでも可能) rem 2.全てのオプションをコマンドラインに設定してありますので環境に rem 応じて適宜修正して下さい。 rem ---------------------------------------------------------------- REM #jww REM #cd REM #hm |三斜計算 L|Excel 起動 R|BAT 編集| REM #:1 REM #h1 REM #g0 書込みグループのみ選択対象 REM #hc 【 三 斜 計 算 】 三角形を選択(三角形の辺 200 まで) REM #0 数値書き込み位置指示 (L)free (R)Read REM #f 敷地名称(無指定 無) : /_$1" REM #c 番号の前に追加する文字(無指定 無) : /_$2" REM #ht10 ブロック図形の書出しをしない REM #ht40 ソリッドの書出しをしない REM #hr REM #e REM #:2 REM #:3 REM #h0 REM #hr REM #e rem --------------------------------------------------------------------------- rem ※JWW_SMPL.EXEオプション(JWW_SMPL.BATより抜粋)※ rem rem 起動オプション(IME ON) rem #f 敷 地 名 称 : /_$1" rem 起動オプション(IME OFF) rem #c 番号の前に追加する文字 : /_$2" rem rem オプション説明(指定レイヤに作図) rem /N* :初期番号指定 「*」 は初期No[1〜8001] (無指定:1) rem /L* :レイヤ指定 「*」 はレイヤNo[0〜F] (無指定:書込レイヤ) rem /M* :文字種類を指定 「*」 は文字種類No[1〜10] (無指定:2) rem /K* :小数点以下有効桁数を指定 「*」 は桁数No[1〜3] (無指定:2) rem /T* :三角形頂点に点を作図 「*」 は点種類No[1〜6] (無指定:1) rem /E*.*:三角形頂点に円を作図 「*.*」 は円半径[図寸 mm] (無指定:1.0) rem /H* :三角形の辺を作図 「*」 は線色No[1〜6] (無指定:1) rem rem /C :指定小数点以下桁数未満を切捨で寸法値作図 (無指定:四捨五入) rem /S :敷地面積(小数点以下3桁を切捨)を作図 rem rem ※頂点点種、辺線色はNo[1〜9]の範囲内で再設定できます。 rem ---------------------------------------------------------------------------- :do1 JWW_SMPL.EXE /N1 /LF /M3 /K3 /T /E1.5 /C /S /C3 %1 %2 %3 copy jwc_temp.txt temp.txt > nul ruby -x %~f0 temp.txt > jwc_temp.txt del temp.txt rem pause goto END :do2 start excel.exe > jwc_temp.txt rem ※コマンドラインにファイルを設定する場合 rem ---カレントの場合--- rem start excel.exe sample.xls > jwc_temp.txt rem ---絶対パスの場合(パスに空白がある場合は""で囲む)--- rem start excel.exe "C:\my excel\sample.xls" > jwc_temp.txt goto END :do3 start notepad.exe 三斜計算.BAT ruby -e &#39;puts "h# ruby #{RUBY_VERSION} "&#39; > jwc_temp.txt goto END #!ruby -Ks def main #============= 設 定 ============================================= # waku_en = "1" #番号枠種類(楕円枠 → 0 : 円枠 → 1 : 枠無 → 2) waku_lc = "0" #番号枠線色(1〜9) 0の場合は既定線色 waku_lt = "0" #番号枠線種(1〜9) 0の場合は既定線種 waku_br = "0.8" #番号枠半径補正倍率(0.5〜2) 1の場合は元半径 # line_lc = "0" #高さ垂直線線色(1〜9) 0の場合は既定線色 line_lt = "0" #高さ垂直線線種(1〜9) 0の場合は既定線種 # apex_lc = "0" #頂点円線色(1〜9) 0の場合は既定線色 apex_lt = "0" #頂点円線種(1〜9) 0の場合は既定線種 # apex_pn = "0" #頂点点種(1〜9) 0の場合は既定点種 # shen_lc = "0" #三角形の辺線色(1〜9) 0の場合は既定線色 shen_lt = "0" #三角形の辺線種(1〜9) 0の場合は既定線種 # hyou_lc = "0" #面積表線色(1〜9) 0の場合は既定線色 hyou_lt = "0" #面積表線種(1〜9) 0の場合は既定線種 #
引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.134 Safari/537.36 Edg/103.0.1264.77@p548238-ipngn2402morioka.iwate.ocn.ne.jp>
・ツリー全体表示

Re:倍面積
 ban  - 22/8/4(木) 10:44 -
#================================================================= if waku_br.to_f < 0.5 or waku_br.to_f > 2.0 puts "he 番号枠半径補正値設定エラー。"; exit end msg0 = "区画の三斜データをClipboardにコピーしました。" datas,hens,all,lcs,lts,msg = [],[],[],[],[],"" while ARGF.gets datas << $_ end (datas.reverse).each{|data| if data =~ /^h#/ msg = data elsif data =~ /^\s[0-9-]/ hens << data else break end } datas -= hens datas.each{|data| all << data if data =~ /^ci/ en = data.split; en[3] = waku_br.to_f*en[3].to_f if en.size == 8 if waku_lc == "0" puts lcs[-1] else puts "lc"+waku_lc end if waku_lt == "0" puts lts[-1] else puts "lt"+waku_lt end if waku_en == "1" puts en[0,4].join("\s") elsif waku_en == "0" puts en.join("\s") elsif waku_en == "2" else puts "he 枠種類設定エラー"; exit end else if apex_lc == "0" puts lcs[-1] else puts "lc"+apex_lc end if apex_lt == "0" puts lts[-1] else puts "lt"+apex_lt end puts data end elsif data =~ /^pt/ if apex_pn != "0" puts "pn"+apex_pn end puts data elsif data =~ /^\s[0-9-]/ if all[-2] =~ /^z3/ if line_lc == "0" puts lcs[-1] else puts "lc"+line_lc end if line_lt == "0" puts lts[-1] else puts "lt"+line_lt end else if hyou_lc == "0" puts lcs[-1] else puts "lc"+hyou_lc end if hyou_lt == "0" puts lts[-1] else puts "lt"+hyou_lt end end puts data elsif data =~ /^lc/ puts data lcs << data elsif data =~ /^lt/ puts data lts << data else puts data end } if hens.size >= 3 if shen_lc != "0" puts "lc"+shen_lc end if shen_lt != "0" puts "lt"+shen_lt end hens.each{|hen| puts hen } end henms = []; ii,ll = 0,datas.size-1 for idx in ii .. ll if datas[idx] =~ /^cs/ iidx = idx + 1 ele = [] while datas[iidx] =~ /^ch/ no = datas[iidx].index(/\"/) ele << datas[iidx][no+1..-1].strip iidx += 1 end if ele.size == 5 henms << ele.join("\t") end ii = iidx end end setValue(henms.join("\n")) puts "h# #{henms.size} #{msg0}#{msg}\n" end def setValue(string) require &#39;Win32API&#39; openClipboard = Win32API.new(&#39;user32&#39;,&#39;OpenClipboard&#39;,[&#39;I&#39;],&#39;I&#39;) emptyClipboard = Win32API.new(&#39;user32&#39;,&#39;EmptyClipboard&#39;,[],&#39;I&#39;) setClipboardData = Win32API.new(&#39;user32&#39;,&#39;SetClipboardData&#39;,[&#39;I&#39;,&#39;I&#39;],&#39;I&#39;) closeClipboard = Win32API.new(&#39;user32&#39;,&#39;CloseClipboard&#39;,[],&#39;I&#39;) globalAlloc = Win32API.new(&#39;kernel32&#39;,&#39;GlobalAlloc&#39;,[&#39;I&#39;,&#39;I&#39;],&#39;I&#39;) globalLock = Win32API.new(&#39;kernel32&#39;,&#39;GlobalLock&#39;,[&#39;I&#39;],&#39;I&#39;) globalUnlock = Win32API.new(&#39;kernel32&#39;,&#39;GlobalUnlock&#39;,[&#39;I&#39;],&#39;I&#39;) lstrlen = Win32API.new(&#39;kernel32&#39;,&#39;lstrlenA&#39;,[&#39;P&#39;],&#39;I&#39;) lstrcpy = Win32API.new(&#39;kernel32&#39;,&#39;lstrcpyA&#39;,[&#39;I&#39;,&#39;P&#39;],&#39;P&#39;) if openClipboard.Call(0) != 0 emptyClipboard.Call() ll = lstrlen.Call(string) gMEM = globalAlloc.Call(0x2000, ll+1) pMEM = globalLock.Call(gMEM) lstrcpy.Call(pMEM, string) setClipboardData.Call(1, gMEM) globalUnlock.Call(gMEM) closeClipboard.Call end end main() __END__ :END
引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.134 Safari/537.36 Edg/103.0.1264.77@p548238-ipngn2402morioka.iwate.ocn.ne.jp>
・ツリー全体表示

Re:倍面積
 ban  - 22/8/4(木) 12:48 -
gHeron for JWW Ver.1.41 一応の解決策 heron.rb 内の次のか所を変更する。 740行目: area = h * b を area = h * b + 0.0000000001 746行目: area = h * b * 0.5 を area = h * b * 0.5 + 0.0000000001 上記2か所を変更する。 但し、切捨指定時のエクセルファイル出力は、 指定桁数になっていない。 AFsoft さん、ありがとうございました!
引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.134 Safari/537.36 Edg/103.0.1264.77@p548238-ipngn2402morioka.iwate.ocn.ne.jp>
・ツリー全体表示

Re:倍面積
 somem  - 22/8/4(木) 14:53 -
▼banさん

>gHeron for JWW Ver.1.41
>一応の解決策
>
>heron.rb 内の次のか所を変更する。
>
>740行目:
>area = h * b
>を
>area = h * b + 0.0000000001
>
>746行目:
>area = h * b * 0.5
>を
>area = h * b * 0.5 + 0.0000000001
>
>上記2か所を変更する。
>
>但し、切捨指定時のエクセルファイル出力は、
>指定桁数になっていない。
>
>AFsoft さん、ありがとうございました!

プログラム上の問題だったのですね。
検証、スプリクト修正、お疲れさまでした。

引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36@KD175132143241.ppp-bb.dion.ne.jp>
・ツリー全体表示

Re:倍面積
 rp  - 22/8/4(木) 17:16 -
▼banさん:
希望の結果になりました、
banさんAFsoftさんありがとうございます。

エクセルの表示に関しては、基本的に使用しておらず、
使用した場合でもセルの表示形式を変更することで対応できていますので、
そのままでも気にならないため、質問に関しては終了とさせていただきます。

ありがとうございました。


※私にはどうすればいいのかわからなかったのですが、
table.rbをNumberFormatLocalで検索したところ、
760行、817行、825行、859行に記述があり、
そちらから追っていくと場所を特定しやすいかもしれません。

引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36@i121-118-138-155.s41.a038.ap.plala.or.jp>
・ツリー全体表示

5 / 306 ツリー    ←次へ | 前へ→
新規投稿 ┃ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索 ┃設定 ┃過去ログ ┃ホーム
 979638
ページ:  ┃  記事番号:  

C-BOARD Moyuku v1.03b5
Jw_cad Copyright (C)1997-2021 Jiro Shimizu & Yoshifumi Tanaka