MLightCAD
    Preparing search index...
    • Layer management composable for Vue UI components.

      Subscribes to the active document's AcApLayerStore and exposes reactive layer rows plus mutation helpers. State resynchronizes when the user switches documents or when the layer table changes.

      Parameters

      • editor: AcApDocManager

        Application document manager that owns the active drawing.

      Returns {
          applyLayerSnapshot: (
              snapshot: LayerStateSnapshot,
              db?: AcDbDatabase,
          ) => boolean;
          captureLayerSnapshot: (db?: AcDbDatabase) => LayerStateSnapshot | null;
          currentLayerInfo: ComputedRef<LayerInfo | undefined>;
          currentLayerName: WritableComputedRef<string, string>;
          isolateLayer: (layerName: string) => boolean;
          layers: Reactive<LayerInfo[]>;
          setAllLayersOn: () => boolean;
          setCurrentLayer: (layerName: string) => boolean;
          setLayerColor: (layerName: string, color: AcCmColor) => boolean;
          setLayerDescription: (layerName: string, description: string) => boolean;
          setLayerFrozen: (layerName: string, isFrozen: boolean) => boolean;
          setLayerLinetype: (layerName: string, linetype: string) => boolean;
          setLayerLineWeight: (layerName: string, lineWeight: number) => boolean;
          setLayerLocked: (layerName: string, isLocked: boolean) => boolean;
          setLayerOn: (layerName: string, isOn: boolean) => boolean;
          setLayerPlottable: (layerName: string, isPlottable: boolean) => boolean;
          setLayerTransparency: (
              layerName: string,
              transparency: AcCmTransparency,
          ) => boolean;
          toggleLayerFrozen: (layerName: string) => boolean;
          toggleLayerLocked: (layerName: string) => boolean;
          toggleLayerOn: (layerName: string) => boolean;
          toggleLayerState: (
              layerName: string,
              state: LayerStateToggleKey,
          ) => boolean;
      }

      Reactive layer state and mutation functions for the active document.

      • applyLayerSnapshot: (snapshot: LayerStateSnapshot, db?: AcDbDatabase) => boolean

        Restores a captured layer snapshot. See applyLayerSnapshot.

      • captureLayerSnapshot: (db?: AcDbDatabase) => LayerStateSnapshot | null

        Captures current layer states for undo/previous. See captureLayerSnapshot.

      • currentLayerInfo: ComputedRef<LayerInfo | undefined>
      • currentLayerName: WritableComputedRef<string, string>

        Writable computed current layer name (CLAYER).

      • isolateLayer: (layerName: string) => boolean

        Isolates a single visible layer. See isolateLayer.

      • layers: Reactive<LayerInfo[]>

        Reactive list of layer rows for the active document.

      • setAllLayersOn: () => boolean

        Turns all layers on. See setAllLayersOn.

      • setCurrentLayer: (layerName: string) => boolean

        Sets the current layer. See setCurrentLayer.

      • setLayerColor: (layerName: string, color: AcCmColor) => boolean

        Sets layer color. See setLayerColor.

      • setLayerDescription: (layerName: string, description: string) => boolean

        Sets layer description. See setLayerDescription.

      • setLayerFrozen: (layerName: string, isFrozen: boolean) => boolean

        Freezes or thaws a layer. See setLayerFrozen.

      • setLayerLinetype: (layerName: string, linetype: string) => boolean

        Sets layer linetype. See setLayerLinetype.

      • setLayerLineWeight: (layerName: string, lineWeight: number) => boolean

        Sets layer line weight. See setLayerLineWeight.

      • setLayerLocked: (layerName: string, isLocked: boolean) => boolean

        Locks or unlocks a layer. See setLayerLocked.

      • setLayerOn: (layerName: string, isOn: boolean) => boolean

        Turns a layer on or off. See setLayerOn.

      • setLayerPlottable: (layerName: string, isPlottable: boolean) => boolean

        Sets layer plottable flag. See setLayerPlottable.

      • setLayerTransparency: (layerName: string, transparency: AcCmTransparency) => boolean

        Sets layer transparency. See setLayerTransparency.

      • toggleLayerFrozen: (layerName: string) => boolean

        Toggles layer frozen/thawed. See toggleLayerFrozen.

      • toggleLayerLocked: (layerName: string) => boolean

        Toggles layer locked/unlocked. See toggleLayerLocked.

      • toggleLayerOn: (layerName: string) => boolean

        Toggles layer on/off. See toggleLayerOn.

      • toggleLayerState: (layerName: string, state: LayerStateToggleKey) => boolean

        Toggles one of on, frozen, or locked. See toggleLayerState.

      import { AcApDocManager } from '@mlightcad/cad-simple-viewer'
      import { useLayers } from '@mlightcad/cad-viewer'

      const { layers, currentLayerName, setLayerOn, toggleLayerFrozen } =
      useLayers(AcApDocManager.instance)

      setLayerOn('Walls', true)
      toggleLayerFrozen('Dimensions')