Community
Fusion Manufacture
Talk shop with the Fusion (formerly Fusion 360) Manufacture Community. Share tool strategies, tips, get advice and solve problems together with the best minds in the industry.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Kosy turning

28 REPLIES 28
SOLVED
Reply
Message 1 of 29
lpoquillon
2267 Views, 28 Replies

Kosy turning

My cnc lathe uses nccad and thus I need to use a kosy post processor.

However, the one available in Fusion only works for milling and doesn't support turning operations.

Is there a way to generate my code in Fusion or am I stuck with the terrible nccad cam?

28 REPLIES 28
Message 2 of 29
neugaertner
in reply to: lpoquillon

You have a solution now?

Message 3 of 29
lpoquillon
in reply to: neugaertner

Hi, the lathe broke down and it took the fablab three years (yes, three years) to finally get it working again.

But in the mean time, I finally worked it out: here it is.

 

The thing I did was to modify the existing Kosy post processor for milling (which needs to be modified also, as the feed output is incorrect). I haven't got the chance to try it out so what I'll say has NOT been tested on a lathe. However, it has been tested on a mill (Proxxon FF 500 CNC) and in the nccad simulation window for the lathe.

 

I'll try to be as precise as possible, feel free to tell me if anything is not clear.

First, open the existing kosy post processor for milling and click open config.

To get it working for a lathe, change L25 from capabilities = CAPABILITY_MILLING; to capabilities = CAPABILITY_TURNING;

That gets it to post for turning operations.

 

To get the correct feed value, at L60, you need to change the code from var feedFormat = createFormat({decimals:(unit == MM ? 1 : 2), forceDecimal:true});  to var feedFormat = createFormat({decimals:(unit == MM ? 1 : 2), scale:1/6.0, forceDecimal:true});  that takes care of changing the m/min to 0.1mm/s that Kosy uses.

 

For some reason, this post processor always puts two lines of - at the beginning, which nccad doesn't like. So either you delete them manually before starting the program, or delete L133 L134 L135 (required header, and two write block)

 

Save it as a new post processor like Kosy Turning and you're good to go.

If you have a mill, just do the exact same things without changing the capabilities.

 

Hope I was useful!

 

Have a great day,

Léo

 

PS: if an Autodesk person sees this, please fix the output feed format and the two lines at the start I talked about. I've seen a number of people use python scripts written by other fablab members (which only do 2.5d) since it's easier for them to import a drawing and get the correct code than use Fusion since it doesn't work at all out of the box and needs reprogramming. This is quite sad as Fusion is great and it's quite a waste not to use it.

Message 4 of 29
lpoquillon
in reply to: neugaertner

Hi, the lathe broke down and it took the fablab three years (yes, three years) to finally get it working again.

But in the mean time, I finally worked it out: here it is.

 

The thing I did was to modify the existing Kosy post processor for milling (which needs to be modified also, as the feed output is incorrect). I haven't got the chance to try it out so what I'll say has NOT been tested on a lathe. However, it has been tested on a mill (Proxxon FF 500 CNC) and in the nccad simulation window for the lathe.

 

I'll try to be as precise as possible, feel free to tell me if anything is not clear.

First, open the existing kosy post processor for milling and click open config.

To get it working for a lathe, change L25 from capabilities = CAPABILITY_MILLING; to capabilities = CAPABILITY_TURNING;

That gets it to post for turning operations.

 

To get the correct feed value, at L60, you need to change the code from var feedFormat = createFormat({decimals:(unit == MM ? 1 : 2), forceDecimal:true}); to var feedFormat = createFormat({decimals:(unit == MM ? 1 : 2), scale:1/6.0, forceDecimal:true}); that takes care of changing the m/min to 0.1mm/s that Kosy uses.

 

For some reason, this post processor always puts two lines of - at the beginning, which nccad doesn't like. So either you delete them manually before starting the program, or delete L133 L134 L135 (required header, and two write block)

 

Save it as a new post processor like Kosy Turning and you're good to go.

If you have a mill, just do the exact same things without changing the capabilities.

 

Hope I was useful!

 

Have a great day,

Léo

 

PS: if an Autodesk person sees this, please fix the output feed format and the two lines at the start I talked about. I've seen a number of people use python scripts written by other fablab members (which only do 2.5d) since it's easier for them to import a drawing and get the correct code than use Fusion since it doesn't work at all out of the box and needs reprogramming. This is quite sad as Fusion is great and it's quite a waste not to use it.

Message 5 of 29
neugaertner
in reply to: lpoquillon

Excellent! Many thanks !!!

 

I immediately tried your changes yesterday and it works (almost). In the case of the Proxxon FF500 cnc, the x coordinates are not given as the travel path of the x axis, but as the diameter. So I have to calculate all X values X * 2. Do you have an idea how to do that?

 

