Vla-translatecoordinates
- 構文
- (vla-translatecoordinates vla-object Point FromCoordSystem ToCoordSystem Displacement OCSNormal)
- 機能
- 点を、ある座標系から他の座標系に変換する。
- 引数
-
- vla-object … Utility のVLAオブジェクト
- Point … 追加する頂点を指定する座標。
- FromCoordSystem … 点の変換前の座標系。
- ToCoordSystem … 点の変換後の座標系。
- Displacement … 変位ベクトル フラグ。
- vlax-True : Point は変位ベクトルとみなされる。
- vlax-False: Point は点とみなされる。
- OCSNormal … OCS の法線。
- 戻り値
- 変換後の 3D WCS 座標。
- 注意 : ある OCS の座標を、直接別の OCS の座標に変換することはできない。この変換を行うには、まず、ある OCS の座標を WCS などの、中間の座標系の座標に変換し、次にこの座標をもう 1 つの OCS の座標に変換する。
- Polyline または LWPolyline オブジェクトの点を OCS から WCS に変換するには、次のようにする。
- OCS の点の X、Y 座標を Coordinate または Coordinates プロパティから取得。
- OCS の点の Z 座標を Elevation プロパティから取得。
- ポリラインに対する法線を Normal プロパティから取得。
- X、Y、Z 座標および Normal を使用して TranslateCoordinates を呼び出す。
- サンプル
(vl-load-com)
(defun c:Example_TranslateCoordinates()
;; 2,2,2 のUCS点を作成。WCS と UCS の座標点を表示するサンプル
(setq acadObj (vlax-get-acad-object))
(setq doc (vla-get-ActiveDocument acadObj))
;; "New_UCS" というUCSを作成する
(setq origin (vlax-3d-point 2 2 2)
xAxisPnt (vlax-3d-point 5 2 2)
yAxisPnt (vlax-3d-point 2 6 2))
;; UCS を UserCoordinatesSystems コレクションに追加
(setq ucsObj (vla-Add (vla-get-UserCoordinateSystems doc) origin xAxisPnt yAxisPnt "New_UCS"))
(vla-put-ActiveUCS doc ucsObj)
;; UCSアイコンを表示
(setq viewportObj (vla-get-ActiveViewport doc))
(vla-put-UCSIconOn viewportObj :vlax-true)
(vla-put-UCSIconAtOrigin viewportObj :vlax-true)
(vla-put-ActiveViewport doc viewportObj)
;; 点を入力
(setq pointWCS (vlax-variant-value (vla-GetPoint (vla-get-Utility doc) nil "\nEnter で点を変換 :")))
;; UCS 座標点を変換
(setq pointUCS (vlax-variant-value (vla-TranslateCoordinates (vla-get-Utility doc) pointWCS acWorld acUCS :vlax-false)))
;; 座標点を表示
(alert (strcat
"座標点は次のようになります:"
"\nWCS: "
(rtos (vlax-safearray-get-element pointWCS 0) 2) ", "
(rtos (vlax-safearray-get-element pointWCS 1) 2) ", "
(rtos (vlax-safearray-get-element pointWCS 2) 2)
"\nUCS: "
(rtos (vlax-safearray-get-element pointUCS 0) 2) ", "
(rtos (vlax-safearray-get-element pointUCS 1) 2) ", "
(rtos (vlax-safearray-get-element pointUCS 2) 2)))
)
関連事項