Main Layer Manager filter class (property filter).

An AcLyLayerFilter allows clients to specify a filter expression and nest other filters into a tree. This is the AutoCAD Layer Properties Manager filter model (AcLy* classes), not the block-index AcDbLayerFilter.

Nesting rules (AutoCAD Layer Manager behavior):

  • The tree root may contain both group filters and property filters.
  • A non-root property filter (isIdFilter = false) may contain other property filters, but may not contain a group filter.
  • A group filter may contain both group filters and property filters.

Mirrors ObjectARX AcLyLayerFilter from acly.h.

const unlocked = new AcLyLayerFilter();
unlocked.name = 'Unlocked Layers';
unlocked.setFilterExpression('LOCKED=="False"');

const root = new AcLyLayerFilter();
root.name = 'All';
root.addNested(unlocked);

Hierarchy (View Summary)

Constructors

Accessors

  • get filterExpression(): string
  • Gets the property-filter expression string.

    Returns string

    The filter expression, or an empty string.

    Mirrors ObjectARX AcLyLayerFilter::filterExpression. Group filters do not use expression strings and return an empty string.

  • set filterExpression(value: string): void
  • Sets the filter expression via property assignment.

    Parameters

    • value: string

      Filter expression string.

    Returns void

Methods

  • Adds a nested child filter under this filter.

    Parameters

    Returns boolean

    true if the child was added.

    Mirrors ObjectARX AcLyLayerFilter::addNested.

    Nesting rules:

    • This filter must allowNested.
    • The tree root may contain both group and property filters.
    • A non-root property filter may not contain a group filter.
    • A group filter may contain both group and property filters.
  • Returns whether nested filters are allowed under this filter.

    Returns boolean

    true if nested filters are allowed.

    Mirrors ObjectARX AcLyLayerFilter::allowNested. Both property and group filters allow nesting by default.

  • Generates nested filters from this filter's expression, when supported.

    Returns boolean

    true if nested filters were generated.

    Mirrors ObjectARX AcLyLayerFilter::generateNested. Not implemented beyond API parity; returns false.

  • Returns whether this filter is an ID/group filter.

    Returns boolean

    true for group filters; otherwise false.

    Mirrors ObjectARX AcLyLayerFilter::isIdFilter. Property filters return false; AcLyLayerGroup overrides this to return true.

  • Sets the property-filter expression string.

    Parameters

    • expression: string

      Filter expression (for example LOCKED=="False").

    Returns boolean

    true if the expression was accepted.

    Mirrors ObjectARX AcLyLayerFilter::setFilterExpression.

  • Sets the filter name.

    Parameters

    • value: string

      New filter name.

    Returns boolean

    true if the name was set.

    Mirrors ObjectARX AcLyLayerFilter::setName.