# Design (Steel) functions | OpenStaad Python

> Steel code checks and design — assign design commands, groups, and parameters, then read design/check ratios. Runs after analysis.

Source: https://www.openstaad.com/docs/design-steel

Every function is a method of the session `s = ops.connect()` (`from openstaad import ops`).

## Create

### CreateDesignBrief

**Description**

Creates the design brief.

**Parameters**

- `design_code` (int): design code.

**Returns**

raw: The raw return value from the underlying OpenSTAAD COM call. Refer to the official Bentley OpenSTAAD API reference for this method's exact return semantics.

**Example**

```python
from openstaad import ops

s = ops.connect()
result = s.CreateDesignBrief(1)
print(result)
```

### CreateSteelDesignCommand

**Description**

Creates the steel design command.

**Parameters**

- `NDesignCode` (int): n design code.
- `NCommandNo` (int): n command no.
- `IntValues` (list): int values.
- `FloatValues` (list): float values.
- `StringValues` (list): string values.
- `NAssignList` (list): n assign list.

**Returns**

None: This function does not return a value.

**Example**

```python
from openstaad import ops

s = ops.connect()
s.CreateSteelDesignCommand(1, 1, [1, 2], [1, 2], [1, 2], [1, 2])
```

## Get

### GetDesignBriefCode

**Description**

Returns the design brief code.

**Parameters**

- `design_ref_id` (int): design ref id.

**Returns**

raw: The raw return value from the underlying OpenSTAAD COM call. Refer to the official Bentley OpenSTAAD API reference for this method's exact return semantics.

**Example**

```python
from openstaad import ops

s = ops.connect()
result = s.GetDesignBriefCode(1)
print(result)
```

### GetMemberDesignSectionName

**Description**

Returns the member design section name.

**Parameters**

- `beamNo` (int): beam no.

**Returns**

str: A string value returned by STAAD.Pro for this call.

**Example**

```python
from openstaad import ops

s = ops.connect()
result = s.GetMemberDesignSectionName(1)
print(result)
```

### GetMemberSteelDesignMaxFailureRatio

**Description**

Returns the member steel design max failure ratio.

**Parameters**

None.

**Returns**

float: A numeric value returned by STAAD.Pro for this call.

**Example**

```python
from openstaad import ops

s = ops.connect()
result = s.GetMemberSteelDesignMaxFailureRatio()
print(result)
```

### GetMemberSteelDesignMinFailureRatio

**Description**

Returns the member steel design min failure ratio.

**Parameters**

None.

**Returns**

float: A numeric value returned by STAAD.Pro for this call.

**Example**

```python
from openstaad import ops

s = ops.connect()
result = s.GetMemberSteelDesignMinFailureRatio()
print(result)
```

### GetMemberSteelDesignRatio

**Description**

Returns the member steel design ratio.

**Parameters**

- `beamNo` (int): beam no.

**Returns**

float: A numeric value returned by STAAD.Pro for this call.

**Example**

```python
from openstaad import ops

s = ops.connect()
result = s.GetMemberSteelDesignRatio(1)
print(result)
```

### GetMemberSteelDesignResults

**Description**

Returns the member steel design results.

**Parameters**

- `beamNo` (int): beam no.

**Returns**

tuple: A tuple of `(str, str, float, float, int, float, str, str, list[float], float)`.

**Example**

```python
from openstaad import ops

s = ops.connect()
result = s.GetMemberSteelDesignResults(1)
print(result)
```

### GetMultipleMemberSteelDesignMaxRatio

**Description**

Returns the multiple member steel design max ratio.

**Parameters**

- `beamNo` (int): beam no.

**Returns**

float: A numeric value returned by STAAD.Pro for this call.

**Example**

```python
from openstaad import ops

s = ops.connect()
result = s.GetMultipleMemberSteelDesignMaxRatio(1)
print(result)
```

### GetMultipleMemberSteelDesignRatio

**Description**

