コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
GizmoLab 関連
オンラインショップ
CAD&CGブログ
YouTube
GitHub
CAD 系
GizmoTools
AutoLISP
Visual LISP
BricsCADのLISP
GzLib
DCL
OpenDCL
DWG
DXF
CADのコマンド一覧
システム変数
図形の種類
Ver別サポートAPI
CAD用語集
メモ
newLISP
CommonLISP
Script-Fu
Inno setup
JavaScript
ANDROID
Windowsでのファイルハッシュ確認
Prolog
Python
Clojure
Electron
フォント
数学メモ
イメージサイズとメモリ量
blender
Processwire
Win10,11メモ
IIJmio
mediawiki資料
ヘルプ
検索
検索
表示
ログイン
個人用ツール
ログイン
座標の変換のソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
座標の変換
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
AutoLISP での座標系変換 AutoLISP で座標変換する際は、trans 関数を用いて、1 つの座標系から別の座標系に点または変位を変換する。 この関数には、点引数 pt を指定し、pt は 3D 点、または 3D 変位ベクトルのどちらかと解釈され、それらは変位引数 disp によって区別される。 pt を変位ベクトルとして扱う場合、 disp 引数は 0(ゼロ)以外でなくてはならず、そうでない場合、 pt は点として扱われる。 from 引数は pt を表す座標系を指定し、 to 引数は必要な座標を指定する。 trans 関数の構文は、次のとおり。 ([[trans]] pt from to [disp]) from 引数と to 引数には、次の座標系を指定することができる。 {| class="wikitable" ! 座標系 !! 内容 !! |- | WCS || ワールド座標系。これは基準となる座標系。その他のすべての座標系は、決して変わることのない WCS を基準にして定義される。WCS を基準にして計測した値は、他の座標系が変更されても一定。 |- | UCS || ユーザ座標系。これは作業座標系。 ユーザは図面の作成作業を簡単にするために UCS を指定する。AutoLISP のルーチンや外部関数から返される点など、CAD のコマンドに渡されるすべての点は、現在の UCS における点(ただし、ユーザがコマンド プロンプトで頭に * を付けた場合は除く)。アプリケーションが CAD のコマンドに WCS、OCS、または DCS の座標を送る場合は、まず trans 関数を呼び出して座標を UCS に変換する必要がある。 |- | OCS || オブジェクト座標系。entget が返す点の値は、オブジェクトそのものを基準にした座標系で表される。通常、これらの点はオブジェクトの用途に応じて WCS、現在の UCS、または現在の DCS に変換される。逆に、entmod や entmake 関数を使用してデータベースに書き込む場合は、その前に点を OCS に変換しなければならない。OCSは、図形座標系(ECS)とも呼ばれる。 |- | DCS || ディスプレイ座標系。表示前にオブジェクトを変換する先の座標系。DCS の原点は CAD のシステム変数 TARGET に格納されている点で、その Z 軸は視線方向。言い換えれば、ビューポートは常にその DCS のプラン ビューということになる。これらの座標を使用すると、CAD ユーザに対する表示位置を決めることができる。from と to の整数コードが 2 と 3 の場合(順序はどちらでもよい)、2 は現在のモデル空間のビューポートを表し、3 はペーパー空間の DCS(PSDCS)を表す。コード 2 を 3 以外の整数コードと一緒に使用すると(または座標系を指定する別の方法を使用すると)、ペーパー空間であれモデル空間であれ、現在の空間の DCS を表すものと仮定される。もう 1 つの引数も、現在の空間における座標系を表すものとみなされる。 |- | PSDCS || ペーパー空間 DCS。この座標系は、現在アクティブなモデル空間のビューポートの DCS との間だけで変換される。 これは基本的に 2D 変換で、 disp 引数が 0(ゼロ)の場合、X と Y の各座標の尺度は常に変更、オフセットされる。Z 座標の尺度は変更されるが、変換されることはない。したがって、Z 座標を使用すると、2 種類の座標系の間の尺度係数を検出できる。PSDCS (整数コード 2)は現在のモデル空間のビューポートだけに変換できる。 from 引数が 3 の場合、to 引数は 2 でなくてはならず、その逆も同じ。 |- |} * from と to 引数には両方とも、次の方法で座標系を指定できる。 ** WCS、現在の UCS、または(現在のビューポートかペーパー空間の)現在の DCS を指定する整数コードとして。 ** 図面名または選択セット関数の 1 つによって返される図面名として。これにより、名前の付いたオブジェクトの OCS が指定される。OCS と WCS が同じ場合は、OCS と WCS 間の変換は等値演算になる。 ** 3D 押し出しベクトルとして。押し出しベクトルは常にワールド座標で表され、押し出しベクトルの (0,0,1) は WCS そのものを示す。 次の表に、 to 引数と from 引数に使用できる有効な整数コードを示す。 座標系コード * コード : 座標系 * 0(ゼロ) : ワールド(WCS) * 1 :ユーザ(現在の UCS) * 2 :ディスプレイ。コード 0(ゼロ)または 1 と組み合わせて使用する場合、現在のビューポートの DCS、コード 3 と組み合わせて使用する場合、現在のモデル空間ビューポートの DCS * 3 :ペーパー空間 DCS、PSDCS(コード 2 専用) 次の例は、点を WCS から現在の UCS に変換する。 (setq pt '(1.0 2.0 3.0)) (setq cs_from 0) ; WCS (setq cs_to 1) ; UCS (trans pt cs_from cs_to 0) ; disp = 0 は、pt がポイントであることを示す。
座標の変換
に戻る。
検索
検索
座標の変換のソースを表示
話題を追加