Vla-appendinnerloop
- 構文
- (vla-appendinnerloop vla-object Loop)
- 機能
- ハッチングに内側のループを追加する。
- 引数
-
- vla-object … Hatch の VLA オブジェクト
- Loop … 閉じた境界を形成するオブジェクトまたはオブジェクトの配列。この配列は、1つまたは複数のオブジェクトで構成できる。 複数のオブジェクトを使用する場合は、終了点が、正しく作成されたループに一致しなければならない。このループには、次に示すタイプのオブジェクトを入れることができる。
Line、Polyline、Circle、Ellipse、Spline、Region
- 戻り値
- nil
- memo:
- AddHatch メソッドを使用してハッチング オブジェクトを作成した後、AppendOuterLoop メソッドで外側のループを追加する。外側のループは閉じたループで、内側のループより先に作成しなければならない。
- サンプル
(vl-load-com)
(defun c:Example_AppendInnerLoop()
;; この例では、モデル空間での連想ハッチを作成し、ハッチの外側のループを追加する。
(setq *actdoc* (vla-get-ActiveDocument (vlax-get-acad-object)))
;; ハッチの定義
(setq patternName "SOLID"
patternType 0
bAssociativity :vlax-true)
;; 連想ハッチオブジェクトを作成
(setq modelSpace (vla-get-ModelSpace *actdoc*))
(setq hatchObj (vla-AddHatch modelSpace patternType patternName bAssociativity acHatchObject))
;; ハッチのための外側のループを作成
;; 円弧と線は閉じたループを作成するために使用
(setq center (vlax-3d-point 5 3 0)
radius 3
startAngle 0
endAngle 3.141592)
(setq arc (vla-AddArc modelSpace center radius startAngle endAngle))
(setq line (vla-AddLine modelSpace (vla-get-StartPoint arc) (vla-get-EndPoint arc)))
(setq outerLoop (vlax-make-safearray vlax-vbObject '(0 . 1)))
(vlax-safearray-put-element outerLoop 0 arc)
(vlax-safearray-put-element outerLoop 1 line)
;; ハッチングオブジェクトに外側のループを追加
(vla-AppendOuterLoop hatchObj outerLoop)
;; ハッチのための内側のループとして円を追加
(setq center (vlax-3d-point 5 4.5 0)
radius 1)
(setq circle (vla-AddCircle modelSpace center radius))
(setq innerLoop (vlax-make-safearray vlax-vbObject '(0 . 0)))
(vlax-safearray-put-element innerLoop 0 circle)
(vla-AppendInnerLoop hatchObj innerLoop)
;; ハッチを評価して表示
(vla-Evaluate hatchObj)
(vla-Regen *actdoc* :vlax-true)
)
関連事項