ObjectSortByPlotting Property (ActiveX)

Toggles sorting of drawing objects by plotting order.

Supported platforms: Windows only

Signature

VBA:

object.ObjectSortByPlotting
object

Type: DatabasePreferences

The object this property applies to.

Property Value

Read-only: No

Type: Boolean

Remarks

The initial value of this property is True.

AutoCAD initially enables sorting for plotting and PostScript output only. Setting additional sorting options can result in slower regeneration and redrawing times.

Note: The value of this property is stored in the SORTENTS system variable.

Examples

VBA:

Sub Example_ObjectSortByPlotting()
    ' This example reads and modifies the preference value that controls
    ' the sorting of drawing objects by plotting order.
    ' When finished, this example resets the preference value back to
    ' its original value.
    
    Dim ACADPref As AcadDatabasePreferences
    Dim originalValue As Variant, newValue As Variant
    
    ' Get the user preferences object
    Set ACADPref = ThisDrawing.preferences
    
    ' Read and display the original value
    originalValue = ACADPref.ObjectSortByPlotting
    MsgBox "The ObjectSortByPlotting preference is set to: " & originalValue

    ' Modify the ObjectSortByPlotting preference by toggling the value
    ACADPref.ObjectSortByPlotting = Not (ACADPref.ObjectSortByPlotting)
    newValue = ACADPref.ObjectSortByPlotting
    MsgBox "The ObjectSortByPlotting preference has been set to: " & newValue

    ' Reset the preference back to its original value
    '
    ' * Note: Comment out this last section to leave the change to
    '         this preference in effect
    ACADPref.ObjectSortByPlotting = originalValue
    MsgBox "The ObjectSortByPlotting preference was reset back to: " & originalValue
End Sub

Visual LISP:

(vl-load-com)
(defun c:Example_ObjectSortByPlotting()
    ;; This example reads and modifies the preference value that controls
    ;; the sorting of drawing objects by plotting order.
    ;; When finished, this example resets the preference value back to
    ;; its original value.
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))  
    (setq preferences (vla-get-Preferences doc))
  
    ;; Read and display the original value
    (setq originalValue (vla-get-ObjectSortByPlotting preferences))
    (alert (strcat "The ObjectSortByPlotting preference is set to: " (if (= originalValue :vlax-true) "True"  "False")))

    ;; Modify the ObjectSortByPlotting preference by toggling the value
    (vla-put-ObjectSortByPlotting preferences (if (= originalValue :vlax-true) :vlax-false :vlax-true))
    (setq newValue (vla-get-ObjectSortByPlotting preferences))
    (alert (strcat "The ObjectSortByPlotting preference has been set to: " (if (= newValue :vlax-true) "True"  "False")))

    ;; Reset the preference back to its original value
    ;;
    ;; * Note: Comment out this last section to leave the change to
    ;;         this preference in effect
    (vla-put-ObjectSortByPlotting preferences originalValue)
    (alert (strcat "The ObjectSortByPlotting preference was reset back to: " (if (= originalValue :vlax-true) "True"  "False")))
)