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:

Colin Gilchrist

Verified Members
  • Posts

    7,779
  • Joined

  • Last visited

  • Days Won

    163

Everything posted by Colin Gilchrist

  1. You should be able to talk with In-House or Postability directly, and the Reseller should work with them to sell you a working Post. I know your Post is a Wire Post. In-House Solutions has built hundreds of thousands of Post Processors for Mastercam. I'm sure they can get one working for your specific machine. @Webby, can you please ask Alex Dales, if he can chime in on this? He is looking to source a Post for a Agiecharmilles CUT P550 Pro.
  2. In-House Solutions: [email protected] Postability: [email protected] Both of these companies are authorized 3rd Party Post Developers, and will sell you a Post for your machine, through your Mastercam Reseller. There are Posts available, you just have to go to the right source (and pay for them), to get a working solution.
  3. James, what do you think about just going with G68.2 on a Horizontal, versus the G54.4, since the machine doesn't have two rotaries to compensate? Would you just go G54.4, and call it a day?
  4. You may be going about this the hard way. The predefined variable 'posttype$', is set to '1' for mill/router operations, and '2' for Lathe Operations. (Easy way to determine if operation is mill or lathe.) The predefined variable 'spindle_no$' is set to '0' for Main Spindle, and set to '1' for the Sub Spindle.
  5. The Solids Chaining, and some of the new Wireframe Chaining options, have improved quite a bit in recent years. I love having the new chaining arrow where you can toggle through the chaining branches that Mastercam can find. Keeps you from having to jump between the chaining dialog box, and the model. If I think a part is likely to have revisions, or there is likely to be more than 50 operations, I'll build wireframe "as needed" (typically using create curve) from the model. If my part is not likely to change, and be less than 50 operations, I'll drive the 2D Operations using Solid Chaining. One thing that I would love to see added would be an "Air Stock" control, or to have the 2D Operations be "stock aware", so if I select an "air chain" from the Solid, Mastercam could detect that there was stock on the part that existed outside that "air chain" boundary. I also do the same thing as Aaron, where I create Solids that are copies of the model, which I manipulate by using the "Remove Feature" function. This allows me to use "in-process" manufacturing models, where I don't have dozens of Operations tied to a single model. The blessing and curse of Solids is "should you need to modify/change anything on the solid", it will dirty all Toolpath Operations tied to the solid. I like to be able to choose "what paths did this change affect", and "do I need to redo/regenerate everything, or can I leave the Roughing Operations as-is".
  6. The 'rpar' function, grabs an 'Array' of 'space delimited' numeric variables from the line, starting from the 1st variable, and stopping where you tell it to stop (with the optional 2nd parameter) So, you are telling the function, "get the first two variable values", starting from the 'first variable' in the list, which happens to be '0.'. Because you used the value '2', you are telling the function to grab only the first two variables, from an "array" of variables. If all you want is a single value, use 'rparsngl'. Plus, you need to use the 'sparameter$' String, as the "input" string, and use 'sm_offset' as the String to capture the result: if prmcode$ = 20200, sm_offset = rparsngl(sparameter$, 2) #<- This will only capture the 2nd parameter, from the string. All of the '20,xxx' series Tool Parameters, would be constantly written to the same string variable name, during processing 'sparameter$'. You need to add this line of code to 'pparameter$' Post Block, for capture during normal processing. If you also want that data "During the Tool Table (prwtt$) processing", you also need to add that line of code to 'pwrttparams$'. Here is what it should look like (you may have other 'parameter read logic' in the Post Block, so just append your code "to the end of the block". pwrttparam$ #Pre-read parameter data #"pwrttparam", ~prmcode$, ~sparameter$, e$ if prmcode$ = 15346, comp_type = rpar(sparameter$, 1) #Cutter compensation type - 0=computer, 1=control, 2=wear, 3=reverse wear, 4=off if prmcode$ = 10010, xy_stock = rpar(sparameter$, 1) #Capture stock to leave (XY) if prmcode$ = 10068, z_stock = rpar(sparameter$, 1) #Capture stock to leave (Z) if prmcode$ = 20200, sm_offset = rparsngl(sparameter$, 2) #Capture the 2nd parameter from this string (for Tool Table) pparameter$ #Read operation parameters #rd_params is used to call pparameter postblock and read the parameters of the operation specified in rd_param_op_no #"pparameter", ~prmcode$, ~sparameter$, e$ if prmcode$ = 12025, rotary_axis2 = rpar(sparameter$, 1) #Capture the axis of rotation in Multiaxis Drill and Curve 5 Axis # Check To See if tool is metric if prmcode$ = 20007, toolismetric = rparsngl(sparameter$, 11) if prmcode$ = 20200, sm_offset = rparsngl(sparameter$, 2) #Capture the 2nd parameter from this string (during output)
  7. For using the Dynamic Paths, here are some typical good starting values. As Aaron mentioned, try to utilize a much flute as possible, but I try and stay between 2:1 and 3:1, Depth-to-Diameter ratio. As you get above 3:1, you'll need to reduce your Stepover accordingly. For Aluminum, I typically use between 20-40% Radial Engagement (Stepover), depending on cutter length. For 2:1, or under, go with 40% to keep the material removal rates up. I think 30% is a good "default" stepover value for aluminum. That said, I've successfully done an outside shape with 4:1 ratio (2" deep with a .500 diameter tool), but dropped my stepover to 15%. Typical Stepovers, based on material, at 2:1 Ratio: Aluminum 15-40%, default of 30% Steel 10-20%, default of 15% Stainless Steel 5-15%, default of 8% HSRA (Inconel, Waspalloy, etc.) 2-5%, default of 2.5% Titanium 2-6%, default of 4% I try and keep my "minimum corner radius" value at double my stepover value, or more. If you're trying to get the tool into tight areas, like a slot between features, you can drop this value down as low as 3% (minimum input value I think is 2.5%). For "Pockets", you do not need any Avoidance Geometry. You only need Machining Geometry, set to "Stay Inside". (You can use "Avoidance" for internal bosses however.) As G-Code mentioned: you do need Machining Geometry for Stock, and Avoidance Geometry for the part contour, when roughing an external shape from outside.
  8. For what it's worth, I was able to get decent results with regular "Pocket", but only if I turned off "spiral inside to outside". The algorithm doesn't like nested chains, with 'spiral inside to outside' enabled. One of the great things about 2D Dynamic paths > they support "different types of chains". So you can have "cut geometry", "avoidance geometry", and "air geometry". In addition, there is a set of radio buttons that allows you to change strategy from "Stay inside" to "From outside". With "From outside" selected, the path will naturally attempt to simply plunge outside the cut area, without using an "entry method" of ramp or helix. By using the Air Chains, you can tell the system if there are "pockets" inside the geometry that have already been roughed out, or if there are exterior edges of the shape being machined, that are in "open air". Pocket Start Point Fail.mcam
  9. Congratulations, I started with 6.1.3. I used identical speeds/feeds to your Pocket Path, and cut the time in half. I wasn't sure where the actual "air boundary" of the part is. (Where you have clearance outside the part), so I used a partial chain to control where the toolpath is allowed to approach the part. Is the whole outer boundary "in air"? If yes, no reason to use "air chains". Open pocket - 2D Dynamic Example.mcam
  10. What are the actual Travel Limits of the Trunnion unit? What is the full stroke of each Rotary axis, plus and minus? If you are standing at the open machine door, looking at the trunnion table as in your picture, that is the A/C Zero Position, correct? If you rotate the Tilt Axis +90 degrees, is the Platter (Table/C-Axis) facing you, or facing away? Always start building your Post with 'pang_output' and 'sang_output' variables, set to "zero". (Normal Angle Output) pang_output : 0 #Angle output options, primary sang_output : 0 #Angle output options, secondary #0 = Normal angle output #1 = Signed absolute output, 0 - 360 #2 = Implied shortest direction absolute output, 0 - 360 I only adjust 'pang_output' and 'sang_output', after I've fixed the Rotation Directions. If we are standing with the door open, looking at the Trunnion, please confirm the Tilt Axis is along machine X (and X-Positive direction is to the Right). And Positive Y-Axis is going "away from you towards the back of the machine". (I'm just confirming with you that this machine uses a Standard Cartesian Right-Hand Coordinate System.) When I set up a Post initially, my test file is very simple. Top WCS, and typically 4 of the standard Planes with Drill Operations. What I want to happen is this > I want the first Operation on a machine that has the Tilt Axis along X, to come from either Top/Front, or Top/Back. This should produce a 90-Degree Tilt Axis Rotation, but no movement of the Platter. (Either A-90 C0., or A+90 C0.) For this to happen, we need to set the Primary Rotary Axis Zero Position to point towards 'vecy' or '-vecy'. For the Secondary (Tilt) Rotary Axis, Zero Position is 'vecz' (positive), and positive direction is either 'vecy' or '-vecy'.
  11. This is likely due to your Toolplanes not being setup for Horizontal Programming. Mastercam's default method of programming has always been > Top WCS/Top Tplane for "vertical" machines, and "Top WCS/Front Toolplane" for Horizontal machines. The way the planes work for Horizontal, by default, is: Top / Front = B0. G54 Top / Right = B90. G55 Top / Back = B180. G56 Top / Left = B270. G57 Meaning if you just program on the Front Plane, then the Right Plane, then the Back Plane, then the Left Plane, the Post will automatically kick out the correct 90-degree rotation in the NC Code, and will also "auto-increment" your Work Offset for each Plane Change. You can of course "lock your work offset values" by setting the Work Offset to "0" or another single integer, and that way you don't get a Work Offset change in the NC Code.
  12. The highlighting with the circles is a function of the recording of the video. Those circles do not appear on the screen as the person is clicking, they are added to the video by the software doing the recording. I use a program called Camtasia to record my videos, and it gives you this ability to add the "highlights" to the recorded video. You could try a program like Pointer Focus. At $12.50, that is a pretty cheap price. I attached the trial version as well. https://www.pointerfocus.com/buy.html pointerfocus.zip
  13. Your 5-Axis Post makes use of 'rotaxis' and 'rotdir' variables (Rotary Axis and Direction). These are essentially two vectors that are "perpendicular to the axis of rotation". So, if you want to rotate about "X", you use some combination of Y & Z vectors. If you want to rotate about "Y", you use some combination of X & Z vectors. There are 3 vector directions (think of them just as "a positive or negative integer value"): vecx vecy vecz These vector values can also be signed negative: -vecx -vecy -vecz Change this: #Secondary axis angle description (in machine base terms) #With nutating (mtype 3-5) the nutating axis and this plane normal #are aligned to calculate the secondary angle rotaxis2$ = vecz #Zero rotdir2$ = vecx #Direction To this: #Secondary axis angle description (in machine base terms) #With nutating (mtype 3-5) the nutating axis and this plane normal #are aligned to calculate the secondary angle rotaxis2$ = vecz #Zero rotdir2$ = vecy #Direction OR to this: #Secondary axis angle description (in machine base terms) #With nutating (mtype 3-5) the nutating axis and this plane normal #are aligned to calculate the secondary angle rotaxis2$ = vecz #Zero rotdir2$ = -vecy #Direction
  14. Hi Terry, The change to the User Interface is saved through the Mastercam.Workspace file. This is written to you "My Mastercam2023" Folder. If your company and IT group are running OneDrive, this is likely where you are having issues. Your "Workspace" File is being restored to the original. Go to "My Documents", and find the "My Mastercam 2023" Folder. Inside is a subfolder called "Mastercam", and inside that is a "CONFIG" Folder. this is where your Workspace File is stored. If it isn't "OneDrive", it could also be your IT Security permissions. Contact your IT Department, and ask them to do the following: For your User Profile, set "Full Control" for the following folders: C:\users\___________\Documents\My Mastercam 2023 < Your User Profile, "My Documents" Folder. Could be OneDrive, could be server-mapped, etc. C:\Users\Public\Documents\Shared Mastercam 2023 < Your Shared Folder. C:\Program Files\Mastercam 2023 < Your Mastercam Install Folder
  15. Just to further clarify on this, the DWO & TCPC functions are only available on the NGC Control. (Well, technically, there were some versions of the Classic Haas Control for UMC Machines, which supported these functions, but only the UMCs.) For NGC Machines running a Trunnion or Tilt/Rotary Table, these machines use Settings 300-305 for Master/Slave on the rotary configuration. Master is the Tilt (A-Axis Centerline), while Slave is the Platter (C-Axis). Rotaries must be assigned according to the ANSI Standards (A-on-X, B-on-Y, C-on-Z), for DWO/TCPC to work properly.
  16. This. I came here to post this. Surface Finish Contour, choose the whole model, and set start/end depths to the same point, absolute, below the model. Use a dummy tool, make it extra long flutes. (part thickness at least). Mark the operation as "ghosted", and it won't Post Process, or be a part of your NC Program, but will separate the tabs and the rest of the material. Now you can pick the piece you want to keep, and then save as an STL Model.
  17. That "Exact" option is a lifesaver, once you know it is there, and what it does!!!
  18. Not really, using "the post variables/logic", because only "selected operations" get passed to MP.DLL, during the Posting Process. If you look at your Toolpaths Manager, with all Ops selected, press the "G1" button, and set the NC File to "Ask", then press OK > MP.DLL will bring up a "Save As" NC File Name box. Move the box out of the way of your Toolpaths Manager, and you'll see that some Ops are checked, and other operations (different NC File Name) are unchecked. So only Operations which share the same NC File name get selected. ---------- A better solution, I think, would be to simply work this into your process of Posting a new NC File > Select all of your Operations Right-Click > Edit Selected Operations > Change NC File Name Verify you've got the correct NC File Name that you want for your program, and it will set all selected Ops the same. Post your NC Code
  19. Create the 1st angled Plane, then make sure it is active. (Can just use "=" button to set WCS, T/Plane, and C/Plane). Run the 'Curvature' Command, in the drop-down menu, under 'Check Solid'. Give it a 0.0001 Tolerance, and run the function. Pick the color for all "Flat Faces". You should instantly see what faces are "flat" to that current active Plane.
  20. Got killed, mainly due to complaints about Politics, and people getting nasty with each other.
  21. Funny Story > Playing and being interested in Paintball, and how the markers/parts were made, is what got me into a career in manufacturing, back in '94/'95. I started with a Dremel Tool, and a set of needle files, trying to make the release of the sear/action on my marker faster. I told my H.S. Guidance Counsellor that I wanted to "make paintball guns", and she said "oh, you're into manufacturing", and got me into a program called Running Start. Best decision I've ever made.
  22. The Post would be easy to edit (for someone who knows how) to output that code. I'd also add a "G103" after the "END1" loop. It would require adding 2 String Buffers to the Post File, and filling those Buffers out during the calls to 'pwrtt$' where the Tool Table is normally written. I'd fill the 1st string buffer with the "Tool Variable List", and the 2nd String Buffer with the normal Tool List Comment Strings, and remove the normal "comment writing" output. Then, in 'psof$', I'd write the 'IF[#3032 EQ 1] GOTO 2' line (I'd use the EQ operator, not '='), then "merge the 1st string buffer", then output all the code for the While Loop and N-Block for the GOTO Jump. Finally, I'd "merge the 2nd String Buffer", to get the Tool List.
  23. Did you Drag-n-Drop the .Content File into Mastercam? Typically, if the Post is in there, the MMD and CD are also. Did you use the "Manage List" Function in the Mill Machine Drop-Down Menu, to see if the Machine Definition was loaded and just needs to be selected?
  24. Mill Machine Definition, and program with an "endmill" the size of your jet diameter. Your post should take care of the rest, and it will likely use "Misc. Integers & Real Numbers" to control output.

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