Vla-addregion
- 構文
- (vla-addregion vla-object ObjectList)
- 機能
- リージョン オブジェクトを追加する。
- 引数
- 
- vla-object … メソッドが適用される VLA オブジェクト (Block、ModelSpace、PaperSpace)
- ObjectList … リージョンとなる閉じた同一平面を形成するオブジェクトの配列。 (Arc、Circle、Ellipse、Line、LWPolyline、Spline)
 
- 戻り値
- 生成されたリージョンの VLA オブジェエクトの配列
- memo:
- このメソッドは、曲線の入力配列によって形成される閉じたループからリージョンを作成する。閉じた 2D および平面 3D ポリラインを個別のリージョンに変換し、次に閉じた平面ループを形成するポリライン、線分、および曲線を変換する。3 本以上の曲線が 1 つの端点を共有する場合、最終的なリージョンは任意に決定される。
- Explode メソッドを使用して、リージョンを個々のループに分解することができる。vla-boolean メソッドを使用すれば、別のソリッドやリージョンとの交差、和、または差によって、合成 3D ソリッドや合成リージョンを作成することができる。
- 作成される Region オブジェクトの総数は、Ubound(objRegions) - Lbound(objRegions) + 1 となる。
 
- サンプル
<syntaxhighlight lang="lisp" line> (vl-load-com) (defun c:Example_AddRegion()
;; 円弧と線分からリージョンを作成するサンプル (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 arc (vla-AddArc modelSpace centerPoint radius startAngle endAngle))
   
   ;; 線分の値
   (setq line (vla-AddLine modelSpace (vla-get-StartPoint arc) (vla-get-EndPoint arc)))
(setq curves (vlax-make-safearray vlax-vbObject '(0 . 1))) (vlax-safearray-put-element curves 0 arc) (vlax-safearray-put-element curves 1 line) ;; リージョンを作成 (setq regionObj (vla-AddRegion modelSpace curves)) (vla-ZoomAll acadObj)
)
(defun c:exp_boolean2 ( / space e1 e2 )
 ;; 閉じた図形からリージョンを作成して
 ;; ブールするサンプル
 (vl-load-com)
 (setq space
   (vlax-get-property (vla-get-ActiveDocument (vlax-get-acad-object))
     (if (= 1 (getvar 'CVPORT))
       'Paperspace
       'Modelspace
     )))
 (if
   (and
     (setq e1 (car (entsel "\n外周図形を選択 : ")))
     (vlax-curve-isClosed e1)
     (setq e2 (car (entsel "\n内周図形を選択 : ")))
     (vlax-curve-isClosed e2)
   )
   (vla-Boolean
     (car (vlax-invoke space 'AddRegion (list (vlax-ename->vla-object e1)))) acSubtraction
     (car (vlax-invoke space 'AddRegion (list (vlax-ename->vla-object e2))))
   )
 )
(princ)
)
</syntaxhighlight>
関連事項
