「Vla-evaluate」の版間の差分

提供:GizmoLabs - だいたい CAD LISP なサイト
編集の要約なし
編集の要約なし
 
24行目: 24行目:


; サンプル
; サンプル
<syntaxhighlight lang="lisp" line>
<pre class="brush:autolisp;">
(vl-load-com)
(vl-load-com)
(defun c:Example_AppendInnerLoop()
(defun c:Example_AppendInnerLoop()
71行目: 71行目:
     (vla-Regen *actdoc* :vlax-true)
     (vla-Regen *actdoc* :vlax-true)
)
)
</syntaxhighlight>
</pre>





2024年10月5日 (土) 08:09時点における最新版

構文
(vla-evaluate vla-object Loop)


機能
指定されたハッチングまたは引出線を評価する。


引数
  • vla-object … Hatch または Leader の VLA オブジェクト


戻り値
nil


  • memo:
    • Leader … 引出線とそれに関連付けられた注釈との関係を評価し、必要に応じて引出線ジオメトリを更新する。
    • Hatch … 指定されたハッチング パターンを使用して、ハッチング図形のハッチング線分または塗り潰しを評価する。 通常のハッチング パターンの場合、ハッチング パターンを定義する線分とハッチング境界の曲線との交点を計算し、ハッチング線分を形成する。 塗り潰しハッチング パターンの場合、ハッチング リージョンを三角形に分割し、指定された色で三角形のメッシュを塗り潰す。



サンプル
(vl-load-com)
(defun c:Example_AppendInnerLoop()
    ;; この例では、モデル空間での連想ハッチを作成し、ハッチの外側のループを追加する。

    (setq *actdoc* (vla-get-ActiveDocument (vlax-get-acad-object)))
    
    ;; ハッチの定義
    (setq patternName "AISI31"
          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)
)



関連事項