Vla-get-centroid
- 構文
- (vla-get-centroid vla-object )
- 機能
- リージョンの面積の中心またはソリッドの質量の中心を取得する。
- 引数
-
- vla-object … 3DSolid、Region の VLAオブジェクト
- 戻り値
- 図心を表す 2D または 3D 座標
* MEMO : 図心はバリアント型で定義された X、Y 座標で返される。
- サンプル
(vl-load-com) (defun c:Example_Centroid() ;; モデルにボックスを作成して、その中心を返すサンプル (setq acadObj (vlax-get-acad-object)) (setq doc (vla-get-ActiveDocument acadObj)) ;; ボックスの設定値 (setq center (vlax-3d-point 5 5 0) boxLength 5 boxWidth 7 boxHeight 10) ;; 3DSolidのボックスオブジェクトを作成 (setq modelSpace (vla-get-ModelSpace doc)) (setq boxObj (vla-AddBox modelSpace center boxLength boxWidth boxHeight)) ;; ビューをボックスが表示されるように更新 (setq NewDirection (vlax-3d-point -1 -1 1)) (setq activeViewport (vla-get-ActiveViewport doc)) (vla-put-Direction activeViewport NewDirection) (vla-put-ActiveViewport doc activeViewport) (vla-ZoomAll acadObj) ;; ボックスの中心を返す (setq Centroid (vlax-safearray->list (vlax-variant-value (vla-get-Centroid boxObj)))) (alert (strcat "ボックスの中心は " (rtos (nth 0 Centroid) 2) ", " (rtos (nth 1 Centroid) 2))) ) ; 選択したソリッド図形の図心座標点リストを Centroid 変数に格納 (setq Centroid (vlax-safearray->list (vlax-variant-value (vla-get-Centroid (vlax-ename->vla-object (car (entsel)))))))
関連事項