ObjectSortByPSOutput Property (ActiveX)

Toggles sorting of drawing objects by PostScript output order.

Supported platforms: Windows only

Signature

VBA:

object.ObjectSortByPSOutput
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_ObjectSortByPSOutput()
    ' This example reads and modifies the preference value which controls
    ' the sorting of drawing objects by PostScript output order.
    ' When finished, this example resets the preference value back to
    ' it's 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.ObjectSortByPSOutput
    MsgBox "The ObjectSortByPSOutput preference is set to: " & originalValue

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

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

Visual LISP:

(vl-load-com)
(defun c:Example_ObjectSortByPSOutput()
    ;; This example reads and modifies the preference value which controls
    ;; the sorting of drawing objects by PostScript output order.
    ;; When finished, this example resets the preference value back to
    ;; it's 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-ObjectSortByPSOutput preferences))
    (alert (strcat "The ObjectSortByPSOutput preference is set to: " (if (= originalValue :vlax-true) "True"  "False")))

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

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