ObjectSortBySelection Property (ActiveX)

Toggles sorting of drawing objects by object selection.

Supported platforms: Windows only

Signature

VBA:

object.ObjectSortBySelection
object

Type: DatabasePreferences

The object this property applies to.

Property Value

Read-only: No

Type: Boolean

Remarks

The initial value of this property is False.

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_ObjectSortBySelection()
    ' This example reads and modifies the preference value that controls
    ' the sorting of drawing objects by object selection.
    ' 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.ObjectSortBySelection
    MsgBox "The ObjectSortBySelection preference is set to: " & originalValue

    ' Modify the ObjectSortBySelection preference by toggling the value
    ACADPref.ObjectSortBySelection = Not (ACADPref.ObjectSortBySelection)
    newValue = ACADPref.ObjectSortBySelection
    MsgBox "The ObjectSortBySelection 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.ObjectSortBySelection = originalValue
    MsgBox "The ObjectSortBySelection preference was reset back to: " & originalValue
End Sub

Visual LISP:

(vl-load-com)
(defun c:Example_ObjectSortBySelection()
    ;; This example reads and modifies the preference value that controls
    ;; the sorting of drawing objects by object selection.
    ;; 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-ObjectSortBySelection preferences))
    (alert (strcat "The ObjectSortBySelection preference is set to: " (if (= originalValue :vlax-true) "True"  "False")))

    ;; Modify the ObjectSortBySelection preference by toggling the value
    (vla-put-ObjectSortBySelection preferences (if (= originalValue :vlax-true) :vlax-false :vlax-true))
    (setq newValue (vla-get-ObjectSortBySelection preferences))
    (alert (strcat "The ObjectSortBySelection 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-ObjectSortBySelection preferences originalValue)
    (alert (strcat "The ObjectSortBySelection preference was reset back to: " (if (= originalValue :vlax-true) "True"  "False")))
)