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:

The dumbest thing I have ever seen in a mastercam post


pro grammer
 Share

Recommended Posts

22 minutes ago, hehuahome said:

Email has been sent, no effect! Because the last company uses the genuine software, now leaves at home, studies needs the mp post document!

If you're stating that you're not a licensed user, which it seems you are saying, you are not entitled to the document. Which is likely why no one will provide it to you.

Link to comment
Share on other sites

 

9 hours ago, JParis said:

Unless their website is wrong, that is the correct address

[email protected]

and it is wrong on the webstite

[email protected]

 

Just an update that [email protected] and [email protected] are both valid addresses and go to the same place, although [email protected] is the one that is handed out these days for contact information. If anyone has any problem reaching either of these emails, please let me know so that we can address this for you.

  • Like 3
Link to comment
Share on other sites
On 3/23/2020 at 7:40 AM, pro grammer said:

pe              #End of line
      e$

pfe             #Forced end of line
      *e$

pn              #Line numbering
      n$

pfn             #Forced line numbering
      *n$

 

 

Yeah. This takes the cake for both arrogance and stupidity.

Very interesting read. MP was created by someone with a background in "C". '*' is a pointer to a variable. '$' is a notion that a variable is a string. Everything here is according to standard. It's similar to complaint that we didn't use his iphone to launch Saturn-V rocket to the Moon!

Link to comment
Share on other sites
15 hours ago, Joe777 said:

Very interesting read. MP was created by someone with a background in "C". '*' is a pointer to a variable. '$' is a notion that a variable is a string. Everything here is according to standard. It's similar to complaint that we didn't use his iphone to launch Saturn-V rocket to the Moon!

Your analogy is absolutely correct.   Keep in mind that MP has been able to drink for almost 15 years now, so really, it was that or PASCAL, LISP, or FORTRAN as the common languages in use at the time.  You're even almost 10 years ahead of the release of Delphi!  

  • Like 1
Link to comment
Share on other sites
On 9/14/2020 at 7:04 PM, Joe777 said:

Very interesting read. MP was created by someone with a background in "C". '*' is a pointer to a variable. '$' is a notion that a variable is a string. Everything here is according to standard. It's similar to complaint that we didn't use his iphone to launch Saturn-V rocket to the Moon!

You're on the right track, but there are some significant differences.

The MP Language was written by John Summers, and he loosely based the language on Standard C.

However, the language was designed as a 'scripting language', so although there are similarities between Standard C and the MP Language, there are differences.

The asterisk character is used to 'Force variable output regardless of modality'. When MP was invented, there was simply an ordered list of 'predefined variables'. These variable names were reserved for use, and you would get a 'duplicate initialization' error, if you happened to create a variable name that was already a predefined variable. The situation was like this for many years (maybe 15?), from at least Version 6, through V9.2.

When Mastercam X was released, the MP Language went through a significant overhaul. In addition, the Code Expert Editor was released. Coinciding with the release of the editor, predefined variables were updated to include a dollar sign at the end of the variable. This is true for all predefined variables, regardless of if they are a String or a Numeric Variable. In addition, you will get an error if you try and include a $ with a User Defined Variable. So predefined variables all end in the dollar sign character, while user defined variables do not.

I think of MP as cross between Standard C and VBScript.

