Hello everyone, I have been working with opennurbs for a while now and I am trying to find a specification or documentation for the 3DM file format. However, I have not been able to find any relevant documents on the official website, the internet, or forums. This is important for my learning, so I am reaching out to ask where I can find such documentation.
My question is about how binary information is organized in a 3DM document. I know that the opennurbs code is doing this, but it is too large for me to quickly understand the entire process. This is why I want to obtain a specification for the 3DM file format.
When I receive a 3DM file, it is difficult for me to understand because it is binary. Although I can use opennurbs to read it, I still find it difficult to understand the organization of the file. Specifically, reading a 3DM file requires dozens of functions such as Read3dmStartSection, Read3dmProperties, Read3dmSettings, BitmapTable, MaterialTable, etc. I think I need a document that explains the organization of the 3DM file, such as how it is divided into different parts and what each part contains.
The most important part that I forgot to mention is the geometry elements and their relationships, such as which geometry element classes were added in which version, what is a filtered object, and so on. I know that some functions have detailed comments, but I wonder if there is a 3DM file format specification manual that would be more convenient for me to reference classes and all of their functions and features.
I believe that such a manual would help people better understand opennurbs, rather than just using it as a black box for converting 3DM files. Does anyone know if such a document exists and if I can obtain it?
Thank you, and best wishes.