And if I have a pro at hand, I have one more question. Can one include the 4 axis for milling? I tried the TCP properties, but it did not work.

 

Thanks alot!!!!

 

You save my day ...

Message 6 of 29
lpoquillon
in reply to: neugaertner

Only in X and not Y? I'm on holiday so I don't have the machine on hand but I'll try to debug the thing.

Let's say I handle the nerd programming stuff and you see if it works?

 

And does this scaling issue also affect the lathe?

Message 7 of 29
lpoquillon
in reply to: neugaertner

I mean, now that you say it, my project which I haven't finished may be undersized but I also don't have it on hand to confirm it. If the scaling issue is in X, Y and Z, the fix is quite easy: add a scale:2.0, in the var xyzFormat line just like you did in the var feedFormat.

 

Could you make a small cube pocket (10*10*10mm) to see if this fixes it?

 

 

Message 8 of 29
lpoquillon
in reply to: lpoquillon

Okay so update: the fix I gave above (without scaling the x y z coordinates) works on my FF 500 CNC

For the PD 400 CNC lathe, which indeed uses diameter for the X parameter, I'm working on it

Message 9 of 29
andrefreiha
in reply to: lpoquillon

Hi, first of all thanks a lot for this thread!

I modified the Postprocessors according to lpoquillon and tinkered around with them myself.
I even got the U-Axis to work and changed the post to force "G76 Z0" instead of "G76", so that only the Z-axis moves to its datum at beginning of a program instead of all the axis, as this is quicker and the movement of the X/Y-Axis might move in a way that whatever you might have clamped to your table might crash into your machine if it protrudes the table.

I have also found a fix to the diameter parameter problem. 
All my changes are documented as best as I could in the posts themselves so be sure to have a look and change things if needed. 

This is my first time modifying a post and I don't have a background in coding or anything so please be careful when running the posts. I haven't tested them extensively, though up until now I didn't run into any bugs.
If you find any or have other problems with the posts, please get back to me.

Message 10 of 29
andrefreiha
in reply to: andrefreiha

Hey, here's an update of the two post processors.

 

Mill:

As the basic version of NCCad doesn't support the G81 drilling cycle and the G79 (repeat last cycle) commands which are generated when using the "Drilling - rapid out" drilling cycle in Fusion 360.
I added a variable which you can set to "false" to expand these cycle commands (i.e. translate the cycle into the linear movements that the G81 and G79 would otherwise refer to).
The variable is called "supportsCycle" and can be found underneath the changelog at the top of the code of the post processor. It's set to "false" by default.

It seems as though all the other drilling cycles are getting expanded by default. 

 

Modified the post processor to output "M01" and "M05" (Stop commands) instead of "M1" and "M5" as NCCad doesn't recognize the latter syntax. The M01 command is added in between operations that use different tools to allow a manual toolchange.

Lathe:
Modified the post processor to output "M01" and "M05" (Stop commands) instead of "M1" and "M5" as NCCad doesn't recognize the latter syntax. The M01 command is added in between operations that use different tools to allow a manual toolchange.

 

If anyone reads this and gets to use the post processors, feel free to reach out to me if you run into other issues and bugs.  

Message 11 of 29
simi4a
in reply to: andrefreiha

Hi @andrefreiha ,

 

Thank you for sharing the files, it's really helpful as the Proxxon Nccad is... let say not the best software. 🙂

I just tried the processor for the FF 500 miller and it seems really good.

However there is one problem that is frustrating - in the simulation is fine, but then if I run it on the FF500, the helical movement is done only for X/Y, but not Z. So the spindle is staying on a fixed Z position while doing all other operations.

 

I'm attaching the NC code that I generated and screenshots from Nccad and Fusion 360 simulations (which looks great and it's the desired path).

 

Thanks for your help again.

NC code:

https://drive.google.com/file/d/1_T3HL3roa0eoYMTtEKt5utc7xDKEdErt/view?usp=sharing

 

 

 

Fusion simulationFusion simulationNccad simulationNccad simulation

Message 12 of 29
andrefreiha
in reply to: simi4a

Hi @simi4a,

thank you very much for your feedback! I'm happy that the postprocessors are somewhat useful to others as well. 

The helical movement issue is something I also stumbled across myself. For now I resorted to using 2D-contours with small stepdowns as a workaround. But it is an issue that I definitely want to try to solve, however these days I don't have too much time on my hands, so it might take a couple of months until I'll be able to have a go at it.

If I do get the helical movements working, I'll post another updated version of the postprocessor on this thread. 

Feel free to give it a try yourself. I tried to document all my changes to the post processor in the top of its code to make it as accessible as possible.

Please let me know if you come across any other issues!

All the best

 

