幾何操作と座標系

AutoCAD の座標系の種類

AutoCAD をユーザーが使う場合はせいぜい WCS に加えて UCS を意識する程度でしょうが、プログラムを作成するには座標系をきちんと理解しなければなりません。AutoCAD の座標系は次のようなものがあります。

名前 意味
WCS World Coordinate System ワールド座標系
UCS User Coordinate System ユーザー座標系
OCS
(ECS)
Object Coordinate System
(Entity Coordinate System)
オブジェクト座標系
(エンティティ座標系)
MCS Model Coordinate System モデル座標系
DCS Display Coordinate System ディスプレイ座標系
PSDCS Paper Space Display Coordinate System ペーパー空間ディスプレイ座標系

これらの名前から受ける先入観は少しわきに置いておいて、具体的なイメージはつぎのようなものになります。

AutoCAD WCS

WCS は【モデル空間】の元となる AutoCAD の最も基本となる座標系です。そして、【ペーパー空間】の元になるのが PSDCS です。

AutoCAD UCS

UCS は、作図を簡便にするためにユーザーにより任意の位置に変更されます。AutoCAD のコマンドの中でユーザーがキーボードから入力する値やクリックした座標は UCS の情報として得られます。初期状態は UCS が WCS に合致しているので意識されませんが、AutoCAD の図面データベースは WCS あるいは OCS であらわされるために、そうでない場合を想定してプログラムで UCS へ、または UCS から変換しなければなりません。UCS は【モデル空間】と【ペーパー空間】にそれぞれ存在します。

AutoCAD OCS

OCS は個々の図形が載っている平面の向き(Normal 法線)により定義される座標系です。XY 平面で作図している時の WCS の Z 軸と OCS の Z 軸の向きが同じならば、WCS と OCS は一致します。しかし三次元的な位置に配置された図形で向きが異なる場合は WCS に対して OCS は傾いたものとなります。この傾きは Z 軸の向きを表す【押し出し方向】という名前のベクトルであらわされます。ECS は OCS の古い呼び名です。

MCS はブロック参照図形に係る座標系です。ブロック内の図形は、BLOCK コマンドでブロックが作成された際の UCS に基づいた座標で記録されます。つまり、その時の UCS が内に含む図形の座標系になりブロック定義内の座標系になります。そして、図面上にブロック参照図形が配置された際に、内部の図形の座標系つまりブロック内の座標系と WCS との関係を表すのが MCS です。

AutoCAD ObjectCS

追加でもうひとつ座標系を意識しておくとよいでしょう。それは OCS に似ていますが、図形を基準にした座標系です。OCS は傾いた図形を書き表すのに不可欠ですが、WCS と原点が同じで Z 軸以外の XY 軸の向きは図形とは無関係に決まります。ここでいう図形を基準にした座標系は、原点を図形の基準点とし、軸の向きも OCS と Z 軸は共通ですが X 軸 Y 軸は図形のそれに合わせたものになります。この稿では ObjectCS と呼ぶことにします。これは UCS コマンドでオブジェクトを選択してセットされる UCS の座標系と同じものです。逆に UCS コマンドでオブジェクトを選んでセットされる UCS は OCS ではないので混同しないでください。

最後に、DCS は画面表示のためのスクリーンの座標系です。これらはモデルの画面などへの投影方法を決定する、例えばモデル空間を三次元表示にした際に意識される視点カメラの座標系です。X 軸と Y 軸は、画面の左右や上下方向で、Z 軸は常に視線方向のこちら側を向いています。DCS と AutoCAD ユーザーの間は正投影の関係です。そのため、Z 座標の値はユーザーに対して見え方に影響を与えません。