Utterly dumb export rules

In DAZ Studio you can export an object or figure in obj format and indeed many other formats. Great! But who thought it would be a good idea to export everything visible in the scene? That's just plain dumb. You can either make everything you don't want to export invisible or delete it from the scene. That's no problem for simple scenes, but the more complex a scene is the more irritating it becomes.

Would it not be far more sensible to export only the selected items?

No more finding that you have hidden everything you didn't want to export except that you forgot the eyelashes!

Perhaps a popup dialog could be added to give the user the option of selecting what to export.

This is not a new issue, surely by DS 4.11, this would have been dealt with. Come on DAZ sort this out!

Comments

  • AscaniaAscania Posts: 1,855

    Great! Now I can waste an hour selecting the 1002 objects in the scene I want to export instead just making the 11 I want to exclude invisible. Excellent idea!

    Any more marvels to regale us with?

  • Sven DullahSven Dullah Posts: 7,621
    Ascania said:

    Great! Now I can waste an hour selecting the 1002 objects in the scene I want to export instead just making the 11 I want to exclude invisible. Excellent idea!

    Any more marvels to regale us with?

    Speak for yourself! I think the export option could be improved.

  • AscaniaAscania Posts: 1,855
    edited July 2019
    Ascania said:

    Great! Now I can waste an hour selecting the 1002 objects in the scene I want to export instead just making the 11 I want to exclude invisible. Excellent idea!

    Any more marvels to regale us with?

    Speak for yourself! I think the export option could be improved.

    The issue is not whether the options can or cannot be improved (which I agree with, they can). The issue is that the claims made against the current options are extremely subjective and narrowly catering only and solely to his personal wished-for workflow without any consideration regarding anything outside his personal scope at all, with the suggested alternative being a pie-in-the-sky idea that has just as many (if not more) disadvantages as the current system.

    Post edited by Ascania on
  • Richard HaseltineRichard Haseltine Posts: 108,052

    http://docs.daz3d.com/doku.php/public/software/dazstudio/4/referenceguide/scripting/api_reference/samples/file_io/export_obj_silent/start has options for selectOnly and others, edit to true and use the script as your export comand (make it a custom action by right-click on the file in a content pane, setting the desired menu)

  • SotoSoto Posts: 1,450

    I use that script almost exclusively since a while. It feels part of DS now lol

  • WendyLuvsCatzWendyLuvsCatz Posts: 40,075

    Handy script indeed

    yes I never understood DAZ studio exporting everything unless hidden either

    Carrara, Poser, Blender I have options to export selected so it’s not an unreasonable expectation 

  • Matt_CastleMatt_Castle Posts: 3,007
    Ascania said:

    Great! Now I can waste an hour selecting the 1002 objects in the scene I want to export instead just making the 11 I want to exclude invisible. Excellent idea!

    Any more marvels to regale us with?

    Are you seriously saying that every time you need to select everything or nearly everything in your scene, you choose to spend an hour selecting it all individually rather than using the "Select All" or "Invert Selection" options available on the select menu?

  • AllenArtAllenArt Posts: 7,175

    http://docs.daz3d.com/doku.php/public/software/dazstudio/4/referenceguide/scripting/api_reference/samples/file_io/export_obj_silent/start has options for selectOnly and others, edit to true and use the script as your export comand (make it a custom action by right-click on the file in a content pane, setting the desired menu)

    LOL...I don't even know what all that stuff means that you linked right there much less how to make something that works out of it ;).

    Laurie

  • IsaacNewtonIsaacNewton Posts: 1,300
    edited July 2019

    Thanks Richard; a useful script. I wonder why DAZ have not incorporated something like this.

    Since I'm not familiar with using scripts can you explain where I should put this file, or point me to a tutorial which explains this.

    Post edited by IsaacNewton on
  • WendyLuvsCatzWendyLuvsCatz Posts: 40,075

    just put it in scripts in your library

    or drop it from wherever into the DAZ viewport

  • andya_b341b7c5f5andya_b341b7c5f5 Posts: 694
    edited July 2019

    Yes, the current lack of options is dumb and frustrating.

    You can reduce the number of items you have to deselect by creating groups of logically related things - all lights, or props, for instance.  Hiding a group hides everything in it.  Make a group for each character, and then hiding that group hides the figure, the clothes, and props parented to them.  If you do this as you build the scene, it's not such a chore. It's helpful in a busy scene even aside from exporting.

    Post edited by andya_b341b7c5f5 on
  • jjmainorjjmainor Posts: 493

    I tend to group everything so my scene pane doesn't get cluttered.  When I need to save one object as a scene subset, I'll ungroup it do I don't have to uncheck a couple hundred boxes...I just have to uncheck one box for the overall group.  Same principle would work for exporting...all you have to do is click the group and turn the whole thing invisible except for the item or items you excluded.

  • marblemarble Posts: 7,500

    Hiding a group hides everything in it.

    Does it though?

    Perhaps it does for export but I'm sure I tried that for the "Visible in Simulation" setting and I had to go into the group and select individually. I can't verify that though because I'm (far) away from my DAZ PC for a while.

  • nonesuch00nonesuch00 Posts: 18,723

    You can group your scene as you build it into logical groups too. That is what I do to quickly hide entire parts of my scene. eg, Environments, Characters, Lights, Cameras are the top groups I use and then I often great sub groups within those groups to parent models and such too.

  • AllenArtAllenArt Posts: 7,175

    just put it in scripts in your library

    or drop it from wherever into the DAZ viewport

    I did. It just brings up the standard export dialog, so I must be missing something.

    Laurie

  • mclaughmclaugh Posts: 221
    marble said:
    Does it though?

    Perhaps it does for export but I'm sure I tried that for the "Visible in Simulation" setting and I had to go into the group and select individually. I can't verify that though because I'm (far) away from my DAZ PC for a while.

    Did you actually group them (Create > New Group) or just parent the items to another item?

     

  • marblemarble Posts: 7,500
    mclaugh said:
    marble said:
    Does it though?

    Perhaps it does for export but I'm sure I tried that for the "Visible in Simulation" setting and I had to go into the group and select individually. I can't verify that though because I'm (far) away from my DAZ PC for a while.

    Did you actually group them (Create > New Group) or just parent the items to another item?

     

    Group them using the New Group option from the Create menu.

  • Just select all the items you want and save to a scene subset.  Then export from there

  • outrider42outrider42 Posts: 3,679
    Ascania said:
    Ascania said:

    Great! Now I can waste an hour selecting the 1002 objects in the scene I want to export instead just making the 11 I want to exclude invisible. Excellent idea!

    Any more marvels to regale us with?

    Speak for yourself! I think the export option could be improved.

    The issue is not whether the options can or cannot be improved (which I agree with, they can). The issue is that the claims made against the current options are extremely subjective and narrowly catering only and solely to his personal wished-for workflow without any consideration regarding anything outside his personal scope at all, with the suggested alternative being a pie-in-the-sky idea that has just as many (if not more) disadvantages as the current system.

    Subjective??? Well my apparently narrow personal scope matches the op. What is being asked for are options, having more options is generally regarded as a positive thing.
  • WendyLuvsCatzWendyLuvsCatz Posts: 40,075
    edited July 2019

    Yeah admit I have not gotten around to the script yet as everything I export to actually imports it as separate objects 

    I also shift select what I want to hide in both the scene  outliner and parameters and click visibility  off it doesn’t take long

    I would prefer the other way, separate objects into DAZ studio with textures, it does neither so I use PhilC’s python script for multiple obj import with Poser instead and save as a pz3 and drop that into studio 

    Post edited by WendyLuvsCatz on
  • AscaniaAscania Posts: 1,855
    Ascania said:
    Ascania said:

    Great! Now I can waste an hour selecting the 1002 objects in the scene I want to export instead just making the 11 I want to exclude invisible. Excellent idea!

    Any more marvels to regale us with?

    Speak for yourself! I think the export option could be improved.

    The issue is not whether the options can or cannot be improved (which I agree with, they can). The issue is that the claims made against the current options are extremely subjective and narrowly catering only and solely to his personal wished-for workflow without any consideration regarding anything outside his personal scope at all, with the suggested alternative being a pie-in-the-sky idea that has just as many (if not more) disadvantages as the current system.

     

    Subjective??? Well my apparently narrow personal scope matches the op. What is being asked for are options, having more options is generally regarded as a positive thing.

    Nope. What was being asked was wholesale replacement of the current option.

  • Ascania said:

    Nope. What was being asked was wholesale replacement of the current option.

    Are you sure?  From the OP:

    Perhaps a popup dialog could be added to give the user the option of selecting what to export.

  • Syrus_DanteSyrus_Dante Posts: 983
    edited July 2019

    I remeber two years ago we had the same discussion here.

    You could use the default OBJ exporter and this script from MCasual mcjHideAllBut.

    Press Hide All But Selected before exporting then run the script again and press Show All Objects. Unfortunately you have to run this a second time with Show All Objects because this script turns every single node invisible even if it's part of a figure.

    The script sample "export OBJ silent" isn't set to be silent it must be: var bShowOptions = false;.

    http://docs.daz3d.com/doku.php/public/software/dazstudio/4/referenceguide/scripting/api_reference/samples/file_io/export_obj_silent/start

    Here are some of the important lines you could change:

    //********************************************************************************// Define whether or not to show options//  var bShowOptions = true;   //originalvar bShowOptions = false;   //FALSE: the script runs Silent the last used path is used and the Label/Name? of the selected Item is used for filename//********************************************************************************--------------------------------------------------------------------------------	// Do not limit export to selection	oSettings.setBoolValue( "SelectedOnly", false );   //true: export only what is selected--------------------------------------------------------------------------------	// Do not export items that are parented to the selection	oSettings.setBoolValue( "IncludeParented", false );   //true: also export eg. clothes and hair while you have selected the figure--------------------------------------------------------------------------------	// Do not ignore the geometry of invisible nodes	oSettings.setBoolValue( "IgnoreInvisible", false );   //true: don't export invisible--------------------------------------------------------------------------------	// Do not remove vertices that are floating, connected to nothing - i.e. LOD	oSettings.setBoolValue( "RemoveUnusedVerts", false );   //true: usualy there should be no unused vertices but if so you can get rid of them while exporting

    [Edit#1]: You may want to change the export location by default the last used path while you exported as usual gets used. getDocumantsPath will save the OBJ into your Documents user folder but you could also use absolute paths.

    // If we've got a node, construct the path using the// exporter's last path, the node's name, and the// exporter's extension...// Otherwise, just use the exporter's last pathvar sInitialPath = ( oNode ?	String( "%1/%2.%3" )	//.arg( oExportMgr.getExportPath() )    //default    //.arg( "C:/Daz Studio OBJ Exports" )   //also absolute paths can be entered here    .arg( getDocumentsPath () )    //this should export your OBJ into your Documents folder	.arg( oNode.name )	.arg( oExporter.getExtension() ) :	oExportMgr.getExportPath() );

    [Edit#2]: Maybe this is better: export to documents folder and create a subfolder: "Daz Studio OBJ Exports".

    var sInitialPath = ( oNode ?	String( "%1/Daz Studio OBJ Exports/%2.%3" )    .arg( getDocumentsPath () )    //this should export your OBJ into your Documents folder	.arg( oNode.name )	.arg( oExporter.getExtension() ) :	oExportMgr.getExportPath() );

    Currently if an OBJ file of that name already exists in this location nothing will get exported. Maybe I should add a check and use filenames with incremantal number in the name counting up if the file already exists.

    Post edited by Syrus_Dante on
  • AscaniaAscania Posts: 1,855
    Ascania said:

    Nope. What was being asked was wholesale replacement of the current option.

    Are you sure?  From the OP:

    Perhaps a popup dialog could be added to give the user the option of selecting what to export.

    Yes, I am sure. You seem to read that quote very differently to me.

  • MistaraMistara Posts: 38,675

    Handy script indeed

    yes I never understood DAZ studio exporting everything unless hidden either

    Carrara, Poser, Blender I have options to export selected so it’s not an unreasonable expectation 

    +1

     

  • marth_emarth_e Posts: 187

    I remeber two years ago we had the same discussion here.

    You could use the default OBJ exporter and this script from MCasual mcjHideAllBut.

    Press Hide All But Selected before exporting then run the script again and press Show All Objects. Unfortunately you have to run this a second time with Show All Objects because this script turns every single node invisible even if it's part of a figure.

    The script sample "export OBJ silent" isn't set to be silent it must be: var bShowOptions = false;.

    http://docs.daz3d.com/doku.php/public/software/dazstudio/4/referenceguide/scripting/api_reference/samples/file_io/export_obj_silent/start

    Here are some of the important lines you could change:

    //********************************************************************************// Define whether or not to show options//  var bShowOptions = true;   //originalvar bShowOptions = false;   //FALSE: the script runs Silent the last used path is used and the Label/Name? of the selected Item is used for filename//********************************************************************************--------------------------------------------------------------------------------	// Do not limit export to selection	oSettings.setBoolValue( "SelectedOnly", false );   //true: export only what is selected--------------------------------------------------------------------------------	// Do not export items that are parented to the selection	oSettings.setBoolValue( "IncludeParented", false );   //true: also export eg. clothes and hair while you have selected the figure--------------------------------------------------------------------------------	// Do not ignore the geometry of invisible nodes	oSettings.setBoolValue( "IgnoreInvisible", false );   //true: don't export invisible--------------------------------------------------------------------------------	// Do not remove vertices that are floating, connected to nothing - i.e. LOD	oSettings.setBoolValue( "RemoveUnusedVerts", false );   //true: usualy there should be no unused vertices but if so you can get rid of them while exporting

    [Edit#1]: You may want to change the export location by default the last used path while you exported as usual gets used. getDocumantsPath will save the OBJ into your Documents user folder but you could also use absolute paths.

    // If we've got a node, construct the path using the// exporter's last path, the node's name, and the// exporter's extension...// Otherwise, just use the exporter's last pathvar sInitialPath = ( oNode ?	String( "%1/%2.%3" )	//.arg( oExportMgr.getExportPath() )    //default    //.arg( "C:/Daz Studio OBJ Exports" )   //also absolute paths can be entered here    .arg( getDocumentsPath () )    //this should export your OBJ into your Documents folder	.arg( oNode.name )	.arg( oExporter.getExtension() ) :	oExportMgr.getExportPath() );

    [Edit#2]: Maybe this is better: export to documents folder and create a subfolder: "Daz Studio OBJ Exports".

    var sInitialPath = ( oNode ?	String( "%1/Daz Studio OBJ Exports/%2.%3" )    .arg( getDocumentsPath () )    //this should export your OBJ into your Documents folder	.arg( oNode.name )	.arg( oExporter.getExtension() ) :	oExportMgr.getExportPath() );

    Currently if an OBJ file of that name already exists in this location nothing will get exported. Maybe I should add a check and use filenames with incremantal number in the name counting up if the file already exists.

    Wow, great tip. Thanks a lot for sharing. Sooo useful!!!

Sign In or Register to comment.