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

    164

Everything posted by Colin Gilchrist

  1. You can learn about the math involved, from Gilbert Strang, at MIT, for free, here: https://ocw.mit.edu/courses/18-06-linear-algebra-spring-2010/
  2. If you love the math, Mastercam Post Processors use Vector and Matrix Math (Linear Algebra), to derive all the rotary angle output for 4-Axis and 5-Axis. If you look at the NCI Data (raw toolpath motion) from a 4-Axis or 5-Axis Program, there are no Rotary Angles output in the NCI Data. All angles are resolved inside the Post Processor, from "vector inputs". For a 4-Axis Program, the Tool Plane Z-Axis Vector, is compared to the WCS Z-Axis Vector, using the 'atan2' function. For Toolplane processing, this is done 'automatically' inside MP.DLL (the Post Engine), which then sets the internal Rotary Variable 'c$'. (No matter if you are outputting "A" or "B" or "C" for the Rotary, the internal variable is named 'c$'.) If you want to learn about editing Mastercam Post Processors, check out the link in my signature...
  3. Looks like the download links for 2024 are not working. The site says "The Mastercam family of websites is down for Maintenance".
  4. I think 2024 gives us back some of the things they took away from the Stock Setup process. Not sure on the shaded vs. wireframe switch, other than it being moved to the Ribbon Bar...
  5. Down at the bottom of the Topics List, is a section called "Text". The Text section is where you can rename the drill cycles, or parameter names, or disable with a set of two double quote characters ("").
  6. Byte is correct, you can't increase the max "Operation Comment String Length". That is a fixed length. I also use "Manual Entry" Toolpaths when needed to add significant comments. The max "Manual Entry" length is 750 characters, however you can simply add multiple back-to-back Manual Entry Ops if you need additional comments.
  7. Yes, on the machine side, each controller handles comment strings differently. Some will break a long comment into separate comment lines. Others will simply produce an error.
  8. No reason not to increase it. This controls the "Max String Length" that you can "pass in the NCI to the Post". It does not handle comment length processing. Considering the speed of modern computers, you shouldn't notice any affect on Posting.
  9. The issue is the way those corner surfaces were modeled. Look at where the ISO lines (UV Grid Lines) originate from. The "midpoint of the curved edge" appears to be where the surface "origin" is. Swapping UV won't redefine the intrinsic "origin" of the grid lines, just swaps them so the U or V lines now "align" with the adjacent surfaces, but in this case, the best way to fix this issue is simply to use Net Surface and build new ones. Go into Net Surface. Be sure you are in "full chain mode". Even though you are in Full Chain, the surface creation function is smart enough to search for the branch points and stop. For a "4-edge surface", you simply start at any side of the chain, click one section, and then follow the chaining around in the same chaining direction, to pick the 4 sides. (go all CW or all CCW.) For a 3-edge fillet like this, pick one wall edge, with the chain going "towards the point" at the bottom. 2nd, pick the far fillet edge, again pointing from the "top" to the bottom. Finally, select the 3rd chain as the top edge, going either direction, doesn't matter. After picking the 3 chains, press "ok", and Net Surf will create a 3-edge blend surface. Simple and quick, and the ISO grid lines will line up. (and can be swapped if needed)
  10. After you reorder the groups in the Kinematic Tree, you need to go into the "Axis Combinations Dialog" (little button that looks like a coordinate system). Go through the Axis Combination Tree, and make sure all the axes are selected. You must also select a "spindle" (tool holding component), and "table or rotary axis chuck", as the "work holding component".
  11. I couldn't do it with a single path. Here is the result with two paths. First, I created edge curves, and built new Net Surfaces. Then I changed the type to "full, start/end at exact edges". This give you the "Margins" Page. This you can use to adjust how "close" the tool machines to the edge. I found I also had to adjust the "Start Point", to get the entry/exit to not feed all the way to the opposite edge of the surface. Unified_Start_Point_Control and Margins Solution.mcam
  12. Edit the Control Definition File. You can put "" (a set of two Double-Quote Characters) to disable the field. Make sure the Post file is closed when you do this, because the Control Definition "writes" to the Post File Text Section.
  13. RMP 600 is a Strain Gauge Probe, not kinematic arrangement, and is far more sensitive than your machine is capable of holding. Accuracy/Repeatability should be on the order of 0.25 Microns to 2 Sigma. That is 10 Millionths. Make sure you calibrate with the new Stylus (I'd use a 1.5mm or 2mm max. diameter ruby or silicon nitride ball, depending on material being machined). When you use the "tool wear adjustment" Macro, there is typically an "experience" value. This is poorly-described, but is essentially "the adjustment percentage of the measured deviation between actual and nominal". You use the Experience value to adjust the amount of "change being made" to the wear adjustment. For example, say you programmed a 2mm cutter to make a Semi-finish pass, on both sides of the slot, leaving 0.1mm per side. This should give you a 2.8mm wide slot. But when you measure the slot width, it is 2.784mm. The difference between nominal (2.8) and actual is 0.016mm. We could then correct the Wear Offset (assuming radius, in this example), by 0.008mm, so it cuts that much additional metal off each side of the slot. Except in practice, other factors such as tool deflection come into play. Through "experience" you come to find that using between 60-70% of the 'delta measurement', gives you more predictable results in production, to avoid overcutting when making the final finish pass. You could use an "E" value (may be a different Alpha-Address Character), of E0.65, which would tell the Macro to only use "65%" of the delta value. I will typically use an Experience value of 40%, if I'm doing a multi-step process with the probe to qualify a tool. I find I get the best results by "sneaking up on the adjustment", and then re-cutting the Semi-Finish Pass (again, using 40% as a starting test value). If you are taking the approach of automating the process, it will be very important to calibrate often, and to be sure the probe tip and the slot is very clean, and that the machine is warmed-up, using the same cutting program that will be run in production. (Don't put "too much heat" into the machine, it needs to be as close to actual "operating temperature" as possible.)
  14. Hire Ron to really show you the ropes! Get that PX30i whipped into shape!
  15. In general, if you are talking a "5-Axis Lathe", you are better off purchasing a Post. You're not going to be successful trying to just add 5-Axis Matrix and Vector logic to a 4-Axis Mill or 4-Axis Lathe Post. There is no generic MT Post I'm aware of. They all cost money, and you must go through your Reseller or an authorized 3rd Party Post Developer, to source a 5-Axis or MT Post.
  16. I always "force" a regeneration. The other things that don't "update" without a regen are the Miscellaneous Integers and Real Numbers.
  17. These things are built by Fanuc, using Fanuc Drives and Motors. They are not good; they are fantastic! Make sure you get the options for "flushing" of the zero-point connection, and ask Methods about adding "spindle cleaning/flush" options, to make sure the no chips get caught in the spindle taper. Make sure you get the Big-Plus option on the spindle, and buy "real" Big-Plus holders. The BT30 Taper, with Big-Plus, is comparable in rigidity to a non-big plus CAT40 holder. I did Turnkey job from 17-4 Stainless on a regular short-bed Robodrill (not plus-k), and I was drilling 5xD and 7xD, small holes (.125 and 6mm diameter), with no issues. (I did have thru-spindle coolant, which is a must for productive deep-hole drilling. Not that 5xD or 7xD is extreme, but the first time I tried this on a non-thru coolant spindle, we had issues with drill breakage due to work-hardening of the material when attempting to peck. Raising the retract height helped, but with Thru-Coolant, we successfully machined hundreds of holes without pecking. I opted to thread mill, rather than tapping.
  18. By Definition, you are manipulating the "Plunge and Retract" motion. Your only option is to use the Plunge and Retract Speeds (turn off "rapid retract", to save yourself the possibility of a Dog-leg Rapid Crash! This makes the final "retract" move a Feed move, at whatever Feedrate you specify in the Retract Feed data entry field.
  19. Kind of a late response, but I'll take a stab at this. Your title was "String Select", and the example you gave was using 'rpar'. That is the old-school function for getting the data. There is a whole bunch of new functions in the MP Language, but I have yet to see practical examples, and posts written "from the ground up with only the new functionality", as examples from CNC Software. To be fair, I also haven't looked too hard recently to see if any exist either. I use all the old-school functions because 99% of the people asking Post Questions, on this forum, are using a Post that uses the old 'Parameter Table/Pre-Read' functions (pparameter$ and pwrttparams$).
  20. 6684 is the line number where the error was detected.
  21. Looking at the numbers, a Metric Pitch of 0.4mm = 0.015748031496063" per tooth. I always try to adjust my RPM to hit a Tapping Feed Rate which isn't rounded (or is rounded very, very little), to help avoid accumulated pitch errors. I agree with tapping faster, but 0.015748031496063" is a tough pitch to find the right RPM to cut at, because RPM is only specified in integer values. (Can't do decimal values on the commanded RPM.) For this pitch, I believe 889 RPM is perfect. That would give you a tapping feedrate of 14.0000000 Inches per Minute. Or you could double the RPM to 1,778, and tap at 28 IPM. I would look to Emuge for taps. Is the hole truly "thru", with ample clearance on the other side of the hole to push the chips through? If so, a Spiral Point Tap would work, just keep in mind that it won't "pull" the chips out from the hole, but will "push" them through. Form Tapping would give great results, or look to a "Spiral Flute Tap" to pull the chips. If I have the option, I like to run the Pulse Jet lubrication option on Haas machines, and fill the reservoir with Aluminum Tap Magic, and just use the Pulse Jet for the tapping operations, but use regular coolant for everything else. The other option (as has been mentioned in this thread) is to use regular coolant, but make sure your concentration level is at 10% or above.
  22. [email protected] That would be a good start, even if they do want all communication to flow through your Reseller, you can at least establish the connection with CNC Software. You should mention you were talking with Hector on Emastercam.
  23. To debug an external file: There is a variable 'subout$' that controls the output stream. You can write to 5 different files, values are 0-4. NC File is the "main" file, when 'subout$ = 0'. You tell MP if you want to "initialize a new file" with the "stream program" variable. For AUX files, this is 'auxprg$'. Setting 'auxprg$ = 1' tells MP to overwrite a new file every time. Setting 'auxprg$ = 2' tells MP to "append" the output to the existing file. You need to set the File Path, File Name, and File Extension, to tell MP, "where to put, and what to name", the AUX File being created which is normally held in memory, and destroyed when no longer needed. You do this with the variables: 'snameaux$', 'sextaux$', 'spathaux$'. (name, extension, path) After setting 'auxprg$', and setting the correct path/name/extension for the file, you put the command variable 'newaux$' on a Post Line. This tells MP that as AUX file is being manipulated and filled with data, that you want to write that data to a physical file on your hard drive. In the 2022 or 2023 Mastercam MP Online Reference Guide, or in the older PDF Files, look up: auxprg$ clearaux$ mergeaux$ newaux$ subout$ newaux$ M L R W MT Open a file to receive output for the AUX stream (subout$ = 2). You can open a new file or open an existing file and append the new output to it; use the auxprg$ setting to control the output mode. If NC sectioning is active, the value of section_size_aux$ must be set to a non-zero value. Opening a file for the AUX output stream Follow this general outline when you want to write the contents of the AUX output stream to a new file. Set the value of subout$ = 1. This activates the AUX stream and directs new NC output to it. Set the values of the following strings to the desired path, file name, and extension: snameaux$ = filename sextaux$ = extension spathaux$ = path If necessary, configure the file for output with auxprg$: Choose to open the file for new output or in append mode. Select the character encoding: UTF-8 or ASCII/Windows code page. Use the newaux$ command to open the file. Where does this value come from? Output on following NCI lines None Control definition page None How is this used? Example p_mypostblock if subout$ = 0, [ sextnc$ = sncext + "_" + no2str(prv_section_size_nc$) newnc$ ] else, if subout$ = 1, [ sextsub$ = ssubext + "_" + no2str(prv_section_size_sub$) newsub$ ] else, if subout$ = 2, [ sextaux$ = sauxext + "_" + no2str(prv_section_size_aux$) newaux$ ] else, if subout$ = 3, [ sextext$ = sextext + "_" + no2str(prv_section_size_ext$) newext$ ] else, if subout$ = 4, [ sextlcc$ = slccext + "_" + no2str(prv_section_size_lcc$) newlcc$ ]

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