「Vla-evaluate」の版間の差分

提供:GizmoLabs - だいたい CAD LISP なサイト
(ページの作成:「{{AutoLISP}} ; 構文 : (vla-evaluate ''vla-object'' ''Loop'') ; 機能 : 指定されたハッチングまたは引出線を評価する。 ; 引数 :* vla-object ...」)
 
編集の要約なし
24行目: 24行目:


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


</pre>


-----
-----

2018年7月16日 (月) 13:59時点における版

構文
(vla-evaluate vla-object Loop)


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


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


戻り値
nil


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



サンプル

<syntaxhighlight lang="lisp" line> (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)

) </syntaxhighlight>



関連事項