
# IPCB_ManufactruingRuleList interface

*No description yet.*

```csharp
public interface IPCB_ManufactruingRuleList
```

**Namespace:** PCB · **Assembly:** Altium.SDK.Interfaces

## Methods

| Method | Returns | Description |
| --- | --- | --- |
| [AddManufacturingRule](#addmanufacturingrule) | `void` |  |
| [AddPCBRule](#addpcbrule) | `void` |  |

### AddManufacturingRule

*No description yet.*

```csharp
void AddManufacturingRule(TPCB_ManufacturingRuleKind argKind, IPCB_LayerSet argLayerSet, int argValue);
void AddManufacturingRule(int argKind, object argLayerSet, int argValue);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argKind` | [TPCB_ManufacturingRuleKind](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/TPCB_ManufacturingRuleKind.md) | value |
| `argLayerSet` | [IPCB_LayerSet](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_LayerSet.md) | value |
| `argValue` | `int` | value |

**Returns:** nothing (`void`)

The first overload is an extension method of `IPCB_ManufactruingRuleListHelper` (`using PCB;`) with typed parameters; the second is declared by the interface.

### AddPCBRule

*No description yet.*

```csharp
void AddPCBRule(IPCB_Rule argPCBRule);
void AddPCBRule(object argPCBRule);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argPCBRule` | [IPCB_Rule](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Rule.md) | value |

**Returns:** nothing (`void`)

The first overload is an extension method of `IPCB_ManufactruingRuleListHelper` (`using PCB;`) with typed parameters; the second is declared by the interface.

## Returned by

[IPCB_ManufacturingDRCProvider.CreateRuleList](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_ManufacturingDRCProvider.md#createrulelist)

## Accepted by

[IPCB_ManufacturingDRCProvider.RunDRC](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_ManufacturingDRCProvider.md#rundrc)
