Few whishes

Next
 From:  lwan
1436.1 
Hi Michael,

I've been fooling around with MoI again lately, partially on projects and I have faced a few problems :

A client sent me HUGE .igs data from catia, and so far I've been unable to open it, I let the computer running trying to import the data but 12 hours later it was still hanging. Could it be possible to have some incremental import, object by object, with possibly a progress bar or something ?
Multithreaded import/meshing would be nice too but the first solution might be enough.

Another thing that could help would be to be able to select several files at once to import in MoI (I had a project with 397 .igs files to add one by one and it's been super boring :)

Thanks for reading !
Regards,
Erwan
  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
1436.2 In reply to 1436.1 
Hi Erwan, probably on the first one too much memory is being used and once the virtual memory manager starts swapping chunks of memory to your disk things really slow way way down.

I've added your requests to the wiki wishlist (http://moi3d.com/wiki/Wishlist).

It should be feasible for me to add that stuff in the future.

Also one other area that should help is a wireframe display mode.

Right now MoI creates display meshes for all objects as they are read in, so they can be displayed in MoI's regular shaded mode viewports. But with a really large model all these display meshes take up quite a bit of additional memory. A wireframe mode should help to reduce memory use in these situations.

Right now you will probably need to have very very large .igs files split up into some smaller pieces to make it fit within a better memory footprint.

It's also a good idea to have as much memory as can possibly fit on your machine for this kind of work as well.


> Another thing that could help would be to be able to select several
> files at once to import in MoI (I had a project with 397 .igs files to
> add one by one and it's been super boring :)

I think it should be possible to do a script to help with this one, I'll see if I can cook something up for you now.

- 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:  Michael Gibson
1436.3 In reply to 1436.1 
Hi Erwan, here is a new command for importing all the IGES files inside of a folder that you pick.

To install the new command, unzip the attached ImportFolder.zip file, then copy ImportFolder.js into the \commands sub-folder inside of MoI's main installation folder.

This will give you a new command named "ImportFolder".

To trigger the command you have to set up a keyboard shortcut - go to Options / Shortcut keys, and add a new entry. Put whatever you like for the Key, for example Ctrl+I , then for the Command put in ImportFolder.

After that you can push Ctrl+I (or whatever key you decided) to run the command.

When you run the command, a "Browse For Folder" dialog will pop up and let you pick a folder. After you push OK, every IGES file that is inside of that folder will be imported, same as if you had done File / Import manually on each one.

That should be a lot easier than repeating Import 397 times! :)

Unless these objects are very simple you may need to separate them into somewhat smaller batches though, importing 397 complex objects is going to use up a large amount of memory.

I hope this helps,

- Michael
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:  Nick (BODINI)
1436.4 In reply to 1436.3 
I can see it now...

Erwan: "395... 396... 397. There, 397 files imported one by one. Now let's go check the MOI forum."

:-)

Michael, your support is beyond belief.

-nick
  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
1436.5 In reply to 1436.4 
LOL! But yes, if you have a highly repetitive task please post about it here first so I can see if a script can be cooked up to automate it for you.

- 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:  lwan
1436.6 
Oh Michael this is great support and help, many thanks !

About my computer specs, I'm running with 8GB ram but MoI seem to get stuck around 900MB importing the giant .igs
  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
1436.7 In reply to 1436.6 
Hi Iwan, I'm glad that multi-import script may be useful! Please let me know if you have any problems with it.


> About my computer specs, I'm running with 8GB ram but MoI
> seem to get stuck around 900MB importing the giant .igs

Hmmm, doesn't sound like you are getting stuck with a memory swapping slowdown then...

One thing you might try is turning off the automatic Join that happens on IGES import.

To do that, shut down MoI, then open up the moi.ini file in notepad, moi.ini is located here on XP:
c:\Documents and Settings\ [your login name] \Application Data\moi\moi.ini

Inside of it there should be a section:

[IGES]
JoinOnImport=y

You might try switching that to JoinOnImport=n , and see if that makes the large import come in easier...

- 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:  lwan
1436.8 In reply to 1436.7 
hey thanks for the tip, I will try that real soon, I will have to work on another big file from catia :)

Thanks,
Erwan
  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:  lwan
1436.9 
For those interested, it's located here in vista :

C:\Users\[user account name]\AppData\Roaming\Moi

going to test the tip now !
  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:  lwan
1436.10 
ok well, this does work for import speedup but then all patches are exploded into separate pieces and global joining fails.
is this import thing can be multithreaded or something ?
  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
1436.11 In reply to 1436.10 
Hi Iwan,

> ok well, this does work for import speedup but then all patches
> are exploded into separate pieces and global joining fails.

If the model is very complex, you may need to process it more in chunks, like select a batch of surfaces and try to join those, then another batch, etc...

It is hard for me to give more specific advice without being able to work with the model over here, if you want to send it to me at moi@moi3d.com I could try to help out some more.


> is this import thing can be multithreaded or something ?

I guess it is theoretically possible, but it is extremely difficult work to take a large complex piece of code like a file importer and totally change it all to be multi-threaded. That's probably not going to be feasible to attempt anytime soon.

One part that I do want to make multithreaded first will be meshing, which could help this some though too, although really a wireframe display mode would probably be the biggest help for processing large models 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:  lwan
1436.12 In reply to 1436.11 
OK thank you Michael.
I can't give away the model because, even if I was allowed to, it's 1.5 GB :)
  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
1436.13 In reply to 1436.12 
Hi Iwan, is the model just one single huge part?

Or is it an assembly made up of many different parts in it?

If it is made up of many different parts and the parts are organized to belong in different IGES "group" entities, then I think it would be possible for me to improve this by only attempting to join surfaces that belong to the same group. That is a lot more efficient than a total global join attempt.


By the way I just realized that I may have misunderstood your question about multithreading - I do want to make it possible to interrupt a big IGES import, which may involve multithreading for that purpose. The part that will be hard that I was talking about was to try and use multithreaading to improve IGES import performance on multi-core processors, that kind of thing is much more difficult.

- 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:  manz
1436.14 In reply to 1436.12 
Hi lwan,

That is a big file,

I would ask the client for breakdown, or for conversion at source.
Or possibly have at look at http://www2.rhino3d.com/resources/display.asp?language=&listing=414
  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