Jump to content

MVR "Symbol" export


Recommended Posts

I'm currently implementing a GDTF "MVR" importer/exporter, and have run into a lack of test data.

 

The official MVR wiki and github don't have any examples of the usage of "SymDef" and "Symbol" tags, and so far I have been able to use Vectorworks 2020 or 2021 to export an MVR that uses SymDef and Symbols.

All the exports I've been able to make so far are creating individual Geometry3D and 3DS files for every object, even when they appear to be symbol references within VWX itself.
 

Does VW2021 currently support "SymDef" and "Symbol", and if it does, how can I cause it to create an MVR file that re-uses Symbols?

Link to comment

Thanks Moritz.

I had expected "Truss" to export a definition for a procedural Truss object (so that MA 3D could auto-generate its efficient truss mesh)  and not multiple highly-detailed meshes!

 

I was very surprised to see that the Prolyte Box Corners are being built up of two 3DS files.

Initially I thought this meant it did not work, as my MVR with two 'symbols' had two 3DS files!

 

Permitting multiple "Geometry3D" children is a major difference between GDTF and MVR.

GDTF does not allow any Geometry nodes to reference multiple 3D model files, and as MVR does not explicitly say otherwise, I expected MVR to be the same.

 

Not only will this require very significant work to support, it also means that it will rarely be feasible to round-trip MVR files without changing (re-generating) the geometry files, as modern 3D applications are likely to convert a "symdef" into a single hierarchical object in order to properly use modern rendering techniques such as instancing.

 

This further makes it impossible for applications to determine whether 3D models have actually changed, as the 3DS file(s) will always change.
 

Secondly, what is the purpose of the Symbol "uuid" attribute?
 

The github spec claims that it must be unique, yet in the attached MVR both instances of the Symbol have the same symdef and uuid values.

The Symbol "uuid" appears to serve no purpose whatsoever.

 

Unfortunately, the github MVR does not permit me to create issues, comments or PRs and does not appear to have any way to request access. That is very sad.

prolyte_truss.mvr

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...