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:

David Colin

Verified Members
  • Posts

    791
  • Joined

  • Last visited

  • Days Won

    10

Everything posted by David Colin

  1. I don’t have Mastercam at the moment so i m just guessing. Did you check your part holes are exactly the same as the ones in your strategy template? Process hole toolpath will only show strategy toolpaths from your template compliant with your hole features. It needs same diameters values, same segments number/type, same angles...
  2. A powerful way to precisely locate machining areas for finishing is to use 'fake' stock models. That video is great to understand general concepts with a pencil example at about 10minutes.
  3. Yes, probably in a few days. It's already been released in beta channel a few days ago.
  4. I generated a setup sheet with ALL XML tags available and opened xml file with a text editor. You can generate all XML tags pressing and holding SHIFT-CONTROL-ALTERNATE keys then clicking ok on Setup sheet GUI.
  5. Yes it's available in //SETUPSHEET/NCFILE/TOOLS/TOOL/TOOL-L/INSERT/CUT-DEFINITION-NAME
  6. There is a Mastercam built-in tool. 'Change Recognition' command in file tab.
  7. I only could test it for a few days and on a titanium part. That worked pretty good with conventional roughing toolpaths and semi finishing toolpaths with ball cutters when tool engagement can go from buried tool to light chip. I couldn't compare tool life enhancements but we could gain more than 20% in time. However i noticed it worked not that good with high feed end mills (like 7792 Kennametal). it probably didn't take into account low tool cutting edge angle and chip thinning on subsequent passes. No issue with facing toolpath but in a pocket, as soon as tool edge upper radius of the tool is buried in material along a wall, Vericut Force slowed it all detecting a difficult machining. Another issue I got was with finishing toolpaths, sometimes it could increase dramatically feed detecting low cutting force but downgrading roughness. It's funny, I'm going to French VUE tomorrow, perhaps there are software improvements coming!
  8. @kunfuzed Arrow key can only save assemblies to library but you need to activate 'Assemblies' in your library tab before using it. This process was new beginning with 2023 if I remember correctly.
  9. About hole selection, if you have issues to select autocursor locations you can use 'hole axis’ command in model prep tab which allow you draw center points or lines. There is also another process using 'find hole' to create hole solid feature.
  10. @Metals and materialsYou can use toolpath tranform (by plane) or set any Tplane in your operation toolpath
  11. @Metals and materials Here are 2023 files Indexer example_2023.MCAM-CONTENT
  12. @jpatry Your machine has an indexer but to program it in Mastercam you need to add a 'virtual' rotary axis to your machine definition. Then make your post spit M21 code and whatever you need. You even can make your post create another file with all values you will need to input in your indexer NC. Here is an example with machine/post included (just for example purpose, don't use that for production) Indexer example.MCAM-CONTENT
  13. Never tried it so I just guess here but you can try to edit nethasp.ini file and add ip address of your second server. If I remember you may add several ip addresses separating them with a semi colon.
  14. You could use toolpath editor to modify every hole. If you have a bunch of holes it will be a lot of work though. It probably can be made with a post modification too but it will need post coding knowledge to identify toolpath type and first arc motion. Looking at your toolpath, you probably use a single point (or profile with 2 or 3) thread mill so I would suggest to conventional mill your holes from top. That way tool will enter the cut progressively and it won t really need to decrease feed.
  15. @DBronson I build my lathe tools assemblies in Mastercam and I save them in a master library with an id number. I build a similar Vericut master library with same ids. To build Vericut library, I manually export model assemblies from Mastercam tool manager in .stp (with correct wcs) and I create them from scratch in Vericut. Need to define a standard process then it’s ok (import from cad, define inserts and cutting face, holders, tolerances, keep reference file, adjust offsets x/z with a standard project). For milling tools I always create tools using McamV nethook with each Mastercam project but I pull lathe tools from my Vericut library.
  16. @Mark one Post documentation is available to download on official mastercam here https://my.mastercam.com/communities/3rd-party-developers/post-processor-resources/
  17. With dynamic you should be able to mimic transform to plane command even if your part is in any orientation. Check you are in 3D mode though. You just need to pick your solid face to locate xy plane, orient your gnomon as you want it on your part then transform your part automatically to any plane you want using view manager/dynamic buttons in panel. Dynamic can basically do it all if correctly used.
  18. I remember it's been reported broken in 2023 (here or on official forum but i can't find post and i don't remember if there is a work around). I didn't try if it's been fixed in 2024. I advise you to use Dynamic transform instead.
  19. I’ve got some VTL machines with indexer on X axis. Post is customized to spit M code instead of A value. Value is post in a comment. It's all about machine definition and post. It should be easy to tweak it, share files if you need help.
  20. You can directly modify your original plane in view manager (but it wil update all your toolpaths using that plane) or you can create a new tilted plane and affect it to your facing operation. You can change operation toolplane with field ToolPlane from Operation class. Here is an example reusing example i wrote above. Script will reverse toolplane of selected operations. It will create a new plane rotated 180° on X-axis from original plane and will affect it to Construction/Tool plane operations. public void Run() { // settings bool used = true ; // True will only modify selected toopath // Get all operations from toolpath manager Operation[] toolpaths = SearchManager.GetOperations(used); // Iterate operations foreach (Operation op in toolpaths) { try { //Angles transformation Double angleX = VectorManager.DegreesToRadians(180); //Convert.ToDouble(angles[0])); Double angleY = VectorManager.DegreesToRadians(0); //Convert.ToDouble(angles[1])); Double angleZ = VectorManager.DegreesToRadians(0); //Convert.ToDouble(angles[2])); // Get original toolplane view MCView Tplane = op.ToolPlane; //Get original toolplane data Matrix3D matrixTplane = Tplane.ViewMatrix; // Get Matrix Point3D originTplane = Tplane.ViewOrigin; // Get Origin //Create a new plane with same matrix and origin offset MCView newPlane = new MCView(); newPlane.ViewMatrix = matrixTplane; newPlane.ViewOrigin = originTplane; //Transform matrix about X Matrix3D rotatedMatrix = newPlane.ViewMatrix; rotatedMatrix.Row1 = VectorManager.Rotate(rotatedMatrix.Row1, rotatedMatrix.Row1, angleX); rotatedMatrix.Row2 = VectorManager.Rotate(rotatedMatrix.Row2, rotatedMatrix.Row1, angleX); rotatedMatrix.Row3 = VectorManager.Rotate(rotatedMatrix.Row3, rotatedMatrix.Row1, angleX); //Transform matrix about Y rotatedMatrix.Row1 = VectorManager.Rotate(rotatedMatrix.Row1, rotatedMatrix.Row2, angleY); rotatedMatrix.Row2 = VectorManager.Rotate(rotatedMatrix.Row2, rotatedMatrix.Row2, angleY); rotatedMatrix.Row3 = VectorManager.Rotate(rotatedMatrix.Row3, rotatedMatrix.Row2, angleY); //Transform matrix about Z rotatedMatrix.Row1 = VectorManager.Rotate(rotatedMatrix.Row1, rotatedMatrix.Row3, angleZ); rotatedMatrix.Row2 = VectorManager.Rotate(rotatedMatrix.Row2, rotatedMatrix.Row3, angleZ); rotatedMatrix.Row3 = VectorManager.Rotate(rotatedMatrix.Row3, rotatedMatrix.Row3, angleZ); // Affect transformed matrix to view newPlane.ViewMatrix = rotatedMatrix; //Add plane to Mastercam database newPlane.Commit(); // Set C/T Plane to operation op.ConstructionPlane = newPlane; op.ToolPlane = newPlane; op.Commit(true); op.Regenerate(); } catch { } } ViewManager.RefreshPlanesManager(); } ReverseToolpathToolplane.csx
  21. Can't reproduce this here (with 2023), neither with thread mill or project (legacy or unified). May you post a part file example showing issue?
  22. Are you sure something else doesn't slowing you down? I've got a pretty old (7 years i guess) and slow computer (Xeon E5-1650v3 CPU) and successive running of Code Expert takes about 3s to open (8s for first launch). I use CimcoEdit (Pro 2023) which is a little faster though.
  23. I will check but I guess API is limited regarding this. Probably Mastercam is 'thinking' (on certain circumstances...) a major change happened and make toolpath dirty...
  24. Just in case here is an example with any transform rotation + prompt to enter data. public void Run() { //Ask for origin offsets String offsetStr = ""; DialogManager.AskForString("Enter origin offsets values from selected WCS (x,y,z)", ref offsetStr); string[] offsetCoord = offsetStr.Split(','); Point3D offset = ViewManager.ConvertToWorldCoordinates(new Point3D(Convert.ToDouble(offsetCoord[0]),Convert.ToDouble(offsetCoord[1]),Convert.ToDouble(offsetCoord[2]))); //Ask for angles transformation String anglesStr = ""; DialogManager.AskForString("Enter angle values (u,v,w) (degrees)", ref anglesStr); string[] angles = anglesStr.Split(','); Double angleX = VectorManager.DegreesToRadians(Convert.ToDouble(angles[0])); Double angleY = VectorManager.DegreesToRadians(Convert.ToDouble(angles[1])); Double angleZ = VectorManager.DegreesToRadians(Convert.ToDouble(angles[2])); //Get original plane data from WCS selected MCView wcs = ViewManager.WorkCoordinateSystem; // Get WCS view Matrix3D matrixwcs = wcs.ViewMatrix; // Get WCS Matrix Point3D originwcs = wcs.ViewOrigin; // Get WCS Origin //Create a new plane with same matrix and origin offset MCView newPlane = new MCView(); newPlane.ViewMatrix = wcs.ViewMatrix; newPlane.ViewOrigin = VectorManager.Add(originwcs, offset); //Transform matrix about X Matrix3D rotatedMatrix = newPlane.ViewMatrix; rotatedMatrix.Row1 = VectorManager.Rotate(rotatedMatrix.Row1, rotatedMatrix.Row1, angleX); rotatedMatrix.Row2 = VectorManager.Rotate(rotatedMatrix.Row2, rotatedMatrix.Row1, angleX); rotatedMatrix.Row3 = VectorManager.Rotate(rotatedMatrix.Row3, rotatedMatrix.Row1, angleX); //Transform matrix about Y rotatedMatrix.Row1 = VectorManager.Rotate(rotatedMatrix.Row1, rotatedMatrix.Row2, angleY); rotatedMatrix.Row2 = VectorManager.Rotate(rotatedMatrix.Row2, rotatedMatrix.Row2, angleY); rotatedMatrix.Row3 = VectorManager.Rotate(rotatedMatrix.Row3, rotatedMatrix.Row2, angleY); //Transform matrix about Z rotatedMatrix.Row1 = VectorManager.Rotate(rotatedMatrix.Row1, rotatedMatrix.Row3, angleZ); rotatedMatrix.Row2 = VectorManager.Rotate(rotatedMatrix.Row2, rotatedMatrix.Row3, angleZ); rotatedMatrix.Row3 = VectorManager.Rotate(rotatedMatrix.Row3, rotatedMatrix.Row3, angleZ); // Affect transformed matrix to view newPlane.ViewMatrix = rotatedMatrix; //Add plane to Mastercam database newPlane.Commit(); // Set C/T Plane ViewManager.CPlane=newPlane; ViewManager.TPlane=newPlane; ViewManager.RefreshPlanesManager(); } CreatePlaneRotate.csx
  25. @Doug Rice I'm not sure what you meant with 'r_v -152 ' ? A plane parallel to an existing plane is the same plane (same matrix) with just a new origin. Here is a sample code //Settings Point3D offset = new Point3D(10, 5, 3); // Origin offset value //Get original plane data from WCS selected MCView wcs = ViewManager.WorkCoordinateSystem; // Get WCS view Matrix3D matrixwcs = wcs.ViewMatrix; // Get WCS Matrix Point3D originwcs = wcs.ViewOrigin; // Get WCS Origin //Create a new plane with same matrix and origin offset MCView newPlane = new MCView(); newPlane.ViewMatrix=wcs.ViewMatrix; newPlane.ViewOrigin = VectorManager.Add(originwcs,offset); newPlane.Commit(); // Set C/T Plane ViewManager.CPlane=newPlane; ViewManager.TPlane=newPlane; ViewManager.RefreshPlanesManager(); CreatePlaneOffset.csx

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...