Jump to content

Welcome to eMastercam

Register now to participate in the forums, access the download area, buy Mastercam training materials, post processors and more. This message will be removed once you have signed in.

Use your display name or email address to sign in:

Set Stock Model "Initial Shape Tolerance" to Zero!


Colin Gilchrist
 Share

Recommended Posts

Hey Everyone,

I always enjoy passing along new information, when I figure out something new.

In this latest case; take the setting for "Initial stock shape tol." setting, in the Stock Model.

After doing some experimentation, I've discovered; this is always an offset tolerance, on the "original shape".

Why is that particular detail important?

Personally, I've been fairly annoyed with the generation times for Stock Models. They always take way longer to crunch, than it feels like they should.

Eureka!

I've figured out that whenever you use the 'Initial stock shape tolerance' setting; the algorithm always has to "crunch a bunch of data", because you are telling it to "make an offset of the stock", when you use that tolerance.

The place this will really effect you, is if you generate a Stock Model from an internal or external STL File (or Mesh Entity).

By setting that value to "0.0", you are telling the software to "use the shape as-is". This results in Stock Models that generate almost instantly, when you are simply "pulling in a set of existing triangles". I've noticed that when you enter "0.0", the Stock Model will generate, but when you go back into the dialog box, it will show 0.001 for the tolerance value.

This is a huge time saver, as you can adjust the "export tolerance" [Simulator > File Tab > Options > General > Tolerances > Save STL Tolerance]

By adjusting the Tolerance, you can control the "size of the triangles" being generated by the Stock Model "Save as STL" command.

-------