Message 13 of 29
simi4a
in reply to: lpoquillon

Hi @andrefreiha,

 

Thank you for the fast reply.

I'll check as well for an eventual fix and will post if there is more info. 🙂

 

I've never seen such a movement, generated from the Nccad, so I have some fears that it's not really supported, but let see. 🙂

 

PS - I have also PD 400 CNC and will give it a try these days. 🙂

 

Best

Message 14 of 29
simi4a
in reply to: lpoquillon

Hi @andrefreiha,

 

I just got a response from the Proxxon tech support and it's not a good news. 🙂

 

In nccad9 no G command for helix is available.
For a helix it is necessary to segment the arc movements in X-Y parts and to add the Z part to each segment.
At this time You have to do this by yourself, e.g.  with an external tool.
 
This link may be helpful
https://stackoverflow.com/questions/55217599/convert-an-arc-to-polyline
 
Adding Z parts will be done by divide the Z difference thru the number of segments.
 
As result of converting You should get a number of G code lines like
 
G01 X* Y* Z*
G01 X* Y* Z*

 

Is there a way to avoid using helix in Fusion by a setting or similar? So I can go on with the current setup.

Thanks!

 

Message 15 of 29
andrefreiha
in reply to: simi4a

@simi4a 

Well that is good to know. Maybe I'll be able to implement such a function at some point, so that helical movements will be converted to polylines.

As a workaround I always used 2D-Contours and had them cut with stepdowns instead of a helical movement.

Message 16 of 29
simi4a
in reply to: lpoquillon

Good news! 🙂

@andrefreiha after several successful projects I started to struggle because of the missing helix (i.e. thread cutting, adaptive paths etc).

So while I was searching for a solution, it was already available.

In the post processor file the only change is this, on line 55 true to false:

allowHelicalMoves = false;

After this change, it started sending polyline movements instead of helix.

I already tested it on the machine and it works like a charm.

 

Message 17 of 29
greinerF32AP
in reply to: lpoquillon

Hi @andrefreiha and all,

I'm using a KOSY as teacher in a secondary school (model 3 and 4 with a generic mill from KRESS https://www.max-computer.de/kosy4.html).

 

We are evaluating, if we could use Fusion360 as CAD/CAM Solution. The missing part right now is a working postprocessor for our milling machines.

 

I was wondering if we could use the kosy_milling_Proxxon500BL_Uaxis.cps, but am unsure if there are Proxxon specific modifications (U-Axis support).

 

And additionally: if we have a working KOSY/nccad postprocessor here, do you know a possibility to get this as "official" postprocessor - because the KOSY postprocessor right now isn't working.

Thanks a lot for your help and best regards!
Samuel

 
Message 18 of 29
andrefreiha
in reply to: simi4a

@simi4a Sorry for the late reply! That's good news indeed 🙂 Thank you very much for sharing your solution on here, it's so awesome being able to use helical moves now as well!
Message 19 of 29
andrefreiha
in reply to: greinerF32AP

Hi @greinerF32AP,

 

the postprocessors that I published in this thread are based off of a KOSY pp and my modifications concern mostly the syntax of the G-code. The U-Axis is a rotary table attachment, so if you don't generate any operations in the Manufacturing mode of Fusion 360 which would use a 4th-axis it won't be referenced in the posted G-code, so you should be fine.

I think you could give it try. Post some G-code with the processors, load it into NCCAD9 and see if the simulation inside the software shows valid toolpaths. The next step would be to run the code under all precautions (don't use a workpiece, set the Z-height to a point above the table, so that the machine will essentially "mill air" and keep your hand on the emergency stop, so that you can stop the machine if it starts behaving weird)

I've attached the newest versions of the postprocessors (which include @simi4a 's fix for helical movements) to this reply. You can open them using an editor (like visual studio code or even windows' standard text editor). All of my modifications and instructions on how to change them (like enabling/disabling u-axis support) are documented in the top of the file, so it should be fairly easy to make adjustments)

 

Please be advised that I can't guarantee you that the postprocessors will work for you and that you will be using them at your own risk. 

 

I didn't quite understand what you meant by "official postprocessor" to be honest, could you elaborate on that?

 

All the best

 

Message 20 of 29
greinerF32AP
in reply to: lpoquillon

Thank you!

I tested your postprocessor and it worked like a charm (at least import and simulation in nccad). Milling worked as well, but at tool change the retraction height was not enough.
Is this something that should be worked out in the postprocessor or in Fusion360?

About the "official" postprocessor:
In Fusion360 there is a postprocessor library and there you can find a Fusion360-library and in the Fusion360 library there is a generic KOSY postprocessor. Unfortunately this one isn't working as expected.
I was just wondering if we could ship your Code there, that others would profit from your enhancements.

Thanks again and best regards!
Samuel

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report