CAD日記

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

AutoCAD

imageclip

投稿日:

ラスターイメージをクリップするAutoCADのコマンド。

imageclip

モデル空間に配置したラスターを、レイアウト上のビューポート内で

表示した場合、そのラスターがビューポート枠によって切り取られて

一部が表示されないということがありえる。

そんな状態をモデル空間上で実現しようとしたとき、ラスターのクリップが

大変役に立つ。(レイアウト図面をモデル空間図面に変換したときの話)

データ構造的な、ラスターのクリップを解説する。

まずは、クリップされているかどうかという情報。

そして、クリップ領域を表現する2点または、3点以上の座標列。

2点の場合は、矩形の対角となる2点を意味し、

3点以上の場合は、その座標列で囲まれる多角形を意味する。

コマンド内で指定する「クリップの種類」として、矩形にするのか

ポリゴンにするのかに対応する。

この座標、XYの座標ではなくてピクセルの座標になっているのが曲者だ。

左下を、0,0としたピクセル座標となっていて、DXFリファレンスによると、

「既定は(- 0.5, – 0.5)、(size.x-0.5, size.y-0.5)。」だそうだ。

この「-0.5」の意味はよくわからない。

外側に0.5ずつ広げるというなら、枠の分ということで理解できるが、

式から判断するに、左下に0.5ずらすということになるので、意味不明だ。

問題はピクセル座標だということ。

ビューポート枠の座標はXY座標で保持されている。

ビューポート枠を考慮して、ラスターのクリップ座標を計算しなおすには、

両者を同じ基準の座標に変換しなければならない。

ピクセル座標と、その画像の縦と横のピクセル数、尺度、角度を考慮して、

XY座標に変換する。

ややこしい計算になりそうだと頭を悩ませていたところに、そのものずばりのAPIを発見。

OdDbRasterImage::­getPixelToModelTransform ※DWGdirectの関数

Returns the pixel-to-model coordinate transformation matrix for this raster image entity.

このAPIにより得られる3次元マトリックスから2次元マトリックスを取得して、

ピクセル座標を変形(OdGePoint2d::transformBy)すると、XY座標が取得できた。

あとは、ビューポート枠の領域とラスタークリップの領域のANDをとり、

得られた座標をピクセル座標に逆変換(OdGeMatrix2d::­inverse)すればよい。

最後に、ピクセル座標をラスターのクリップ情報にセットする。

我ながら会心の出来だ。

ところで、ラスターイメージはAutoCAD LTでは扱えない。

まず、LTではラスターイメージの挿入ができない。

ラスターイメージが挿入されたDWG図面をLTで開くと、

そのままの状態で表示されて、移動や複写、削除はできる。

ただ、明るさやコントラスト、尺度、クリップの状態など、

ラスターイメージ固有情報の編集ができない。

LTらすたという有名なフリーソフトがある。

Vectorの人気ランキングで、常に上位だ。(現在は1位)

AutoCAD LTでラスターデータをレギュラー版と同様に使えるようにする、大変便利なソフトだ。

-AutoCAD
-

執筆者:


  1. tamekichi より:

    はじめまして。
    >この「-0.5」の意味
    ピクセル1つを点ではなく面と考えると、ピクセル中心から見た左下の座標ではないでしょうか。

  2. CAD日記 より:

    tamekichiさん、はじめまして。
    とってもよく理解できました。
    >点ではなく面と考える...
    なるほど。
    ピクセルを、点としてしか考えられませんでした。
    目から鱗です。
    ありがとうございました。

comment

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

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

関連記事

AutoCAD 2021のコードネームがRogue(ローグ)で半笑い

以下Tweetですべての表したわけだが、まだ言い足りないことがあるのでツラツラと書いてみようじゃないか。 AUTOCAD2021のコードネームはRogue。ローグ。スターウォーズのスピンオフでローグ・ …

no image

AutoCAD2013

2004 Red Deer 2005 Neo 2006 Rio 2007 Postrio 2008 Spago 2009 Raptor 2010 Gator 2011 Hammer 2012 Iron …

AutoCADの変革(LTがRegularになってRegularがPlusに!)

CAD業界に激震が走ったというのはこういうことか。2021年5月7日、オートデスク社が「AutoCAD 新戦略記者説明会」をオンラインで行った。 ・従来のAutoCAD LTを「AutoCAD」に ・ …

no image

UCS

AutoCADのユーザー座標系のことを、UCSと呼びます。 非ユーザー座標系=ワールド座標系で、WCSと呼びます。 なんとなくわかっていたつもりでしたが、いやはや奥の深い世界です。 踏み出したら抜けら …

no image

AutoCADのブログではNo.1だと思う20の理由

記事のアクセスランキングを見てみるとAutoCADの記事ばっかりで、日々のおいらの思いがなかなか見られていなくて残念な反面、CAD日記でありAutoCAD万世なこのブログなわけだから、とても満足だった …