La Couronne (for Pilou) ;-)

 From:  Michael Gibson
2659.9 In reply to 2659.6 
Hi David,

> Michael, I have some questions about this model. This model
> is draw in mm and it is very very small (56 mm of length).
> When I try to change the units to meters, the file is crashed.
> But the generated file with the bug is empty. Anyway, if you
> want I´ll send you. There are a *.zip and a *.dmp file.

That's ok, you don't need to send it if it is zero size.

But that's a very strong indication that the crash was triggered because all memory was occupied. Creating a proper crash dump also requires some memory to be allocated for it to do its job, so if no memory is available it can result in empty dump files like that.

When you change the units and the objects are scaled (you can turn off object scaling with unit changes by Options / General / Unit options / Scale on unit system change), there will temporarily be about 2.5 times as much memory occupied by your model. There is the original model, the new scaled version that is replacing it, and then additionally an undo unit version of your previous model is created which is compressed but still can occupy a fair amount of memory.

So if your model was fairly close to occupying all available memory already, some operation like this that applies to the entire model can pretty easily run out of space.

I try to make running out of memory just fail to complete the operation instead of crashing, but it tends to be difficult to catch every single area where it may happen. I'll try to take a look at the unit change function and see if I can protect it a bit better to avoid crashing when running out of memory.

However, even if I can avoid the crash, it is a bad situation to be completely running out of memory because it means that numerous operations will fail after that since many things need some memory space to operate. So you are generally better off making sure that you don't run out of memory, either by making sure you have plenty of RAM installed on your machine, or if you are working with a very heavy model try breaking the model up into different pieces to avoid having the entire heavy model loaded all at once.

There is also one easy thing you can do to reduce memory consumption by quite a bit with heavier models, which is to reduce the display mesh density.

By default MoI creates a really quite dense display mesh which makes for a nice smooth looking display but tends to occupy a lot of memory. When your model becomes heavy these high density display meshes can pretty easily consume all your memory. To reduce the density, go to Options / View / Meshing parameters, and set "Mesh angle" to 20 or 25 degrees, and uncheck "Add detail to inflections". Currently it is a good idea to adjust those settings if you are working on a high density model, to avoid the display meshes from consuming too much memory. You can restore the settings back to their defaults when you're working on a smaller model.

> Another question. Since the last beta -with the Styles- are
> the files smaller, or it´s my imagination? :-?

They should be the same size on disk actually... But I did fix a bug that was causing even more heavy display meshes than I had intended in a few certain situations when "Add detail to inflections" was enabled. But even with this bug fix in place it is a good idea to turn that setting off (and loosen the angle to a higher angular degree) when working with heavy models.

> Another one: When I want to change the style of any object
> (all the formers files are draw without styles) I switch the
> style off and then I change the property of the object for
> put it into the new style, but then, the style switch on. For me,
> is easiest to keep the styles off because in this way the screen
> is going clearing meanwhile I was changing the object to
> deactivated styles.

What really happens in this case is that in MoI a style is not by itself on or off, only individual objects are on or off. The "eye" icon on a style just tells you if all the objects belonging to it are either on or off.

So currently when you move objects to a style, if the objects were not hidden then they are not hidden when they belong to the new style either.

I've had some feedback from others that find this confusing though as well, since it is different than how a more traditional "layer" system works.

Maybe what I should do is when you change an object's style, I can look at all the other objects belonging to that style currently and if they are all off I can switch those newly assigned objects to be hidden as well.

In the meantime, you may also be interested in the script which I posted recently in this other thread:
which will move a selection of objects to a style named "hidden" and also hide them so that you can get a "move to other style and hide" set up on one keystroke right now.

> But some of this files, when I merged them into Blender, doesn´t
> keep the scale. What´s happening?. I think that it´s can be related
> to the small size of the drawing

Hmmm, I don't know about this - is there some kind of auto-scaling feature in the Blender importer that you need to turn off?

I've seen that with a few other programs, where they try to automatically scale an object when it is imported so that it will be of a more typical size in that environment. That can happen on an object-by-object basis with different objects getting a different scale factor applied to them.

But if a program does that, there is a setting to turn that off since that process does not work well when you are importing and assembling several pieces that should maintain relative size to one another.

- Michael