Mixing XYZ toolpaths with AYZ toolpaths?

Topics related to wrapped rotary machining in Aspire or VCarve Pro
4DThinker
Vectric Wizard
Posts: 1701
Joined: Sun Sep 23, 2012 12:14 pm
Model of CNC Machine: CNC Shark Pro, Probotix Meteor 25" x 50"

Mixing XYZ toolpaths with AYZ toolpaths?

Post by 4DThinker »

Just starting out using a rotary axis, and I'm the CNC go-to guy where I teach so I know I'm going to get questions like this once school starts up again with two new rotary axis-capable CNCs in the furniture shop...

Trying to create a wrapped job in Aspire, wrapping X around Y, with a 3D rough and finish toolpath for bottom 2/3 of the hickory cylinder I'm using. At the top I'm trying to make two simple shallow flat pockets the width of a stretcher that meets this "leg", 90 degrees from each other, and a smaller straight and deeper mortise slot in the middle of those pockets. When tool pathed using a 1/8" end mill (for tight corners) for the shallow pocket the bit needs to move in the X direction as well as Y and Z, but my wrapped post processor maps all X moves to A, and A moves rotate the cylinder rather than shift the router left and right. This gives me a round-bottomed pocket and a tapered mortise.

I know I can save the XYZ toolpaths using a non-wrapping postP and run them as separate jobs, but since they often use the same bits as my AYZ cuts it would be nice to combine them. The CNC doesn't care if it gets an A move followed by an X move, or even combined with one. I know there will be many projects with XYZ and AYZ tool paths required on the same part. I can do fluting dips below the cylinder center as a XYZ move, but the wrapping setup chokes on such things.

Is there a way to smartly mix AYZ and XYZ tool paths within the same Aspire job? I'd love to be able to preview such work. Wrapped jobs are going to be limiting for the creative ideas my students come up with.

Using LinuxCNC with Probotix.com's Meteor and Nebula CNCs.

Thanks!
4D

User avatar
IslaWW
Vectric Wizard
Posts: 1402
Joined: Wed Nov 21, 2007 11:42 pm
Model of CNC Machine: CNC Controller Upgrades
Location: Bergland, MI, USA

Re: Mixing XYZ toolpaths with AYZ toolpaths?

Post by IslaWW »

4D...
The rotary posts by design will not output code that moves the X axis in your case. The X axis must stay on the Axis centerline to allow its code to be sent as "A".

Your mortise needs to be cut using a standard(non-rotary) post, BUT, you can combine them into one physical file manually if you wish.
Gary Campbell
GCnC Control
ATC & Servo Controller Controller Upgrades
GCnC411 (at) gmail.com

4DThinker
Vectric Wizard
Posts: 1701
Joined: Sun Sep 23, 2012 12:14 pm
Model of CNC Machine: CNC Shark Pro, Probotix Meteor 25" x 50"

Re: Mixing XYZ toolpaths with AYZ toolpaths?

Post by 4DThinker »

Thanks, IslaWW. I see a problem and as good as Aspire is am surprised there is no built-in feature to insert an A move between XYZ moves or an X move in the middle of AYZ moves. Perhaps that could be a challenge for the programmers as a new toolpath option. An simple Axis move that could get in line with your other toolpaths. Where an X move could be used to offset the bit for more efficient/creative AYZ rotary cutting, and it would be passed through unchanged in in the X to A,Y,Z post processors. A cove cut around a cylinder might be far more efficiently done using the side of a straight bit rather than the end of a ball nose. You could plant the nose of an end mill at different degrees to the center for an range of full 1/2 circle to nearly flat elliptical coves around the cylinder.

Or an A move could be inserted in line with a series of XYZ moves, to index conventional flat area cuts around a cylinder. Rotate 120 degrees at a time, with 3d carves of some beautiful scene cut with no wrapped distortion on three sides of a triangular post for example.

One shouldn't have to hand edit a tool path file to get this done IMO. For that matter, some loop logic would be nice to include. Cut this, rotate X, cut this again, rotate 2X, cut this again, rotate 3X, etc..

