Shell offset calculation taking forever...

Next
 From:  Ken (KCOREY)
6987.1 
Hi All,

I'm just playing with MOI for the first time, and I find that generally it suits me right down to the ground.

I'm able to create the curved lines I want, and then to network them in 3 sections...however, when I try to offset those surfaces the app shows 'calculating' forever.

I've tried it on both Mac OSX (dual core i5, plenty of memory) and PC Win 7 64 pro(quad core i7 plenty of memory), and neither seems to take advantage of multi-threading, and after a little while the CPU load starts dropping. It's dropping to the point of nothing happening for hours.

From Activity Monitor or Task Manager, the machines don't seem to be bound in any way: hardly touching the hard drive, not saturating the network, and certainly not making the most of these machines.

Any advice? Is there a 64 bit multi-threaded version that would chew through this work faster?

-Ken
  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
6987.2 In reply to 6987.1 
Hi Ken,

> Any advice? Is there a 64 bit multi-threaded version that would chew
> through this work faster?

Sorry, no there's no 64-bit version yet and only some specific targeted areas utilize multi-threading. It's a difficult task to make things use multiple threads, work has to be isolated into very separate discrete chunks that can be operated on independently and many operations do not easily lend themselves to this structure. It tends to be one of the most difficult areas to program for effectively, it tends to be easy to have subtle bugs that are hard to detect and only reveal themselves under certain timing conditions. So it usually requires a very concentrated effort to do it well.

MoI does use multiple threads currently in 2 main areas - it's used in the display engine for feeding stuff to the graphics card, and also it's used in the meshing engine when you export to a mesh format like OBJ or LWO formats.

re: Offset taking forever - is it possible for you to post the 3DM model file with the surfaces you are trying to offset? It's a lot easier to give advice when viewing the actual geometry.

Just in general offsetting and shelling in MoI is not really all that robust, it is one of the weaker areas of the geometry library that MoI is based off of. There are also many situations that can make for a highly complex offset result like if you have tight bends in your surface and you are trying to offset it by an offset distance that is greater than the radius of those bends - that will make an offset result that bunches up awkwardly and tries to stick back through itself self in a self intersecting way.

- 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:  Ken (KCOREY)
6987.3 In reply to 6987.2 
Hi Michael,

Thanks for writing back.

I didn't really want to post the design I was working on...so I tried to create a design that was similar. In doing so I identified and fixed the bulk of my issues.

So, in hopes they help someone else, a few things I learned about the way I'm using the app:

1) If you're drawing a curve freehand, the points of the line are /guides/. I was assuming that the snap would link lines, but it doesn't...it links points. That meant that the lines didn't, in fact, intersect...which meant I was trying to make a network on a non-closed polygon.

2) Similarly, when trying to do an offset, if the calculation lasts forever, slice it into smaller (and more importantly simpler) sections. That lead to interesting things like the time I sliced an irregular shape into four sections, and then did an offset. One of them popped up, the other four popped down. No biggie, I just set the one to 'flip' the offset, and all was well.

3) Out of the box, the app doesn't enforce units. When sent to other folks, this will appear as mm, so something I meant to be 30cm was actually 3cm. After settings the units, it's now in cm, so should measure the right size.

There were other things, but those were the biggest problems in my design by a long shot.

Thanks,

-Ken
  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:  Michael Gibson
6987.4 In reply to 6987.3 
Hi Ken, I'm glad you've made good progress!

re:
> 1) If you're drawing a curve freehand, the points of the line are /guides/.

It depends on which particular freeform curve drawing tool you are using - if you use Draw curve > Freeform > "Control points", then it works like you're describing. If you use the one next to it that says "Through points", then it will behave differently and the curve that you draw will be forced to go directly through the points you pick.

But often times it's more difficult to get pleasant shaping when forcing a curve through many points, the control points method where the curve is generally guided by the hull of the points you pick tends to make a more gently curving shape.


> 3) Out of the box, the app doesn't enforce units. When sent to other folks, this will appear as
> mm, so something I meant to be 30cm was actually 3cm. After settings the units, it's now in
> cm, so should measure the right size.

Yeah the very original default will be "No unit system", and some CAD programs do not have this concept in them and may interpret it as mm or inches depending on which file format you use. But yes if you need things at a particular unit size make sure to set the current unit system under Options > General > "Unit system". You can also change the default for startup under the "Unit options" button on that same spot.

- 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
 

Reply to All Reply to All