Vla-appendouterloop

提供:GizmoLabs - だいたい CAD LISP なサイト
構文
(vla-appendouterloop vla-object Loop)


機能
ハッチングに外側ループを追加します。


引数
  • vla-object … Hatch の VLA オブジェクト
  • Loop … 閉じた境界を形成するオブジェクトまたはオブジェクトの配列。この配列は、1つまたは複数のオブジェクトで構成できる。複数のオブジェクトを使用する場合は、オブジェクトの端点が一致しないと、ループは適切に作成されない。(Arc、Circle、Ellipse、Line、Polyline、Region、Spline)


戻り値
nil


  • 注意

AddHatch メソッドを使用して Hatch オブジェクトを作成した後、外側のループを追加する。外側のループは閉じたループで、内側のループより先に作成しなければならない。有効な外側のループを作成したら、AppendInnerLoop メソッドを使用して 1 回に 1 つずつ内側のループを追加する。 ハッチング境界を定義したら、Evaluate メソッドを使用して境界用のハッチング線分または塗り潰しを計算する。次に、Regen メソッドを使用してハッチングの表示を更新する。


サンプル
(vl-load-com)
(defun c:Example_AppendOuterLoop()
    ;; 自動調整ハッチをモデル空間に作成し、ハッチの境界ループを作成
    (setq doc (vla-get-ActiveDocument (vlax-get-acad-object)))

    ;; Define the hatch
    (setq patternName "ANSI31"
          patternType 0
          bAssociativity :vlax-true)

    ;; 自動調整ハッチを作成する
    (setq modelSpace (vla-get-ModelSpace doc))  
    (setq hatchObj (vla-AddHatch modelSpace patternType patternName bAssociativity acHatchObject))

    ;; 境界のループを作成する
    ;; An arc and a line are used to create a closed loop.
    (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)

    ;; Append the outer loop to the hatch object, and display the hatch
    (vla-AppendOuterLoop hatchObj outerLoop)
    (vla-Evaluate hatchObj)
    (vla-ZoomAll (vlax-get-acad-object))
)


関連事項