MLightCAD
    Preparing search index...

    Command to copy selected entities by cloning and translating them.

    Supported AutoCAD-like workflow:

    1. Select entities (or reuse preselection),
    2. Specify base point or choose Displacement / Mode / Multiple,
    3. Specify placement point, or create an evenly spaced array,
    4. Append cloned copies without modifying the originals.

    Hierarchy (View Summary)

    Index

    Constructors

    Accessors

    • get globalName(): string

      Gets the global (untranslated) name of the command.

      The global name is typically used for programmatic access and should remain consistent across different language localizations.

      Returns string

      The global command name

    • set globalName(value: string): void

      Sets the global (untranslated) name of the command.

      Parameters

      • value: string

        The global command name (e.g., 'LINE', 'CIRCLE', 'ZOOM')

      Returns void

    • get userData(): TUserData

      Gets the custom user-defined data associated with this command.

      userData is a generic, strongly-typed container that allows consumers of the command to attach arbitrary metadata without modifying the command class itself.

      The shape of userData is defined by the generic parameter TUserData when the command is declared:

      Returns TUserData

      The user-defined data object associated with this command

      interface MyCommandData {
      sourceLayerId: string
      isPreview: boolean
      }

      class MyCommand extends AcEdCommand<MyCommandData> {}

      const cmd = new MyCommand()
      cmd.userData.sourceLayerId = 'Layer-01'
      cmd.userData.isPreview = true

      This design provides flexibility similar to THREE.Object3D.userData while preserving full compile-time type safety.

    Methods

    • Executes COPY using AutoCAD-like selection, base-point, and placement prompts.

      Existing selection is reused when available; otherwise the command requests a new selection. The command then resolves copy mode/base point options and appends cloned entities into model space for each accepted placement.

      Parameters

      • context: AcApContext

        Current application/document context.

      Returns Promise<void>

    • Triggers the command execution with proper event handling.

      This method should not be overridden by subclasses as it handles the event notification workflow. Subclasses should implement the execute() method instead.

      The execution flow:

      1. Fires commandWillStart event
      2. Calls the execute() method
      3. Fires commandEnded event

      Parameters

      • context: AcApContext

        The current application context containing view and document

      Returns Promise<void>

      const command = new MyCommand();
      command.trigger(docManager.context);