Returns the multiple member steel design ratio.

**Parameters**

- `param_blk_name` (str): param blk name.
- `beam_no` (int): beam no.

**Returns**

float: A numeric value returned by STAAD.Pro for this call.

**Example**

```python
from openstaad import ops

s = ops.connect()
result = s.GetMultipleMemberSteelDesignRatio("value", 1)
print(result)
```

### GetMultipleMemberSteelDesignResults

**Description**

Returns the multiple member steel design results.

**Parameters**

- `param_blk_name` (str): param blk name.
- `beam_no` (int): beam no.

**Returns**

tuple: A tuple of `(str, str, float, float, int, str, str)`.

**Example**

```python
from openstaad import ops

s = ops.connect()
result = s.GetMultipleMemberSteelDesignResults("value", 1)
print(result)
```

### GetSteelDesignParameterBlockCount

**Description**

Returns the steel design parameter block count.

**Parameters**

None.

**Returns**

raw: The raw return value from the underlying OpenSTAAD COM call. Refer to the official Bentley OpenSTAAD API reference for this method's exact return semantics.

**Example**

```python
from openstaad import ops

s = ops.connect()
result = s.GetSteelDesignParameterBlockCount()
print(result)
```

### GetSteelDesignParameterBlockNameByIndex

**Description**

Returns the steel design parameter block name by index.

**Parameters**

- `index` (int): index.

**Returns**

str: A string value returned by STAAD.Pro for this call.

**Example**

```python
from openstaad import ops

s = ops.connect()
result = s.GetSteelDesignParameterBlockNameByIndex(1)
print(result)
```

## Set/Assign

### AssignDesignCommand

**Description**

Assigns the design command.

**Parameters**

- `design_ref_id` (int): design ref id.
- `design_command_name` (str): design command name.
- `design_command_value` (str): design command value.
- `member_ids` (list[int]): member ids.

**Returns**

bool: `True` if the call succeeded, `False` otherwise.

**Example**

```python
from openstaad import ops

s = ops.connect()
result = s.AssignDesignCommand(1, "value", "value", [1, 2])
print(result)
```

### AssignDesignGroup

**Description**

Assigns the design group.

**Parameters**

- `design_ref_id` (int): design ref id.
- `design_group_name` (str): design group name.
- `design_group_value` (str): design group value.
- `same_as_member` (int): same as member.
- `member_ids` (list[int]): member ids.

**Returns**

bool: `True` if the call succeeded, `False` otherwise.

**Example**

```python
from openstaad import ops

s = ops.connect()
result = s.AssignDesignGroup(1, "value", "value", 1, [1, 2])
print(result)
```

### AssignDesignParameter

**Description**

Assigns the design parameter.

**Parameters**

- `design_ref_id` (int): design ref id.
- `design_param` (str): design param.
- `design_param_value` (str): design param value.
- `member_ids` (list[int]): member ids.

**Returns**

bool: `True` if the call succeeded, `False` otherwise.

**Example**

```python
from openstaad import ops

s = ops.connect()
result = s.AssignDesignParameter(1, "value", "value", [1, 2])
print(result)
```

### SetDesignResults

**Description**

Sets the design results.

**Parameters**

- `utilization` (int): utilization.
- `color` (bool): color.
- `showValues` (bool): show values.

**Returns**

raw: The raw return value from the underlying OpenSTAAD COM call. Refer to the official Bentley OpenSTAAD API reference for this method's exact return semantics.

**Example**

```python
from openstaad import ops

s = ops.connect()
result = s.SetDesignResults(1, True, True)
print(result)
```

## Is

### IsMultipleMemberSteelDesignResultsAvailable

**Description**

Checks whether multiple member steel design results available.

**Parameters**

None.

**Returns**

bool: `True` if the call succeeded, `False` otherwise.

**Example**

```python
from openstaad import ops

s = ops.connect()
result = s.IsMultipleMemberSteelDesignResultsAvailable()
print(result)
```
