Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Request: command line export #367

Closed
stolk opened this issue Apr 9, 2019 · 12 comments
Closed

Feature Request: command line export #367

stolk opened this issue Apr 9, 2019 · 12 comments

Comments

@stolk
Copy link

stolk commented Apr 9, 2019

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.

@dgud
Copy link
Owner

dgud commented Jul 23, 2019

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)

@stolk
Copy link
Author

stolk commented Jul 23, 2019

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?

@dgud
Copy link
Owner

dgud commented Jul 23, 2019

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.

@dgud
Copy link
Owner

dgud commented Jul 24, 2019

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.

@stolk
Copy link
Author

stolk commented Jul 25, 2019

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

@dgud
Copy link
Owner

dgud commented Jul 26, 2019

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).

@stolk
Copy link
Author

stolk commented Jul 30, 2019

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 

@dgud
Copy link
Owner

dgud commented Jul 30, 2019 via email

@stolk
Copy link
Author

stolk commented Jul 30, 2019

This is the pre-built one. Lemme try to build from github...

@stolk
Copy link
Author

stolk commented Jul 30, 2019

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?

@dgud
Copy link
Owner

dgud commented Aug 1, 2019 via email

@dgud
Copy link
Owner

dgud commented Aug 6, 2019

Did more fixes and support of swap yz (depends of export format) and pushed to maint and master branch.

@dgud dgud closed this as completed Nov 4, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants