CAD日記

主にAutoCADのことについて書いているけど、近頃は投資系ネタに注力している。自動売買、仮想通貨、PC関係、プログラミングなど。@caddiary

AutoCAD

region

投稿日:

リージョンとは、閉じた形状、つまりループから作成される2次元領域です。

閉じたポリライン、線分、曲線を選択できます。

曲線には、円弧、円、楕円弧、楕円、スプラインがあります。

(AutoCADヘルプから引用)

トラブルDWGのデータ調査をしていると、regionによく出会う。

直近で遭遇したのは、ネストされたregion。

ネストという言葉、よく考えると他で聞かない妙な単語だな。

少々寄り道。

nestという単語を辞書で調べてみた。

いくつか意味がある中で一番それっぽかったのは、

「入れ子式の箱・盆などの一組, 一そろい」

IT用語辞典によると、

構造化プログラミングにおける、プログラムの構築手法のひとつ。

複数の命令群をひとまとまりの単位にくくり、何段階にも組み合わせて

いくことでプログラムを構成する。このまとまりをネストという。

どうもピンとこない。

ネストと言えば、ネストブロック。

タイヤと車体をそれぞれブロック化して、

全体を車としてブロック化する。

2重にブロック化する。

理屈的に便利なのはわかるが、データ構造が複雑になり

様々なトラブルを生む。

話を戻そう。

regionは、閉じた領域。

それがネストしている。

具体的に言うと、円と三角形がそれぞれregion化されていて、

さらに全体が一つのregionとされていた。

図面におけるこれら図形は、何の変哲もないもので、

特にregionである必要性は感じられない。

よくわからない。

ある変換ツールでは、regionはその構成図形で分解するように

しているのだが、2階層目のリージョンを分解しようとすると、

例外エラーが発生して、変換に失敗してしまう。

regionがregionとしてそのまま存在させることには、

大して意味を感じないので、分解しているわけだが、

分解できないというなら仕方ない。

regionとして残す方法をとるしかない。

以前同類のトラブルがあったのは、

ブロック中のregionを分解すると、例外エラーが出るというもの。

(また、3dSolidの中のregionを分解するとエラーというのもあった。)

その際の解決策は、regionをregionとして変換すること。

今回のネストregionもこの方法にならった。

regionをregionとして変換する方法。

OdDbRegion::­acisOut でファイルに書き出して、

OdDbRegion::­acisInでファイルから読み込む。

(DWGdirectのAPI)

サンプルプログラムでは、ファイルの拡張子はSATとしていた。

ACISというのがキーワードだ。

この技術を使っているほかの図形としては以下のものがある。

 3dSolid、body、surface

どうやら3次元系の図形だ。

ACISについて調べてみた。

「3次元モデリング機能を提供する商用カーネルの一つで、

CAD/CAMなどのアプリケーションが内部で使用します。

すでに世界で500以上の企業/団体がライセンスしており、

200種以上の商用アプリケーションが販売されています。」

つまり、regionというのは3次元図面で使われる図形ということか。

平面上の閉じた図形に高さを与えれば、立派な3次元オブジェクトになる。

閉じているか、というのがとても重要になるだろう。

今回のデータはどう見ても2次元図面なので、

何らかの理由で紛れ込んだ、または3次元図面を2次元図面に

変換した際に不正に残ってしまったということが考えられる。

3次元図面として存在しているなら、それ自体意味を持っている

だろうが、2次元図面では全くもって意味がないはず。

閉じた形状ということから、ハッチングの境界を思い出すが、

region とは少々種類が異なるだろう。

トラブルを生むという点では、共通点があるけれど。

-AutoCAD
-

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

no image

循環参照

AutoCAD外部参照の話。 AとB、2つの図面があったとする。 Aを配置しているBを、Aに配置する。 循環参照の出来上がり。 EXCELでは聞いたことがあるが、AutoCADにもあることを知った。 …

AutoCAD 2023のコードネームはTuring(チューリング)なのかな。。

Turing(チューリング)とは人の名前で、Alan Mathison Turingという名のイギリスの数学者。コトバンクから引用。 >現代計算機科学の父。1936年、論文「計算しうる数」でチューリン …

no image

AutoCAD2012

今年も出ましたAutoCAD。 まだ2011年の4月だというのに、2012なんて付けるのは馬鹿げている。 と、お決まりの文句を言っておくのがおいらの恒例行事。 3年ごとのデータのバージョンアップは来年 …

no image

外部参照という憂鬱

AutoCADの外部参照の話。 2007から下位バージョン形式で保存した図面を、 外部参照として別の図面に挿入するのさ。 外部参照を取り込むこともできる優れた機能を持つPMツールで、 その外部参照が抜 …

no image

AutoCAD2010リリース

2009年3月19日、AutoCAD2010を出荷開始。 3年ぶりのデータ構造変更。 2010形式で保存したDWGファイルは、AutoCAD2009以前や その他CADで開くことができない。 オートデ …