Waste(?) in 3dm

Next
 From:  Max Smirnov (SMIRNOV)
6426.1 
Hi Michael,
I noticed something strange when I save file after some transformations (extend, flow) with large number of objects.
File size blows up.
MoI Version 3.0 Beta Nov-19-2013

You can reproduce this.
Open test1.3dm (900 objects) -> select all -> Extend tool -> save as test2.3dm
test1.3dm - 0.6 MB
test2.3dm - 64 MB

Then select all lines, rotate it upside down (it takes a lot of time.. why?) then back. Save file again. ~2 MB.
I think MoI saves to file information about last transformation. Do we need it?
And another question. Is there any command which I can use in script to enable/disable undo, or clean all undo data?

P.S. Tired with 10000 objects :) igs - 7MB, 3dm -3.3GB(!!!) Please, fix it.

EDITED: 7 Mar 2022 by SMIRNOV

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
6426.2 In reply to 6426.1 
Hi Max, this is probably history data, when you run commands a record of all the inputs that went into the command is stored on output objects. With some commands (ones that run asynchronously in the worker process) there is a problem where if it is used with a large quantity of objects each output history record is ending up containing the records for all the input and output objects and so that ends up taking up a lot of space.

It's the same issue that was recently reported here when doing Construct > Planar on a large amount of objects:
http://moi3d.com/forum/index.php?webtag=MOI&msg=6412.1

Right now you can solve this by selecting the objects and running a script to purge the history data off the objects, see here for the script to set up:
http://moi3d.com/forum/index.php?webtag=MOI&msg=6029.2

If you select your objects and run that script it should slim down your file when you save it after that.

I've recently been looking into this problem and I hope to have it solved for the next beta. The specific problem is that on geometry factories that run asynchronously the more granular relationship information between an individual input and an individual output is being lost.


> I think MoI saves to file information about last transformation. Do we need it?

It's information that is stored on output objects, about how they were created. You don't need it if you are not going to be using history updating on those objects.


> And another question. Is there any command which I can use in script to
> enable/disable undo, or clean all undo data?

There is nothing for scripting that currently, but you can set some limits that control undo in moi.ini, under:

[Undo]
MaxMemorySizeMB=20
MinNumberOfUndos=10


If you're working with heavy files you may want to reduce the minimum number of undos to be lower than the default.

The undo system will store at least as many steps as given in the min number option, and as many more than that as will fit in the maximum memory size.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
 From:  Max Smirnov (SMIRNOV)
6426.3 In reply to 6426.2 
Thank you very much!
This is exactly what i needed. Great script!
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged
 

Reply to All Reply to All