These parameters are separated by commas. Develop a relationship with your CAD/CAM Reseller, or 3rd-Party Post Developer, and have them quote the necessary post development for new or existing equipment. ", "Y0. The other thing you might notice about these blocks is that they are "User Defined". While this can also be expensive, often the Solution is bundled with Simulation and Verification Software. MP has a special mechanism called the String Select Function that works with a String Select Table that lets you create a list of string values. Step 2: Post processing is an important yet often overlooked step in the CAD/CAM/CNC process. Must be someone out there that knows about post processor. The lines are variables expressions. Most CAD/CAM systems are machine-independent, which means the user is required to pass the intermediate format (Cutter Location, CL Data) through a post processor to produce the correctG-Code for the selected machine. Need help to finish my G code processor. Tips For Manufacturing Training CD's, DVD's for Mastercam, SolidWorks, Inventor, G-Code Training & More. (sg92 for example, is not forced. That is 5 hours per week that you would spend on hand editing your code. Some distributors might charge for it, but now it is electronic instead of printed I am not sure if they still are or not. ", but it is important to state because it is at the heart of how MP.DLL processes the data. I still have a long way to go to do some of the stuff guys on here talk about. Without having a properly configured post processor, your company is playing with fire. Use your display name or email address to sign in: By Making hand-edits to your NC code breaks the link between the CAM program, and the code being run on the machine. (A Lathe or Mill-Turn post might have "m" or "l" as the starting block characters to indicate "mill" or "lathe" processing.). I am a processionel carpenter for the past 40 years, I run a wood trading company in the amazon for 10 years and I have processed hundreds of cubic of wood. The 3rd line is: absinc$ = one. What I am doing is reverse the X an Y then Reversing the Y- To Y and Y to Y- this portion is done but dont know how or what to do with the I and J. I am starting to learn and need help please. In many cases, a quality Post Processor (purchased from a reputable company, that stands behind their work), costs between 1-3% of the purchase price of the machine. X8? I am looking for a source to help me learn the basics of this language. I've seen many companies over the years that rely on their Reseller or a 3rd-Party Post Builder to obtain their posts. Postability is a bespoke software development firm focused on the development of NC post processors for Mastercam CAD/CAM Systems, which are used in the programming of computer-controlled machine tools. So there are basically three types of Post Blocks: Pre-Defined (MP creates them), User Defined (you create them in the post, and you call them by placing the 'post block name' as a Parameter (by itself) on a Post Line. In addition to the costs of hand-editing the code itself, making these edits is a scary proposition for all but the most foolhardy of CNC Programmers. The only thing that "ends" a post block is a new definition, which always starts in the first column. So typically in the case of "post blocks", the next post block name is what ends the preceding block of code. This message will be removed once you have signed in. How did you learn this work? But I never knew the MCE editor has auto-complete fuction for the posts. document.getElementById( "ak_js_1" ).setAttribute( "value", ( new Date() ).getTime() ); document.getElementById( "ak_js_2" ).setAttribute( "value", ( new Date() ).getTime() ); #AdditiveManufacturing (AM) and #3Dprinting are overlapping terms but not synonyms. Hi Colin, I would like to make a request. Hi Bradley, please email: Somebody can help? Call them and ask them if they could send you a copy. This is a Post Block Call, and we "jump" to the 'pfbld' post block. I've seen shops that have dozens of Post Processors created for the same machine. Most edits people need have been discussed on here already or something similar that might point you in the right direction. If something starts in the first column (a string, numeric, function, postblock), it is the "definition" of that "thing". Its job is to output a Sequence Number, depending on if Sequence Numbers are enabled. In Mastercam, click the Machine Type drop-down in the Machine tab, and then choose Manage List. You have to have an "entry" to kick of the subroutine script, and that is based on the processing order of the NCI data. Step 4: It is a matter of "when", not "if" there will be an error introduced into your NC code. For post processors not already designed, Mastercam post processor partners In-House Solutions, Postability, ICAM, and CAMplete Solutions offer advanced and custom post processing support. That means if you type in the name of a pre-defined variable, and you spell it correctly, it will turn Blue automatically (in the case of a numeric variable), Purple in the case of a String, and Red in the case of a pre-defined Post Block. Every NCI Gcode has one and only one "entry" point into the instruction list. eMastercam - your online source for all things Mastercam. Hi Steven, I don't have any experience with MeshCAM. So, to get back to your sample, we are testing the value of mi1$, and based on if that test is "True", we are executing each line of an Implied Post Block: "if mi1$ <= one, #G92 Local Work coordinate system", This line of code tests the value of 'mi1$' to see if it is "less than, or equal to" the value of the variable "one". The cost of a typical 5X Post, that has been properly modified to support the advanced features and functions of this machine might cost in the range of $3,000 to $7,000, depending on the level of customization required. I just use the tools they built. Be sure to confirm your Shared Data Folder in Mastercam. Looked like a good machine to start with. I want to say that I have come here only after doing much homework, watching every video on the subject. I'll have to give that a whirl. It creates a "current" block, and a "previous" block. Do you have a legal license of Mastercam? This means the post developer created them, and they are not pre-defined by MP. Now here is my meaning: the company I bought the machine from DO NOT provide the post. The post can even call another "jump" from there, and go do more processing. Take a high-end 5 Axis Japanese machine, that might cost $500,000 fully equipped. I understand some of the individual components but how do they work together? The first "pre-read" loop is used to capture things like Tool Data, to build a Tool List. This is an ongoing expense, day after day, year after year. Fortunately, there are many options when it comes to post processors. - Colin Gilchrist. Meaning '0' calls the first item in the list, '1' calls the 2nd, '2' the third, and so forth. Yes, the Auto-complete was only added a few versions back. I'd say that John Summers and Jeff Hill are ones we should be thanking. Is the MP language based on something else with more information such as C+ or Java, etc., or even CNC macro B? Even if you write two lines of output parameters, the line will continue as a single line of NC code until you encounter a e$. This allows you to "force" the ABS/INC mode inside the Implied post block, so you are guaranteed to get Incremental output, but not effect the ABS/INC mode outside of this block. It scans through the PST lines and it creates Variable Definitions (locations in memory with an "address" (where is it) and default value (what is stored). The String Select functions are either forced, or are dependent on Modality. But I will be back with more questions soon. Now, most 5 Axis Programmers that I know probably have a burdened rate that is easily twice that amount, factoring in their higher hourly or salaried rate, plus the benefits and taxes. So if you've got several CAM solutions being used, this custom Solution can tie them all together in one package. But at the end of the day, an investment must be made to produce reliable NC code. This is a Literal String, which means the output is just forces to the NC output line. ), If your shop rate was $100 per hour (usually more for high-end equipment, but let's use that number for our example), and you run 2 shifts a day, that's 16 hours of billable time per day. With Numeric Variables in MP, you set the "current" value. The next Tool Change is either a NCI Gcode 1000 (tool is the same tool as last op, otherwise known as a "Null Tool Change"), or the value is NCI Gcode 1002, which represents an "Actual" tool change, and we call a different block. Display as a link instead. When you make a hand-edit to a NC Program, you have broken the direct link between the CAM Program that produced the motion, and the NC code that is producing your part. An Implied Post Block is created typically to allow "multiple actions" to follow the result of a single "Logic Test". Did this fro Esprit and SmartCAM. This is not only inefficient, it is dangerous. I tool a generic programming class in college and learn Adobe's Flash when it was popular but that has been a few years ago, and I have forgot much of that. I actually work with Fusion 360 and must use one of the free post they provide and edit it by hand over and over, many things are still not working well. This indicates that the values is automatically recognized by MP, and that MP is what creates it. These "postblocks" or "subroutines" exist in one of two places: inside your PST file script itself, or inside MP DLL. This is essentially "by definition", since MP needs an Entry Post Block to start any kind of NC output processing. lowcountrycamo, This is because the MCE editor has "auto-complete" functionality for all of the pre-defined variables, functions, and strings. I knew the basics before I started working there, but gained an amazing amount of knowledge about Mastercam in general, and posts specifically while working there. So if you change the value of mi3$ in your operation, the post will change the output for that particular String Select Parameter. (Technically, that isn't true now, as MP has been enhanced recently, but that would just complicate this overview, so ignore this for now.). The function looks at the value of absinc$, and based on the Modality , it picks a String from the String List, using the value of absinc$ as the index to the String List. The MP Language is a Scripting Language that is most similar to Standard C. The first thing you should do is make sure you are opening the PST file with the Mastercam Code Expert text editor. We are the largest and most active discussion forum for manufacturing industry. The third line is: pfbld, n$, sgabsinc, *sg28ref, "Z0. I can't endorse this guy enough! Let's examine it: The first line starts with some Boolean Logic that tests the value of the Numeric Variable mi1$. Post Lines are always indented by at least 1 space. You will need to pay for a Post for that machine. This course is online, on Tuesday and Thursday nights, from 7:30-9:30 PM, Eastern Time. My post editing results in a lot of trial and error. (X, Y, Z, I, J, K, and so on). This is as simple as adding a line-item to the quotation, but be sure the language is specific on what you expect for delivery. Mastercam Code Expert has had the "color coding" for pre-defined variables for much longer, but that only really helped with spelling errors. Understanding how to make the post processor output the proper code for your machine is a critical part of the program creation process. MP is "old school" in that it only holds String Data or Numeric Data. After you submit the form, your post will arrive, most likely by email. Rather than entering "G91" on an output line, as a string, we want to control the output to the NC file using the existing mechanism that is made to do this job for us. Because the edit they made worked (in this case), they go on about their day, not realizing that they have broken some of the code that may be needed for a different job later on. This variable (mi1$) stands for Miscellaneous Integer Number 1. The first Tool Change in the File is the NCI Gcode 1001, and calls 'psof$'. Without this site I couldn't have done half of what I have done. If the switch is off, MP ignores the parameter and moves on to the next parameter on the line. (The variable "one" is defined as a constant value of '1' at the top of the post). While $5,000 certainly sounds like a lot of money, that pales in comparison to how much time your CNC Programmer might waste on a yearly basis, making the same hand-edits, over and over again. Postability's Unified Post Kernel represents a step forward in Mastercam post development. A post processor (referred to as a "post") converts generic CAM system output to machine-specific NC code that accounts for machine kinematics, control syntax, advanced control functionality, programmer style, shop standards, and operator preferences. But some suggestions for addressing the issue are: Above all, don't wait until a machine is down, or there is a problem on the shop floor to consider the issue of Post Processors, and how they are a critical link in your process chain. Based on the NCI G-code, the post will call an "Entry" post block. If fact, Colin, you have helped me with some particular difficult issues. Many modern computer languages have many different data types (data structures) which determine the type of data they hold, and what operations you can perform on them. The programmer makes an edit, and then posts the NC code for the current job they are running. So MP jumps to the 'pfbld' post block, and evaluates the post lines and Parameters. The code is exported to the machine, and the manufacturing process begins. Download the files. Colin Gilchrist. They will provide you with a Post Processor Request Form, which you can then fill out with your machine information. Including the ones Colin has starred in. This is important, because it relates to Modality. And that you spend an average of 15 minutes making hand-edits to those programs. The example you posts is an Implied Post Block from the Start of File Entry Post Block. Step 4: If the value is different, it triggers MP to write the variable to the NC output, and it then "updates" the variable. It can be very frustrating at first. You've got to know the CAM System itself (how the data is created in the "generic" format), the Post Language that is used by the post processor, and the proper syntax for the NC code that will be run on the machine. If you use the Mastercam Code Expert editor (MCE), you get "auto-highlighting" of the pre-defined variables and blocks. Awesome write up Colin. This message will be removed once you have signed in. When that variable is entered as a Parameter on a Post Line, MP looks to see if the current value is different from the previous. There are Two Processing Loops that run on the NCI data. While this can be expensive as well, I prefer to think of it as an investment in your company's capabilities, and consider it a competitive advantage. Happy New Year for all of us! The 3rd Parameter is *sgabsinc. Why or how does this work. The site is 100% free to join and use, so join today! The first Parameter on the line is (pfbld). What are you having trouble with understanding? These variables are set a the Operation Level, and act as a Tool for you, the Post Developer, to pass data to the PST file. The value in this case has been set by us to '1', and the String List is a Zero-Based index. October 13, 2016 in Post Processor Development Forum. Choose the new machine name, add it, and confirm the process by choosing OK. Dont forget that Cimquest can also help you with our custom post-processor service. If you have an account, sign in now to post with your account. It is very nice though. (Not to mention the wasted time waiting for the necessary repairs. They will spend hundreds of thousand, if not millions of dollars on high-end CNC equipment, but expect the post to be free, or nearly free. Until it stops, we will continue to fight uphill battles. This is controlled (set) inside the Control Definition File. These values are stored in variables by MP, and allow you to use them with Boolean Logic to make decisions inside the PST file. MP is organized into blocks or chunks of "script" code. A break in this chain can spell a headache, or in some cases a disaster. By far the most important skill I've picked up along the way is the ability to make edits to a Post Processor. If not, I will likely just post here with specific questions. This is an error-prone and dangerous process. Each Post Line is made up of Parameters. That line starting in the first column identifies the item to MP, and during parsing MP "creates" something in memory based on that definition. By the way, it is certainly possible to machine STL Files, inside Mastercam. Where would you go to learn how to create and edit posts? There is really no "one size fits all" solution, and will depend on your shop's work-flow, personnel, and capital resources. You do not need a space between commas, but you should put them in for readability. There should really only be a single post for each machine in the shop, and this post should be modified for the way your company produces its parts. Let's assume that you are a CNC Programmer, and you create an average of 20 programs per week. In addition, the right code, put in the wrong place, can easily crash your half-million dollar machine, and could possibly damage your spindle, to the tune of $20-60K for a replacement. Thanks again. I've been using Mastercam to program CNC Machines since 1997. This is a recipe for disaster, and can be avoided by having a properly configured Post Processor in the first place. All of the "Entry" post blocks are "pre-defined". Consider a 3rd-Party Post Solution. Between looking for examples in existing posts and reading on this site I was able to get to the point were I can handle most of the edits I need. It may, or may not output depending on modality), Finally, the last line of code is Variable Assignment, that restores the value of absinc$ to the saved value. There is a Target Variable, which is a String, that gets its value changed constantly, based on the modality of the Selector Variable.
Sitemap 10