52 lines
837 B
Markdown
52 lines
837 B
Markdown
---
|
|
id:
|
|
aliases: []
|
|
tags:
|
|
- status/fleeting
|
|
- topic/automation
|
|
- topic/estimating
|
|
- topic/software
|
|
---
|
|
# Assembly Objects
|
|
|
|
```cs
|
|
public class GangableReceptacle : IGangableDevice
|
|
...
|
|
|
|
public class GangableSwitch : IGangableDevice
|
|
...
|
|
|
|
public class OutletBox
|
|
{
|
|
public List<IUtilizationEquipment> Contents;
|
|
|
|
public void Add(IUtilizationEquipment)
|
|
{
|
|
// Add to contents or throw if incompatible
|
|
}
|
|
|
|
public List<Item> Resolve()
|
|
{
|
|
// Check content types and resolve by specifications
|
|
// or raise error if not possible
|
|
// (e.g. incompatible devices)
|
|
}
|
|
}
|
|
```
|
|
|
|
```yaml
|
|
- type: switchboard
|
|
parents: 1
|
|
children: 0..
|
|
primary-rating: amperes
|
|
|
|
- type: transfer-switch
|
|
parents: 2
|
|
children: 1
|
|
|
|
- type: transformer
|
|
parents: 1
|
|
children: 1
|
|
primary-rating: volt-amperes
|
|
```
|