mvrdevelopment / spec

DIN SPEC 15800 General Device Type Format (GDTF) and My Virtual Rig (MVR) File Format description DIN SPEC 15801
64 stars 13 forks source link

Circuit name and circuit number #158

Closed petrvanekrobe closed 1 month ago

petrvanekrobe commented 1 year ago

Add Circuit name and circuit number in the MVR DIN Spec.

Ref: email 4/27/23, 09:07 +0200 MVR Standard & MVR Protocol

moritzstaffel commented 1 year ago

This is already part of the connections or?

petrvanekrobe commented 1 year ago

Thank you @moritzstaffel

I hope i have found the correct @BartvanStiphout , apologies in case this is a wrong one :)

@BartvanStiphout can you perhaps explain the use case, so we can check if it aligns with what is already provided in MVR?

Thank you Petr

bartvanstiphout commented 1 year ago

Hello,

I am the developer of PatchPrinter, which is a preproduction/planning tool. With PatchPrinter you can assign a power circuit and a universe to a fixtures, powercircuits can be assigned to power distributors etc etc. PatchPrinter then will generate all the paperwork and labels. To get an idea you can look at https://www.patchprinter.com. Since a lot of people allready assing circuits to the fixtures in their favourite CAD software, it would be nice to include that data also in the MVR spec. Now that only can be imported from a .csv file.

To cover 99% of the fixtures, a simple circuit name and circuit number should be sufficient:

<Fixture name="Robe iSpiider" uuid="1175DB0B-8E7D-4490-8ACD-A187C491D28F">
  <CircuitInfo name="Socapex 13" number="4"/>
</Fixture>

To cover all fixtures, a reference to the GDTF Geometry Type Wiring Object Name can be included:

<Fixture name="Robe iSpiider" uuid="1175DB0B-8E7D-4490-8ACD-A187C491D28F">
  <Circuits>
    <Circuit name="Socapex 13" number="4" ref="Mains"/>
  </Circuits>
</Fixture>

When the GDFT file does not include the Wiring object for the mains, it can be assumed that the fixture only has a single mains connection en the ref field can be omitted.

@petrvanekrobe told me there is work in progress for a protocol to communicate the modifications in MVR files. It would be nice to include this as well. Is there a place the current state of the protocol can be reviewed?

Thanks,

Bart

moritzstaffel commented 1 year ago

@bartvanstiphout Look at https://github.com/mvrdevelopment/spec/blob/main/mvr-spec.md#node-definition-connections

This allows the connection of GDTF to be defined by MVR. It references the UUID of another MVR Object and the Geometry of the linked GDTF Geometry.

<Connections>    
      <Connection own="Input" toObject="8BF13DD7-CBF4-415B-99E4-625FE4D2DAF6" other="Output1"/>
      <Connection own="1" toObject="8BF13DD7-CBF4-415B-99E4-625FE4D2DAF6" other="IN"/>
      <Connection own="2" toObject="8BF13DD7-CBF4-415B-99E4-625FE4D2DAF6" other="IN"/>
    </Connections>
bartvanstiphout commented 1 year ago

@moritzstaffel This is already a good starting point. However, this assumes the object the fixture is connected to is an entity with a UUID. This is often not the case I believe, since most "stamps" are just text fields. The CAD software now should know while assigning the circuit what kind of multi cable for instance fixture is assigned to. This is a practical thing I don't see happen in the near future. Therefor the Connections object could be extended something like this:

<Connections>    
      <Connection own="Input" toUndefinedObject="Socapex 12" other="2"/>
</Connections>

I believe this will be much more convenient to implement for the CAD software developers but even more for the users of those CAD software.

moritzstaffel commented 1 year ago

@bartvanstiphout This is currently how it is working in Vectorworks for example.

The virtual Plugboxes by name would make problems, because name changes are hard to get.

petrvanekrobe commented 1 year ago

Hi guys,

we didn't manage to discuss this with @moritzstaffel today, but my presumption is that VW creates a dummy object for this, so it can have UUID attached and can be converted/replaced, changes tracked and so on?

moritzstaffel commented 1 year ago

@petrvanekrobe Yes that is right.

bartvanstiphout commented 1 year ago

What will be the value in the other field then? Just a number or a specific string?

petrvanekrobe commented 1 year ago

@bartvanstiphout , did you figure this out of is an input from our side still needed? Thank you. P.

bartvanstiphout commented 1 year ago

