「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)
)
関連事項