Question about MOI background processing behavior

Next
 From:  JohnFredC
642.1 
Hi Michael!

I must be a complete lunatic to use MOI for this, but: was inspired to make a honeycomb and wanted to use MOI, even though a honeycomb is (or starts out at least) as a polygonal thing.

So now I have my honeycomb (hexagon, offset, extrude, mucho copy and align), about 1000 separate objects. So far so good. Now I want to trim it into an irregular shape (that will fit in the mason jar I have in mind) with closed Nurbs curves.

I draw a curve, select the honeycomb, start a boolean difference operation with the curve as the object to subtract, and go off to do other things, expecting a long operation.

That was a couple of hours ago. MOI is still responsive, viewports pan and zoom, menus highlight. However, the status says "Calculating..." and the cursor has the hourglass.

Task Manager shows that MOI is consuming almost no cycles and that the memory footprint doesn't seem to change much or very often, which suggests to me that MOI isn't doing anything and may be through (or have failed) with the boolean.. There are three entries: MOI.EXE and 2 x moi_commandprocessor.exe.

I am not intimately familiar with MOI's behaviors yet but would really like this boolean to complete so am reluctant to mess with anything. Is it appropriate here to click "Done?" "Done" does highlight, but the cursor continues to show the hourglass.

Using your most recent beta.

Thanks!
Attachments:

  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
642.2 In reply to 642.1 
Hi John, in this situation clicking "Done" won't actually do anything different, the way the booleans work they will automatically complete when they are done calculating. I guess I could hide the "Done" button in this case and just leave the "Cancel" button enabled to make that clearer.

In a situation like this, all the calculation will be happening in one of the moi_commandprocessor.exe programs, not in the main moi.exe program.

It just seems like it is taking a really long time to calculate this boolean.

One factor that increases calculation time (aside from a large number of objects), is when your objects are rather larger in size. It looks like your objects are a bit large in relation to the grid.

This tends to create additional calculation because MoI calculates some operations like intersections to an accuracy of 0.001 units. If your object is fairly large (like say 2000 units long), then 0.001 is a pretty small number in comparison to the object which means that the accuracy is actually too high - the intersections will get calculated with too many control points in them to get more accuracy which takes additional calculation time and consumes more memory.

So you might try scaling all your objects down by a factor of 10 or 50 or so, that could possibly help things out.

You might also try doing the booleans in something like 4 different batches, that may reduce the quantity of memory that is being used. If all your computer memory is used up that tends to dramatically slow things down as well when it starts to swap memory out to your hard drive instead.

- 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
Next
 From:  JohnFredC
642.3 In reply to 642.2 
HI Michael

I just gave up on it after several hours. Neither MOI_Commandprocessor was using any cycles or paging or anything. Will rescale and start over. Didn't occur to me that scale would make a difference.

I'm having fun with MOI!!!
  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:  JohnFredC
642.4 In reply to 642.3 
Hi Michael

In the process of following your suggestions about the honeycomb I have discovered a few things.

1. MOI fails "silently". I decided to give MOI a whole night (6-8 hours) to attempt the boolean. In the morning. MOI was still in "Calculating..."/hourglass mode plus the MOICommandProcessor entities were not consuming cycles and there were no memory deltas. Instead of purging, I clicked the MOI close button. It promptly asked me of I wanted to save my model (I didn't), then closed cleanly. Obviously the boolean had failed without a message. There should be a message of some kind and MOI returned to user control.

2. I rescaled (as you suggested) and tried the same boolean, but this time there was a crash popup with the button to email the crash report. This dialog was unresponsive and I had to purge MOI.

3. I then attempted a simpler boolean (an open instead of closed curve for the cutting object) on a subset of honeycomb. That boolean completed successfully!

But...!!!!

The number of "mouse-over" display artifacts that I reported here: http://www.moi3d.com/forum/?webtag=MOI&msg=645.1 in this new model is many! I have attached some images. As you can see, they appear simply in response to moving the mouse around the viewports. IMHO there appears to be a correlation between using the boolean difference on an object and the display artifacts... almost as if MOI calculates extraneous points and sends them to the display engine intermittently. As I said in that other thread, Rhino used to have these things (prior to V1). I was running on a different video card back then, but it was ATI, also.

I have 1Gb of RAM and 8Gb of swap on two drives.

This model is just for fun and for learning MOI, therefore not important to me to complete. But do you want me to continue to report these kinds of issues?

  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
642.5 In reply to 642.4 
> But do you want me to continue to report these kinds of issues?

Certainly, the more information about problems the better!

The display artifact one seems to be a tough problem though, I took another look at your old version in some detail and I just can't repeat any similar problems over here. Also I haven't had any reports of this type of behavior other than yours.

The part that is especially odd is that when you mouse over, the screen will redraw but MoI sends the exact same mesh data to the video card as before the mouseover, just updating one color value... So it is difficult to think of what is going wrong there...


re: #1 - normally when there is a failure it should exit the "Calculating..." stage as well. It seems like in this case there is some bug that is preventing that from happening. Could you possibly post your model here (maybe with just one of those hexagons to keep file size low, I can make an array of them over here). If I can reproduce your problem over here it would help to figure it out and solve it.

re: #2, crash - well, that isn't better! Can you please take a look in the MoI folder in c:\Program Files and see if there was a file created there called moi_report1.zip ? When MoI crashes it tries to write some information in a crash dump file. If that was generated, please e-mail it to me at moi@moi3d.com, and that might also help me in tracking down the bug.

Thanks,

- 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
Next
 From:  JohnFredC
642.6 In reply to 642.5 
I've attached a 3dm with one honeycomb cell and the closed path.

Naturally it does not exhibit the rendering artifact, even after a boolean difference.
Attachments:

  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:  Frenchy Pilou (PILOU)
642.7 
Just a little try With the Array Line
Honey comb = Polygon 2 Units, thick 0.1 Unit, hight 10 Units
one Honey comb in volume (without the construction lines) * 100
I re take these 100 resultant Honey combs
and re apply the Array Line so 100 * 100 = 10 000
but during this last action the button "Cancel" is not working (in reasonnable time(?) :(
And stop the program with Alt +Ctrl + Del very hard to apply!
Is that normal?
There is not an internal process for stop the calculating during this function?

No problem for 10 * 10 = 100 :)
---
Pilou
Is beautiful that please without concept!
My Gallery

EDITED: 1 Jun 2007 by PILOU

Attachments:

  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
642.8 In reply to 642.7 
Hi Pilou, you probably ran out of memory. Once that happens things will go very very slowly as memory is swapped back and forth to the disk. That's probably why Ctrl+Alt+Delete was even very slow.

Array line does not currently have any cancel mechanism built into it, for the time being you should generally try to avoid making very large numbers of objects with it.

- 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:  Frenchy Pilou (PILOU)
642.9 In reply to 642.8 
< very large numbers of objects with it
Seems more reasonable indeed :)
---
Pilou
Is beautiful that please without concept!
My Gallery
  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