Vla-put-regeneratetablesuppressed

提供:GizmoLabs - だいたい CAD LISP なサイト
2015年11月3日 (火) 20:44時点におけるGizmon (トーク | 投稿記録)による版
構文
(vla-put-regeneratetablesuppressed vla-object bForceUpdate )


機能
表ブロックの再生成を取得する。


引数
  • vla-object … Table の VLAオブジェクト
  • bForceUpdate … ブール型
  • vlax-True: 表の再生成は省略される。
  • vlax-False: 表の再生成は省略されない。


戻り値
nil


  • 注意 : Table オブジェクトを変更するすべてのメソッドは、次のことを行う。
Table オブジェクトを書き出しモードで開く
入力パラメータに基づいて Table オブジェクトを修正する
Table オブジェクトを閉じ、Table を再計算する

表の再計算では Table オブジェクトがゼロから再構築されるので、大きな表の再計算には多くの時間とメモリが必要となる。 パフォーマンスの問題を回避するには、API で大きな表を修正するときに、Table オブジェクトの再構築を一時的に禁止し、修正を適用してから再構築を有効にする。


サンプル
(vl-load-com)
(defun c:Example_RegenerateTableSuppressed()
    (setq doc (vla-get-ActiveDocument (vlax-get-acad-object)))

    (setq pt (vlax-3d-point 0 0 0))
  
    (setq MyModelSpace (vla-get-ModelSpace doc))
    (setq MyTable (vla-AddTable MyModelSpace pt 100 5 5 10))

    ;; テーブルブロックの再計算を無効化
    (vla-put-RegenerateTableSuppressed MyTable :vlax-true)

    (setq i 1
          j 0)
  
    (while (>= 99 i)
        (while (>= 4 j)
            (vla-SetText MyTable i j (strcat "my string " (itoa i) ", " (itoa j)))

            (setq j (1+ j))
        )

        (setq i (1+ i)
              j 0)
    )

    ;; テーブルブロックの再計算を有効化
    (vla-put-RegenerateTableSuppressed MyTable :vlax-false)

    ;; 変わりにこっちでもおk
    ;;(vla-RecomputeTableBlock MyTable :vlax-true)
)

関連事項