Vla-put-center

提供:GizmoLabs - だいたい CAD LISP なサイト
2016年1月26日 (火) 21:55時点におけるGizmon (トーク | 投稿記録)による版 (ページの作成:「{{AutoLISP}} ; 構文 : (vla-put-center ''vla-object'' ''point'' ) ; 機能 : 円弧、円、楕円、ビュー、ビューポートの中心を指定する。 ; 引...」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
(vla-put-center vla-object point )


機能
円弧、円、楕円、ビュー、ビューポートの中心を指定する。


引数
  • vla-object … VLAオブジェクト(Arc、Circle、DimRadialLarge、Ellipse、PViewport、View、Viewport)
  • point … オブジェクトの中心を表す 3D 座標。既定の中心は(0,0,0)。
  • Viewport、View : ビューポート、ビュー オブジェクトの場合、その中心は 2D 座標。


戻り値
nil


サンプル
(vl-load-com)
(defun c:Example_Center()
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
  
    ;; 初期中心点および円の半径を定義する。
    (setq currCenterPt (vlax-3d-point 20 30 0)
          radius 3)
    
    ;; 円を作成
    (setq modelSpace (vla-get-ModelSpace doc))
    (setq circObj (vla-AddCircle modelSpace currCenterPt radius))
    (vla-ZoomAll acadObj)
    (alert (strcat "円の中心点は "
		   "\n" (rtos (nth 0 (vlax-safearray->list (vlax-variant-value currCenterPt)))) ", "
		   (rtos (nth 1 (vlax-safearray->list (vlax-variant-value currCenterPt)))) ", "
		   (rtos (nth 2 (vlax-safearray->list (vlax-variant-value currCenterPt))))
           )
    )

    ;; 変更
    (setq newCenterPt (vlax-3d-point 25 25 0))
    (vla-put-Center circObj newCenterPt)
    (vla-Update circObj)
    
    ;; 新しい中心位置の結果。
    ;; バリアントは、center プロパティからの出力を確認します。
    (setq centerPoint (vlax-variant-value (vla-get-Center circObj)))
    (alert (strcat "円の中心点は "
		   "\n" (rtos (nth 0 (vlax-safearray->list centerPoint))) ", "
		   (rtos (nth 1 (vlax-safearray->list centerPoint))) ", "
		   (rtos (nth 2 (vlax-safearray->list centerPoint)))
           )
    )
)

関連事項