Vla-get-associativehatch

提供:GizmoLabs - だいたい CAD LISP なサイト
2016年2月18日 (木) 10:27時点におけるGizmon (トーク | 投稿記録)による版 (ページの作成:「{{AutoLISP}} ; 構文 : (vla-get-associativehatch ''vla-object'' ) ; 機能 : ハッチングが自動調整かどうかを取得する。 ; 引数 :* vla-object …...」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
(vla-get-associativehatch vla-object )


機能
ハッチングが自動調整かどうかを取得する。


引数
  • vla-object … VLAオブジェクト(Hatch)


戻り値
ブール型
  • :vlax-True: ハッチングは自動調整。
  • :vlax-False: ハッチングは非自動調整。


  • MEMO : 自動調整ハッチングは、境界が変更されたときに更新されます。非自動調整ハッチングは、境界が変更されても更新されない。
  • 自動調整属性は、ハッチングの作成時のみに設定される。ハッチング作成についての詳細は、AddHatch メソッドを参照。
サンプル
(vl-load-com)
(defun c:Example_AssociativeHatch()
    ;; ハッチングを作成して、ハッチが自動調整かどうかを返すサンプル。
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
    
    ;; ハッチの定義
    (setq patternName "ANSI31"
          patternType 0
          bAssociativity :vlax-true)
    
    ;; ハッチを作成
    (setq modelSpace (vla-get-ModelSpace doc))  
    (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)
        
    ;; Append the outer loop to the hatch object
    (vla-AppendOuterLoop hatchObj outerLoop)
    
    ;; ハッチを表示
    (vla-Evaluate hatchObj)
    (vla-Regen doc :vlax-true)
    
    ;; 自動調整かどうかを返す
    (setq hatchAssoc (vla-get-AssociativeHatch hatchObj))
    (alert (strcat "このハッチは " (if (= hatchAssoc :vlax-true) "自動調整です。" "自動調整じゃないです。")))
)

関連事項