@petrvanekrobe No, not yet. If someone could provide me with an example file I can implement it that way. Just need to know whether it is er number, specific string. Thanks!

petrvanekrobe commented 1 year ago

Hi @moritzstaffel when you have a bit of time, can you please comment here? Cheers :) P.

moritzstaffel commented 1 year ago

Yes as discussed today, I will try to create an example how this works.

bartvanstiphout commented 11 months ago

@moritzstaffel Hello Moritz, is the example already available? Thanks, Bart

moritzstaffel commented 6 months ago

Yes. here it is:

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<GeneralSceneDescription verMajor="1" verMinor="5">

  <UserData/>

  <Scene>
    <Layers>
      <Layer name="None" uuid="00000000-0000-0000-0000-000001000000">
        <ChildList>
          <Fixture name="Coef7 MH RGBW" uuid="61AF4D8E-EB7D-11EE-8EC5-68545A984149">
            <Connections>
              <Connection other="Base.Pigtail.Power OUT" own="Base.Pigtail.Power IN" toObject="61AF4D8F-EB7D-11EE-8EC5-68545A984148"/>
            </Connections>
          </Fixture>
          <Fixture name="Coef7 MH RGBW" uuid="61AF4D8F-EB7D-11EE-8EC5-68545A984148">
            <Connections>
              <Connection other="Base.Pigtail.Power IN" own="Base.Pigtail.Power OUT" toObject="61AF4D8E-EB7D-11EE-8EC5-68545A984149"/>
            </Connections>
            <GDTFSpec>User Test@Coef7 MH RGBW@PA_Export.gdtf</GDTFSpec>
            <GDTFMode>Mode 1- Reduced 8 - bit</GDTFMode>
          </Fixture>
        </ChildList>
      </Layer>
    </Layers>

  </Scene>

</GeneralSceneDescription>
    <Geometries>
      <Geometry Model="Base" Name="Base" Position="{1.000000,0.000000,0.000000,0.000000}{0.000000,1.000000,0.000000,0.000000}{0.000000,0.000000,1.000000,0.000000}{0,0,0,1}">
        <Axis Model="Yoke" Name="Yoke" Position="{1.000000,0.000000,0.000000,0.000000}{0.000000,1.000000,0.000000,0.000000}{0.000000,0.000000,1.000000,-0.072000}{0,0,0,1}">
          <Axis Model="Head" Name="Head" Position="{1.000000,0.000000,0.000000,0.000000}{0.000000,1.000000,0.000000,0.000000}{0.000000,0.000000,1.000000,-0.155000}{0,0,0,1}">
            <Beam BeamAngle="42.400000" BeamRadius="0.069500" BeamType="Wash" ColorRenderingIndex="75" ColorTemperature="8000.000000" FieldAngle="60.000000" LampType="LED" LuminousFlux="2288.000000" Model="Beam" Name="Beam" Position="{1.000000,0.000000,0.000000,0.000000}{0.000000,1.000000,0.000000,0.000000}{0.000000,0.000000,1.000000,-0.130000}{0,0,0,1}" PowerConsumption="220.000000" RectangleRatio="1.777700" ThrowRatio="1.000000"/>
          </Axis>
        </Axis>
        <Geometry Model="Pigtail" Name="Pigtail" Position="{1.000000,0.000000,0.000000,0.000000}{0.000000,1.000000,0.000000,-0.074917}{0.000000,0.000000,1.000000,-0.038038}{0,0,0,1}">
          <WiringObject ComponentType="Consumer" ConnectorType="PowerconTRUE1" CosPhi="0.970000" ElectricalPayLoad="220.000000" FrequencyRangeMax="60.000000" FrequencyRangeMin="50.000000" FuseCurrent="0.000000" FuseRating="B" MaxPayLoad="0.000000" Name="Power IN" Orientation="Left" PinCount="3" Position="{1.000000,0.000000,0.000000,0.000000}{0.000000,1.000000,0.000000,0.000000}{0.000000,0.000000,1.000000,0.000000}{0,0,0,1}" SignalLayer="1" SignalType="Power" Voltage="0.000000" VoltageRangeMax="240.000000" VoltageRangeMin="100.000000" WireGroup=""/>
          <WiringObject ComponentType="PowerSource" ConnectorType="PowerconTRUE1" CosPhi="0.000000" ElectricalPayLoad="0.000000" FrequencyRangeMax="0.000000" FrequencyRangeMin="0.000000" FuseCurrent="240.000000" FuseRating="B" MaxPayLoad="0.000000" Name="Power OUT" Orientation="Left" PinCount="3" Position="{1.000000,0.000000,0.000000,0.000000}{0.000000,1.000000,0.000000,0.000000}{0.000000,0.000000,1.000000,0.000000}{0,0,0,1}" SignalLayer="1" SignalType="Power" Voltage="240.000000" VoltageRangeMax="0.000000" VoltageRangeMin="0.000000" WireGroup=""/>
          <WiringObject ComponentType="NetworkInput" ConnectorType="XLR5" CosPhi="0.000000" ElectricalPayLoad="0.000000" FrequencyRangeMax="0.000000" FrequencyRangeMin="0.000000" FuseCurrent="0.000000" FuseRating="B" MaxPayLoad="0.000000" Name="DMX 5Pin IN" Orientation="Left" PinCount="5" Position="{1.000000,0.000000,0.000000,0.000000}{0.000000,1.000000,0.000000,0.000000}{0.000000,0.000000,1.000000,0.000000}{0,0,0,1}" SignalLayer="2" SignalType="DMX512" Voltage="0.000000" VoltageRangeMax="0.000000" VoltageRangeMin="0.000000" WireGroup=""/>
          <WiringObject ComponentType="NetworkOutput" ConnectorType="XLR5" CosPhi="0.000000" ElectricalPayLoad="0.000000" FrequencyRangeMax="0.000000" FrequencyRangeMin="0.000000" FuseCurrent="0.000000" FuseRating="B" MaxPayLoad="0.000000" Name="DMX 5Pin OUT" Orientation="Left" PinCount="5" Position="{1.000000,0.000000,0.000000,0.000000}{0.000000,1.000000,0.000000,0.000000}{0.000000,0.000000,1.000000,0.000000}{0,0,0,1}" SignalLayer="2" SignalType="DMX512" Voltage="0.000000" VoltageRangeMax="0.000000" VoltageRangeMin="0.000000" WireGroup=""/>
          <WiringObject ComponentType="NetworkInOut" ConnectorType="RJ45" CosPhi="0.000000" ElectricalPayLoad="0.000000" FrequencyRangeMax="0.000000" FrequencyRangeMin="0.000000" FuseCurrent="0.000000" FuseRating="B" MaxPayLoad="0.000000" Name="Ethernet" Orientation="Left" PinCount="8" Position="{1.000000,0.000000,0.000000,0.000000}{0.000000,1.000000,0.000000,0.000000}{0.000000,0.000000,1.000000,0.000000}{0,0,0,1}" SignalLayer="3" SignalType="" Voltage="0.000000" VoltageRangeMax="0.000000" VoltageRangeMin="0.000000" WireGroup=""/>
        </Geometry>
      </Geometry>
    </Geometries>

This show on a very simple level the connection between two fixtures.

moritzstaffel commented 6 months ago

This connection storing inside MVR and GDTF is split into two parts: One from the GDTF. This defines the possible connections of the Fixture. It lives in the <Geometries> and the different connection options are defined by <WiringObject>. There are multiple ComponentType options. In general they are divided into Data/Network and Power connectors. There are inputs, outputs and Universal ports. Also you can define the Over Current Protection Devices like RCBO, MCB and so on. Internally inside the GDTF the internal connection are also defined. In the end, the internal wiring defines for power the actual wiring that you would find in the box yourself. For Network this is done on a logical layer.

This work needs to be done by the manufacturer (or the user when he adds them). But they need to be in place to make it work.

In MVR, each Object has an array with <Connections>. This now allows to connect devices together. You need to reference the other (MVR-)UUID of the object that you want to connect and the name of WiringObject Geometry of the GDTF that you want to connect. This connections need to be done into booth object. So a cable from one device to another leads to two<Connection> entries inside the MVR.

Unfortunately there is currently no application that actually does this while MVR export and import that is currently available for everybody. If you want to have some beta software to play with, give me a hint.

moritzstaffel commented 6 months ago

Note that we are currently working on a solution for POE and Audio Connections as well.

bartvanstiphout commented 4 months ago

Thanks for the clarification @moritzstaffel. How about the situation where you just have a single fixture connected to a break out. Should I then create a GDTF object with for instance 7 connections: 1 Socapex In, 6 Schuko out? And then create instances of these in the MVR?

