Vla-get-origin

提供:GizmoLabs - だいたい CAD LISP なサイト
2015年11月7日 (土) 23:29時点におけるGizmon (トーク | 投稿記録)による版
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
(vla-get-origin vla-object)


機能
UCS、ブロック、ハッチング、またはラスター イメージの原点を WCS 座標で取得する。


引数
  • vla-object … VLAオブジェクト(Block、GeomapImage、Hatch、ModelSpace、PaperSpace、RasterImage、UCS、Wipeout)


戻り値
Layout および PlotConfiguration オブジェクトに対してバリアント型(3 要素の倍精度浮動小数点数型配列)またはバリアント型(2 要素の倍精度浮動小数点数型配列)
  • 3D Point: オブジェクトの原点を表す 3D WCS 座標。
  • 2D Point: 媒体の左下コーナーを基準にして原点を表す X および Y の値。


  • 注意 : Hatch では、ハッチング図形のパターンの原点の座標。


サンプル
(vl-load-com)
(defun c:Example_Origin()
    ;; UCSを作成して原点を返すサンプル
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
  
    ;; アクティブなビューポートにビューポートObjを設定
    (setq viewportObj (vla-get-ActiveViewport doc))
    
    ;; UCS を 2, 2, 0 原点で作成
    (setq origin (vlax-3d-point 2 2 0)
          xAxisPoint (vlax-3d-point 3 2 0)
          yAxisPoint (vlax-3d-point 2 3 0))
    
    (setq ucsObj (vla-Add (vla-get-UserCoordinateSystems doc) origin xAxisPoint yAxisPoint "UCS1"))
    (vla-put-ActiveUCS doc ucsObj)
    (vla-put-UCSIconOn viewportObj :vlax-true)
    (vla-put-UCSIconAtOrigin viewportObj :vlax-true)
    (vla-put-ActiveViewport doc viewportObj)
    
    ;; 新しいUCSのための現在の原点を表示
    (alert (strcat "UCSの原点は : " 
                   (rtos (vlax-safearray-get-element (vlax-variant-value (vla-get-Origin ucsObj)) 0) 2) ", "
                   (rtos (vlax-safearray-get-element (vlax-variant-value (vla-get-Origin ucsObj)) 1) 2) ", "
                   (rtos (vlax-safearray-get-element (vlax-variant-value (vla-get-Origin ucsObj)) 2) 2)))

    ;; UCS原点を変更
    (setq origin (vlax-3d-point 4 4 0))
    (vla-put-Origin ucsObj origin)
    
    ;; アクティブなUCSをリセット
    (vla-put-ActiveUCS doc ucsObj)
    (vla-put-ActiveViewport doc viewportObj)
    
    (alert (strcat "UCS 原点を変更 : " 
                   (rtos (vlax-safearray-get-element (vlax-variant-value (vla-get-Origin ucsObj)) 0) 2) ", "
                   (rtos (vlax-safearray-get-element (vlax-variant-value (vla-get-Origin ucsObj)) 1) 2) ", "
                   (rtos (vlax-safearray-get-element (vlax-variant-value (vla-get-Origin ucsObj)) 2) 2)))
)


関連事項