Tangential cutter in development

Software updated, now takes two extra parameters:

knife lift threshold angle (degrees)

4th axis command (defaults to A, I’m overriding to E)

Gcode is generated which can be fed straight to the machine now.

First cuts successful:

[attachment file=47146]

So far so good, and looks like this is going to work great.

Once things are tidied up and it’s fully tested I’ll share the design and software update.

 

2 Likes

What?!? You just cut a square with a giant blade that has a large offset. This is working so awesome.

Videos are more fun:

I need to install my new cutting board! Ply not good for the blades.

2 Likes

No, the design follows the principle of a typical tangential cutter. There is no offset. The point of the blade is directly under the centre of the A axis.

It should be possible to do some really intricate designs hopefully.

That works great. I am super excited about this.

Cool. Now do a circle!

I think this is also the first true 4th axis work, although not 4-axis CNC, the other rotational stuff was using y for rotation.

Would you typically want it to over cut like that, or leave some material in the corner, on the bottom?

You could do sort of a lead in, and lead out, lifting while approaching the end… On hard turns like that, I don’t know how you would avoid only turning while at the clearance height. It would be nice if it could be smoother, and general for complicated shapes.

If you want to cut all the way through, you really need to think of each thing as a line segment, compute the angle at the start and move to the end.

Sorry for the thought dumps…

Are you talking about the fact that the squares were not done in one pass? If that’s the case, I am pretty sure it’s difficult on a crappy ply spoilboard and a semi blunt blade. I have got myself an A0 cutting mat, so was planning to install that and try for one pass cuts

The over cut is due to the material thickness. With thicker material, I think it’s inevitable. The blade tip was following the precise shape.

[attachment file=47164]

I’d like to understand more what you mean about the last bit, but I’ll keep ramping up the testing and demoing until all the questions are answered.

One circle just for you:

 

overcut.png

4 Likes

Thanks for that circle. Did it have any signs of a different radius on the top and bottom?

W.r.t. the line segment talk, I’m saying the you can’t just turn 90 degrees without lifting the blade. For the square, if you tried just turning at the corner, without lifting the blade, then the material would push against the side of the blade and it would probably just tear everything. The circle turned out good though, so there must be a point where it basically works. I wonder where that is. 10 degree turn? 30 degree turn?

The circle came out perfect as far as I can tell. Seems to me XY movement should be unaffected as long as the A axis is dialled in, which I believe is the case.

The way I’m dealing with blade lifts is I have introduced a user parameter into gcodetools, where you set the threshold angle above which a lift will take place. I think that circle had 24 segments. It was cut with g1 commands rather than arcs, so there were 24 turns of 15 degrees. By the way, I don’t actually understand how the cut curve is so smooth with 24 g1 commands

For all the cuts I’ve done so far the lift angle threshold has been left at 45 degrees, hence why you saw the lifts for the square but not for the circle. I believe the threshold angle you’ll need for a given material will be determined by its thickness and lateral rigidity. I guess it will be something that will need to be established, like feeds and speeds.

Having the lift threshold is key, and should mean very intricate tasks can be taken on. The problem I have at the moment is that if I spin the A axis and watch the tip of the blade, it doesn’t stay centred in one place but draws a little circle. I am planning to redesign the blade holder so that there is a more positive lock in the right position

When you say G01 X10 Y5 E10 from 0,0,0, the firmware will make a 3D line and follow that. So the angle would be:

X1 Y0.5 E0.1
X2 Y1.0 E0.2

X10 Y5 E10.0

Since the firmware doesn’t know this is the angle of a blade, it’s treated just like any other dimension.

The accelerations and max speeds of the different dimensions will determine how fast the line is travelled, but it will always follow that line.

So the position of the blade was following the 24 sided shape, but the angle was continuous.

What caused the little spin move at the end? Do you have anything in the code to avoid reducing from 2pi to 0 during the cut?

2 Likes

Oh that is it…too nerdy for me, radians … 2pi. I’m outta here. Let me know when your done with the math. yuck

 

I thought the spin at the end was just flair to get some extra style points.

