Macros and subprograms are potent addition to the g-coder’s arsenal. Used properly, they will make your g-code programs shorter, more general purpose, and easier to understand. Unfortunately, not every g-code dialect supports macros. Some have fewer features than others, while some have no support at all. Others will have very sophisticated and feature rich sets of macro programming features. Fanuc Macro B is probably the most common example. But, another controller dialect that has very sophisticated macro features is LinuxCNC. Perhaps that’s because it is open source and many software developers work on it and add features to it. Your average software developer looks at the g-code syntax and finds it to be pretty primitive, so it is perhaps no wonder that a control aimed at that audience will have some pretty nice programming features.
Getting a high quality LinuxCNC post-processor together for our G-Wizard G-Code Editor and Simulator is the priority around here right now, and I was just sitting down to start implementing the various heavy-duty macro programming features of LinuxCNC when a thought struck me. As I often do, I started out by looking at sample code our fabulous user community had sent over. Once program was…
I find Google Reader and RSS Feeds to be invaluable tools to keep up with as many information sources as possible in an efficient way. I track well over 200 blogs in Google Reader and a fair amount of that information makes it way into my blog posts here. If you’re a Google Reader user, by now you will have heard that Google is going to shut down the product in July. I could not have been more upset about the decision, which I think is misguided. In fact, I have written a number of blog posts on my business blog, Smoothspan, about it. Be that as it may, when companies get big like Google, they often do arbitrary things that are in their own perceived self-interest without regard to their Customer’s best interests. We’ve all dealt with companies like that.
I am currently looking at a variety of alternative RSS readers, and will switch to one before Reader goes away. So far, I don’t like any of them as well as Google Reader. A big part of that is that they’re all slow and cumbersome as they try to take on millions of Google Reader users switching out of…
Now that I have several of the Wizards up and running, I decided to go back and work on the UI to get it closer to what the final look and feel will be. The latest GW Editor version has the new UI:
The individual Wizards also carry the thumbnail:
The Wizards are generally looking a lot tidier and friendly to use. If you click the Help button on the main page, it’ll take you to some new User Guide pages I’m putting together as well.
More to come. My focus at this time is to get all of the Milling Wizards nominally working. On the Editor side, I am focused on adding a couple of new posts–LinuxCNC will be next up at bat likely followed by Heidenhain.
I am sometimes asked, “Why bother with Conversational CNC Wizards when I have a CAM program?”
The answer is simple. Sometimes you just want to do something quick and dirty at the machine without having to go through the CAD/CAM cycle. Manual Machinists are fond of saying they’re faster than CNC’ers for simple one-offs, but if you have some familiarity with MDI and something like our Conversational CNC Wizards, you can be…
Close on the heels of our Surfacing Wizard comes a new Slotting Wizard for G-Wizard Editor’s Conversational CNC Module. It looks like this:
It’s pretty self-explanatory, but here’s what you do:
1. Make sure the Safe Z (the height where the tool can go anywhere without hitting anything), Rapid to Z (height we can use rapids in Z only), and Material Top Z are correct for your job.
2. Give the Start XY of the slot. This is the midpoint of the starting end of the slot.
3. Give slot Length and Width.
4. Give the angle of the slot. The angle is in degrees and increases counter-clockwise, like most things.
5. Give the Slot Depth, and the Roughing and Finishing Levels. The g-code will make multiple roughing passes until it is within 1 finishing pass of the bottom of the slot, then it’ll make the finishing pass. We use the Finish Level for cutter engagement on the walls too. So, in the screen shot above, we’d cut 1/8″ on each wall until the 1/2″ cutter has gotten a slot 1 1/2″ wide.
6. Tell it your Tool Diameter, and the feeds and speeds. The Finish feeds are used when…
People tell me they love their Bridgeport DX32 controls. There’s a small but vocal minority of folks still using them, and the DX32 topped the list of requested Post upgrades on our recent G-Wizard G-Code Editor Survey. So, I rolled up my sleeves and over the last 2 releases of G-Wizard Editor, I added a bunch of things to the post that deal with the unique g-code dialect of the DX32. In case you thought g-code is just g-code, here are some of the “big ticket” items I tackled:
The DX32 uses what I call “Triple Z’s” on the drilling cycles. In other words, there are three Z-words in the block that specify:
– Hole depth
– First peck amount
– Remaining peck amounts
For most controls, repeating a word on a line is an error. Not so the DX32 and its “Triple Z’s”.
Fanucs and many other controls use a subprogram syntax most g-code programmers are familiar with. But the DX32 does something completely different:
“#” is used to identify subprogram numbers. So “#32″ is like “O32″ on most controls.
“=#” calls the subprogram. “#=32″ is the same as “M98 P32″.
“$” signifies return from…
I just uploaded G-Wizard Editor version 1.018, which has our new Conversational CNC Face Milling and Surfacing Wizard. Here’s what it looks like:
The Surfacing Wizard includes three different toolpaths:
– Zig-zag: Fastest surfacing, because it cuts both ways.
– Climb Mill: Best surface finish–passes are climb mill and then rapid back so they always cut in the same direction.
– Radial: This path spirals outward, and is a nice compromise between the two as well as a good choice for surfacing round areas.
We’ve spent a lot of time incorporating state-of-the-art face milling toolpath features, such as the way the tool arcs into the workpiece. These features result in longer tool life, particularly when surfacing tough materials, as well as better surface finishes. You can get a PhD in Face Milling and write your own programs to do this stuff or just use the Surfacing Wizard. While there are other Wizards and Conversational CNC programs out there, G-Wizard is the first one I’ve seen that does this sort of thing. Even many CAM packages don’t.
I made a video that shows how to use the Wizard if you want more information:
Also, if you’ve never tried G-Wizard Editor, check…
It takes a complex bunch of math to properly calculate Feeds and Speeds under all conditions and to get anywhere close to good answers. There is a whole lot more to it than the basic equations everyone learns that claim to relate surface speed, chipload, rpms, feedrates and the like. Unfortunately, those equations work reasonably well for manual machining (though you can still do much better with proper calculations), but they can be way off for typical CNC operations. When I first started out, I was using an Excel spreadsheet to keep up with it all. Every time I learned something new, perhaps from an article via a tooling manufacturer, I’d add that information to the spreadsheet. Pretty soon it was a honking complicated mess and I still wasn’t done. In fact, I started to get into problems were there was no fixed formula that gave an answer. These types of problems had to be solved by iterative methods. That means you plug in some guesses, see the result, and try again until you get the right inputs to give the answer you seek. Spreadsheets call this Goal Seeking, and they can do a little bit of it, but not…
We recently ran a survey to see what folks thought we should add next to the G-Wizard Editor. The #1 response was a File Compare command, so here is a video showing how the new command works:
We thank you for participating in the survey. It’s not too late to get more votes in to help us decide what the next thing on the list ought to be. You can participate in the survey and make your voice heard. Go ahead, you know you have some great ideas for us.…
For our friends using Macs, I am happy to report that the latest install pages for GW Calculator and GW Editor now offer Mac Native Installs. You download a standard Mac .dmg file, right-click, and select “Open” to install. Double click won’t work as it refuses to install “unidentified” developers. We’re not in the Mac Store or Dev Program, so that makes us “unidentified”. We may change that status in the future.
In any event, this should make life easier for Mac owners.…
We’re running a survey to collect feedback on what features to add next to G-Wizard Editor. Be sure your vote is counted!
I have a confession: I haven’t gotten much writing done for the site in the last week. No blog digest newsletter email went out at all as a result. So, I’m trying to get caught up. I was busy doing work on GW Editor, so I want to go over what all was added in this post. My last post on GWE releases was all about 1.005, and we’re now up to version 1.012.
Here’s what’s happened since 1.005 in terms of new functionality (for more detail, consult the GWE Change Log):
– A File Close command. One user was going through an iterative cycle as they tried to tweak their CAM package’s output and so was switching back and forth between GWE and the CAM package. They wanted an easy way to close the file in GWE when they went back to the CAM package. So we added File Close.
– Keyboard shortcuts for Revisions. Many of the Revisions get used a lot and so it’s handy if they can be triggered by a quick keystroke. Not only did we set that up with some default keyboard shortcuts, we also made it possible for you to remap the Revision…
Living in a world where the average phone has memory measured in gigabytes it’s easy to forget that a lot of very capable CNC machines have far less memory available for gcode–especially older machines. A real old Fanuc might have only 16K of RAM–that’s “K” as in 1000’s while “Gigabytes” are billions! Even the newer controls have less memory than you’d think and upgrading can be expensive. There are a number of solutions to this problem including drip feeding, which is the “Big Hammer” for the problem. With drip feeding, you DNC program parcels out the gcode a little at a time as your machine executes so as not to overwhelm it. There are still limitations and challenges with drip feeding. For example, depending on how things are set up, the RS-232 link may limit the throughput. If you’re running lots of little tiny moves, the machine may become starved for data. Such moves are particularly common for 3D surfacing routines.
Whenever possible, it’s nice to be able to get the whole program onto the machine if you can. So how do we go about making gcode programs as small as possible?
It turns out there are a number of…
Hot diggity, another G-Wizard Editor release is available!
Release 1.005 is a minor release:
– Added ISO Mill and Lathe posts in Inch and Metric. You may need to download the newer canned posts to access them.
– Implemented the ability to use “,” and other characters for the decimal point in g-code for International users. Just change the Post variable “Other.DecimalChar”. If your version reports this post variable as unexpected, you’ll need to upgrade to v1.005 to get rid of that message.
– Fixed problems with the JMP buttons on the toolbar.
– Fixed a bug where SQRT wasn’t being recognized correctly.
– Fixed some drill cycle issues having to do with calculating the Hole Bottom on the very first hole of a series.
Last week was also spent increasing the level of automation in our ordering process to handle the increased volumes we’re seeing. Thanks very much for your business!
I still have a few customer-reported issues to resolve, but I have also started on a new feature that I think will be very useful, especially if you have to make similar changes to lots of g-code files or on a frequent basis. More news when it is…
I use several CAD programs including SolidWorks and Autodesk, but Rhino3D is by far my favorite. I just got my new Rhino3D 5.0 upgrade and Flamingo 3.0 Rendering software, so I thought I’d do a little mini review. I will still do that mini review at some point, but right now I have to finish a rant, because…
The Install and Upgrade Experience is Atrocious
Let’s start with the Bad News first–the install experience is terrible. Generally, I have found the Rhino upgrade experience to be pretty painless, so I was surprised at how bad this was. What I’m used to is just responding to the prompts when I bring up the product. It deals with finding the new release online whenever one is available and the worst thing is having to track down my License Key every time.
Having bought the upgrade from Novedge, who offered a nice discount, I fired up Rhino and went looking for someplace to put my new official license key. No joy, I couldn’t find a spot anywhere though I looked at several entries on the Help menu. I even tried the “Register Rhino” choice which offered no possibility of a License Key entry…
We spend a lot of time trying to understand the folks using our software. We know we don’t always get it right and we know there is no one-size-fits-all solution to making the software easier to learn, easier to use, and more powerful. So we rely on you to keep us in the loop in a whole variety of different ways. I call this “Gaining the Wisdom of Our Crowd”, and I believe the ability to listen to one of the largest online audiences of machinists in the world (CNCCookbook now has nearly 17,000 folks who have our software and nearly 1.5 million visits a year to the site) gives us a real edge because we learn things from our crowd that are hard to find out anywhere else.
Recently, we added a new “Feedback” button to both GW Calculator and GW Editor. We learned so darned much from the Beta Survey we ran with GW Editor, I wanted to keep the feedback coming and make it easy to give us your feedback. The button is up near the top of screen on both apps on what I call the “Login Bar”. You’ll find a variety of ways to get…