GSoC 2020: Faster IO for OBJ, STL & PLY. Feedback

Are that (8 vs 24) the interpolation steps that smooth shading is taking?
In this case could this parameter be exposed as a mesh property?


This is a plane with an edge in the middle and slightly raised, set to smooth shading.
They both look the same after re-importing.

Yes, the python importer has a step where it gathers together normals that are the same to 4 decimal places, so that it doesn’t need to repeat them. Ankit didn’t do that in his code. I left it as he had done it because it is a time/output-size tradeoff: it takes time to do that normal deduping. What does the community value more – shorter export times or smaller exported files?

I think its short export times since everyone complained about that. To say for sure we need a comparison, but i currently have no time for that.

Or maybe as an option? Not sure if this is clear to the user

1 Like

No way we could choose? Ok speed, but sometimes filesize is important too: ?i’m thinking of product 3d files shipped on sites (especially organic furniture like sofas)

Sure one could make it an option but we prefer not to add options unless it is really necessary. Extra options mean more stuff to document and maintain and make for a more complicated interface. There are probably tens of thousands of time/space or time/accuracy tradeoff decisions that Blender developers have made, most of which are not exposed as options.

If this were a very dramatic difference, like 10 times as fast vs 10 times smaller export size, then it would probably be worth an option. The difference is nothing like that much here. I think it would be hard to find a case where the current exporter size is more than, say, 25% bigger than what the old one did. I’d have to implement the deduping to be sure but probably the time savings by not deduping is similarly modest, say 10%.

9 Likes

Thanks for the explanation

In this case you could also use the older Python exporter

1 Like

So it turns out that to fix some inconsistencies in the 7th decimal place between different platforms, I ended up putting in the normal deduping code in the new exporter. To my surprise, it actually ran a little faster (maybe because it spent less time writing), as well as making smaller files, so win-win.

18 Likes

The new obj export function didn’t support UTF-8 decode charactar. –
Some Chinese users use the latest 3.1 version and say they encounter problems that do not support Chinese. I downloaded the daily-build version and found no problems after using it. I checked with other users and found no relevant bugs.

@xueke_pei I’m not sure what you mean. If you have an example .blend file that doesn’t get correctly exported because of a UTF-8 problem, please file a bug so I can reproduce it and fix it.

Hi guys just pointing out there is also a faster STL importer in the works that is also worth looking at Native STL importer

4 Likes

Not sure if its same Unicode error but:

Unicode in paths cause problems

Summary
  • filename with unicode name in new exporter:

obraz
gives:

nameWithUnicode«¹„‟‹›…±°²³».obj


  • pathname in new exporter:

obraz
gives


it says it cant find file in case you didn’t know polish that windows decided to randomly put there

old one works fine in both cases



edit:
fixed by: ⚙ D13879 Fix new Wavefront OBJ exporter not saving non-English filenames properly on Windows
wow, it was already fixed when i posted it, but i had one day old build

1 Like

@Howard_Trickey
Hi, How could I report a bug privately? I can send this file to the blender bug report page, since it’s under NDA.
Thank you.

You could send it to me at howard.trickey@gmail.com.

1 Like

The latest version of the exporter seems to not like file name patterns with multiple dots as in “asset.name.obj”, the exporter filename line only accepts the file name as “asset.obj”

OK, will have Aras look into this (he has kindly been taking on all regressions-from-old-behavior bugs).

3 Likes

The option to choose whether to apply modifiers or not has been removed, from the add-on to export in OBJ format, can you restore this option?

2 Likes

OK well, was fixed in the latest release 3.1.2…

1 Like

Hello. I have modified the PLY importer to work with a large number of previously incompatible “flavors”. As this is a mod to an existing Official addon, do I submit it under the Addons submission process or elsewhere? Our Repo is at: https://github.com/TombstoneTumbleweedArt/import-ply-as-verts

Thank you!

2 Likes