Consider yourselves challenged, Vectric programmers! Something for version 9 perhaps?

4D

User avatar
IslaWW
Vectric Wizard
Posts: 1402
Joined: Wed Nov 21, 2007 11:42 pm
Model of CNC Machine: CNC Controller Upgrades
Location: Bergland, MI, USA

Re: Mixing XYZ toolpaths with AYZ toolpaths?

Post by IslaWW »

4D...
This question has been raised a number of times in the past. In its simplest form the question is: "Why can't we have the 4th axis machining abilities of "true 4th axis packages?" The answer is that the number of users that require those features is small and adding them would add to everyones cost. If you look around, many of the "true" 4th axis capable CAM programs cost double, triple or more what Aspire does. The real good ones in the tens of thousands of dollars.

Over the last decade have been fortunate to have many features added to Vectric products, I imagine the future will hold the same.

Here is a look at what a few lines of hand coding will do for a VCPro generated file:

One with rotary positioning moves only:
Gary Campbell
GCnC Control
ATC & Servo Controller Controller Upgrades
GCnC411 (at) gmail.com

User avatar
TReischl
Vectric Wizard
Posts: 4588
Joined: Thu Jan 18, 2007 6:04 pm
Model of CNC Machine: 8020 48X36X7 RP 2022 UCCNC Screenset
Location: Leland NC

Re: Mixing XYZ toolpaths with AYZ toolpaths?

Post by TReischl »

In my past life I wrote software for CNC machines, specifically industrial cutting lasers. So I have more than a passing knowledge of software design.

I don't believe the reason we do not see "more" 4th axis "features" is that the demand is too low.

Aspire does not appear to be a voxel based system which is what would be needed to do true 4th axis. Think about what happens when the wrapper setup screen is used:

1. A diameter is specified
2. The length of the cylinder is specified

(I am only going to address points relative to the physical part, whether it is machined by wrapping around x or y does not matter for this discussion)

By inputting those dimensions a volume can be calculated. Let's use a 2 inch diameter X 5 inch length. The cylinder has about 15.7 cu in of volume.

Once the wrapper finishes, a flat block is produced that is 5 X 6.283 X 1. Doing the math yields a volume of 31.4. In this case almost double. So things got expanded, but they will contracted back when the material is "wrapped" around the centerline of rotation.

So how would one specify a rectangle that was to be pocketed conventionally resulting in straight walls along all four sides? Simple not possible using the tools Aspire is based upon. Of course all sorts of widgets and gadgets could be created that kludge together a system that would sort of look like it was doing true 4th axis work. But, like all kludged up stuff, people using it would constantly be encountering things they could not do. A support nightmare because the software made it look like true 4th axis was possible, but in the end, not so. I for one applaud Vectric for not "adding on" gadgets to make it look like it can do full 4th axis work. Instead they have advertised it as what it really is, a wrapper tool.

To do 4th axis right, a voxel model is required. Once that is done anything that is possible to cut could be done. But then that brings up the issue of how does one describe a true 3D part so that it can be cut? of course the answer is to use a Solids or Surfacing software. Doing 3D design is way different than drawing 2D shapes. When I first started doing 3D I thought it was as simple as drawing my profiles in the correct plane then extruding them. Not the case. Intersect a rectangular shape off center to a cylinder and then think about creating a fillet around the intersection. The whole idea of 3D being like 2D flies out the window.

I have been thinking about writing a few tools to do some of the things like pocketing or drilling off axis. That part is easy, coming up with a way to index the part around and SEE what is being done is the challenge.

So, do I think we will see a miraculous "update" for 4th axis anytime soon? Nope. Unless Vectric decides that they need to change the entire basis of their programming system. Which, if I were in their shoes, I would not do. They have been very successful with their current product line up and as the old saying goes "don't fix it if it ain't broke". I think the wrapping facility goes very well with the market they target, not so much for folks who are doing mechanical parts.
"If you see a good fight, get in it." Dr. Vernon Johns

