Without going highly technical you could think of this file as a map of M3 format. Which purpose is to describe how to turn the binary data behind it, to meaningfull a structure of nodes/elements. Where each node describes different part of the model. What in the end allows it to import/export data to modelling programs, as long as they follow the structure described.
Even though this schema file is ambiguous, as in it could be used by other software, currently only m3addon does it.
Due to complexity of the format, there's still a lot of quirks regarding it unkown/undocumented. Not to mention, it has been evolving through the years since the release (and still is). Each release has been versioned, and brought new features which affected how the binary data is distributed along it.
There's simply no full coverage. The reason why certain models can't be imported, or are imported improperly is because model contains something, that hasn't been documented and included in the schema. Or there are bugs within the code translating already loaded data, into Blender environment.
M3Addon actually attempts to load data in quite a strict mode. And often times, once it encounters something contrary to the schema, it will cease the process and output error. While other importers made for M3 have more speculative import process implemented I believe. And rather skip some unknown chunks of data, and attempt to load relevant sectors in usual manner. What always gives you something - even if incorrect. Other times, they crash hard :)
Anyway, quite often import errors occuring in m3addon can be resolved by just filling missing gaps within the scheme file. Of course that requires some understanding of how is it all connected. Author of the plugin actually documented some of the common problems, and how can they be resolved.
In this particular case, the problem was relatively easy to resolve - even with all things said above, my understanding of m3 format, modelling stuff, and general graphic rendering subjects is quite poor, really. Anyway, the cause of the error was a result of the strict behavior in method responsible of loading mesh vertices. There was one flag not covered by the schema file. And this flag turned out to to be relevant in this case, to get the model right.
Unfortunately author doesn't actively work on the plugin anymore, and no one else competent stepped in to provide furher support for Blender. Partly because there is more focus given into 3ds Max, what's not suprising.
Anyway, while my knowledge on this field is poor as I said, if you want badly some model imported into blender, and it results in error, I guess I could give it it a look.
hmm.. for such a small question, I probably put up too long answer, haha
Uhm, that error doesn't tell a lot - is it a full message you've got? There should be stack trace. (Maybe in console view).
bpy_struct is like a superclass thing in terms of Blender API for addons.
Previously known as: SomeoneTookMyNameTT
Without going highly technical you could think of this file as a map of M3 format. Which purpose is to describe how to turn the binary data behind it, to meaningfull a structure of nodes/elements. Where each node describes different part of the model. What in the end allows it to import/export data to modelling programs, as long as they follow the structure described.
Even though this schema file is ambiguous, as in it could be used by other software, currently only m3addon does it.
Due to complexity of the format, there's still a lot of quirks regarding it unkown/undocumented. Not to mention, it has been evolving through the years since the release (and still is). Each release has been versioned, and brought new features which affected how the binary data is distributed along it.
There's simply no full coverage. The reason why certain models can't be imported, or are imported improperly is because model contains something, that hasn't been documented and included in the schema. Or there are bugs within the code translating already loaded data, into Blender environment.
M3Addon actually attempts to load data in quite a strict mode. And often times, once it encounters something contrary to the schema, it will cease the process and output error.
While other importers made for M3 have more speculative import process implemented I believe. And rather skip some unknown chunks of data, and attempt to load relevant sectors in usual manner. What always gives you something - even if incorrect. Other times, they crash hard :)
Anyway, quite often import errors occuring in m3addon can be resolved by just filling missing gaps within the scheme file. Of course that requires some understanding of how is it all connected. Author of the plugin actually documented some of the common problems, and how can they be resolved.
In this particular case, the problem was relatively easy to resolve - even with all things said above, my understanding of m3 format, modelling stuff, and general graphic rendering subjects is quite poor, really. Anyway, the cause of the error was a result of the strict behavior in method responsible of loading mesh vertices. There was one flag not covered by the schema file. And this flag turned out to to be relevant in this case, to get the model right.
This was it: https://github.com/flo/m3addon/pull/38/commits/8f4ff44ee995dabeff83d41655627be02c3aaa42
Unfortunately author doesn't actively work on the plugin anymore, and no one else competent stepped in to provide furher support for Blender. Partly because there is more focus given into 3ds Max, what's not suprising.
Anyway, while my knowledge on this field is poor as I said, if you want badly some model imported into blender, and it results in error, I guess I could give it it a look.
hmm.. for such a small question, I probably put up too long answer, haha
Previously known as: SomeoneTookMyNameTT
The model in question stores vertices in a format currently unsupported by m3addon.
However, I did investiagate it further and was able come up with a fix.
Fix was sufficient to successfully to import and export back model to m3.
Here is updated: structures.xml (schema file that plugin uses for a reference)
You just have to replace it with the one currently exisiting in m3addon folder.
(I'll later submit the patch to plugin maintainer.)
Previously known as: SomeoneTookMyNameTT