http://www.farchi.jp/filemgmt/index.php?id=378
==============================================================================
【名 称】 面積記入
【登録名 】 menseki05.lzh
【制作者名】 小嶋 雄二
【動作環境】 mswin32-ruby 1.8.6以降 / Jw_cad 6.0a以降
【動作確認】 WindowsXp + Jw_cad 6.0a + mswin32-ruby 1.8.6
【掲載月日】 07/12/1 (sun)
【展開方法】 lha x menseki05.lzh
【開発言語】 mswin32-ruby 1.8.6 及び VC++.NET
【取扱種別】 フリーソフト
【転載条件】 転載配布条件による.
==============================================================================
■このプログラムは JW-CAD for Windows の外部変形機能で、独立した閉鎖図形及び
交差する線分の交点で構成される閉鎖図形の面積を一括記入するする外部変形です
(以前、神無月さんが公開されていた 線長・面積測定 のRuby版)
これについては、どんなアルゴリズムなのか?想像もつかず、試行錯誤しました。
最終的には、強引な力技?
かなり強引なアルゴリズムなので、複雑な図形だとエラーになるかもしれません。
また、Ruby版なので、実行速度の低下は避けられません。
■前回との変更点
中抜面積.batと環状面積.batを追加しました。
目的は、ソリッド面積の算出値のチェック用です。
ソリッド面積.batは、当然ながら重ね塗り部分も積算されます。
(見えている部分だけでなく、他のソリッドで隠れている部分も積算される)
中抜面積.batは、閉鎖図形の中に、複数の閉鎖図形がある場合、
外側図形の閉鎖面積ー内側閉鎖図形面積の総和 の面積を算出します。
(各閉鎖図形面積も記入される)
環状面積.batは、閉鎖図形の内部に連続して閉鎖図形が入れ子になっている
場合(年輪状)各領域の面積を算出します。
用途に応じてソリッド面積.batの算出値と比較して、重ね塗りの有無をチェック
します。