User avatar
dealguy11
Vectric Wizard
Posts: 2463
Joined: Tue Sep 22, 2009 9:52 pm
Model of CNC Machine: Anderson Selexx 510
Location: Henryville, PA

Re: Mixing XYZ toolpaths with AYZ toolpaths?

Post by dealguy11 »

I agree with TReischl's analysis. Vectric has basically offered us an ability to do rotary that takes advantage of their height-mapped-pixel based model - anything else requires a significant change to the internal data model that we aren't going to see.

For your project, you're going to have to create 2 separate toolpath files. As Gary pointed out, you can manually combine them. One reason for this is that the conversion from XYZ to AYZ (or AXZ) is actually done in the post-processor, not in the Aspire program itself, and it is a global change that replaces all X (or Y, depending on orientation) moves with A moves. I'm not sure how the post-processor would be able to know one X move is supposed to be replaced with A, and another is not.
Steve Godding
Not all who wander (or wonder) are lost

4DThinker
Vectric Wizard
Posts: 1701
Joined: Sun Sep 23, 2012 12:14 pm
Model of CNC Machine: CNC Shark Pro, Probotix Meteor 25" x 50"

Re: Mixing XYZ toolpaths with AYZ toolpaths?

Post by 4DThinker »

dealguy11 wrote:I'm not sure how the post-processor would be able to know one X move is supposed to be replaced with A, and another is not.
That's exactly it. All we need. A simple, clever way to "flag" a toolpath so the post processor will skip it when converting X (or Y) to A moves. Both a new toolpath option in the toolpath menu, and a post processor update. I haven't looked into what can be done in a post processor, but they obviously can change one letter to another letter as they parse through the data. Maybe it is just as simple as how you NAME the toolpath. Any tool path name with an @ as first letter might be sent through @s-is, for example: Pocket1 gets switched to A moves, and @Pocket2 doesn't.

Although I'd also love to be able to preview more profound rotary tool pathing, I don't need that. I regularly cut dovetails and t-slots that can't be shown either, and cuts on parts that can't be represented accurately in VCarve or Aspire, but I CAN tool path for them. I'm playing with 4 axes now though, and it strikes me how VCarve and Aspire just don't do that. Perhaps more innovative 4th axis capability would lead to greater demand for software that can do it. Those unused 4th Axis rigs would get dusted off. ;)

4D

User avatar
TReischl
Vectric Wizard
Posts: 4588
Joined: Thu Jan 18, 2007 6:04 pm
Model of CNC Machine: 8020 48X36X7 RP 2022 UCCNC Screenset
Location: Leland NC

Re: Mixing XYZ toolpaths with AYZ toolpaths?

Post by TReischl »

4DThinker wrote:
dealguy11 wrote:I'm not sure how the post-processor would be able to know one X move is supposed to be replaced with A, and another is not.
That's exactly it. All we need.

4D
All we need? Really? I am curious as to how you are going to define these flat surface cuts using the existing software? The only place you can draw a pocket is in the flat layout. More than likely the part drawing would indicate that a feature is on flat surface. Let's think about a rectangular shape on a part, not a square. Normally a feature is located from an edge. Where would that edge be on a 1.5 X 3.25 rectangle in the flat layout?

Then we could get to an interesting problem: A pocket or feature that straddles the 0/360 radial. How do you define that?
4DThinker wrote: A simple, clever way to "flag" a toolpath so the post processor will skip it when converting X (or Y) to A moves. Both a new toolpath option in the toolpath menu, and a post processor update. I haven't looked into what can be done in a post processor, but they obviously can change one letter to another letter as they parse through the data. Maybe it is just as simple as how you NAME the toolpath. Any tool path name with an @ as first letter might be sent through @s-is, for example: Pocket1 gets switched to A moves, and @Pocket2 doesn't.

Although I'd also love to be able to preview more profound rotary tool pathing, I don't need that. I regularly cut dovetails and t-slots that can't be shown either, and cuts on parts that can't be represented accurately in VCarve or Aspire, but I CAN tool path for them. I'm playing with 4 axes now though, and it strikes me how VCarve and Aspire just don't do that. Perhaps more innovative 4th axis capability would lead to greater demand for software that can do it. Those unused 4th Axis rigs would get dusted off. ;)

