Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 60 additions & 0 deletions gdtf-spec.md
Original file line number Diff line number Diff line change
Expand Up @@ -1288,6 +1288,7 @@ of geometry collect are specified in [table 34](#user-content-table-34 ).
| [GeometryReference](#user-content-geometry-type-reference ) | Any | Reference to already described geometries. |
| [Laser](#user-content-geometry-type-laser ) | Any | Geometry with a laser light output. |
| [WiringObject](#user-content-geometry-type-wiring-object ) | Any | Geometry that describes an internal wiring for power or data. |
| [Cable](#user-content-geometry-type-cable ) | Any | Geometry that describes a cable assembly. |
| [Inventory](#user-content-geometry-type-inventory ) | Any | Geometry that describes an additional item that can be used for a fixture (like a rain cover). |
| [Structure](#user-content-geometry-type-structure ) | Any | Geometry that describes the internal framing of an object (like members). |
| [Support](#user-content-geometry-type-support ) | Any | Geometry that describes a support like a base plate or a hoist. |
Expand Down Expand Up @@ -1783,6 +1784,65 @@ defined XML attributes of a pin patch are specified in [table 51](#user-content-

The pin patch doesn't have any children.

### Geometry Type Cable

#### General

This type of geometry is used to describe a cable assembly (XML node
`<Cable>`).

The currently defined XML attributes of the cable geometry are specified in
[table 52](#table-52 ).

<div id="table-52">

#### Table 52. *Cable Attributes*

| XML Attribute Name | Value Type | Description |
|----|----|----|
| Name | [Name](#user-content-attrtype-name ) | Unique name of the cable definition. |
| CableType | [String](#user-content-attrtype-string ) | Cable type, model, or construction. |
| LengthMin | [Float](#user-content-attrtype-float ) | Minimum supported cable length. Unit: meter. Default value: 0. |
| LengthMax | [Float](#user-content-attrtype-float ) | Maximum supported cable length. Unit: meter. Default value: 0. |
| LengthArbitrary | [Enum](#user-content-attrtype-enum ) | Indication whether an arbitrary length is available. The currently defined values are: "True", "False". Default: "False". |
| Diameter | [Float](#user-content-attrtype-float ) | Outer shell diameter. Unit: meter. Default value: 0. |
| WeightPerMeter | [Float](#user-content-attrtype-float ) | Weight per meter. Unit: kilogram. Default value: 0. |
| AvailableLengths | [Array of Float](#user-content-attrtype-float ) | Array of available cable lengths. Unit: meter. Separator of values is ",". Default value: 0. |
| InstallationRating | [String](#user-content-attrtype-string ) | Optional rating such as plenum, riser, outdoor, touring, or manufacturer-specific text. |

</div>

The cable geometry has the same children types as the geometry collect (see
[table 34](#user-content-table-34 )). In addition, the cable has one or more
`Conductors` children that describe the bundled conductors or signal paths
carried by the cable.

### Node Definition: Conductors

This node defines one internal conductor bundle of a cable assembly.
The defined Conductors node attributes are specified in
[table-conductors-attributes](#table-conductors-attributes ).

Node name: `Conductors`

<div id="table-conductors-attributes">

#### Table XX. *Conductors Attributes*

| XML Attribute Name | Value Type | Description |
|----|----|----|
| Name | [Name](#user-content-attrtype-name ) | Unique name of the conductor bundle within the cable geometry. |
| Type | [String](#user-content-attrtype-string ) | Conductor type. Predefined values are "Power", "DMX512", "Protocol", "AES", "AnalogVideo", "AnalogAudio". |
| CrossSection | [Float](#user-content-attrtype-float ) | Conductor cross-section where applicable. Unit: mm². Default value: 0. |
| ConductorAmount | [Integer](#user-content-attrtype-integer ) | Amount of conductors. Default value: 0. |
| Impedance | [Float](#user-content-attrtype-float ) | Cable impedance where applicable. Unit: Ohm. Default value: 0. |
| VoltageRating | [Float](#user-content-attrtype-float ) | Optional voltage rating. Unit: volt. Default value: 0. |
| CurrentRating | [Float](#user-content-attrtype-float ) | Optional current rating. Unit: ampere. Default value: 0. |

</div>

The Conductors node has Pin Patch (XML node `<PinPatch>`) children.

### Geometry Type Inventory

This type of geometry is used to describe a geometry used for the inventory (XML node `<Inventory>`). The currently
Expand Down
20 changes: 19 additions & 1 deletion mvr-spec.md
Original file line number Diff line number Diff line change
Expand Up @@ -368,6 +368,7 @@ The child list (Table 18) contains a list of the following nodes:
| [Truss](#node-definition-truss) | A definition of a truss. |
| [VideoScreen](#node-definition-videoscreen) | A definition of a video screen. |
| [Projector](#node-definition-projector) | A definition of a projector. |
| [Cable](#node-definition-cable) | A definition of a cable. |


## Node Definition for Parametric Objects
Expand Down Expand Up @@ -813,6 +814,23 @@ EXAMPLE An example of a node definition is shown below:
</Projector>
```

### Node Definition: Cable

This node defines a cable object. Cable describes the physical realization of a
connection between two [Connection](#node-definition-connection) nodes. The
defined Cable Node Attributes are specified in Table XX.

Node name: `Cable`

Table xx - Cable Node attributes:

| Attribute Name | Value Type | Description |
| ------------------ | ----------------: | --------------------------------------------------------------------------------------- |
| uuid | [UUID](#user-content-attrtype-uuid) | Unique identifier of the cable. |
| name | [String](#user-content-attrtype-string) | Cable name. |
| length | [Float](#user-content-attrtype-float)| Cable length. Unit: meter. Default value: 0 |
| GDTFSpec | [FileName](#user-content-attrtype-filename) | Optional. The name of the GDTF or `gdtt` file containing a reusable cable catalog. |
| GDTFMode | [String](#user-content-attrtype-string) | Optional. The name of the cable object definition inside the GDTF file referenced by `GDTFSpec`. This has to match the name of a DMXMode in the GDTF file. Mandatory when `GDTFSpec` as been defined. |

## Other Node Definition

Expand Down Expand Up @@ -1223,6 +1241,7 @@ Node name: `Connection`
| own | [String](#user-content-attrtype-string) | Mandatory | Node Link to the Geometry with DIN SPEC 15800 Type [Wiring Object](https://github.com/mvrdevelopment/spec/blob/main/gdtf-spec.md#geometry-type-wiring-object) . Starting point is the Geometry Collect of the linked GDTF. |
| other | [String](#user-content-attrtype-string) | Mandatory | Node Link to the Geometry with DIN SPEC 15800 Type [Wiring Object](https://github.com/mvrdevelopment/spec/blob/main/gdtf-spec.md#geometry-type-wiring-object) . Starting point is the Geometry Collect of the linked GDTF of the object defined in `toObject`. |
| toObject | [UUID](#user-content-attrtype-uuid) | Mandatory | UUID of an other object in the scene. |
| cable | [UUID](#user-content-attrtype-uuid) | Empty String | UUID of the cable used for this connection. |

### Node Definition: Mappings

Expand Down Expand Up @@ -1811,4 +1830,3 @@ UUIDs are randomly generated numbers which are, practically speaking, unique and
One of the most important aspects of UUIDs in MVR is that they are persistent. A UUID should identify an item throughout its entire life cycle. This means that if a document is exported, then objects should have the same UUID every time an export is performed.
One use case for UUIDs is importing or merging MVRs into an existing document. This is one reason that persistent UUIDs are valuable. If you export an MVR from one program, open it in another, and make modifications, then you may want to incorporate those changes into the original document. By cross referencing UUIDs, you can avoid creating duplicate objects and instead update existing ones.
UUIDs are also used inside of the MVR file format as a form of reference. For example, a symbol instance shall refer to a symbol definition. Because the symbol definition is given a UUID, the symbol instance can reference its symbol through the use of this UUID.

178 changes: 178 additions & 0 deletions proposal.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,178 @@
## Cable definition GDTF

### Power cable, Schuko to Schuko

```xml
<Cable Name="Power Cable Schuko to Schuko"
LengthMin="1.0"
LengthMax="25.0"
AvailableLengths="1.0,5.0,10.0,25.0"
Diameter="0.02"
WeightPerMeter="0.002"
InstallationRating="Touring">
<WiringObject Name="A"
ConnectorType="CEE 7/7"
ComponentType="Input"
SignalType="Power"
PinCount="3" />
<WiringObject Name="B"
ConnectorType="CEE 7/7"
ComponentType="Output"
SignalType="Power"
PinCount="3" />
<Conductors Name="Power" Type="Power" CrossSection="1.5" ConductorAmount="3" VoltageRating="250" CurrentRating="16">
<PinPatch FromWiringObject="A" FromPin="1" ToWiringObject="B" ToPin="1" />
<PinPatch FromWiringObject="A" FromPin="2" ToWiringObject="B" ToPin="2" />
<PinPatch FromWiringObject="A" FromPin="3" ToWiringObject="B" ToPin="3" />
</Conductors>
</Cable>
```

### Power cable, Schuko to PowerTrueOne

```xml
<Cable Name="Power Cable Schuko to PowerTrueOne"
LengthMin="1.0"
LengthMax="25.0"
AvailableLengths="1.0,5.0,10.0,25.0"
InstallationRating="Touring">
<WiringObject Name="A"
ConnectorType="CEE 7/7"
ComponentType="Input"
SignalType="Power"
PinCount="3" />
<WiringObject Name="B"
ConnectorType="PowerTrueOne"
ComponentType="Output"
SignalType="Power"
PinCount="3" />
<Conductors Name="Power" Type="Power" CrossSection="1.5" ConductorAmount="3" VoltageRating="250" CurrentRating="16">
<PinPatch FromWiringObject="A" FromPin="1" ToWiringObject="B" ToPin="1" />
<PinPatch FromWiringObject="A" FromPin="2" ToWiringObject="B" ToPin="2" />
<PinPatch FromWiringObject="A" FromPin="3" ToWiringObject="B" ToPin="3" />
</Conductors>
</Cable>
```

### DMX cable, XLR to XLR

```xml
<Cable Name="DMX Cable XLR to XLR"
LengthMin="1.0"
LengthMax="100.0"
AvailableLengths="1.0,5.0,10.0,25.0,50.0,100.0"
InstallationRating="Touring">
<WiringObject Name="A"
ConnectorType="XLR3"
ComponentType="Input"
SignalType="DMX512"
PinCount="3" />
<WiringObject Name="B"
ConnectorType="XLR3"
ComponentType="Output"
SignalType="DMX512"
PinCount="3" />
<Conductors Name="DMX" Type="DMX512" ConductorAmount="3" Impedance="120">
<PinPatch FromWiringObject="A" FromPin="1" ToWiringObject="B" ToPin="1" />
<PinPatch FromWiringObject="A" FromPin="2" ToWiringObject="B" ToPin="2" />
<PinPatch FromWiringObject="A" FromPin="3" ToWiringObject="B" ToPin="3" />
</Conductors>
</Cable>
```

### Combined cable, power and DMX, four connectors

```xml
<Cable Name="Power and DMX Combo, split ends"
LengthMin="1.0"
LengthMax="50.0"
AvailableLengths="1.0,5.0,10.0,25.0,50.0"
InstallationRating="Touring">
<WiringObject Name="Power-In"
ConnectorType="CEE 7/7"
ComponentType="Input"
SignalType="Power"
PinCount="3" />
<WiringObject Name="Power-Out"
ConnectorType="PowerTrueOne"
ComponentType="Output"
SignalType="Power"
PinCount="3" />
<WiringObject Name="DMX-In"
ConnectorType="XLR3"
ComponentType="Input"
SignalType="DMX512"
PinCount="3" />
<WiringObject Name="DMX-Out"
ConnectorType="XLR3"
ComponentType="Output"
SignalType="DMX512"
PinCount="3" />
<Conductors Name="Power" Type="Power" CrossSection="1.5" ConductorAmount="3" VoltageRating="250" CurrentRating="16">
<PinPatch FromWiringObject="Power-In" FromPin="1" ToWiringObject="Power-Out" ToPin="1" />
<PinPatch FromWiringObject="Power-In" FromPin="2" ToWiringObject="Power-Out" ToPin="2" />
<PinPatch FromWiringObject="Power-In" FromPin="3" ToWiringObject="Power-Out" ToPin="3" />
</Conductors>

<Conductors Name="DMX" Type="DMX512" ConductorAmount="3" Impedance="120">
<PinPatch FromWiringObject="DMX-In" FromPin="1" ToWiringObject="DMX-Out" ToPin="1" />
<PinPatch FromWiringObject="DMX-In" FromPin="2" ToWiringObject="DMX-Out" ToPin="2" />
<PinPatch FromWiringObject="DMX-In" FromPin="3" ToWiringObject="DMX-Out" ToPin="3" />
</Conductors>
</Cable>
```
### Combined cable, power and DMX, two Amphenol connectors

```xml
<Cable Name="Power and DMX Combo, single connector each side"
LengthMin="1.0"
LengthMax="50.0"
AvailableLengths="1.0,5.0,10.0,25.0,50.0"
InstallationRating="Touring">
<WiringObject Name="A"
ConnectorType="Amphenol"
ComponentType="Input"
PinCount="6" />
<WiringObject Name="B"
ConnectorType="Amphenol"
ComponentType="Output"
PinCount="6" />
<Conductors Name="Power" Type="Power" CrossSection="1.5" ConductorAmount="3" VoltageRating="250" CurrentRating="16">
<PinPatch FromWiringObject="A" FromPin="1" ToWiringObject="B" ToPin="1" />
<PinPatch FromWiringObject="A" FromPin="2" ToWiringObject="B" ToPin="2" />
<PinPatch FromWiringObject="A" FromPin="3" ToWiringObject="B" ToPin="3" />
</Conductors>

<Conductors Name="DMX" Type="DMX512" ConductorAmount="3" Impedance="120">
<PinPatch FromWiringObject="A" FromPin="4" ToWiringObject="B" ToPin="4" />
<PinPatch FromWiringObject="A" FromPin="5" ToWiringObject="B" ToPin="5" />
<PinPatch FromWiringObject="A" FromPin="6" ToWiringObject="B" ToPin="6" />
</Conductors>
</Cable>
```

## Cable definition MVR

```xml
<Cable
uuid="7C6B12E5-0AC9-45B2-99EA-5C7C9D9F5A10"
name="Low Voltage PSU Feed 25m Hybrid"
length="25.0"
GDTFSpec="MyFixtureFamily.gdtf"
GDTFMode="DMX cable">
</Cable>
```
Example cable utilization:

```xml
<Connection
own="LowVoltageOutput"
other="LowVoltageInput"
toObject="..."
cable="7C6B12E5-0AC9-45B2-99EA-5C7C9D9F5A10"/>
<Connection
own="LowVoltageOutput"
other="LowVoltageInput"
toObject="..."
cable="7C6B12E5-0AC9-45B2-99EA-5C7C9D9F5A10"/>
```