Enables or disables regeneration of the table block.
Supported platforms: Windows only
VBA:
object.RegenerateTableSuppressed
Type: Table
The object this property applies to.
Read-only: No
Type: Boolean
All methods that change the Table object do the following:
Recomputing large tables consumes a lot of time and memory because the Table object is reconstructed from scratch.
To avoid performance problems, you should temporarily disable the regeneration of the Table object when modifying large tables through the API, then apply the modifications and re-enable regeneration.
VBA:
Sub Example_RegenerateTableSuppressed() Dim MyModelSpace As AcadModelSpace Dim MyTable As IAcadTable Dim pt(2) As Double Set MyModelSpace = ThisDrawing.ModelSpace Set MyTable = MyModelSpace.AddTable(pt, 100, 5, 5, 10) 'Temporarily disable the recomputing of table block MyTable.RegenerateTableSuppressed = True Dim i As Integer, j As Integer For i = 0 To 99 For j = 0 To 4 Call MyTable.SetText(i, j, "my string " & i & ", " & j) Next j Next i 'Now force the recomputing of table block 'so that we can see the update table results MyTable.RegenerateTableSuppressed = False 'You can also call RecomputeTableBlock(true) instead 'to force the regeneration of table 'MyTable.RecomputeTableBlock(True) End Sub
Visual LISP:
(vl-load-com) (defun c:Example_RegenerateTableSuppressed() (setq acadObj (vlax-get-acad-object)) (setq doc (vla-get-ActiveDocument acadObj)) (setq pt (vlax-3d-point 0 0 0)) (setq MyModelSpace (vla-get-ModelSpace doc)) (setq MyTable (vla-AddTable MyModelSpace pt 100 5 5 10)) ;; Temporarily disable the recomputing of table block (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) ) ;; Now force the recomputing of table block ;; so that we can see the update table results (vla-put-RegenerateTableSuppressed MyTable :vlax-false) ;; You can also call (vla-RecomputeTableBlock obj :vl;ax-true) instead ;; to force the regeneration of table ;;(vla-RecomputeTableBlock MyTable :vlax-true) )