4D
Flagging a toolpath as you suggest is what is known in the software world as a "kludge":

Flagging a toolpath with an "@" or some other character so that the software branches is what as known as a "kludge" in the software world. Definition of kludge:

kludge
klo͞oj/Submit
informal
noun
1.
an ill-assorted collection of parts assembled to fulfill a particular purpose.
verb
1.
use ill-assorted parts to make (something).
"Hugh had to kludge something together"


What I would suggest is teaching your students how to read gcode so that they can handle situations like the one you described.

The cuts on the flat can be described easily in the existing software. Once posted a simple A___ can be added to the start of the file to index to the proper location. All definitions of features can be entered in the normal manner. Once that is done, it is an easy task to insert that code into an existing program where you would like it to cut.

What would help is to modify the current post so that more information is available in the GCode to locate places where tool changes take place. Like a description for instance. Currently the post I use says something like ".25 Dia End Mill", but does not tell me what feature or toolpath is being cut with that tool. I am going to look at editing the post to see if I can add that information in to make life easier.

I make several parts that require machining on all four sides. I do them in a vise (not saying that is a better method). Of course this requires 4 layers to describe each face and it gets real interesting because these are not square section parts. Drawing management becomes a real issue, that is why I said earlier that describing the parts as solids and using a tool designed to work with solids is the optimum solution. However, that software is very pricey and also comes with a very steep learning curve. There is no "easy", "quick" or "simple" solution to this problem. If there were someone would have it out on the internet for sale at a great price. CNC has been around a long, long time. So have software guys.
"If you see a good fight, get in it." Dr. Vernon Johns

4DThinker
Vectric Wizard
Posts: 1701
Joined: Sun Sep 23, 2012 12:14 pm
Model of CNC Machine: CNC Shark Pro, Probotix Meteor 25" x 50"

Re: Mixing XYZ toolpaths with AYZ toolpaths?

Post by 4DThinker »

I don't have any problem tool pathing to get what I want out of my CNC and the rotary axis currently installed. Of course I learned to draft in the '70s, CAD in the '80s, and have been playing with CNCs for 3+ years now. For radial cuts I look at the cylinder like Aspire does, as a wrapped surface that they unwrap for me to draw on. For XYZ cuts I look at the cylinder as a rectangle, with the added start info to rotate the cylinder where it needs to be when the cut is started. Right now I'll simply separate the AYZ and XYZ tool paths, and manually send a G0A(angle) to move the cylinder for each XYZ tool path. I was just hoping that Aspire could combine this capability so I wouldn't need to teach my students 40 years of conceptual thinking. They are pretty quick at picking up how to use the CNCs we have for profiles and pockets, but their eyes start to glaze over when the board isn't a rectangle or perpendicular to the bit. These are 5th year Architecture students. I'll be adding a rotary axis assignment or two to the early lessons of my digital furniture production class this fall, and since we have a classroom license to Aspire am trying to know what Aspire's limitations are before they wonder why they can't get what they want directly out of it.

The same way they have standalone cut3D and PhotoVCarve for specific interests I would love to see a killer A-Axis application that would start fresh and be the end-all tool for creative cutting on a rotary axis. I've only been playing with one for a few months and have already bumped into easy things that I can't do (easily) within one Aspire wrapped session.

4D

User avatar
dealguy11
Vectric Wizard
Posts: 2463
Joined: Tue Sep 22, 2009 9:52 pm
Model of CNC Machine: Anderson Selexx 510
Location: Henryville, PA

Re: Mixing XYZ toolpaths with AYZ toolpaths?

Post by dealguy11 »

Even if the post-processor does what you're suggesting, it will still be confusing to users since the preview will not show what the machine is going to cut. Vectric has tried hard in all it's releases to keep the previews very close to what you're actually going to cut if your machine is set up right, and with a few exceptions (in the rotary world, for the most part) they've succeeded brilliantly at that. Supporting a kludge like you're suggesting is really against their design philosophy and I'd be surprised if they supported it, but I suppose they've surprised me in the past. There isn't a good way for them to show this in the preview because of the way their data model is set up. To show it in the wrapped preview, they would have to simulate an undercut, which as we all know the Vectric software just doesn't support.

