CAD日記

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

AutoCAD

XCLIPのネスト

投稿日:

某変換ツールのデータ調査で、遭遇してしまった。

XCLIPのネスト。

担当者からの事前情報で、XCLIPが多用されているということは

あらかじめ把握していた。

かなり、嫌な予感はしていた。

XCLIPのネストについて説明しよう。

ブロックのネストと密接な関係がある。

ブロックにXCLIPすると、ブロック全体のうち任意の範囲だけ、

図面中に表示することができる。

指定した範囲以外は、見えなくすることができるというわけだ。

そんなブロックをさらにブロック化する。

そしてXCLIPで範囲指定。

XCLIPのネストが出来上がり。

XCLIP化されたブロックを分解して、クリップ領域で図形を切り取る。

こんな処理を、某変換ツールで行っている。

問題になるのはクリップ領域で切り取る処理。

ブロックを分解した図形群に対して、ひとつずつクリップ領域で切り取りを行う。

図形群の中にブロックが現れたらさらに分解して、クリップ領域で切り取る。

というように、最初のブロックが持っているクリップ領域で、

全図形を切り取るというのが、従来のプログラム構造。

ところがXCLIPのネストになると、途中で現れたブロックがXCLIPされている場合

そのクリップ領域と最初のブロックのクリップ領域で重なっている部分(ANDをとる)

でクリップしなければならなくなる。(重なっている部分がなければ変換しない)

まぁ、理屈さえ分かれば、それに基づいてプログラムを書くのは

それほど難しいわけではないけれど。

薄々は感付いていた。

XCLIPがネストできるであろうことは。

データ構造的には、ブロックごとに情報を保持しているので、

ブロックがネストされれば、XCLIPもネストされていくわけだ。

しかし、それを試してみるようなことは恐ろしくてできなかった。

その実現性が判明すれば、某変換ツールに問題が発覚するわけで、

さらには修正する必然性が出てきてしまうからだ。

自分で作ったプログラムを、自分で検査する。

どうしても甘い検査になりがちだ。

問題を見つけてしまえば、直さなければならなくなるから。

危なそうなところは、自然と避けて動作確認する。

仕方ないことだな。

ということで、XCLIPのネストに対応してみた。

久しぶりの大物の修正と言えるだろう。

少し肩の荷がおりた。

-AutoCAD
-

執筆者:


comment

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

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

関連記事

no image

DRAWINGVIEW

AutoCAD2012で増えたオブジェクトの一つにDRAWINGVIEWがある。 日本語では図面ビューと表現される。 AutoCADで実際に描いてみたから、確かな情報だ。 3次元モデルを2次元の平面に …

no image

AutoCAD2010リリース

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

no image

2008オブジェクト

AutoCAD2008を本格的に触れるようになったので、 2008オブジェクトの調査を開始した。 結論から言っておこう。 よく理解できない。 奥が深く、不明な点が多い。 1.異尺度オブジェクト  図面 …

no image

2008寸法

AutoCAD2008が出てから早1年が経とうとしている。 巷では、2009関連の情報が出回り始めている。 はやいとこ、2008DWGの変更点を調査するつもりでいたが、 無情にも月日だけが経過していく …

no image

AutoCADのバージョン

AutoCAD 25周年とのこと。 四半世紀もの歴史があるというのは、偉大なことだ。 ちょうど2009も手に入ったことだし、 AutoCADのバージョンとリリース日付について調べてみた。 特についでが …