It is a homegrown programming language, built to take NCI Input, and convert it to NC Code Output. It opens the NCI file, and every pair of NCI Lines calls one, and only one, Entry Post Block. This is the 'entry point' into the instruction list. All the instructions in the Entry Post Block get read, line by line, from the start of the Post Block, to the end of the block. (Note that you can always call another Post Block from within the Entry block (like a Subroutine). These 'post block calls' can actually be nested up to 25 levels deep. Once the instructions in the 'called block' have been processed, MP returns back to where the call originated, and MP keeps processing the Post Lines, until it reaches the end of the entry block.

MP is a 'column dependent' language. The 'first column' holds special significance. Any variable, formula, or Post Block Name that starts in the 1st column, indicates that is the 'definition' of that thing. For a Post Block, all the Post Lines underneath must have at least one space character in front of the line (6 space characters is the standard 'indent' for all Post Lines). This indicates that the line is a continuation of the active block. The next '1st column character' that is detected, is what actually 'ends' the block above.

  • Thanks 1
  • Like 1
Link to comment
Share on other sites
2 minutes ago, Colin Gilchrist said:

You're on the right track, but there are some significant differences.

The MP Language was written by John Summers, and he loosely based the language on Standard C.

However, the language was designed as a 'scripting language', so although there are similarities between Standard C and the MP Language, there are differences.

The asterisk character is used to 'Force variable output regardless of modality'. When MP was invented, there was simply an ordered list of 'predefined variables'. These variable names were reserved for use, and you would get a 'duplicate initialization' error, if you happened to create a variable name that was already a predefined variable. The situation was like this for many years (maybe 15?), from at least Version 6, through V9.2.

When Mastercam X was released, the MP Language went through a significant overhaul. In addition, the Code Expert Editor was released. Coinciding with the release of the editor, predefined variables were updated to include a dollar sign at the end of the variable. This is true for all predefined variables, regardless of if they are a String or a Numeric Variable. In addition, you will get an error if you try and include a $ with a User Defined Variable. So predefined variables all end in the dollar sign character, while user defined variables do not.

I think of MP as cross between Standard C and VBScript.

It is a homegrown programming language, built to take NCI Input, and convert it to NC Code Output. It opens the NCI file, and every pair of NCI Lines calls one, and only one, Entry Post Block. This is the 'entry point' into the instruction list. All the instructions in the Entry Post Block get read, line by line, from the start of the Post Block, to the end of the block. (Note that you can always call another Post Block from within the Entry block (like a Subroutine). These 'post block calls' can actually be nested up to 25 levels deep. Once the instructions in the 'called block' have been processed, MP returns back to where the call originated, and MP keeps processing the Post Lines, until it reaches the end of the entry block.

MP is a 'column dependent' language. The 'first column' holds special significance. Any variable, formula, or Post Block Name that starts in the 1st column, indicates that is the 'definition' of that thing. For a Post Block, all the Post Lines underneath must have at least one space character in front of the line (6 space characters is the standard 'indent' for all Post Lines). This indicates that the line is a continuation of the active block. The next '1st column character' that is detected, is what actually 'ends' the block above.

You are not mentioning all the work MP.DLL is doing in the background with the MP language. This is where most external 3Rd party people struggle getting good code from Mastercam. They only use the NCI and the NCI is not the whole equation for getting NC code. It is the PST working with MP.dll that creates all the magic; one without the other will not give the correct output. Years ago we could tweak the MP.DLL, but that ability got removed about X3 or X4 if memory serves me correctly. 

Link to comment
Share on other sites
4 hours ago, Bob W. said:

My sales guy always asks why we don't just hold the part/ print up to the monitor and hit CTRL-P and have the machine make it.  Now THAT would be progress...

A few years ago my 'ol chap (Carpenter) walked into the shop and asked why I looked stressed and "what exactly are you doing"?

So I started to quickly walk him through the process of grammin a part and he was tutting and sighing and getting more impatient - I was about 2 minutes into it.

He interrupted and said "well surely in this day and age, all you have to do is photograph the drawing and the machine should be able to do it for you huh"?

My reply was "Dad, go put the kettle on" :rolleyes:

 

Colin - nice explanation, and kudos to the Summers. It truly shows how cutting edge (no pun intended) they were back then. :cheers:

  • Like 3
Link to comment
Share on other sites
5 hours ago, crazy^millman said:

You are not mentioning all the work MP.DLL is doing in the background with the MP language. This is where most external 3Rd party people struggle getting good code from Mastercam. They only use the NCI and the NCI is not the whole equation for getting NC code. It is the PST working with MP.dll that creates all the magic; one without the other will not give the correct output. Years ago we could tweak the MP.DLL, but that ability got removed about X3 or X4 if memory serves me correctly. 

Well yes, MP.DLL is the Post Engine, that does all the heavy lifting. I did not bother going into data structures, buffers, stacks, enumerors, or the Parameter Memory Map. Mainly because those are more recent additions to the language. Some mechanisms, such as the 'Comment Buffer' mechanism (internal buffering of Comment Strings) have been available in MP for a very long time. However, a great deal of enhancements have been made to both MP.DLL and the language functions over time. Jeff Hill is the wizard who has been making many of the functional enhancements that have really brought MP into the modern era.

One of the greatest recent developments has been Post Block variable passing. You can now define a Post Block to accept 'arguments', and you can pass the arguements "by reference", or "by value".

Sounds fancy. But what does that jargon actually mean? It means you can pass data to a Post Block routine, and have the routine return a result. By Reference means the function updates the original variable that was passed into the Post Block. By Value means the Post Block makes a copy of the value to a separate internal variable.

Link to comment
Share on other sites
  • 2 weeks later...
On 9/16/2020 at 8:02 PM, crazy^millman said:

You are not mentioning all the work MP.DLL is doing in the background with the MP language. This is where most external 3Rd party people struggle getting good code from Mastercam. They only use the NCI and the NCI is not the whole equation for getting NC code. It is the PST working with MP.dll that creates all the magic; one without the other will not give the correct output. Years ago we could tweak the MP.DLL, but that ability got removed about X3 or X4 if memory serves me correctly. 

Mr.Crazy: I just wish there was more information and flexibility. We do honestly pay for our seats: I just wish that the platform was more opened for developers.

Pardon me but this is Crazy:  I need to work with the posts that are 20 years old from inhouse-solutions and I'm sorry but they still don't work. How many more years of revision changes am I to see? Every time we are to buy a post from Inhouse solutions- we start with a generic 20 year old post; when is this going to end! Well, when I read a log  in the post modifications from a reputable company and it has already been 20 years: seems like like we made  a wrong choice!

Link to comment
Share on other sites
On 10/1/2020 at 6:49 PM, Joe777 said:

Mr.Crazy: I just wish there was more information and flexibility. We do honestly pay for our seats: I just wish that the platform was more opened for developers.

Pardon me but this is Crazy:  I need to work with the posts that are 20 years old from inhouse-solutions and I'm sorry but they still don't work. How many more years of revision changes am I to see? Every time we are to buy a post from Inhouse solutions- we start with a generic 20 year old post; when is this going to end! Well, when I read a log  in the post modifications from a reputable company and it has already been 20 years: seems like like we made  a wrong choice!

Really?? You do realize the fundamental structure of what we do is just 1+1=2. As much as the new teaching wants to say 1+1= whatever makes us feel good fact is fact 1+1=2. The structure of a basic post doesn't need to change and what has needs to change has changed and been adopted into the process. Canned Cycles haven't changes since the 80's for the most part. G00, G01, G02, G03, G41, G42, G43, G90, G1 haven't changes since the 80's, but the post should be a new flavor of what to make you feel all warm and fuzzy inside? Mastercam was built on solid platform by some very intelligent people. That legacy and progress has and is still part of their culture and In-House Solutions is good at what they don and are an integral part of helping everyone using Mastercam have a method and way to do so.

Not sure what issues you are having with their posts, but I have been working with Mastercam 20 years and every single time I have reached out correctly to anyone at CNC Software, In-House, Postability, and numerous Mastercam dealers in the USA and worldwide they all have been gracious and willing to help. Have they had the answer I needed that very second always no, but I did get it and they went above and beyond. I have done this for almost 35 years now and worked on well over 400 different types of machines worked with well over 1000 different customers threw my many different detours in life and I am always learning and improving. When we think we have arrived in this industry we better watch out because that humbling moment to put us in our place is just around the corner. I don't do a blog, Facebook, twitter or any other social media things expect for this, but my credentials in this industry speak for them self. Not perfect, not always known to type or speak correctly, but I do my very best and give everything I have to help whoever I can learn in this profession. I have worked from home for almost 10 years now and had my website going back to July of 2009 www.5thaxisprogramming.com 

I was running a shop I helped start in Jacksonville, Florida and 9/11 happened. A week later our biggest customer closed their doors which was about 60% of our business. I had got Mastercam in our shop a year prior on lease and the owner wanted to layoff 6 of the employees and keep me. I told him no I would find another job that I had trained everyone to do a good job for him. I took a Contract 5 Axis programming job at a shop in town and got more done in 1 day than had been done the 3 months prior using Mastercam. I took the Generic 5 Axis post for V9 and had it making error free code for a 5 Axis Thermwood router that was October of 2001 when Jim Gamble gave me that post. I still have a copy of that post and still use a lot of what I learned from that post today. My experience is what allows me to do a good job and with experience you learn the what not to do things in life.

Seems like the wrong choice? Sorry sir, but Mastercam can program any machine and project I have every thrown at it. I don't have a degree though I did sleep at a Holiday Inn last night. 😁

Today is Manufacturing Day. Check this out and see if it helps you understand Mastercam and In-house are not the wrong choice to help you do Manufacturing.

Mastercam Virtual Tour for MFGDay20

Link to comment
Share on other sites

Mr. Crazy.

I think I do owe you an apology: I didn't mean to be rude.

I'm not here to discredit anyone and I'm not into blogging.  I'm just a guy who works at a machine shop!

In fact when it comes to inhouse posts - they are the most helpful people. I just don't understand as to why every time we need to start from generic post when  all of it has already been addressed else where! As you have mentioned 1+1=2.

Regards,

 

 

 

Link to comment
Share on other sites
35 minutes ago, Joe777 said:

In fact when it comes to inhouse posts - they are the most helpful people. I just don't understand as to why every time we need to start from generic post when  all of it has already been addressed else where! As you have mentioned 1+1=2.

The Resellers depend on post sales to survive, hence, they benefit most when you buy a new post for each new machine.

On 10/1/2020 at 9:49 PM, Joe777 said:

Pardon me but this is Crazy:  I need to work with the posts that are 20 years old from inhouse-solutions and I'm sorry but they still don't work. 

If that is really the case, you are free to reach out to other companies like postability to resolve your issues, unlike with mastercam licenses, there is no restriction on where you buy your posts.

Link to comment
Share on other sites
33 minutes ago, Joe777 said:

Mr. Crazy.

I think I do owe you an apology: I didn't mean to be rude.

I'm not here to discredit anyone and I'm not into blogging.  I'm just a guy who works at a machine shop!

In fact when it comes to inhouse posts - they are the most helpful people. I just don't understand as to why every time we need to start from generic post when  all of it has already been addressed else where! As you have mentioned 1+1=2.

Regards,

Sorry been a rough week so if I came off brash please understand I didn’t mean to. We are in this together and just trying do our best. I can’t answer for them, but depending on the machine I have to think they did what they felt was the simplest and easiest things to get your company up and running. I like the K.I.S.S. (Keep it simple stupid) method myself. It works and does what I need then why should I have to reinvent the wheel? Have a good rest of your weekend and please ask for help if you get stuck glad to do whatever I can to help. :thumbup:

Link to comment
Share on other sites
1 minute ago, byte me said:

The Resellers depend on post sales to survive, hence, they benefit most when you buy a new post for each new machine.

I don't disagree with the tactic. Yes, everyone's piece of equipment is individual and everyone has their own preferences on how their piece of equipment operates. Yet, lets not reinvent the wheel.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.

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