I teach rotary techniques for one of the machine manufacturers, so I understand your issues, to an extent. On the other hand, I have no problem keeping flat and rotary machining segregated in my head, and it's possible to teach people how to do it with separate toolpaths.
Steve Godding
Not all who wander (or wonder) are lost

4DThinker
Vectric Wizard
Posts: 1701
Joined: Sun Sep 23, 2012 12:14 pm
Model of CNC Machine: CNC Shark Pro, Probotix Meteor 25" x 50"

Re: Mixing XYZ toolpaths with AYZ toolpaths?

Post by 4DThinker »

What Aspire can't render is territory I know well. We are as likely to cut half blind mitered dovetails for a 5-sided box as we are to cut a simple profiles from a rectangular board. Or trapezoidal holes in a steam-bent arc of wood. Or pre-cut openings in bent plywood layers that won't line up until the plywood is bent around its form. A modicum of faith is required when there was never a chance Aspire/VCarve would render the outcome. Fortunately we learn twice as much from failures as we do from accidental successes. ;)

4D

User avatar
TReischl
Vectric Wizard
Posts: 4588
Joined: Thu Jan 18, 2007 6:04 pm
Model of CNC Machine: 8020 48X36X7 RP 2022 UCCNC Screenset
Location: Leland NC

Re: Mixing XYZ toolpaths with AYZ toolpaths?

Post by TReischl »

4DThinker wrote: A modicum of faith is required when there was never a chance Aspire/VCarve would render the outcome. Fortunately we learn twice as much from failures as we do from accidental successes. ;)

4D
You can afford to think that way in a classroom setting.

In a commercial setting one always tries to practice "craftmanship of certainty".

I remember the good ol' days of coding a part and then sitting with a finger on the emergency stop button as we stepped through the program line by line. That is exactly what would need to be done with programs created as you suggest because there is no way to verify what the machine is going to do.

As for the idea that if someone writes some more rotary software a bunch of folks are going to dust off their rotary axis? I don't think so. They dust them off when they have work for them, if there were a lot more work for rotary some enterprising guys that love to program in a voxel environment would have the stuff ready to go on the internet.

Here is a true story. A few years back I had two salesmen telling me that they could sell more industrial lasers if we had wrapping (rotary) software for the machines. I did my due diligence, traveled to half a dozen customers that had purchased other makes of machines that included rotary. Not one said that rotary parts were a significant portion of their business if it was a portion at all. But sales folks can sometimes be a whiney lot, so we went ahead and wrote them up a nice wrapping package. A year later? NO significant increase in sales, in fact, rotary axis sales as an accessory had fallen a tad. So much for them "knowing the market". And they were sales guys who deal with real customers everyday.

I think it is great you are getting your students familiar with rotary axis. You can do all sorts of neat stuff.

But you also need to look at it from a software companies point of view. Some questions come to my mind:

1. So how do we teach customers how to use this neat "@" feature?
2. How does one go about telling customers they need to convert degree dimensions on a drawing to inches on a flat part layout?
3. How to go about setting the Start Cut height?
4. What happens when the feature is not aligned to any of the axis?

Anyone who has been in software for any significant amount of time would look at it and just say, Nope, not signing up for that! We will do something when there is more of a market or we have a lot of extra cash lying around waiting to be spent, and we can do it the right way so our support costs won't eat our lunches.

On a personal note, I can just imagine what this forum would be like as people tried to explain to others how to cut a pocket where it was actually supposed to be.
"If you see a good fight, get in it." Dr. Vernon Johns

4DThinker
Vectric Wizard
Posts: 1701
Joined: Sun Sep 23, 2012 12:14 pm
Model of CNC Machine: CNC Shark Pro, Probotix Meteor 25" x 50"

Re: Mixing XYZ toolpaths with AYZ toolpaths?

Post by 4DThinker »

