-
Posts
688 -
Joined
-
Last visited
Content Type
Profiles
Forums
Downloads
Store
eMastercam Wiki
Blogs
Gallery
Events
Everything posted by EX-wccprogrammer
-
Quick question about start block
EX-wccprogrammer replied to Leon82's topic in Post Processor Development Forum
I agree, there should be more conditions met than just the tool number. I like to name my probe and other special tools, and have the post 'read' the names. Then apply special conditions to each special tool. As above, the output is for T30, regardless of the actual tool at that position. -
Quick question about start block
EX-wccprogrammer replied to Leon82's topic in Post Processor Development Forum
You can nest the code for T30 inside the 'else' of your code above. There is nothing 'sloppy' about nesting, just try to keep it readable for the future. -
Reducing the number of post - Ideas please
EX-wccprogrammer replied to Guess_who's topic in Post Processor Development Forum
Do some research on my previous posts, you will find some interesting information for your project. -
Reducing the number of post - Ideas please
EX-wccprogrammer replied to Guess_who's topic in Post Processor Development Forum
I can combine all of your posts into one workable post per machine type ( one for mills, one for lathe). I would need the existing posts, machine definitions to ensure the new post would output properly. PM me if interested. -
Bear with me, I am slinging code on the fly without debugging. If you are using buffers, make sure that str0 - str11 are being passed into the buffer, so they can be retrieved. Also, to prevent empty parentheses, place a little logic like this: if strtemp <> "", str1 = "(" + strtemp + ")" do the same for all the str0 type variable assignments. HTH
-
I would write it like this: if breakpasses > 1, [ strtemp = brksps(60, sinput_str) # Break string str0 = "(" + strtemp + ")" strtemp = brksps(60, sinput_str) # Break string str1 = "(" + strtemp + ")" strtemp = brksps(60, sinput_str) # Break string str2 = "(" + strtemp + ")" strtemp = brksps(60, sinput_str) # Break string str3 = "(" + strtemp + ")" strtemp = brksps(60, sinput_str) # Break string str4 = "(" + strtemp + ")" strtemp = brksps(60, sinput_str) # Break string str5 = "(" + strtemp + ")" strtemp = brksps(60, sinput_str) # Break string str6 = "(" + strtemp + ")" strtemp = brksps(60, sinput_str) # Break string str7 = "(" + strtemp + ")" strtemp = brksps(60, sinput_str) # Break string str8 = "(" + strtemp + ")" strtemp = brksps(60, sinput_str) # Break string str9 = "(" + strtemp + ")" strtemp = brksps(60, sinput_str) # Break string str10 = "(" + strtemp + ")" strtemp = brksps(60, sinput_str) # Break string str11 = "(" + strtemp + ")" pbld, *str0, e$ pbld, *str1, e$ pbld, *str2, e$ pbld, *str3, e$ pbld, *str4, e$ pbld, *str5, e$ pbld, *str6, e$ pbld, *str7, e$ pbld, *str8, e$ pbld, *str9, e$ pbld, *str10, e$ pbld, *str11, e$ str0 = "" str1 = "" str2 = "" str3 = "" str4 = "" str5 = "" str6 = "" str7 = "" str8 = "" str9 = "" str10 = "" str11 = "" ]
-
The brksps function will break a string at any given point. Using the right logic, you can achieve what you desire.
-
custom drill cycles & probing
EX-wccprogrammer replied to MIL-TFP-41's topic in Post Processor Development Forum
To find midpoints of features like pockets or bosses, the toolpath would have pairs of probe vectors (opposite sides of the feature). The direction of the vector pairs are analyzed, so the post knows if OD or ID is being measured. -
custom drill cycles & probing
EX-wccprogrammer replied to MIL-TFP-41's topic in Post Processor Development Forum
I can instruct (using keywords) the post what I am trying to measure. I could simply type 'WEB' in the comment box for the toolpath that measures a web. -
custom drill cycles & probing
EX-wccprogrammer replied to MIL-TFP-41's topic in Post Processor Development Forum
I have written logic that identifies the tool as a probe, and written the code that analyzes the vector of the move. Programming is as simple as constructing vector lines where I want to probe, and programming as 3D contour. -
custom drill cycles & probing
EX-wccprogrammer replied to MIL-TFP-41's topic in Post Processor Development Forum
I wrote my post to use linear movement for probing. That way I have control over approach distances and can probe vectors. The vector determines what is being measured. If the vector is purely in the Y axis, I get Y measurement. -
Lathe Chuck Parameters
EX-wccprogrammer replied to The Cathedral's topic in Post Processor Development Forum
This parameter is from the machine definition, and needs to be accessed in a different way than NCI parameters. In the pmachineinfo$ postblock, make sure this line is not commented out: if prmcode$ >= 17000 & prmcode$ < 18000, result = fprm(17000) #Run the parameter table for Machine Definition Parameters then, in fprmtbl 17000 table, type something like this: 17435 chuck_loc #Chuck Location That should get what you want. (After you define the variable you want to use, of course.) HTH -
I guess I should have researched your machine, I was unaware that it was 5AX. But the same logic would apply, wherever the post would evaluate for plane change.
-
I would just amend the pcout block to output the Z0 move prior to rotation if the plane changes. MI and MR toggles are a pain, because I tend to forget them.
-
3D Connexion drivers
EX-wccprogrammer replied to gcode's topic in Machining, Tools, Cutting & Probing
From the Windows Start menu, browse to the 3DConnexion folder. Inside, there is a driver folder. Inside that, you will find commands to stop the driver, and start the driver. -
There is probably an error in the calculational area of your post. Or, the Tplane in your MCX file is not defined at the rotation that you expect. Just so you understand, the matrix at B0 C270. is not the same as the matrix at B-180. C90. Volume 2 of your MP documentation covers all of the stuff dealing with 5-axis calculations, including vectors. Start there, maybe you will be able to find your issue. Just an FYI, I also have a rotary-on-rotary HMC. This is the code that I chose to use for 5-axis positioning, for what it's worth: if m1$ >= 0, aabs = asin(m7$) if m1$ < 0, aabs = 180 - asin(m7$) if m5$ >= 0, babs = asin(m6$)*-1 if m5$ < 0, babs = asin(m6$) + 180 Good luck, and HTH.
-
If you give specific issues that you are having, someone can help you troubleshoot it. A blanket 'can you explain' is tough to do in a forum.
-
Please contact your Mastercam reseller about a post for your machine. This is the best advice for someone in your situation. Moving forward, if your really are interested in post customization, there are courses and materials available that will provide the training and/or information that you will need to understand how they work and what all of the internal features do. This will take some time to understand. If you can't take the time, please see above. No offense intended, but if you think that you can make a 5-axis post work by asking questions in the forum (without the needed resources) you will fail.
-
Rotation Transform issues.
EX-wccprogrammer replied to BM150's topic in Post Processor Development Forum
From another thread: The same logic would apply to your application, but the variables would change. Play with it, you will find the right formula for your machine. -
Rotation Transform issues.
EX-wccprogrammer replied to BM150's topic in Post Processor Development Forum
I have not encountered this, but this is my best guess: sub_m1$ is the value of m1$ that is normally transferred to a subroutine. If you are having problems with the output from a rotated plane, try using m1$. There are a lot of variations of the matrix variables, such as t_wcs_m1$, drl_m1$, cm1$ and sub_m1$. All of them are derived from the original m1$, but may have been manipulated for different outputs in different areas. HTH -
If you are going to start from scratch, you will want to start with a 'positioning' post. The matrix has all of the data to position any number of axes that your machine has. As you change Tool Planes in Mastercam, the matrix changes. The content in the matrix is the difference between the WCS and Tool Plane. How position for each axis is calculated depends on your machine's configuration. My machine is Rotary on Rotary, meaning that the B axis rotary rides on the A axis rotary. This code calculates the positions for my machine: if m1$ >= 0, aabs = asin(m7$) if m1$ < 0, aabs = 180 - asin(m7$) if m5$ >= 0, babs = asin(m6$)*-1 if m5$ < 0, babs = asin(m6$) + 180 You will need to find the proper formulas that output for your machine configuration. Once you have good positioning output, then you can start adding vector calculations that add simultaneous multiaxis machining. This is where everything gets complicated. When one axis moves, it can change the values of all of the other axes. The calculations to keep up with 6-Axis simultaneous will be brutal. Each additional axis that a machine has requires an exponential increase in calculations.
-
No generic 6-axis that I have seen. One other note about generic multiaxis: None of them use the matrix. In all of my posts, I have re-written the multiaxis sections based on the matrix, because I like the flexibility of being able to output 3D contour as a multiaxis path. I also have gone way off the charts and made 3D countour output simultaneous 6-axis (XYZABW) with inverse time. Like JParis said, just because it can be done... Maybe it's better to buy it. Developing a post like this can be time consuming and frustrating. If you have no time pressure, and like a challenge, have at it. I actually enjoy making my post do things that most others would not try.
-
It is my understanding that external files can be read from and written to as text files. There are also a few limited functions that can be done, like checking to see if a file exists, deleting a file and renaming a file. There are no commands to pass processing to another file as you would with a machine subprogram. There are companies that write totally custom posts that can make what you need.
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.