Closed stolk closed 4 years ago
There is a erlang-script (wings_convert) in the src dir in src distribution that does that,
which you could copy.
It requires an erlang installation (and wings) on your machine though:
And setup export WINGS_DIR=/home/USER/wings-VERSION/lib/wings-VERSION
src/wings/src/wings_convert -help
Usage: wings_convert -f OutFormat [Opts] Files
Converts between file formats.
Output is written to the current directory by default.
Options:
-o, --outdir DIR Write converted files to DIR.
-v, --verbose Verbose output.
--informat FORMAT Ignore file extension and use FORMAT as input.
--subdiv N Subdivide object N times (default 0).
--tess TYPE Tesselate object none|tri|quad (default none)
Supported import formats:
.svg Path
StereoLithography (.stl)
Adobe PostScript (.ps|.eps)
Stanford ply (.ply)
Wavefront (.obj)
LightWave or Modo (.lwo|.lxo)
glTF (.gltf|.glb)
Collada (.dae)
Adobe Illustrator (.ai)
3D Studio (.3ds)
Nendo (.ndo)
Wings (.wings)
Supported export formats:
DirectX (.x)
VRML 2.0 (.wrl)
StereoLithography (.stl)
Renderware (.rwx)
Wavefront (.obj)
LightWave or Modo (.lwo|.lxo)
Cartoon edges (.eps, .svg)
glTF (.gltf|.glb)
Collada (.dae)
BZFlag (.bzw)
3D Studio (.3ds)
Nendo (.ndo)
Wings (.wings)
Awesome! Thanks. Is there a way to export a named object from the wings file?
I've never written erlang, but I guess it could do some call_wings({select,..
followed by a export-selected or something?
That may be more problematic don't remember what commands there are, will check but I'm on "vacation" :-) so don't hold your breath.
Yeah that worked, see/test https://gist.github.com/dgud/bc4906d066435180ec89a2913271466f
wings_convert was a hack for my own usage many years ago, and when wings was re-rewritten the easiest thing to get it work was to create the gui and hide it. Which may make it inappropriate for a game-dev toolchain, I don't know if I will fix that.
Things to improve:
Startup takes a bit of time now that I calculate the (unneeded) texture maps during startup, so I guess I can improve that part.
Also it seqfaults when it exists for me, don't know why yet, and it will require a fix in wings (or in erlang), so beware that it may drops core files.
Also the script should be added to the release, and paths setup relative to that.
I'll leave this issue open, until I have had time to look at the new issues.
Thanks for that. When I try to run it, I get this error:
$ ./wings_convert -f obj --name launchtower buildings.wings
Gtk-Message: 13:54:04.929: Failed to load module "canberra-gtk-module"
wings-2.1.7
Reading preferences from: /home/bram/.config/Wings3D/Preferences.txt
=ERROR REPORT==== 25-Jul-2019::13:54:05 ===
** wx object server <0.80.0> terminating
** Last message in was {'$gen_cast',
{new_state,
#{current => no_folder,
folders => {no_folder,[{no_folder,open,40}]},
sel => "(",
shs =>
[#{folder => no_folder,id => 40,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "launchtower",perm => 0,
pid => <0.69.0>},
#{folder => no_folder,id => 39,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "tunnel",perm => 2,pid => <0.69.0>},
#{folder => no_folder,id => 38,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "traindepot",perm => 2,pid => <0.69.0>},
#{folder => no_folder,id => 37,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "stakeout",perm => 2,pid => <0.69.0>},
#{folder => no_folder,id => 36,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "Warehouse",
perm => {body,{1,{0,nil,nil}}},
pid => <0.69.0>},
#{folder => no_folder,id => 35,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "grainfarm",perm => 2,pid => <0.69.0>},
#{folder => no_folder,id => 34,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "smelter",perm => 2,pid => <0.69.0>},
#{folder => no_folder,id => 33,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "sawmill",
perm => {body,{1,{0,nil,nil}}},
pid => <0.69.0>},
#{folder => no_folder,id => 32,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "foundationunit",perm => 2,
pid => <0.69.0>},
#{folder => no_folder,id => 31,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "stacker",
perm => {body,{1,{0,nil,nil}}},
pid => <0.69.0>},
#{folder => no_folder,id => 30,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "grainsilos",
perm => {body,{1,{0,nil,nil}}},
pid => <0.69.0>},
#{folder => no_folder,id => 29,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "depot",perm => 2,pid => <0.69.0>},
#{folder => no_folder,id => 28,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "factory",perm => 2,pid => <0.69.0>},
#{folder => no_folder,id => 27,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "trainstop",perm => 2,pid => <0.69.0>},
#{folder => no_folder,id => 26,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "trainstation",perm => 2,
pid => <0.69.0>},
#{folder => no_folder,id => 25,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "foundationtriple",
perm => {body,{1,{0,nil,nil}}},
pid => <0.69.0>},
#{folder => no_folder,id => 24,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "foundationdouble",perm => 2,
pid => <0.69.0>},
#{folder => no_folder,id => 23,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "foundationsingle",perm => 2,
pid => <0.69.0>},
#{folder => no_folder,id => 22,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "structure_sep54",perm => 2,
pid => <0.69.0>},
#{folder => no_folder,id => 21,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "N-gon-neighbours",perm => 2,
pid => <0.69.0>},
#{folder => no_folder,id => 20,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "doubledeck",perm => 2,pid => <0.69.0>},
#{folder => no_folder,id => 19,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "smithy_sep24",perm => 2,
pid => <0.69.0>},
#{folder => no_folder,id => 18,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "waterwell",perm => 2,pid => <0.69.0>},
#{folder => no_folder,id => 17,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "srconstruction",perm => 2,
pid => <0.69.0>},
#{folder => no_folder,id => 16,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "slconstruction",perm => 2,
pid => <0.69.0>},
#{folder => no_folder,id => 15,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "ssconstruction",
perm =>
{face,
{36,
{22,
{13,
{8,
{6,{5,{4,nil,nil},nil},{7,nil,nil}},
{11,{10,{9,nil,nil},nil},{12,nil,nil}}},
{18,
{16,{15,{14,nil,nil},nil},{17,nil,nil}},
{20,{19,nil,nil},{21,nil,nil}}}},
{31,
{27,
{25,{24,{23,nil,nil},nil},{26,nil,nil}},
{29,{28,nil,nil},{30,nil,nil}}},
{36,
{34,{33,{32,nil,nil},nil},{35,nil,nil}},
{38,{37,nil,nil},{39,nil,nil}}}}}}},
pid => <0.69.0>},
#{folder => no_folder,id => 14,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "plconstruction",perm => 2,
pid => <0.69.0>},
#{folder => no_folder,id => 13,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "plaza",perm => 2,pid => <0.69.0>},
#{folder => no_folder,id => 12,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "streetleft",perm => 2,pid => <0.69.0>},
#{folder => no_folder,id => 11,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "streetright",perm => 2,
pid => <0.69.0>},
#{folder => no_folder,id => 10,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "streetstraight",perm => 2,
pid => <0.69.0>},
#{folder => no_folder,id => 9,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "brconstruction",perm => 2,
pid => <0.69.0>},
#{folder => no_folder,id => 8,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "N-gon-aligned",perm => 2,
pid => <0.69.0>},
#{folder => no_folder,id => 7,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "bridge",perm => 2,pid => <0.69.0>},
#{folder => no_folder,id => 6,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "oremine",
perm => {body,{1,{0,nil,nil}}},
pid => <0.69.0>},
#{folder => no_folder,id => 5,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "dairyfarm",perm => 2,pid => <0.69.0>},
#{folder => no_folder,id => 4,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "bakery",perm => 2,pid => <0.69.0>},
#{folder => no_folder,id => 3,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "grainfarmordered",perm => 2,
pid => <0.69.0>},
#{folder => no_folder,id => 2,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "watermill",perm => 2,pid => <0.69.0>},
#{folder => no_folder,id => 1,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "N-Gon2",perm => 2,pid => <0.69.0>}],
wire => {0,nil}}}}
** When Server state == {state,<0.80.0>,
{object,geom},
30,
{wx_ref,610,wxSplitterWindow,[]},
{wx_ref,611,wxTreeCtrl,[]},
[],
{wx_ref,631,wxListCtrl,[]},
[{"Bakery",
#{folder => no_folder,id => 4,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "bakery",perm => 2,pid => <0.69.0>}},
{"Brconstruction",
#{folder => no_folder,id => 9,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "brconstruction",perm => 2,
pid => <0.69.0>}},
{"Bridge",
#{folder => no_folder,id => 7,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "bridge",perm => 2,pid => <0.69.0>}},
{"Dairyfarm",
#{folder => no_folder,id => 5,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "dairyfarm",perm => 2,pid => <0.69.0>}},
{"Depot",
#{folder => no_folder,id => 29,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "depot",perm => 2,pid => <0.69.0>}},
{"Doubledeck",
#{folder => no_folder,id => 20,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "doubledeck",perm => 2,pid => <0.69.0>}},
{"Factory",
#{folder => no_folder,id => 28,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "factory",perm => 2,pid => <0.69.0>}},
{"Foundationdouble",
#{folder => no_folder,id => 24,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "foundationdouble",perm => 2,
pid => <0.69.0>}},
{"Foundationsingle",
#{folder => no_folder,id => 23,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "foundationsingle",perm => 2,
pid => <0.69.0>}},
{"Foundationtriple",
#{folder => no_folder,id => 25,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "foundationtriple",
perm => {body,{1,{0,nil,nil}}},
pid => <0.69.0>}},
{"Foundationunit",
#{folder => no_folder,id => 32,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "foundationunit",perm => 2,
pid => <0.69.0>}},
{"Grainfarm",
#{folder => no_folder,id => 35,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "grainfarm",perm => 2,pid => <0.69.0>}},
{"Grainfarmordered",
#{folder => no_folder,id => 3,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "grainfarmordered",perm => 2,
pid => <0.69.0>}},
{"Grainsilos",
#{folder => no_folder,id => 30,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "grainsilos",
perm => {body,{1,{0,nil,nil}}},
pid => <0.69.0>}},
{"Launchtower",
#{folder => no_folder,id => 40,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "launchtower",perm => 0,pid => <0.69.0>}},
{"N-Gon2",
#{folder => no_folder,id => 1,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "N-Gon2",perm => 2,pid => <0.69.0>}},
{"N-gon-aligned",
#{folder => no_folder,id => 8,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "N-gon-aligned",perm => 2,
pid => <0.69.0>}},
{"N-gon-neighbours",
#{folder => no_folder,id => 21,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "N-gon-neighbours",perm => 2,
pid => <0.69.0>}},
{"Oremine",
#{folder => no_folder,id => 6,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "oremine",
perm => {body,{1,{0,nil,nil}}},
pid => <0.69.0>}},
{"Plaza",
#{folder => no_folder,id => 13,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "plaza",perm => 2,pid => <0.69.0>}},
{"Plconstruction",
#{folder => no_folder,id => 14,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "plconstruction",perm => 2,
pid => <0.69.0>}},
{"Sawmill",
#{folder => no_folder,id => 33,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "sawmill",
perm => {body,{1,{0,nil,nil}}},
pid => <0.69.0>}},
{"Slconstruction",
#{folder => no_folder,id => 16,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "slconstruction",perm => 2,
pid => <0.69.0>}},
{"Smelter",
#{folder => no_folder,id => 34,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "smelter",perm => 2,pid => <0.69.0>}},
{"Smithy Sep24",
#{folder => no_folder,id => 19,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "smithy_sep24",perm => 2,
pid => <0.69.0>}},
{"Srconstruction",
#{folder => no_folder,id => 17,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "srconstruction",perm => 2,
pid => <0.69.0>}},
{"Ssconstruction",
#{folder => no_folder,id => 15,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "ssconstruction",
perm =>
{face,
{36,
{22,
{13,
{8,
{6,{5,{4,nil,nil},nil},{7,nil,nil}},
{11,{10,{9,nil,nil},nil},{12,nil,nil}}},
{18,
{16,{15,{14,nil,nil},nil},{17,nil,nil}},
{20,{19,nil,nil},{21,nil,nil}}}},
{31,
{27,
{25,{24,{23,nil,nil},nil},{26,nil,nil}},
{29,{28,nil,nil},{30,nil,nil}}},
{36,
{34,{33,{32,nil,nil},nil},{35,nil,nil}},
{38,{37,nil,nil},{39,nil,nil}}}}}}},
pid => <0.69.0>}},
{"Stacker",
#{folder => no_folder,id => 31,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "stacker",
perm => {body,{1,{0,nil,nil}}},
pid => <0.69.0>}},
{"Stakeout",
#{folder => no_folder,id => 37,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "stakeout",perm => 2,pid => <0.69.0>}},
{"Streetleft",
#{folder => no_folder,id => 12,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "streetleft",perm => 2,pid => <0.69.0>}},
{"Streetright",
#{folder => no_folder,id => 11,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "streetright",perm => 2,pid => <0.69.0>}},
{"Streetstraight",
#{folder => no_folder,id => 10,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "streetstraight",perm => 2,
pid => <0.69.0>}},
{"Structure Sep54",
#{folder => no_folder,id => 22,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "structure_sep54",perm => 2,
pid => <0.69.0>}},
{"Traindepot",
#{folder => no_folder,id => 38,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "traindepot",perm => 2,pid => <0.69.0>}},
{"Trainstation",
#{folder => no_folder,id => 26,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "trainstation",perm => 2,
pid => <0.69.0>}},
{"Trainstop",
#{folder => no_folder,id => 27,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "trainstop",perm => 2,pid => <0.69.0>}},
{"Tunnel",
#{folder => no_folder,id => 39,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "tunnel",perm => 2,pid => <0.69.0>}},
{"Warehouse",
#{folder => no_folder,id => 36,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "Warehouse",
perm => {body,{1,{0,nil,nil}}},
pid => <0.69.0>}},
{"Watermill",
#{folder => no_folder,id => 2,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "watermill",perm => 2,pid => <0.69.0>}},
{"Waterwell",
#{folder => no_folder,id => 18,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "waterwell",perm => 2,pid => <0.69.0>}}],
#{current => no_folder,
folders => {no_folder,[{no_folder,open,40}]},
sel => [],
shs =>
[#{folder => no_folder,id => 40,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "launchtower",perm => 0,
pid => <0.69.0>},
#{folder => no_folder,id => 39,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "tunnel",perm => 2,pid => <0.69.0>},
#{folder => no_folder,id => 38,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "traindepot",perm => 2,pid => <0.69.0>},
#{folder => no_folder,id => 37,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "stakeout",perm => 2,pid => <0.69.0>},
#{folder => no_folder,id => 36,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "Warehouse",
perm => {body,{1,{0,nil,nil}}},
pid => <0.69.0>},
#{folder => no_folder,id => 35,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "grainfarm",perm => 2,pid => <0.69.0>},
#{folder => no_folder,id => 34,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "smelter",perm => 2,pid => <0.69.0>},
#{folder => no_folder,id => 33,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "sawmill",
perm => {body,{1,{0,nil,nil}}},
pid => <0.69.0>},
#{folder => no_folder,id => 32,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "foundationunit",perm => 2,
pid => <0.69.0>},
#{folder => no_folder,id => 31,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "stacker",
perm => {body,{1,{0,nil,nil}}},
pid => <0.69.0>},
#{folder => no_folder,id => 30,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "grainsilos",
perm => {body,{1,{0,nil,nil}}},
pid => <0.69.0>},
#{folder => no_folder,id => 29,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "depot",perm => 2,pid => <0.69.0>},
#{folder => no_folder,id => 28,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "factory",perm => 2,pid => <0.69.0>},
#{folder => no_folder,id => 27,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "trainstop",perm => 2,pid => <0.69.0>},
#{folder => no_folder,id => 26,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "trainstation",perm => 2,
pid => <0.69.0>},
#{folder => no_folder,id => 25,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "foundationtriple",
perm => {body,{1,{0,nil,nil}}},
pid => <0.69.0>},
#{folder => no_folder,id => 24,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "foundationdouble",perm => 2,
pid => <0.69.0>},
#{folder => no_folder,id => 23,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "foundationsingle",perm => 2,
pid => <0.69.0>},
#{folder => no_folder,id => 22,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "structure_sep54",perm => 2,
pid => <0.69.0>},
#{folder => no_folder,id => 21,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "N-gon-neighbours",perm => 2,
pid => <0.69.0>},
#{folder => no_folder,id => 20,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "doubledeck",perm => 2,pid => <0.69.0>},
#{folder => no_folder,id => 19,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "smithy_sep24",perm => 2,
pid => <0.69.0>},
#{folder => no_folder,id => 18,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "waterwell",perm => 2,pid => <0.69.0>},
#{folder => no_folder,id => 17,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "srconstruction",perm => 2,
pid => <0.69.0>},
#{folder => no_folder,id => 16,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "slconstruction",perm => 2,
pid => <0.69.0>},
#{folder => no_folder,id => 15,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "ssconstruction",
perm =>
{face,
{36,
{22,
{13,
{8,
{6,{5,{4,nil,nil},nil},{7,nil,nil}},
{11,{10,{9,nil,nil},nil},{12,nil,nil}}},
{18,
{16,{15,{14,nil,nil},nil},{17,nil,nil}},
{20,{19,nil,nil},{21,nil,nil}}}},
{31,
{27,
{25,{24,{23,nil,nil},nil},{26,nil,nil}},
{29,{28,nil,nil},{30,nil,nil}}},
{36,
{34,{33,{32,nil,nil},nil},{35,nil,nil}},
{38,{37,nil,nil},{39,nil,nil}}}}}}},
pid => <0.69.0>},
#{folder => no_folder,id => 14,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "plconstruction",perm => 2,
pid => <0.69.0>},
#{folder => no_folder,id => 13,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "plaza",perm => 2,pid => <0.69.0>},
#{folder => no_folder,id => 12,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "streetleft",perm => 2,pid => <0.69.0>},
#{folder => no_folder,id => 11,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "streetright",perm => 2,
pid => <0.69.0>},
#{folder => no_folder,id => 10,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "streetstraight",perm => 2,
pid => <0.69.0>},
#{folder => no_folder,id => 9,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "brconstruction",perm => 2,
pid => <0.69.0>},
#{folder => no_folder,id => 8,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "N-gon-aligned",perm => 2,
pid => <0.69.0>},
#{folder => no_folder,id => 7,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "bridge",perm => 2,pid => <0.69.0>},
#{folder => no_folder,id => 6,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "oremine",
perm => {body,{1,{0,nil,nil}}},
pid => <0.69.0>},
#{folder => no_folder,id => 5,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "dairyfarm",perm => 2,pid => <0.69.0>},
#{folder => no_folder,id => 4,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "bakery",perm => 2,pid => <0.69.0>},
#{folder => no_folder,id => 3,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "grainfarmordered",perm => 2,
pid => <0.69.0>},
#{folder => no_folder,id => 2,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "watermill",perm => 2,pid => <0.69.0>},
#{folder => no_folder,id => 1,
matrix =>
{1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,
0.0},
name => "N-Gon2",perm => 2,pid => <0.69.0>}],
wire => {0,nil}},
undefined}
** Reason for termination ==
** {{{badarg,631},{wxListCtrl,setItemColumnImage,3}},
[{wxe_util,rec,1,[{file,"wxe_util.erl"},{line,84}]},
{wings_geom_win,'-update_shapes/4-fun-0-',6,
[{file,"wings_geom_win.erl"},{line,735}]},
{lists,foldl,3,[{file,"lists.erl"},{line,1263}]},
{wx,foldl,3,[{file,"wx.erl"},{line,223}]},
{wings_geom_win,update_shapes,4,[{file,"wings_geom_win.erl"},{line,739}]},
{wings_geom_win,handle_cast,2,[{file,"wings_geom_win.erl"},{line,648}]},
{wx_object,handle_msg,5,[{file,"wx_object.erl"},{line,468}]},
{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,247}]}]}
=INFO REPORT==== 25-Jul-2019::13:54:05 ===
application: wings
exited: shutdown
type: temporary
Oh that's a new one :-/ That looks like a crash when we stop the gui, did you get any output file?
Also an upgrade to the latest wings might solve that, maybe something that have been fixed along the way :-)
Otherwise, can you run 'convert_wings' with '-v' flag (for verbose/debugging), I would like to see the timing of when that happend. (and email me directly).
wings 2.2.4 crashes immediately with the script.
bram@ubuntupc:~/src/Train/Assets/buildings$ export WINGS_DIR=~/wings-2.2.4/lib/wings-2.2.4/
bram@ubuntupc:~/src/Train/Assets/buildings$ ./wings_convert -v -f obj --name launchtower buildings.wings
escript: exception error: undefined function wings:start/0
in function wings_convert__escript__1564__453114__434947__3:main/1 (./wings_convert, line 39)
in call from escript:run/2 (escript.erl, line 759)
in call from escript:start/1 (escript.erl, line 277)
in call from init:start_em/1
in call from init:do_boot/3
Hmm the wings:start() should not be an undefined function.
I'll make a complete test release for you, I've made some other changes as well. But away from computer this week.
Do you build from src/github or use the prebuilt ubuntu release?
Den tis 30 juli 2019 04:19Bram Stolk notifications@github.com skrev:
wings 2.2.4 crashes immediately with the script.
bram@ubuntupc:~/src/Train/Assets/buildings$ export WINGS_DIR=~/wings-2.2.4/lib/wings-2.2.4/ bram@ubuntupc:~/src/Train/Assets/buildings$ ./wings_convert -v -f obj --name launchtower buildings.wings escript: exception error: undefined function wings:start/0 in function wings_convertescript1564453114434947__3:main/1 (./wings_convert, line 39) in call from escript:run/2 (escript.erl, line 759) in call from escript:start/1 (escript.erl, line 277) in call from init:start_em/1 in call from init:do_boot/3
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/dgud/wings/issues/367?email_source=notifications&email_token=AAATYKNCNYTPLXE7HCM5EGLQB6QKRA5CNFSM4HEUCP62YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD3CRI5Y#issuecomment-516232311, or mute the thread https://github.com/notifications/unsubscribe-auth/AAATYKO3P43RT7JY2XFPMUDQB6QKRANCNFSM4HEUCP6Q .
This is the pre-built one. Lemme try to build from github...
Thanks. Works when built from source!
Sorry for all the nagging, but... Does the wings_convert consider the "Export Options" settings?
Because if I export via GUI, I always have my "Swap Y/Z" set to true, as a default. And it seems that the wings_convert script ignores this setting?
No it doesn't I will have to add those as script options.
Den tis 30 juli 2019 17:40Bram Stolk notifications@github.com skrev:
Thanks. Works when built from source!
Sorry for all the nagging, but... Does the wings_convert consider the "Export Options" settings?
Because if I export via GUI, I always have my "Swap Y/Z" set to true, as a default. And it seems that the wings_convert script ignores this setting?
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/dgud/wings/issues/367?email_source=notifications&email_token=AAATYKI2MZ3IQFHBKFUSBO3QCBOIFA5CNFSM4HEUCP62YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD3EMUMY#issuecomment-516475443, or mute the thread https://github.com/notifications/unsubscribe-auth/AAATYKOBFU4BB33C3AFG2HDQCBOIFANCNFSM4HEUCP6Q .
Did more fixes and support of swap yz (depends of export format) and pushed to maint and master branch.
To improve workflow, it would be nice to have a command line interface to wings3d, that enables you to export a named object in a .wings file to another format, like wavefront obj.
something like:
$ wings export -input=foo.wings -name=castle -output=out.obj
Which can save a lot of clicks in the UI, and enables you to use wings export in your data pipeline.
Kinda similar to how inkscape lets you generate .png files without the UI.