Peter Evans

Verified Members
  • Content count

  • Joined

  • Last visited

Community Reputation

3 Neutral

About Peter Evans

  • Rank

Profile Information

  • Gender


  • Location
    Montreal, Canada

Recent Profile Visitors

180 profile views
  1. Peter Evans

    Change Log

    Maybe you can use github?
  2. Peter Evans

    Best method for closed circular pocket

    2D High speed Dynamic Mill might be a good choice
  3. Peter Evans

    model in verify is very coarse looking

    that shouldnt be a problem, so just to recap for best results your precision index should be at 10 with a precision factor of 5 turbo mode should be off if the graphic still isn't good at that point it could just be your graphics card
  4. Peter Evans

    model in verify is very coarse looking

    What is the approximate XY area of your stock setup? If it is an area to large to proccess at a high resolution you will need to use the accurate zoom function
  5. Peter Evans

    model in verify is very coarse looking

    5 is the fine setting you will need to reset your mastercam before any changes take effect
  6. Peter Evans

    model in verify is very coarse looking

    Yes the Shared mastercam folder C:\Users\Public\Documents\shared Mcam(current version) there is a file called MastercamSimulatorDefaults if you open it with a text editor you will see a value next to the words precision factor that is 1. Set it to between 1 and five depending how much precision you want, keep in mind this will affect your performance.
  7. It is working, that was exactly what I was looking for. Thank you for your help sir.
  8. Hi Roger. The version is Mastercam 2018 (I knew i was forgetting something), and thanks for the quick response i will try it out a.s.ap.
  9. Hi, I am working on a c-hook to do some edge curve creation on solids and chain them with operations so I managed so far to import an operation and add a single chains to it but I am not sure if I need to call append_chain after add_curve_to_chain, I would really apprectiate it if anyone could help me. I will include an example of the function I used to add single chains. void ChainAll(ent &entity12, CHAIN &pChain, CHAIN_ENT * &ce, chain_manager_info &cmi, int &int1, int &leveltocheck) { if (entity12.level == leveltocheck) { short sn = 0; add_curve_to_chain(&entity12, sn, false, SELECT_BIT, &pChain, &ce, -1); bool succf1; cmi.chns = &pChain; cmi.mode = CHNMGR_ADD; cmi.op_idn = int1; chain_manager(&cmi, CHNMGR_ADD, &succf1); } } //it is used inside this for loop chain_manager_info cmi; memset(&cmi, 0, sizeof(chain_manager_info)); for (; ; ) { get_ent(&ptr4, &e_ptr12, &entity12, ALIVE_BIT, P_ID | L_ID | A_ID | S_ID | SURF_ID | SOLID_ID | SPLINE_ID | N_ID | W_ID | D_ID, &bSuccf11); { if (!bSuccf11) // No more ents { break; } if (bSuccf11) { if (entity12.level == 1250) { double depth3; bool viewok3; short view3 = 0; find_view_from_ent(&entity12, &view3, &depth3, &viewok3, false); p_3d p3d3 =; p_3d pt_out3; view_to_view(p3d3, view3, 1, pt_out3); for (long j3 = 0; j3 < count2; j3++) { /*bool msgok1 = true; char message1[5000]; sprintf_s(message1, "x : %lf y : %lf z : %lf x : %lf y : %lf z : %lf", pt_out3[0], pt_out3[1], pt_out3[2], entvectxbottom[j3], entvectybottom[j3], entvectzbottom[j3]); MessageBox(NULL, msgok1 ? message1 : "Operation Failed", "CmdUnit", MB_OK);*/ if (pt_out3[0] == entvectxbottom[j3] && pt_out3[1] == entvectybottom[j3]) { bool bSuccf12; entity14 = entity12; e_ptr14 = e_ptr12; delete_ent(e_ptr14, false, false, false, false, true); store_ent(&entity14, &e_ptr14, ALIVE_BIT, MC_BLACK, 1875, main_attrib, &bSuccf12); break; } } } if (entity12.level == 1750) { double depth4; bool viewok4; short view4 = 0; find_view_from_ent(&entity12, &view4, &depth4, &viewok4, false); p_3d p3d4 =; p_3d pt_out4; view_to_view(p3d4, view4, 1, pt_out4); for (long j4 = 0; j4 < count1; j4++) { if (pt_out4[0] == entvectxtop[j4] && pt_out4[1] == entvectytop[j4]) { bool bSuccf14; entity15 = entity12; e_ptr15 = e_ptr12; delete_ent(e_ptr15, false, false, false, false, true); store_ent(&entity15, &e_ptr15, ALIVE_BIT, MC_BLACK, 1375, main_attrib, &bSuccf14); break; } } } int vl1 = 1375; int int1 = 1; ChainAll(entity12, pChain, ce, cmi, int1,vl1); int vl2 = 1375; int int2 = 2; ChainAll(entity12, pChain, ce, cmi, int2, vl1); } } }
  10. Peter Evans

    MC 2018, graphics screen goes blank

    Your file could be corrupted, you could try importing the afftected part file into a new file and importing operation geometry sometimes that does the trick. Did you get an error message?
  11. Peter Evans

    Problems with Nesting cluster

    From what I've seen I would say if mastercam cannot clearly define the boundary of your part it will consider as a "cluster". Usually the cause is an operation leading in or out too far outside the boundary of the main closed contour, or ramp or oscilation toolpaths as they turn sharp corners. The first step I usually take to resolve the problem is too create a duplicate of the part and delete the operations one by one and renest it after each deletion until I isolate the faulty operation then try adjusting that operation until it de-clusters.
  12. Peter Evans


    No, in the same menu when you right click on the operation there is an item that says renumber work offset under starting offset where u can input a value like 0 or 1 to get g54 g55 etc. usually I set the work offset increment value to zero.
  13. Peter Evans


    You can assign different work offsets to the individual operations by right clicking on the operation and selecting change offset # .
  14. My final code looked like this: public override MCamReturn Run(int param) { int currentactivelevel = 500; var chains = ChainManager.ChainAll(true, false, null, Mastercam.Database.Types.ChainDirectionType.Clockwise, currentactivelevel); if (chains == null || chains.Length == 0) { return MCamReturn.ErrorOccurred; } foreach (var chain in chains) { var selectedChain = chain; var offsetChain = selectedChain.OffsetChain2D(OffsetSideType.Left, .245, OffsetRollCornerType.None, .5, false, .005, false); var offsetGeometry = ChainManager.GetGeometryInChain(offsetChain); foreach (var entity in offsetGeometry) { entity.Commit(); } } //const string ScriptName = @"C:\Users\Public\Input\Input.vbs"; // Mastercam.Support.ExternalAppsManager.RunVBScript(ScriptName); return MCamReturn.NoErrors; } #endregion } } That will grab the entities off the level and offset the contour, thanks again.
  15. Thank you so much for helping me! That is exactly what I needed to know. I've been working on this project to automate programming for months at my work and I finally finished it, but this issue was slowing my program quite a bit. Now i'll be able to program a part in seconds!!

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