IDK, if this will be helpful, but I researched how Marlin and grbl do their movements and wrote about it a while ago:

https://www.v1engineering.com/forum/topic/g00g01-speedaccelerationnot-jerk-and-marlingrbl/

Also, Ryan, it’s just starting to get fun!

This is looking interesting. Since it was fairly easy to do, I designed an adapter mount for my my bosch quick disconnect mount using https://www.thingiverse.com/thing:2494258 as a guide. Looks like all I need is a mount with the same bearings & center hole as MPCNC_DragKnife3.stl. Are you going to be releasing any other modification to that design?

Thanks for the explanation, and it was me doing a g1 e0 by habit to be ready for the next cut

No the gcode generated simply adds or subtracts radians to turn the knife, so it will never try to go back to 0.

I am busted, yes in fact I thought it looked cool too.

Thanks for the link. I will have read on the train. Yes this is my idea of a good time.

Yes as soon as I have time it’s going on Thingiverse, which I’ll release with a version of Gcodetools with the code changes. The design has two linear bearings so the axis assembly can move wrt to the mount for the spring loaded effect, and without introducing any slop between mount and assembly. If you look at the first post you should see what I mean.

Also the offset from centre axis to point of blade has been reduced to nothing from the 4mm in that design.

 

 

Published to Thingiverse:

Shout if there any issues, mistakes or omissions and I will respond ASAP.

 

1 Like

I’ve run into a problem with my workflow and have got a bit stuck.

I’m trying to output layers from Fusion360 Slicer (used to be 123D Make). It has the options of DXF, EPS and PSD.

When I import a DXF from this into Inkscape, I can see arcs are represented as lots of very short segments. Running the gcodetools workflow documented in the Thingiverse page, I was at first able to generate some gcode, but it was useless. A massive file full of ‘sub paths’. Gcodetools does a lift for every sub path.

So I tried various ways to get the circles in my file to be one arc but failed so far. Combine works, but produces one object, and nothing I’ve tried can generate a new vector representation of the input. See attached, trimmed down to one part and saved as SVG. I’m not allowed to attach SVG or DXF, so see image with one segment selected. Also see the sub path gcode generated for each segment:

G00 Z5.000000
G00 X13.055949 Y8.658069
(Subpath start)
G00 Z0.000000 (Lift up)
G00 E2.495283 (Turn knife 142.969171899 degrees)
G01 Z-2.000000 F900.0 (Penetrate back)
G01 Z-2.000000 F900.0(Penetrate)
G01 X12.713863 Y8.916138 Z-2.000000 F900.000000
(Subpath end)
G00 Z5.000000

Also related, when you tell Gcodetools no arcs (high minimum arc radius), the way it handles arcs in the input is it breaks them into segments. I haven’t found in the code where it determines the segment length.

I could probably get Gcodetools to not lift between sub paths, but it’s still a mad amount of gcode when there about 100 segments for each circle.

I’ve also tried outputing from Slicer to EPS and PSD and tracing a new vector, but without success.

Any help much appreciated.

I can not help you with the fusion360 since I use DraftSight to generate my 2d geometry. That is an AutoCAD clone & will generate curves with arcs and not segmented polylines. They have a free version that works quite well if you are willing to try a different workflow.

I have a couple of questions for you.

Do you have a photo showing the TN knife assembly with the MPCNC Z-Axis motor also? It would be nice to see how it looks all together.

While working on modifying this TN_machine_mount.stl , I noticed there is only a .8mm distance between the widest part of the M10 holes or 20mm between the center of each hole. Is there anything special about that distance? I would like to make it 22mm between the holes to give it just a little more plastic between them.

Here is a screen shot of the dimensions I pulled off.

[attachment file=47433]

You exported the circle in AutoCAD, which turned it into a polygon. Then gcode tools treats each segment as a separate object?

Can you open it in something else, like Inkscape and create a path from the segments, so they are treated like a polygon instead of line segments? Are there any options you can tweak in fusion? Dxf supports circles/arcs, so it should be able to output those.

What about drawing the shape in another cad program, like libreCAD or OnShape?

Just trying to brainstorm.