In this way I could also create GDTF files for PSU's etc, so the complete connectionscheme becomes available. I would love to see this being included in applications such as VW, Wysiwyg etc.

bartvanstiphout commented 4 months ago

In recent MA3 exports, I found out the XML header is missing: <?xml version="1.0" encoding="UTF-8" standalone="no" ?>

Is this mandatory and is this a bug or should the software be able to deal with this?

petrvanekrobe commented 4 months ago

In recent MA3 exports, I found out the XML header is missing: <?xml version="1.0" encoding="UTF-8" standalone="no" ?>

Is this mandatory and is this a bug or should the software be able to deal with this?

@bartvanstiphout yes, it should be present. If you handle it, it is better of course, including the extra data at the end. But I think that this should be reported directly to MA.

petrvanekrobe commented 4 months ago

Thanks for the clarification @moritzstaffel. How about the situation where you just have a single fixture connected to a break out. Should I then create a GDTF object with for instance 7 connections: 1 Socapex In, 6 Schuko out? And then create instances of these in the MVR?

In this way I could also create GDTF files for PSU's etc, so the complete connectionscheme becomes available. I would love to see this being included in applications such as VW, Wysiwyg etc.

Yes. FYI, we created an initial file for the LSC Unitour power distro.

bartvanstiphout commented 4 months ago

https://gdtf-share.com/share.php?page=home&manu=Generic&fix=Socapex+Schuko+Break+Out

So this would be a Generic Socapex to 6* Schuko break out? Or should the pin patch also be included at the socapex point of view? I guess you can deep dive into this if you'd like to..

