This problem is related to compatibility between multiple formats and other 3D Applications.
I focused to the problem to find the minimum necessary fix.
Also chose four 3d DATA formats: dae, obj, 3ds, stl. (Because Blender can export these format.)
The conclusion for this problem solve on Wings3D is narrowed down to two.
The following is the findings I did.
At first I exported data(obj , 3ds , dae and stl) by Blender.
(Because Blender can treat UTF8 chrcode in DATA strings)
These data including utf8 character string in material and object name etc.
Then for confirm and comparation, I have imported these files(obj , 3ds , dae and stl) with Wings 3D, Cheetah 3D and Blender.
In Wings3D
Obj and 3ds got mojibake, but I was able to import 3D data.
But in both the case of dae and stl crashed.
In Obj file format,Blender and Cheetah 3D correctly imported the file that contains UTF8 string.
In 3ds file format,Import will succeed.But all 3D software can't indicate name properly.
In dae(Collada) file format only OK at Blender.(Cheetah3D not support .dae).
In Stl file format,Blender and Cheetah 3D, it seems that it has been forcibly renamed to a safe name.
See a following images.
![[Image: th_utf8_data_test3_zpsfdw7cqb0.png]](http://i1298.photobucket.com/albums/ag41/tukubado/Wings3D%20etc/th_utf8_data_test3_zpsfdw7cqb0.png)
![[Image: th_utf8_data_test1_zpssubkkywi.png]](http://i1298.photobucket.com/albums/ag41/tukubado/Wings3D%20etc/th_utf8_data_test1_zpssubkkywi.png)
![[Image: th_utf8_data_test2_zpsoqubxn6x.png]](http://i1298.photobucket.com/albums/ag41/tukubado/Wings3D%20etc/th_utf8_data_test2_zpsoqubxn6x.png)
And Error logs are here(3ds,Collada(dae) and Stl).
3ds case:
47,85,115,101,114,115,47 means "/Users/"
Collada case:
12510,12486,12522,12450,12523 means "マテリアル"
stl case:
I focused to the problem to find the minimum necessary fix.
Also chose four 3d DATA formats: dae, obj, 3ds, stl. (Because Blender can export these format.)
The conclusion for this problem solve on Wings3D is narrowed down to two.
- The first one,in obj import, need fix mojibake of utf8 string in obj format import.
- The second,in stl and dae import,need prevents crash for during Import.
The following is the findings I did.
At first I exported data(obj , 3ds , dae and stl) by Blender.
(Because Blender can treat UTF8 chrcode in DATA strings)
These data including utf8 character string in material and object name etc.
Then for confirm and comparation, I have imported these files(obj , 3ds , dae and stl) with Wings 3D, Cheetah 3D and Blender.
In Wings3D
Obj and 3ds got mojibake, but I was able to import 3D data.
But in both the case of dae and stl crashed.
In Obj file format,Blender and Cheetah 3D correctly imported the file that contains UTF8 string.
In 3ds file format,Import will succeed.But all 3D software can't indicate name properly.
In dae(Collada) file format only OK at Blender.(Cheetah3D not support .dae).
In Stl file format,Blender and Cheetah 3D, it seems that it has been forcibly renamed to a safe name.
See a following images.
![[Image: th_utf8_data_test3_zpsfdw7cqb0.png]](http://i1298.photobucket.com/albums/ag41/tukubado/Wings3D%20etc/th_utf8_data_test3_zpsfdw7cqb0.png)
![[Image: th_utf8_data_test1_zpssubkkywi.png]](http://i1298.photobucket.com/albums/ag41/tukubado/Wings3D%20etc/th_utf8_data_test1_zpssubkkywi.png)
![[Image: th_utf8_data_test2_zpsoqubxn6x.png]](http://i1298.photobucket.com/albums/ag41/tukubado/Wings3D%20etc/th_utf8_data_test2_zpsoqubxn6x.png)
And Error logs are here(3ds,Collada(dae) and Stl).
3ds case:
47,85,115,101,114,115,47 means "/Users/"
Code:
wings_wm:821: Dropped Event autosaver: redraw
Using GPU shaders.
badarg
[{io,format,
[<0.60.0>,"Failed to load \"~s\": ~s\n",
[[47,85,115,101,114,115,47|...],"unknown POSIX error"]],
[]},
{wings_material,load_map_1,2,[{file,"wings_material.erl"},{line,384}]},
{wings_material,load_map,2,[{file,"wings_material.erl"},{line,366}]},
{wings_material,load_maps,2,[{file,"wings_material.erl"},{line,342}]},
{wings_material,add_materials_1,4,[{file,"wings_material.erl"},{line,294}]},
{wings_import,translate_objects,7,[{file,"wings_import.erl"},{line,43}]},
{wings_import,import,2,[{file,"wings_import.erl"},{line,31}]},
{wpa,'-import/3-fun-0-',3,[{file,"wpa.erl"},{line,118}]},
{wings_file,'-import_filename_1/2-fun-0-',3,
[{file,"wings_file.erl"},{line,67}]},
{wings_develop,time_command,2,[{file,"wings_develop.erl"},{line,73}]},
{wings_plugin,command,3,[{file,"wings_plugin.erl"},{line,139}]},
{wings,raw_command_1,3,[{file,[...]},{line,...}]},
{wings,raw_command,4,[{file,...},{...}]},
{wings_wm,handle_event,3,[{...}|...]},
{wings_wm,send_event,2,[...]},
{wings_wm,do_dispatch,2,...},
{wings_wm,dispatch_event,...},
{wings_wm,...},
{...}]
Collada case:
12510,12486,12522,12450,12523 means "マテリアル"
Code:
Version: 2.1.5
Window: geom
Reason: function_clause
Stack trace:
[{wings,command_1,
[{'EXIT',
{badarg,
[{erlang,list_to_atom,[[12510,12486,12522,12450,12523]],[]},
{collada_import,make_material,3,
[{file,"collada_import.erl"},{line,703}]},
{collada_import,'-make_materials/1-lc$^0/1-0-',3,
[{file,[...]},{line,...}]},
{collada_import,make_file,1,[{file,...},{...}]},
{collada_import,import,1,[{...}|...]},
{wpa,do_import,3,[...]},
{wpa,'-import/3-fun-0-',3,...},
{wings_file,'-import_filename_1/2-fun-0-',...},
{wings_develop,...},
{...}|...]}},
{st,{1,{1,{we,1,0,"???",{array,18,...},{array,...},{...},...},nil,nil}},
face,true,[],
{0,nil},
none,
{2,{default,[{...}|...],{...},...}},
[],undefined,false,2,none,...}],
[{file,"wings.erl"},{line,737}]},
{wings_develop,time_command,2,[{file,"wings_develop.erl"},{line,73}]},
{wings,raw_command,4,[{file,"wings.erl"},{line,621}]},
{wings_wm,handle_event,3,[{file,"wings_wm.erl"},{line,952}]},
{wings_wm,send_event,2,[{file,"wings_wm.erl"},{line,918}]},
{wings_wm,do_dispatch,2,[{file,"wings_wm.erl"},{line,824}]},
{wings_wm,dispatch_event,1,[{file,"wings_wm.erl"},{line,725}]},
{wings_wm,get_and_dispatch,0,[{file,"wings_wm.erl"},{line,646}]},
{wings,init,1,[{file,"wings.erl"},{line,147}]}]
stl case:
Code:
+---------------------------------------------------------------+
Internal Error
Version: 2.1.5
Window: geom
Reason: function_clause
Stack trace:
[{wings,command_1,
[{'EXIT',{badarg,[{io,format,[<0.60.0>,"| ~s |\n",[[70,105|...]]],[]},
{wpc_stl,print_boxed,1,
[{file,"wpc_stl.erl"},{line,162}]},
{wpc_stl,stl_import,1,[{file,[...]},{line,...}]},
{wpa,do_import,3,[{file,...},{...}]},
{wpa,'-import/3-fun-0-',3,[{...}|...]},
{wings_file,'-import_filename_1/2-fun-0-',3,[...]},
{wings_develop,time_command,2,...},
{wings_plugin,command,...},
{wings,...},
{...}|...]}},
{st,{0,nil},
face,true,[],
{0,nil},
none,
{1,{default,[{...}|...],nil,...}},
[],undefined,true,1,none,...}],
[{file,"wings.erl"},{line,737}]},
{wings_develop,time_command,2,[{file,"wings_develop.erl"},{line,73}]},
{wings,raw_command,4,[{file,"wings.erl"},{line,621}]},
{wings_wm,handle_event,3,[{file,"wings_wm.erl"},{line,952}]},
{wings_wm,send_event,2,[{file,"wings_wm.erl"},{line,918}]},
{wings_wm,do_dispatch,2,[{file,"wings_wm.erl"},{line,824}]},
{wings_wm,dispatch_event,1,[{file,"wings_wm.erl"},{line,725}]},
{wings_wm,get_and_dispatch,0,[{file,"wings_wm.erl"},{line,646}]},
{wings,init,1,[{file,"wings.erl"},{line,147}]}]