SolidworksCAM Post with Long Code Enabled

Here is a post processor for the SolidworksCAM extension. This is just a generic 3x Fanuc based post with long code enabled for the canned drilling cycles.

This was made using the Camworks post development tools. Keep in mind that at the moment I don’t have any way to test and debug this so if you have any errors please include a snippet of the section of the G-code that is giving you the trouble and I can make the necessary changes as they’re reported.

After/if Langmuir makes CC recognize canned cycles, this post will still work but we can then update this post to implement their use very easily.

I’m normally a SolidCAM user and I have tons of post editing experience in that platform. Camworks uses a different language and processing scheme than I’m used to so there’s a steep learning curve here for me. If it will help others make using their MR-1 easier I’m happy to do what I can.
MR-1 Rev 1.zip (6.2 KB)

3 Likes

I will give this a try tomorrow and report back, thanks so much for the help.

I ended up needing to make a number of changes so I used your post as a jumping off point and ended up diving in the deep end and writing one myself. That was a great help!

This is the post processor I have developed for CAMworks and the MR1. It has been working for 2.5 Axis ops, Drilling, Countersink* (see below), and I have compared code between this post and the stock one for 3-axis ops and they are identical but I have not ran it yet.

NOTE: for anyone wishing to use this post processor; it is experimental, use with caution and at your own risk.

MR1 V1.3.zip (25.1 KB)

There are two known bugs:

  • When using a spot drilling or other drilling cycle it will not output the dwell P or L values and you get the following error on the machine:

“A G-code command was sent, but is missing some required P or L value words in the line”

Below you can see the highlighted code calling for a dwell time (G04) and then a 5 second dwell (I was using an abnormally long dwell for testing the code to make it easy to track) but for some reason the time is then output as “X5.” instead of “L5” and I cannot figure out why:
Dwell Issue
The easy, but hacky, solution to this is to just not use dwell time and set it to zero.

  • The second bug is that when trying to run a tapping cycle the post processor is still outputting the canned G84 cycle and I cannot get it to stop doing that.
1 Like

As far as I know the G84 tapping cycle doesn’t have a long code variant. It was developed when ridgid tapping became a thing. The MR-1 cant rigid tap anyway so it makes sense that it would error out.

I looked at the source file and I only see the dwell callout in the G82, G88, G89 cycles. Try the G81 and then the G82 and see if the code posts differently. It should, it also looks like it might be as simple as changing the reference in the post callout. It also looks like the default P value is industry standard (in ms), it will need to be changed to output what the MR-1 uses (seconds). Right now a 1 second dwell will post as 1,000 seconds.

I have not had time to address your advice on the dwell time thing yet. I did however discover that G41/42 does not appear to be supported by the MR1, the solution is to just turn this option off when defining your mill ops (its on by default for contour mill ops). The original post seems to not disable this option either, its is just off by default. Is there a way to actually disable this?

I think I’ve resolved the X posting instead of L for the Dwell. Give the attachment a go.

As far as compensation, for the SWCAM the compensation is set in the operation. If the post is set to ignore the CAM settings the code always outputs compensation on (aka use the compensation values stored in the control, which CC doesn’t do (face palm)). The way to prevent the G41/G42 code is to make sure its off in SWCAM.

MR1 V1.3.1.zip (24.5 KB)

Tried this out today, still outputting the same “G04 X1.” line.

Damn, I not as simple as I hoped.

I see where I went wrong! I also changed the dwell calculation value so see if that is also correct now.

MR1 V1.3.2.zip (24.4 KB)

1 Like

Gave this a try today, it is now outputting “G04 L.5” but the machine still gives the following error:

Here is the code output:

Any Ideas?

Very easy fix. What value were you going for? 5 seconds?

No it was half a second there, for example 1 second will post as “G04 L1.”

Ahhh, yeah the MR-1 only recognizes whole seconds. The dwell function is kind of useless without ms but it kinda sorta works.

Typically P is the standard for dwell. If the L value is the issue let me know and I’ll correct that.

1 Like