As far a I know there is not an object type identifier to see whether this is a fixture, a breakout, a decor item, etc.? Asking this so I can know when importing an MVR to make a new cable for instance. But I might do educated guesses for this.

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<GDTF DataVersion="1.2">

  <FixtureType CanHaveChildren="No" Description="Generic Socapex to 6* Schuko break out" FixtureTypeID="8CC94306-EDB0-4979-A6B2-FE7C7650C3D0" LongName="Socapex to 6* Schuko" Manufacturer="Generic" Name="Socapex Schuko Break Out" RefFT="" ShortName="" Thumbnail="" ThumbnailOffsetX="0" ThumbnailOffsetY="0">
    <AttributeDefinitions>
      <ActivationGroups/>
      <FeatureGroups/>
      <Attributes/>
    </AttributeDefinitions>
    <Wheels/>
    <PhysicalDescriptions>
      <ColorSpace Mode="sRGB" Name=""/>
      <AdditionalColorSpaces/>
      <Gamuts/>
      <Filters/>
      <Emitters/>
      <DMXProfiles/>
      <CRIs/>
      <Connectors/>
      <Properties>
        <OperatingTemperature High="40.000000" Low="0.000000"/>
        <Weight Value="2.000000"/>
        <LegHeight Value="0.000000"/>
      </Properties>
    </PhysicalDescriptions>
    <Models>
      <Model File="" Height="0.100000" Length="0.250000" Name="Box" PrimitiveType="Cube" SVGFrontOffsetX="0.000000" SVGFrontOffsetY="0.000000" SVGOffsetX="0.000000" SVGOffsetY="0.000000" SVGSideOffsetX="0.000000" SVGSideOffsetY="0.000000" Width="0.200000"/>
    </Models>
    <Geometries>
      <Geometry Model="Box" Name="Box" Position="{1.000000,0.000000,0.000000,0.000000}{0.000000,1.000000,0.000000,0.000000}{0.000000,0.000000,1.000000,0.000000}{0,0,0,1}">
        <WiringObject ComponentType="Input" ConnectorType="Socapex-16" CosPhi="0.000000" ElectricalPayLoad="0.000000" FrequencyRangeMax="0.000000" FrequencyRangeMin="0.000000" FuseCurrent="0.000000" FuseRating="B" MaxPayLoad="0.000000" Name="Socapex IN" Orientation="Left" PinCount="6" Position="{1.000000,0.000000,0.000000,0.000000}{0.000000,1.000000,0.000000,0.000000}{0.000000,0.000000,1.000000,0.000000}{0,0,0,1}" SignalLayer="1" SignalType="Power" Voltage="0.000000" VoltageRangeMax="0.000000" VoltageRangeMin="0.000000" WireGroup=""/>
        <WiringObject ComponentType="Output" ConnectorType="CEE 7/7" CosPhi="0.000000" ElectricalPayLoad="0.000000" FrequencyRangeMax="0.000000" FrequencyRangeMin="0.000000" FuseCurrent="0.000000" FuseRating="B" MaxPayLoad="0.000000" Name="Schuko 1" Orientation="Left" PinCount="1" Position="{1.000000,0.000000,0.000000,0.000000}{0.000000,1.000000,0.000000,0.000000}{0.000000,0.000000,1.000000,0.000000}{0,0,0,1}" SignalLayer="1" SignalType="Power" Voltage="0.000000" VoltageRangeMax="0.000000" VoltageRangeMin="0.000000" WireGroup="">
          <PinPatch FromPin="1" ToPin="1" ToWiringObject="Socapex IN"/>
        </WiringObject>
        <WiringObject ComponentType="Output" ConnectorType="CEE 7/7" CosPhi="0.000000" ElectricalPayLoad="0.000000" FrequencyRangeMax="0.000000" FrequencyRangeMin="0.000000" FuseCurrent="0.000000" FuseRating="B" MaxPayLoad="0.000000" Name="Schuko 2" Orientation="Left" PinCount="1" Position="{1.000000,0.000000,0.000000,0.000000}{0.000000,1.000000,0.000000,0.000000}{0.000000,0.000000,1.000000,0.000000}{0,0,0,1}" SignalLayer="1" SignalType="Power" Voltage="0.000000" VoltageRangeMax="0.000000" VoltageRangeMin="0.000000" WireGroup="">
          <PinPatch FromPin="1" ToPin="2" ToWiringObject="Socapex IN"/>
        </WiringObject>
        <WiringObject ComponentType="Output" ConnectorType="CEE 7/7" CosPhi="0.000000" ElectricalPayLoad="0.000000" FrequencyRangeMax="0.000000" FrequencyRangeMin="0.000000" FuseCurrent="0.000000" FuseRating="B" MaxPayLoad="0.000000" Name="Schuko 3" Orientation="Left" PinCount="1" Position="{1.000000,0.000000,0.000000,0.000000}{0.000000,1.000000,0.000000,0.000000}{0.000000,0.000000,1.000000,0.000000}{0,0,0,1}" SignalLayer="1" SignalType="Power" Voltage="0.000000" VoltageRangeMax="0.000000" VoltageRangeMin="0.000000" WireGroup="">
          <PinPatch FromPin="1" ToPin="3" ToWiringObject="Socapex IN"/>
        </WiringObject>
        <WiringObject ComponentType="Output" ConnectorType="CEE 7/7" CosPhi="0.000000" ElectricalPayLoad="0.000000" FrequencyRangeMax="0.000000" FrequencyRangeMin="0.000000" FuseCurrent="0.000000" FuseRating="B" MaxPayLoad="0.000000" Name="Schuko 4" Orientation="Left" PinCount="1" Position="{1.000000,0.000000,0.000000,0.000000}{0.000000,1.000000,0.000000,0.000000}{0.000000,0.000000,1.000000,0.000000}{0,0,0,1}" SignalLayer="1" SignalType="Power" Voltage="0.000000" VoltageRangeMax="0.000000" VoltageRangeMin="0.000000" WireGroup="">
          <PinPatch FromPin="1" ToPin="4" ToWiringObject="Socapex IN"/>
        </WiringObject>
        <WiringObject ComponentType="Output" ConnectorType="CEE 7/7" CosPhi="0.000000" ElectricalPayLoad="0.000000" FrequencyRangeMax="0.000000" FrequencyRangeMin="0.000000" FuseCurrent="0.000000" FuseRating="B" MaxPayLoad="0.000000" Name="Schuko 5" Orientation="Left" PinCount="1" Position="{1.000000,0.000000,0.000000,0.000000}{0.000000,1.000000,0.000000,0.000000}{0.000000,0.000000,1.000000,0.000000}{0,0,0,1}" SignalLayer="1" SignalType="Power" Voltage="0.000000" VoltageRangeMax="0.000000" VoltageRangeMin="0.000000" WireGroup="">
          <PinPatch FromPin="1" ToPin="5" ToWiringObject="Socapex IN"/>
        </WiringObject>
        <WiringObject ComponentType="Output" ConnectorType="CEE 7/7" CosPhi="0.000000" ElectricalPayLoad="0.000000" FrequencyRangeMax="0.000000" FrequencyRangeMin="0.000000" FuseCurrent="0.000000" FuseRating="B" MaxPayLoad="0.000000" Name="Schuko 6" Orientation="Left" PinCount="1" Position="{1.000000,0.000000,0.000000,0.000000}{0.000000,1.000000,0.000000,0.000000}{0.000000,0.000000,1.000000,0.000000}{0,0,0,1}" SignalLayer="1" SignalType="Power" Voltage="0.000000" VoltageRangeMax="0.000000" VoltageRangeMin="0.000000" WireGroup="">
          <PinPatch FromPin="1" ToPin="6" ToWiringObject="Socapex IN"/>
        </WiringObject>
      </Geometry>
    </Geometries>
    <DMXModes>
      <DMXMode Description="" Geometry="Box" Name="Dummy">
        <DMXChannels/>
        <Relations/>
        <FTMacros/>
      </DMXMode>
    </DMXModes>
    <Revisions>
      <Revision Date="2021-07-05T07:56:52" ModifiedBy="" Text="" UserID="0"/>
      <Revision Date="2024-05-09T08:32:39" ModifiedBy="" Text="Initial build" UserID="190"/>
      <Revision Date="2024-05-09T11:08:24" ModifiedBy="" Text="Included Wiring" UserID="0"/>
      <Revision Date="2024-05-09T11:11:43" ModifiedBy="" Text="Updated Wiring " UserID="0"/>
      <Revision Date="2024-05-09T11:21:39" ModifiedBy="GDTF Builder V1.9.2" Text="Updated Model" UserID="190"/>
    </Revisions>
    <FTPresets/>
    <Protocols/>
  </FixtureType>
