「Vla-evaluate」の版間の差分
細編集の要約なし |
編集の要約なし |
||
24行目: | 24行目: | ||
; サンプル | ; サンプル | ||
< | <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) | ||
) | ) | ||
</ | </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) )
関連事項