---
title: "AddSurfacesCommand | Customer's Canvas On-Premises"
canonical: "https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/AddSurfacesCommand/"
---

# AddSurfacesCommand

> - [`BaseProductCommand`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/BaseProductCommand.md#abstract-baseproductcommand)\<[`IAddSurfaceCommandArgs`](#iaddsurfacecommandargs), `void`\>

## Classes

### AddSurfacesCommand

#### Extends

#### Constructors

##### Constructor

```ts
new AddSurfacesCommand(
   product, 
   commandManager, 
   canvas, 
   userChangesService, 
   historyArgs, 
   args): AddSurfacesCommand;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `product` | `Product` |
| `commandManager` | [`CommandManager`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/CommandManager.md#commandmanager) |
| `canvas` | [`Canvas`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/Canvas-1.md#canvas) |
| `userChangesService` | [`UserChangesService`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/UserChanges-1.md#userchangesservice) |
| `historyArgs` | [`IHistoryArgs`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ModelUpdateCommand.md#ihistoryargs) |
| `args` | [`IAddSurfaceCommandArgs`](#iaddsurfacecommandargs) |

###### Returns

[`AddSurfacesCommand`](#addsurfacescommand)

###### Overrides

[`BaseProductCommand`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/BaseProductCommand.md#abstract-baseproductcommand).[`constructor`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/BaseProductCommand.md#constructor)

#### Methods

##### execute()

```ts
execute(): Promise<void>;
```

###### Returns

[`Promise`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/finally.md#promise)\<`void`\>

###### Overrides

[`BaseProductCommand`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/BaseProductCommand.md#abstract-baseproductcommand).[`execute`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/BaseProductCommand.md#execute)

##### redo()

```ts
redo(): Promise<void>;
```

###### Returns

[`Promise`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/finally.md#promise)\<`void`\>

###### Inherited from

[`BaseProductCommand`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/BaseProductCommand.md#abstract-baseproductcommand).[`redo`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/BaseProductCommand.md#redo)

##### undo()

```ts
undo(): Promise<void>;
```

###### Returns

[`Promise`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/finally.md#promise)\<`void`\>

###### Inherited from

[`BaseProductCommand`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/BaseProductCommand.md#abstract-baseproductcommand).[`undo`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/BaseProductCommand.md#undo)

##### getNewSurfaceName()

```ts
static getNewSurfaceName(surfaces, start): string;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `surfaces` | `Surface`[] |
| `start` | `number` |

###### Returns

`string`

## Interfaces

### IAddSurfaceCommandArgs

#### Extends

- [`MultiSelectMode`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/Commands.md#multiselectmode)\<[`MultiSelectMode`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/Commands.md#multiselectmode)\>
