ZMap Elimination

November 24, 2008 · Filed Under MeshCAM Development · 17 Comments 

There is only part of the program that uses the old ZMap code from the original MeshCAM- the parallel roughing. I started making changes today to eliminate it completely.  I think it will take a few more days and then it should work.  This will have two benefits- memory and speed.  The old ZMap code used a lot of memory for each point that was calculated. For most cases this didn’t matter too much but lately I’ve been trying to squeeze every byte from the machining process to make the whole thing scale to larger and more complicated jobs.  On a moderately complicated jobs this could be a hundred megs or more saved if everything works out.  Second, I was inspired the other day when I got that big speedup in finishing paths.  This could be an equal improvement for roughing. It also allows me to use multiple cores to compute the surface offset. 

 

If it works then I’ll put out a release with the speedups pretty soon.  I haven’t gotten any show stopping feedback about the last beta so I think I’m in good shape.

Tweaking for Speed

November 20, 2008 · Filed Under MeshCAM Development · 4 Comments 

My "secret project" depends on machining a number of small objects at very high accuracy.  Because of this I’ve been having out-of-memory problems on my development laptop; this required digging back into some of the deeper guts of MeshCAM that have been untouched for a while.  I found three relatively simple optimizations, maybe 20-30 lines of code, that collectively lead to significant speed increases.

 

Below are the before and after results of my new speed test script that automates this type of testing.  The speed test calculates a parallel finish toolpath on the standard "cheese whiz" model 5 times and averages the results.  The 30% reduction may or may not be typical but all finishing toolpaths should benefit.

 

  Memory use should also be reduced somewhat during toolpath calculation. 

 

image image

 

UPDATE: Ok, maybe not 30%.  I found a bug that required me to give back part of that optimization.  Count on something more like 15%.

UPDATE TO THE UPDATE: Ok, maybe better than 30%.  I found another place to shave off some time and I exceeded the count above.  The new best time is about 10 seconds so the current improvement is about 36%.  Let’s hope I don’t find any new bugs that make be have to give that up.

MeshCAM 7151

November 13, 2008 · Filed Under MeshCAM Releases · 21 Comments 

I just uploaded MeshCAM 7151 to www.grzsoftware.com/files/MeshCAM-Setup.exe .  You will not find it in the check for updates feature of the last few versions because I only want people to try the latest after reading this message.  This is a transition release as I wrap up V2 and begin V3.  I made a number of SIGNIFICANT changes including a new installer and the app is now compiled in Unicode to support multiple languages.  Win98 is now unsupported, even though it was never explicitly supported, since Unicode is not available there.  I made literally thousands of changes to make this possible and I’ve been using it in my shop without errors. There are a good handful of other fixes as well.  I will be curious to hear what your feedback is.  Please tell me if this one worked or didn’t for you.

 

Why should you try this release and not just wait for the next one (other than me begging)?  I really need your help and every bit of feedback I get will make more more sure that I’m ready to call this the final V2 (after some new translation files from my foreign distributors) and move on to V3.  As of right now I have the following items underway on V3:

 

1) The ability to save an image as 3D in either an efficient or fast manner.  Efficient will do the current triangulation method that can take quite a while.  Fast will just use 2 triangles for each pixel and do it quickly and with very high accuracy.

2) Better 3D zoom.  This will zoom into the current mouse position as you spin the mouse wheel.  It should would very closely to Rhino or other CAD programs.

3) Option to calculate the machining time when inspecting the toolpath.

4) Antialiased 3d window.  No special graphics card needed.

5) Ability to save the current job including the STL files after translation/rotation, supports and check surfaces, stock, program zero, stock type, job type.  There are other things hidden in there to support future options as well.

As a reminder, all current users will get a free upgrade to V3.  V3 betas will become available after I can stamp V2 "Done."