There is also an option to "clean" or "re-mesh" the STL models. We do this with the "File > Merge" command, using the "STL File Type", and the "Options" button. (Set the options to import a "Mesh", and select the "Stitch triangles" command. Enter a tolerance (bigger than your original export tolerance), and choose the option at the bottom for "Save as new STL file". When you perform the "merge", you'll be prompted with a "Save as" dialog. Enter the new (reduced) STL File Name.

Once you've done the "Stitch", you'll need to delete the "merged STL mesh", and perform a new "merge" on the new STL (that was stitched).

Doing this can give you a very "clean" STL Model, which in-turn, can be used to generate Stock Models "lightning quick".

 

  • Thanks 4
  • Like 2
Link to comment
Share on other sites

Hmm, I must not understand because when I went to test what you described I cant put 0.0 into the initial stock shape tolerance field. it throws up a warning basically telling me the number is outside of the valid range of numbers that can be used which says ".00005 to +1.0E 38" 

Which would make sense to me because i thought that field was a tolerance and 0 is not a valid tolerance 

Link to comment
Share on other sites

Hi Colin,

I'm also not able to enter a zero in that field.  Which version are you using?

That field is a tolerance and is used in that role in some cases (tessellating a cylinder or surface or solid).  It is also an offset and is used in that role in some other cases (STL file or mesh).

If you have selected just one solid as the initial shape - then the field is used as the accuracy with which the triangles are built from the solid.  In that case, we are confident that the collection of triangles is well-defined (watertight) and no further offset is needed.

If you select an STL file or a (polygonal) mesh or a surface or surfaces, well, we are no longer confident that the collection of triangles is well-defined (watertight).  So a small additional offset is made.  The offset amount is this initial shape tolerance.  That does add a bit more processing time and more triangles.  But this can avoid or reduce the occurrence of a "hollow" stock model.

Link to comment
Share on other sites
13 hours ago, billb said:

Hi Colin,

I'm also not able to enter a zero in that field.  Which version are you using?

That field is a tolerance and is used in that role in some cases (tessellating a cylinder or surface or solid).  It is also an offset and is used in that role in some other cases (STL file or mesh).

If you have selected just one solid as the initial shape - then the field is used as the accuracy with which the triangles are built from the solid.  In that case, we are confident that the collection of triangles is well-defined (watertight) and no further offset is needed.

If you select an STL file or a (polygonal) mesh or a surface or surfaces, well, we are no longer confident that the collection of triangles is well-defined (watertight).  So a small additional offset is made.  The offset amount is this initial shape tolerance.  That does add a bit more processing time and more triangles.  But this can avoid or reduce the occurrence of a "hollow" stock model.

Good morning Bill,

I'm using Mastercam 2020.

I believe you have to set the Stock Model Dialog options to "File", before the dialog will allow an input of "0.0".

Technically, it does reset to "0.001" in the dialog, if you "exit and re-enter" the Stock Model Operation Dialog.

However, the behavior is completely different, if you enter "0.0" versus "0.001".

If I physically type in "0.001", and "green check" out of the operation, the operation is marked dirty. Regeneration results in a couple seconds of "processing" which is reported in the screen prompt area in the lower left corner. (It says "scanning, offsetting, scanning, etc., and displays a bunch of changing numeric values.)

If I physically type in "0.0", (which the dialog allows me to do), the regeneration is almost instant. Mastercam simply "loads the triangles" as a mesh entity, and I'm instantly going back to the next toolpath.

I get what you are trying to avoid with the hollow stock, caused by the model not being water-tight. I've experienced that several times, and had to adjust tolerances, and/or used the 'initial stock shape tolerance' to work with the models.

A technique I like to use (that works for me), is to export the STL models from Verify, and then use the "Merge" function, to allow access to the "Stitch triangles" command. This appears to "re-mesh" the triangles on the model, without also applying an "offset". (There is a separate "offset" option in the STL Merge Options.)

I will often set my export tolerances to a very tight value, export the model, then "merge-stitch" the mesh with a couple different tolerance values. This allows me to assess the quality and accuracy of the model, against my part.

I am working on a part with sub-micron tolerances on 3D machined surfaces. (non-prismatic/non-planar)

Do you happen to know what options/settings/techniques I can tweak to the most accuracy out of Mastercam? We are in the process of switching over to Mastercam 2021, to take advantage of the increased vector precision.

Sorry to pack so many disparate questions into one post, but I figured "since I've got your attention", I would really appreciate your help.

For example, on a Surface Finish Flowline toolpath, I've got my tolerances set as follows:

  • Total tolerance = 0.00002
  • Cut tolerance = 10% (0.000002 - 2 millionths)
  • Line/Arc tolerance = 90% (0.000018)

I included a picture to let you see all the filtering settings. What I would love to generate is "highly accurate arcs". I took extra care in constructing a surface with the highest accuracy I could attain in Mastercam. I made sure all the wireframe geometry was accurate to the millionth of an inch. My 'maximum surface deviation' is set to 0.000002.

I need the ability to build surfaces that are accurate to about 0.01 Microns (0.01 ㎛), which is the resolution on my machine's scales. This would be a surface accuracy of about  0.0000004". (approximately 1/3 of 1 millionth, of an inch.)

I am finding that when I perform operations like "Create Curve Slice", or "Transform > Project", that the "input precision" is limited to 6 decimal places in Mastercam. I need the ability to go out to 8 decimal places in Inch Mode, and 5 decimal places in Metric Mode. I believe I would have more luck if I was able to program this part in Metric Mode, but it is modeled in Inches, so we must program it in Inches.

Again, sorry to pack so much different stuff into a single post. Please PM me if you would rather take the conversation "offline".

Thanks so much for your assistance.

Best regards,

Colin

 

STL_STOCK_MODEL_TEST_INIT-STK-SHAPE-TOL_AT_ZERO.PNG

Flowline Filtering Tolerances.PNG

Link to comment
Share on other sites
Quote

I am working on a part with sub-micron tolerances on 3D machined surfaces. (non-prismatic/non-planar)

Do you happen to know what options/settings/techniques I can tweak to the most accuracy out of Mastercam? We are in the process of switching over to Mastercam 2021, to take advantage of the increased vector precision.

Sorry to pack so many disparate questions into one post, but I figured "since I've got your attention", I would really appreciate your help.

For example, on a Surface Finish Flowline toolpath, I've got my tolerances set as follows:

  • Total tolerance = 0.00002
  • Cut tolerance = 10% (0.000002 - 2 millionths)
  • Line/Arc tolerance = 90% (0.000018)

I included a picture to let you see all the filtering settings. What I would love to generate is "highly accurate arcs". I took extra care in constructing a surface with the highest accuracy I could attain in Mastercam. I made sure all the wireframe geometry was accurate to the millionth of an inch. My 'maximum surface deviation' is set to 0.000002.

I need the ability to build surfaces that are accurate to about 0.01 Microns (0.01 ㎛), which is the resolution on my machine's scales. This would be a surface accuracy of about  0.0000004". (approximately 1/3 of 1 millionth, of an inch.)

I am finding that when I perform operations like "Create Curve Slice", or "Transform > Project", that the "input precision" is limited to 6 decimal places in Mastercam. I need the ability to go out to 8 decimal places in Inch Mode, and 5 decimal places in Metric Mode. I believe I would have more luck if I was able to program this part in Metric Mode, but it is modeled in Inches, so we must program it in Inches.

Again, sorry to pack so much different stuff into a single post. Please PM me if you would rather take the conversation "offline".

Thanks so much for your assistance.

Best regards,

Colin

Colin when I did this for a customer years ago we scaled all the models by 1000 and then had the post covert all the posted code by 1000 down for the machine. We did the same thing in Vericut as it couldn't give us the resolution needed down to hat accuracy and we did everything 1000 time bigger. We had the 1000 times bigger code for Vericut and the 1000 times smaller code for the machines. They are where I learned what a Picometer is. 1/100 of a nanometer. You have my email and phone number glad to help if I can. 

  • Like 2
Link to comment
Share on other sites
1 minute ago, crazy^millman said:

Colin when I did this for a customer years ago we scaled all the models by 1000 and then had the post covert all the posted code by 1000 down for the machine. We did the same thing in Vericut as it couldn't give us the resolution needed down to hat accuracy and we did everything 1000 time bigger. We had the 1000 times bigger code for Vericut and the 1000 times smaller code for the machines. They are where I learned what a Picometer is. 1/100 of a nanometer. You have my email and phone number glad to help if I can. 

Thanks for the tip Ron!

I think I've got some code that will work for what we are doing, but I guess the proof is in the finished part.

Picometers? Isn't that close to the atomic scale? Orders of Magnitude are fun...

  • Like 1
Link to comment
Share on other sites
Just now, Colin Gilchrist said:

Thanks for the tip Ron!

I think I've got some code that will work for what we are doing, but I guess the proof is in the finished part.

Picometers? Isn't that close to the atomic scale? Orders of Magnitude are fun...

Well their true position tolerance was 1 micron. They had a Ceramic CMM that was in a Double insulated Clean room. Down to 3 micron filtration that was sitting on isolation pad sitting on 6' of rubber to isolated it from the surrounding ground influences. I had seen that before years ago where they made Contact lens. The Highway 2 miles away was enough to influence the grinding of the lens so they had to isolated all the equipment on isolation pads. Some of the them were dug down 50'. You start getting this tight and your breathe is enough to ruin a final cut or grind. 

Zeiss Xenos

  • Like 3
Link to comment
Share on other sites
1 hour ago, crazy^millman said:

Colin when I did this for a customer years ago we scaled all the models by 1000 and then had the post covert all the posted code by 1000 down for the machine. We did the same thing in Vericut as it couldn't give us the resolution needed down to hat accuracy and we did everything 1000 time bigger. We had the 1000 times bigger code for Vericut and the 1000 times smaller code for the machines. They are where I learned what a Picometer is. 1/100 of a nanometer. You have my email and phone number glad to help if I can. 

I had to do this back in Mastercam Version 4  (not X4)  One of the problems that I was running into on some very small tight toleranced parts was errors that I finally attributed to "divide by zero"

We weren't going pico, but the customer wanted to hold 6 decimal places.

  • Like 1
Link to comment
Share on other sites

Back to the "Initial stock shape tol." - Try as I might, I cannot get a zero into that field - MC2020 original, Update 1, Update 1.1, or Update 2.  That dialog control has a minimum value of the system tolerance.  You must have found a sequence of key strokes / clicks that avoids the "kill focus" validation step.  Interesting...

You are right - if you get a zero into that field then it does not do the small offset.

In MC2020 and earlier releases, the small offset / additional offset is applied in the main Mastercam thread so you have to wait for this offset to complete before the background processing begins.  In MC2021 and later releases, the small / additional offset is applied in the background thread.  So you won't have to wait for the offset to complete - you'll get control back sooner.  But the offset will still be applied.

 

Link to comment
Share on other sites
1 hour ago, billb said:

Back to the "Initial stock shape tol." - Try as I might, I cannot get a zero into that field - MC2020 original, Update 1, Update 1.1, or Update 2.  That dialog control has a minimum value of the system tolerance.  You must have found a sequence of key strokes / clicks that avoids the "kill focus" validation step.  Interesting...

You are right - if you get a zero into that field then it does not do the small offset.

In MC2020 and earlier releases, the small offset / additional offset is applied in the main Mastercam thread so you have to wait for this offset to complete before the background processing begins.  In MC2021 and later releases, the small / additional offset is applied in the background thread.  So you won't have to wait for the offset to complete - you'll get control back sooner.  But the offset will still be applied.

 

Thanks for the insight Bill.

I'm not sure what is different between our setups, and our data entry methods, but I'd be happy to send in a Z2G file if you feel it might help you to replicate what I'm seeing.

You mentioned "I cannot get a zero into that field", but I'm guessing you have a method of bypassing the validation step, since you found a way to "not do the small offset, when a zero value is entered". I'm certainly not complaining, because as I mentioned in my original post, this is a time saver for me. I am very glad to hear that the offset processing has been decoupled from the main Mastercam thread. This should provide a significant speed boost, when dealing with large STL models.

I'm working on getting 2021 installed, so I'll be able to test this in the latest released version soon. I'll be curious to see if I can enter a zero value, or if that kill focus validation step will force me to enter the system tolerance.

Can you tell me what the "default system tolerance" should be? Several times now, I've tried to set the System Tolerance to "0.00000001" (1/100 millionth or 8 decimal places), and the Configuration Dialog will accept my entry. I can save the defaults, but when I open the System Configuration dialog box again, the System Tolerance option is unchecked, the value is grayed out, and it is set to 1/10th of a millionth. (0.0000001 or 7 decimal places) Is 7 decimal places the current precision tolerance limit of Mastercam's geometry database?

Guess this is probably one of those instances where I would have to scale the model, setup, and tools, by a factor of 1000, then do the math inside the Post to scale everything to the proper output values.

Unfortunately, I'm working to a deadline, and don't have time to setup another verification system, other than CAMplete (which is what I've got for this project).

Link to comment
Share on other sites

Yea i am following this topic too because as much as i try i can not get 0.0 into that field like bill mentioned. I am not sure what kind of magic you are working to do that or if its something that an update prevented that maybe i have installed or something but its a nogo for me with entering 0 into that field. 

Link to comment
Share on other sites

I suspect that you will not be able to enter zero in MC2021.  If that is the case, I won't chase your odd MC2020 behavior (unless you want me to).  If you can enter zero in MC2021 - well, then we should investigate that.

I meant to type "in debug"  -  when I use the debugger I can fill in a zero and watch what happens (sorry for not explaining that better).

I'll dig into the minimum system tolerance and get back to you; today was the first time that I ever looked at setting it as small as possible).  Intriguing...

We can chase this all when you have time.

Edited by billb
Link to comment
Share on other sites
44 minutes ago, billb said:

I suspect that you will not be able to enter zero in MC2021.  If that is the case, I won't chase your odd MC2020 behavior (unless you want me to).  If you can enter zero in MC2021 - well, then we should investigate that.

I meant to type "in debug"  -  when I use the debugger I can fill in a zero and watch what happens (sorry for not explaining that better).

I'll dig into the minimum system tolerance and get back to you; today was the first time that I ever looked at setting it as small as possible).  Intriguing...

We can chase this all when you have time.

Thanks again Bill.

I will not chase the data entry value until I have installed 2021. Might as well test it in the current software version, especially since you can't reproduce the behavior. I'd rather not waste your time chasing a "ghost", if I can't reproduce the behavior in 2021.

I'm currently fighting issues with not being able to use "undercutting" tools with Surface Finish Contour in Mastercam 2021. I have the "detect undercuts" enabled, and all of the 'gouge checking' options disabled, but I cannot get a Finishing path to work, besides Flowline.

And even with Flowline, I'm encountering a serious problem. The issue is this:

  • When the end of a "toolpath slice" is reached (gap), the 'gap motion' is performed in the same way. For all slices; the tool first moves in XY, and then "down in Z". This works great for the "non-undercutting" portion. (basically, from the "top of the surface", until it reaches the "equator" of the surface.) As soon as we move "down past the tangent point of the equator of the surface", the "XY > Then Z" Gap Motion, should be reversed. We should be repositioning in XY, then moving down in Z.
  • Why? Because on the "undercutting" portion, the tool then gouges in XY, before moving down in Z to the start of the next slice (pass) across the surface.
  • I can use the Toolpath Editor to fix this if I have to, but I probably have 12-14 different "undercutting" finish passes that I'd have to edit. And of course, I'd rather not break the associativity between the surface and the toolpath. I'd much rather have the ability to tweak my paths, and have the gap motion fixed.
  • For the "undercut" areas, the motion should be "Z > Then XY" (basically, reverse the order of the steps, when generating undercut motion.
  • I was going to use Surface Finish Contour, since I can use the Arc/Line options to give me entry/exit motion at the Gap, but I cannot get SFC to generate "undercutting motion" at all in Mastercam 2020.

Flowline Undercut Gap Zoomed Out.PNG

Flowline Undercut Gap Zoomed In on Undercut Area.PNG

Link to comment
Share on other sites

Oh boy... finish/contour/undercut works in MC2020 (i just cut an ice cream cone with a slot mill)- maybe we should figure out why it isn't working in your particular case?  You are right - finish/contour with its entry/exit arc/line is the way to control the transition between cuts.  (We may also be able to use rough/pocket, disable rough cuts and use a plunge/retract point - the path moves from/to this point before each cutter pass.)

You are also right - the "broken" transitions may not work in undercut areas.  Would the "direct" option work better?  Or, you could set your gap size to zero and use the "Direction" control (on the 2nd tab page).  Set your plunge and retract angles to zero and set a nonzero plunge and retract length (one might be +1.0 and the other might be -1.0).  That will add a linear move into and away from the undercut.

Link to comment
Share on other sites
19 minutes ago, billb said:

Oh boy... finish/contour/undercut works in MC2020 (i just cut an ice cream cone with a slot mill)- maybe we should figure out why it isn't working in your particular case?  You are right - finish/contour with its entry/exit arc/line is the way to control the transition between cuts.  (We may also be able to use rough/pocket, disable rough cuts and use a plunge/retract point - the path moves from/to this point before each cutter pass.) 

You are also right - the "broken" transitions may not work in undercut areas.  Would the "direct" option work better?  Or, you could set your gap size to zero and use the "Direction" control (on the 2nd tab page).  Set your plunge and retract angles to zero and set a nonzero plunge and retract length (one might be +1.0 and the other might be -1.0).  That will add a linear move into and away from the undercut. 

I did not realize that setting a Gap Size of 0.0 would invoke the "Direction" Function on all passes! I'm going to test that and see if it will give me what I need. I am used to "Direction" only applying to the 1st entry/last exit of the path.

I am not using a "full radius" slot mill. Perhaps that has some effect on the "undercut" option not working in SFC? (My Slot Mill is .076 "tall", with two 0.030 Corner Rads, so perhaps that is causing issues with SFC not wanting to actually undercut the surface?

Thanks again for all your help Bill. I very much appreciate it.

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.

Join us!

eMastercam - your online source for all things Mastercam.

Together, we are the strongest Mastercam community on the web with over 56,000 members, and our online store offers a wide selection of training materials for all applications and skill levels.

Follow us

×
×
  • Create New...