</GDTF>
moritzstaffel commented 4 months ago

As far a I know there is not an object type identifier to see whether this is a fixture, a breakout, a decor item, etc.? Asking this so I can know when importing an MVR to make a new cable for instance. But I might do educated guesses for this.

Currently there is such thing as such identifier. What we use is that we class the objects by the internal geometries:

  1. A Plugbox would be a device, which only has inputs and outputs, but no over current devices.
  2. A Distro would be a device, which has inputs, outputs and over current devices.
  3. A Power Source only a a power source geometry
  4. A Consumer has a consumer.

All the names for this are highly different depending on software and locations. So that's why we did not spec the labels here for now.

moritzstaffel commented 4 months ago

So this would be a Generic Socapex to 6* Schuko break out? Or should the pin patch also be included at the socapex point of view? I guess you can deep dive into this if you'd like to..

You need to add the power flow in booth direction and also add neutral and PE wires. So your example is a good starting point, but needs more data.

This then allows fault current analysis, neutral current checks, RCD checks and all this fancy things that you can do. I know this is more then the currently used excel tables needs, but in the future the payoff will be huge, as we actually can do an electrical calculation rather then a sum of loads.

moritzstaffel commented 4 months ago

In recent MA3 exports, I found out the XML header is missing: <?xml version="1.0" encoding="UTF-8" standalone="no" ?> Is this mandatory and is this a bug or should the software be able to deal with this?

https://stackoverflow.com/questions/7007427/does-a-valid-xml-file-require-an-xml-declaration#:~:text=Xml%20declaration%20is%20optional%20so,specifically%20about%20the%20encoding%20used.&text=It%20is%20only%20required%20if,you%20are%20in%20that%20example).

There is a stack overflow article about this. In short, as we use default version and encoding, this is optional. It is still a valid XML. And yes, you should be able to handle it.

moritzstaffel commented 4 months ago

In this way I could also create GDTF files for PSU's etc, so the complete connectionscheme becomes available. I would love to see this being included in applications such as VW, Wysiwyg etc.

Yes that is the plan. In the 1.11 Production Assist Release in the next week we fully support this. This would also bring it to Vectorworks as we have plugin for this.

Also on the MA side we are working on implementing this.

But I think just give it some time, and other will hop on.

petrvanekrobe commented 4 months ago

@moritzstaffel yes, they discuss that it is optional, but we are explicit about this:

The first XML node is always the XML description node: <?xml version="1.0" encoding="UTF-8"?>
The second XML node is the GDTF node. The attribute of this node is the DataVersion: <GDTF DataVersion="1.2">

https://github.com/mvrdevelopment/spec/blob/main/gdtf-spec.md#table-1--xml-attribute-value-types