TReischl wrote:1. So how do we teach customers how to use this neat "@" feature?
2. How does one go about telling customers they need to convert degree dimensions on a drawing to inches on a flat part layout?
3. How to go about setting the Start Cut height?
4. What happens when the feature is not aligned to any of the axis?
1. The same way you teach them any other feature. Vectric prefers video examples. Not a difficult concept.
2. The wrap/unwrap feature already manages that.
3. Z Zero set for a cylinder is the same zero you reference from if doing a 2D XYZ cut. Use bottom center at the top surface of the board. Rotary at 180 degrees would be center of 360. So far nothing hard here. Maybe a simultaneous end view of the cylinder would help picture what was going on.
4. If that is what is needed, then you simply draw it at the angle you want for XYZ cutting. If it needs to bend (axis rotates) in the middle then the fun begins. Maybe a maze pattern that travels from face to face of a 6-sided post.

The hard stuff would be a single toolpath that needed XYZ then A moves in sequence. Harder when rotation is desired at the same time as any XYZ transition (XYZA moves). My @ strategy accounts for XYZ or AYZ but not XYZA. My CNCs will take an XYZA command though so there hopefully should be a software way to slip such a toolpath through a post processor. Have no clue what such a cut would be, but it wouldn't surprise me if a student found a perfect excuse for one.

Makes me wish for a feature to allow (insert) g-code lines in sequence with any normal tool path. A moves as an XYZ toolpath proceeds. Or define areas of the unwrapped plan view as angular facets and let the algorithm add the rotate when needed as vectors cross areas. Imagining a dovetail cut down a cylinder using a straight bit, by rotating to the undercut angle and sliding the bit over to cut it.

4D

User avatar
Rcnewcomb
Vectric Archimage
Posts: 5887
Joined: Fri Nov 04, 2005 5:54 am
Model of CNC Machine: 24x36 GCnC/WinCNC with ATC
Location: San Jose, California, USA
Contact:

Re: Mixing XYZ toolpaths with AYZ toolpaths?

Post by Rcnewcomb »

Makes me wish for a feature to allow (insert) g-code lines in sequence with any normal tool path.
It exists. It's called Notepad. <wink>
Notepad.png
- Randall Newcomb
10 fingers in, 10 fingers out, another good day in the shop

User avatar
IslaWW
Vectric Wizard
Posts: 1402
Joined: Wed Nov 21, 2007 11:42 pm
Model of CNC Machine: CNC Controller Upgrades
Location: Bergland, MI, USA

Re: Mixing XYZ toolpaths with AYZ toolpaths?

Post by IslaWW »

4D...
Randall is correct, but let me add that most, if not all, control software packages have editing ability, as it is common with seasoned operators. In most controls there is a button that allows the current, or last run, file to be opened in an editor. My favorite is NotePad2 as it allows different views depending on line content.

It doesn't appear that you agree with most of the similar sounding replies to your requests, as you seem to counter as tho not having your wished attended to is a deficit in the software. Not so. Rotary wrapped files are by their very definition a workaround. A way that allows a moderately priced 3 axis software to accomplish many items that would normally take 4 axis titles to accomplish. The give up with this mode of cutting is that the "wrapped" axis, usually X or Y, depending on the machine, always cuts on the centerline of the axis that it is wrapped around. I consider this to be a small price to pay to save thousands of dollars on seldom needed software titles.

As stated there are always some caveats, and they should be expected with workarounds, but they are minor and have allowed many rotary users to produce some great products. As with any title, there will always be limits and those limits are usually proportional to dollars spent.

The ability to hand code some actions or combine two cutting files into one for a single part is normal operating procedure for many production operations. As advanced as software is in 2015, there are still some titles that do one operation easier or better than another. Take this as a challenge to learn how to combine your differently posted files with rotary and flat (on and off axis center cutting) into a single file or simply learn how to add the appropriate code for off center geometry by hand.

Here is one of my first attempts:

Enjoy, GC
Gary Campbell
GCnC Control
ATC & Servo Controller Controller Upgrades
GCnC411 (at) gmail.com

Post Reply