CAD日記

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

AutoCAD

XCLIPのネスト

投稿日:

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

XCLIPのネスト。

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

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

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

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

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

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

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

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

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

そしてXCLIPで範囲指定。

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

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

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

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

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

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

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

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

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

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

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

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

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

薄々は感付いていた。

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

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

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

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

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

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

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

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

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

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

仕方ないことだな。

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

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

少し肩の荷がおりた。

-AutoCAD
-

執筆者:


comment

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

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

関連記事

no image

imageclip

ラスターイメージをクリップするAutoCADのコマンド。 imageclip モデル空間に配置したラスターを、レイアウト上のビューポート内で 表示した場合、そのラスターがビューポート枠によって切り取ら …

AutoCADのクリッピング情報を語る

AutoCADのクリッピング情報は様々あって、代表的なものとしてレイアウトのビューポート枠によってモデルの絵をクリッピングするというのがある。モデルをのぞき込む窓がビーポートであって、そいつにはレンズ …

no image

AutoCAD 2019の開発コードは何だったか?

日本では数少ないAutoCADオタクのみなさん、こんにちは。AutoCAD 2019の開発コードが何だったのかを日本で初めて明らかにすることができたでしょう。去年がOmegaということでアルファベット …

no image

構築線と放射線

構築線(XLINE)、放射線(RAY)について考察する。 「一方向へ無限に延びる線を放射線、両方向へ無限に 延びる線を構築線といい、他のオブジェクトを作成するときの 参照として使用できます。」(Aut …

no image

AutoCAD2016リリース日予測

例年、3月くらいにAutoCADはリリースされる。 今年はいつ出るのだろうかと思い、過去5年間のリリース日を 調べてみた。 2011:2010/03/19(金)→第3金曜日 2012:2011/03/ …