「Vla-get-perimeter」の版間の差分
(ページの作成:「{{AutoLISP}} ; 構文 : (vla-get-perimeter ''vla-object'' ) ; 機能 : 内部リージョンと外部リージョンのループ長の合計を取得する。 ; 引...」) |
細編集の要約なし |
||
9行目: | 9行目: | ||
; 引数 | ; 引数 | ||
:* vla-object … のVLAオブジェクト | :* vla-object … Region のVLAオブジェクト | ||
; 戻り値 | ; 戻り値 | ||
: | : ループの周長は作図単位で返す。 | ||
2016年2月22日 (月) 23:00時点における最新版
- 構文
- (vla-get-perimeter vla-object )
- 機能
- 内部リージョンと外部リージョンのループ長の合計を取得する。
- 引数
-
- vla-object … Region のVLAオブジェクト
- 戻り値
- ループの周長は作図単位で返す。
- サンプル
(vl-load-com) (defun c:Example_Perimeter() ;; 円弧と直線から領域を作成して、領域の境界の長さを返すサンプル。 (setq acadObj (vlax-get-acad-object)) (setq doc (vla-get-ActiveDocument acadObj)) (setq modelSpace (vla-get-ModelSpace doc)) ;; 線分と円を作成 (setq centerPoint (vlax-3d-point 5 3 0) radius 2 startAngle 0 endAngle 3.141592) (setq arcObj (vla-AddArc modelSpace centerPoint radius startAngle endAngle)) (setq lineObj (vla-AddLine modelSpace (vla-get-StartPoint arcObj) (vla-get-EndPoint arcObj))) (setq curves (vlax-make-safearray vlax-vbObject '(0 . 1))) (vlax-safearray-put-element curves 0 arcObj) (vlax-safearray-put-element curves 1 lineObj) ;; リージョンを作成 (setq regionObj (vla-AddRegion modelSpace curves)) (vla-ZoomAll acadObj) ;; 境界を取得 (setq perimeter (vla-get-Perimeter (vlax-safearray-get-element (vlax-variant-value regionObj) 0))) (alert (strcat "リージョンの境界は " (rtos perimeter 2))) )
関連事項